Tap to unmute

Prolog Tutorial

  Рет қаралды 934,702

Derek Banas

Derek Banas

Күн бұрын

Пікірлер: 1 200
@derekbanas
@derekbanas 5 жыл бұрын
Learn in One Videos for Every Programming Language Subscribe to Bookmark them: bit.ly/2FWQZTx C++ : kzbin.info/www/bejne/iKbFXn2pn7Kbjbs Python : kzbin.info/www/bejne/hGXQdq18ec-kqqM Java : kzbin.info/www/bejne/pF7bcqSZd6iqqZY PHP : kzbin.info/www/bejne/bYWpYWOef65qbrs MySQL : kzbin.info/www/bejne/r4HYZ6SMasesq5Y JavaScript : kzbin.info/www/bejne/nJvYapyfbb6mfdU C# : kzbin.info/www/bejne/oprWmqqLj6-Lp7M HTML5 : kzbin.info/www/bejne/oXXce4FtprZ4iqM CSS3 : kzbin.info/www/bejne/eYbbeZKojLh8Z80 JQuery : kzbin.info/www/bejne/eIi7mJp4YrlkoLM TypeScript : kzbin.info/www/bejne/Y4G1kIunjJ59gLc ECMAScript : kzbin.info/www/bejne/gJLOoJxmfJ2feMk Swift : kzbin.info/www/bejne/mnzEoJ2Fj5KUsJo R : kzbin.info/www/bejne/qWSpoK2Mm8lqp5Y Haskell : kzbin.info/www/bejne/ZmPCeWaCn9aAqJo Handlebars : kzbin.info/www/bejne/annYcqGDa8dlmpo Bootstrap : kzbin.info/www/bejne/naKydqKLh5qFfsk Rust : kzbin.info/www/bejne/i2Kod5p5g7F3eJo Matlab : kzbin.info/www/bejne/hIS2hZ6hgLeUmKs Arduino : kzbin.info/www/bejne/h4DCe5-wZtajetk Crystal : kzbin.info/www/bejne/eqmpgWCNn9anqcU Emacs : kzbin.info/www/bejne/f5LKk6lvbJl6orM Clojure : kzbin.info/www/bejne/mZqqqnuhedqDd6c Shell : kzbin.info/www/bejne/nqjVn6CHqtKnhtk Perl : kzbin.info/www/bejne/jXbKmXyOqJ15bMU Perl6 : kzbin.info/www/bejne/omHdgaqenLyHna8 Elixir : kzbin.info/www/bejne/pnOxgJSsh9SBgpI D : kzbin.info/www/bejne/qKi9d4ekm56Verc Fortran : kzbin.info/www/bejne/lZCVhpp8g76anJo LaTeX : kzbin.info/www/bejne/jJnQnH-ohM9_qdk F# : kzbin.info/www/bejne/mWjIf3eAg5xobrc Kotlin : kzbin.info/www/bejne/fpDSeJxuqtp3pqM Erlang : kzbin.info/www/bejne/f3bLqJZoppatfZY Groovy : kzbin.info/www/bejne/eGqbm5Zuncmob8k Scala : kzbin.info/www/bejne/equppWOPoL-ibq8 Lua : kzbin.info/www/bejne/n37ElKuQhrKDjtU Ruby : kzbin.info/www/bejne/epvManSCeMyZpq8 Go : kzbin.info/www/bejne/eXechGeHj9qJaZI Objective C : kzbin.info/www/bejne/a5bWgqSQfq9rack Prolog : kzbin.info/www/bejne/iarOqYqme9yAfdU LISP : kzbin.info/www/bejne/r562ometfdekr7c Express : kzbin.info/www/bejne/rnWmfJaEd6umq6s Jade : kzbin.info/www/bejne/omakiZaOdrVnqJo Sass : kzbin.info/www/bejne/rauWnHiigcd4fqc
@hypothetic3945
@hypothetic3945 3 жыл бұрын
Hi. in 53:17, the answer was supposed to be just 'you guessed it'. You explained the solution as "I should've put 'this is not the number' up here at the top." So, I tried to put that specific code both before and after the X equation and this didn't seem to fix my problem. I'd love to receive a little bit of your help. I'm writing a thesis and using this program.
@reasonerenlightened2456
@reasonerenlightened2456 3 жыл бұрын
​ The problem of Prolog is that the meaning is assigned by the human . loves (stacy, chad). for Prolog is different than l ( s, c). Basically, the meaning remains in the head of the human and Prolog is completely void of capturing the meaning of 'Stacy loves Chad'. The same applies to any other programming language I am aware of. THEY ALL FAIL TO CAPTURE MEANING, AWARENESS, CONTEXT, etc. ! Why the programming languages are still not self-aware in the 21-st century????!!!!??? Somebody Explain. (is it because the captains of the software industries are afraid for their empires?) It is outrageous that nobody is doing something about it (i.e. as a far as I am aware) !!!!
@user-cf8wl9hk2q
@user-cf8wl9hk2q 3 жыл бұрын
Could you add 00:00 mark in description. That way we can see the sections in the progress bar
@JuubiDimension
@JuubiDimension 2 жыл бұрын
how do we get the terminal on windows
@eonstar
@eonstar 2 жыл бұрын
​@@hypothetic3945 Your thesis is probably long finished, but to help out those who are looking for answers. This is how I rewrote the number guessing game: %rewritting guess number thing guess_num:-loop(start). loop(start):- write('Guess Number '), read(Guess), loop(Guess). loop(15):-write('You guessed it'). loop(X):- X\=15, write(X), write(' is not the number '), loop(start).
@cheatcode9296
@cheatcode9296 5 жыл бұрын
5:30 Tutorial starts (To skip installation process)
@PurpleMomgoose
@PurpleMomgoose 4 жыл бұрын
He has that (and lots of other timestamps) in the video description.
@Shiroach
@Shiroach 7 жыл бұрын
Derek Banas, I tried slogging through the "Art of Prolog" but was recommended your video by a friend of mine. You not only effectively concatenated a detailed reading of the first few chapters, but improved upon their clarity. I feel like I can return to the later chapters of the book now with an improved understanding. Thanks again.
@derekbanas
@derekbanas 7 жыл бұрын
I'm happy I was able to make Prolog easier to understand. Yes that book is very complex I agree
@creeperraper1337
@creeperraper1337 8 жыл бұрын
that video was worth it. learned more in the first 10 min then what i did in my college course after a half of a semester. thank you very much :D
@derekbanas
@derekbanas 8 жыл бұрын
Thank you :) I'm very happy that it helped
@адекватникошмар
@адекватникошмар 8 жыл бұрын
hey man , is this working on windows or only for mac ?
@mucgake8763
@mucgake8763 8 жыл бұрын
works for both windows and mac.
@thallan
@thallan 7 жыл бұрын
why did the c++ tut take me here? I am terribly sorry
@Toopa88
@Toopa88 7 жыл бұрын
Seriously? If that's the case either your teacher sucks or you never did anything for the course...
@integralyogin
@integralyogin 6 жыл бұрын
you seriously go above and beyond with these. So high quality in so many ways. The time stamps and cheat sheet I am especially grateful for. Thank you.
@derekbanas
@derekbanas 6 жыл бұрын
Thank you very much :)
@martinoplaya7805
@martinoplaya7805 8 жыл бұрын
Its so great that you use sound engeneering for your mic and cut the moments when you write code. so the presentation is compact and dense with information that is easy to watch. I really appreciate this quality in your videos (Ive seen few already, like HASKELL) :]
@carlrossi
@carlrossi 6 жыл бұрын
None of the editors allow a .pl file to be created that are on my OSX. Looking for the editor this author used.
@alice_in_wonderland42
@alice_in_wonderland42 5 жыл бұрын
@@carlrossi it is sublime text, but you can use vs-code
@ZenoDovahkiin
@ZenoDovahkiin 5 жыл бұрын
@@carlrossi Lirterally any editor that isn't comlete garbage should be able to edit text files, regardless of suffix.
@h3w45
@h3w45 4 жыл бұрын
can't believe my college is making me learn this instead of python in 2020.
@derekbanas
@derekbanas 4 жыл бұрын
I agree
@itskathan7940
@itskathan7940 4 жыл бұрын
Same Bro :/
@JITCompilation
@JITCompilation 4 жыл бұрын
SAME
@ManojKumar-qg9bw
@ManojKumar-qg9bw 4 жыл бұрын
IKR!!!
@jardondiego
@jardondiego 4 жыл бұрын
If all you want to do with your CS major is building Wordpress websites then it's understandable why you don't understand why would you want to learn Prolog.
@khaiyuw
@khaiyuw 3 жыл бұрын
It's already 2021 and this video saved me! Thank you. As we're taking remote classes, my teachers didn't have enough time to teach it
@derekbanas
@derekbanas 3 жыл бұрын
I'm very happy that I could help :)
@khaiyuw
@khaiyuw 3 жыл бұрын
@@derekbanas Please make an Oz tutorial haha We really need it. Our teacher decided to teach us that language and there aren't many sources online about it :,)
@arran3451
@arran3451 2 жыл бұрын
Genuinely would've failed my course if it wasn't for this video. Seems to be so little information about prolog online, and my lecturer was no use at teaching it either. Thanks a lot for making this.
@guteksan
@guteksan 4 жыл бұрын
51:35 - there is an error in your count_up implementation, check with value of Low other than 0. You should skip 'Z is ...' statement and go directly for write(Y). With our implementation, Y already starts from the Low, so there is no need to add it.
@amarshpedapati
@amarshpedapati 10 ай бұрын
@@May-zs7rf Sorry if i'm late by 2 years, count_down(Low, High):- between(Low, High, Y), Z is Low+High-Y, write(Z), nl.
@bitmp
@bitmp 8 жыл бұрын
Just the right amount of detail and explanation for someone who is familiar with imperative languages. I definitely prefer watching this tutorial than reading through 80 different sources for documentation on prolog, thanks for the video Derek.
@derekbanas
@derekbanas 8 жыл бұрын
Thank you :) I'm happy it helped
@aryankashyap7
@aryankashyap7 3 жыл бұрын
Thanks for making this video, the first 45 mins for enough to cover all the topics that we covered in one semester
@Maxens8888
@Maxens8888 8 жыл бұрын
If anyone struggles at 5:00 just save the text file as .h and then save a copy as .cpp :)
@thallan
@thallan 7 жыл бұрын
but how does it become an application?
@andrewkovachik2062
@andrewkovachik2062 7 жыл бұрын
By using the terminal he creates. g++ helloworld.cpp -o helloworld
@oskarjankowski5709
@oskarjankowski5709 7 жыл бұрын
thanks
@abdulelahaljeffery6234
@abdulelahaljeffery6234 7 жыл бұрын
Note: to print out text, you can use writef() instead of format() and % instead of ~ [ just because writef() is close to printf() from C which many would be more familiar with ].
@weewoowarrior7023
@weewoowarrior7023 8 жыл бұрын
Reminder: 2:27 - On this page, Derek already had the packages selected...if this is your first time installing, then these packages would have n/a beside it. In order to get those two boxes with the x in the first one, press 'Skip'...yes, it toggles. Check off all the corresponding packages mentioned in this tutorial. 5:00 - Notice there are two files, helloworld.cpp and helloworld.h, in the directory. How did helloworld.cpp get there? I could be wrong, but maybe he saved the file as another file with .cpp as the extension. That's what I did and it worked for me when I ran the helloworld.cpp file.
@weewoowarrior7023
@weewoowarrior7023 8 жыл бұрын
+GettnSehway 1. Make sure your file has the .cpp extension 2. Make sure that file is located in the folder with your name in the home directory for cygwin (ie: cygwin64 --> home --> (your name). If that doesn't work, then sorry I'm not too sure what to do.
@Walsh2571
@Walsh2571 8 жыл бұрын
if the compiler doesn't like the line "#include " does that mean the installation hasn't worked?
@joshux3210
@joshux3210 Жыл бұрын
51:24 count_down only works when Low is 0. Should be "Z is Low+High-Y". Similarly for count_up, should be "Z is Y".
@JR-mk6ow
@JR-mk6ow 4 жыл бұрын
Just that example at 12:53 between if and the prolog syntax makes everything much more clear. Why did my prof had to make it look so complicated... Love you Derek
@derekbanas
@derekbanas 4 жыл бұрын
Love you too :)
@puremarbib
@puremarbib 8 жыл бұрын
Amazing video, sums up a quarter of my semester in an hour! Why don't we have more teachers like you in university! :)
@derekbanas
@derekbanas 8 жыл бұрын
+Marb Thank you :) I'm here for free when ever you need me.
@Mrmegaminergames
@Mrmegaminergames 8 жыл бұрын
20:45 wrong bob is the parent, this code works shows the actual grandparents get_grandparent :- parent(X, carl), parent(X, charlie), parent(Y, X), format('~w ~s grandparent ~n',[Y, "is the"]).
@sergevanhaag6811
@sergevanhaag6811 7 жыл бұрын
lmao. i was confused scrolling through the comments trying to find proof for this flaw.
@ujjwalthakur96
@ujjwalthakur96 6 жыл бұрын
I also got confused at this.
@erayk96
@erayk96 6 жыл бұрын
Actually this code is enough as you don't need two children to get the grandparents: get_grandparent :- parent(X, carl), parent(Y, X), format('~w ~s grandparent ~n',[Y, "is the"]).
@marciliodacolneto4290
@marciliodacolneto4290 6 жыл бұрын
Excellent Tutorial, thanks Derek! I had Prolog during College for 6 months and learn nothing at all, now I am trying to keep up to speed with AI and your tutorial was very complete and understandable.
@derekbanas
@derekbanas 6 жыл бұрын
Thank you very much :) I'm very happy it helped
@Noxivia
@Noxivia 8 жыл бұрын
Wow, thanks a lot! I went from not even knowing where to start with this language because articles I found were very confusing even though I am an experienced programmer. Even though you did not cover installation on Linux I was able to gather enough information as to what I needed and that was enough to get me started. Excellent tutorial as always.
@derekbanas
@derekbanas 8 жыл бұрын
Thank you :) I'm happy I could clear up a very useful language
@chendavid9582
@chendavid9582 8 жыл бұрын
The best tutorial I've ever seen. I'm a learn-by-example guy so your 1 hour video helped more than 5 hours of lectures my professor gave with vague explanations and theories.
@derekbanas
@derekbanas 8 жыл бұрын
+Chen David Thank you for the nice compliment :) I'm happy that it helped.
@donguth
@donguth 8 жыл бұрын
I think the name and the sentece are deceptive : get_grandparent :- parent(X, carl), parent(X, charlie), format('~w ~s grandparent ~n', [X, "is the"]). This is better : get_parent :- parent(X, carl), parent(X, charlie), format('~w ~s ~n', [X, "is parent's carl and charlie "]). (sorry about my english mistakes, my english isn't perfect)
@symelex1965
@symelex1965 7 жыл бұрын
Noticed that too and decided to check the comments. Thanks!
@Vandaliah
@Vandaliah 6 жыл бұрын
Here is how to find all who are grandparents :) get_grandparents :- parent(X, Y), parent(Y, Z), format('~w ~s ~w~n', [X, "is grandparent of", Z]).
@robingather6877
@robingather6877 4 жыл бұрын
Brooo. In contrast to my Logic lecturer you're making Prolog sound logical and usable. Before watching this video I got the impression it was some sort of ancient Vulcan pureblood language. Thank you!!!!
@derekbanas
@derekbanas 4 жыл бұрын
I'm happy I could help :)
@matt3609
@matt3609 3 жыл бұрын
Great series of videos! At 22:14 should I read it " X is the grandparent of Y , as long as, Z is the parent of X and Y is the parent of Z." If so should it not be named grand_child? I'm very possibly reading it wrong.. ??
@mbatu4
@mbatu4 2 жыл бұрын
Nope, you are right.
@eonstar
@eonstar 2 жыл бұрын
I don't think count_down at 51:00 is doing what you'd want it to do. It works for if your lowest is 0, but not when it's anything else. I think it should be: count_down(Low, High) :- X is High - Low, between(0,X, Y), Z is High - Y, write(Z), nl. to work with any range given.
@mariuspetrescu6126
@mariuspetrescu6126 6 жыл бұрын
Great tut but I think that at 9:30 the question you're typing is "who romeo loves" instead of "who loves romeo". But, you know, with love beeing mutual in this case, unlike in the real life :), the answer is the same for both questions.
@surajmaurya2435
@surajmaurya2435 7 жыл бұрын
rule at 50:33 is faulty it does not work if the Low is anything other than 0, if you give the query count_down(7,13). it provides answer as 6,5.....0.
@derekbanas
@derekbanas 7 жыл бұрын
Sorry if I made a mistake
@PaulGraphov
@PaulGraphov 8 жыл бұрын
Good intro. p.s. count_up and count_down seem wrong, only work well if Low is 0.
@amarshpedapati
@amarshpedapati 10 ай бұрын
At 51:15 i think the code for count down and count up is wrong, they only work when Low is 0. I think these work universally, please let me know if I'm wrong count_up(Low, High):- between(Low, High, Z), write(Z), nl. count_down(Low, High):- between(Low, High, Y), Z is Low+High-Y, write(Z), nl.
@parasdsingh
@parasdsingh 9 жыл бұрын
Thanks a lot for the awesome tutorial Derek. Resolved a lot of my confusions! Can you do a video on Assembly please :)
@derekbanas
@derekbanas 9 жыл бұрын
Paras D You're very welcome :) Yes I'm moving towards assembly. I'm going to start making a few electronics tutorials as well soon.
@emmadabdelkrim3073
@emmadabdelkrim3073 9 жыл бұрын
Derek Banas I am Looking Forward To it Thank You Mr.Derek
@MrClintM
@MrClintM 3 жыл бұрын
Mistake at approx 59:18, after you enter "List1 = [a,b,c]." (note the period) and then queried "?- member(a, List1)". The results are not as expected and you didn't notice this. In fact, List1 is out of scope. I found, if you use a variable, you must put a comma after List1 = [a,b,c], in order to refer to the variable.
@travisdelly377
@travisdelly377 8 жыл бұрын
Worst language in the world. But very helpful for that one class you hate.
@derekbanas
@derekbanas 8 жыл бұрын
It is quite odd I agree
@travisdelly377
@travisdelly377 8 жыл бұрын
You seem to know it quite well though! What is the main purpose of this language? Would you be able to answer that for me? Also thanks again for the video, got me through my homework!
@abhichakladar5279
@abhichakladar5279 8 жыл бұрын
It's meant to be used for artificial intelligence to help store information and help robots make decisions. Other than AI though it's basically useless lol
@DarkF1b3r
@DarkF1b3r 7 жыл бұрын
I am trying to learn PROLOG to use on constraint logic programs (CLP) in a staff scheduling context, namely to find efficient staff schedules for 24-hour operations given a set number of people and a set budget of available time per person. No robots are involved :-) I still have a long way to go. List creation through recursion warps my mind and declarative predicate programming is still a new concept to me.
@derekfrost8991
@derekfrost8991 7 жыл бұрын
I really like prolog but example code always shows crappy family trees etc.
@dogaarmangil
@dogaarmangil Жыл бұрын
25:52 That's where I say Prolog is not for me, because data and compute are jumbled together, which they shouldn't be, if only because of AI, data analytics and specialised IT jobs. Also, Prolog tries to represent data in terms of predicate logic, which is odd. Nowadays we have graph databases which are clearly separated from the programs that use them. For me, Prolog is only interesting for historical reasons, because it dates from an early period where software wasn't yet a separate thing from the math/logic realm that gave it birth.
@jco199
@jco199 5 жыл бұрын
in 20:35 where you modified the get_grandparents function, it actually became the get_parents function. You forgot to change the string and name to match that.
@garth2356
@garth2356 2 жыл бұрын
True, I was gonna comment just that.
@Turk656
@Turk656 4 жыл бұрын
12 hours of lecture condensed to ~63.5 minutes. Thanks, as always, for doing what you do my guy. Now to ponder the life choices of going tens of thousands of dollars into debt and licking tenured boots for 4-5 years to gain knowledge I could've learned in 6 months with youtube...
@derekbanas
@derekbanas 4 жыл бұрын
Thank you :) Happy I could help. I have pondered what universities will become. My mother is a college professor by the way. I think 90% of the value of going to college is found in the networking. If done right that is extremely valuable. Of course there are a few amazing professors that can change a persons life, but they are few and far between. That is why I consider the current zoom college experience to be basically worthless.
@Turk656
@Turk656 4 жыл бұрын
​@@derekbanas preach
@X-boomer
@X-boomer 3 жыл бұрын
If on Windows 10, dont try to install cygwin - turn on the WSL 2 package, install a Linux distro from the windows store, then open a linux terminal and install prolog there using apt install.
@farmerfootball27
@farmerfootball27 9 жыл бұрын
hey dude. this is awesome. i'm not going to say "subbed" or anything, rather i'm going to watch every single video you got. one thing you forgot was the environment variables. i already know how to do it, so i was lucky, but i remember a time when i didn't and it took forever and lots of frustration to figure it out. thank you so much for the video! you do really well
@MrMyyBin
@MrMyyBin 8 жыл бұрын
Дякую! Срані держіспити, це лайно вчити!
@andrewverden459
@andrewverden459 3 жыл бұрын
Like якщо з 3го курсу могиляночки
@ayoobalkindy2390
@ayoobalkindy2390 Жыл бұрын
Thank you so much, on the course of 8 weeks of studying prolog, I barely knew how to write a prolog program, but thanks to your video, I can easily do it now!!!
@TS-cg8nt
@TS-cg8nt 5 жыл бұрын
Great lecture. Wish there was more on lists as it relates to recursion.
@Raphaelshreds
@Raphaelshreds 7 жыл бұрын
I would have been doomed without this very helpful video. My project was to make a program that a had bunch of facts for symptoms of diseases and we were tasked with adding symptoms to a person and running tests and getting it down to one disease or more that all have the same tests or symptoms and treatments, unfortunately he didn't go over dynamic facts or how to format of I/O. We also didn't have a book for this, greatly appreciated this video. Thank you!
@derekbanas
@derekbanas 7 жыл бұрын
Thank you :) I'm very happy that it helped
@Welzi1234567890
@Welzi1234567890 4 жыл бұрын
18:03 So... Alice and bob are siblings, and the parent of carl...?
@storyls
@storyls 4 жыл бұрын
Welzi1234567890 sweet home alabama
@norcal6181
@norcal6181 4 жыл бұрын
Yes, incest is common in prolog
@peacemekka
@peacemekka 4 жыл бұрын
@@norcal6181 lmao.
@rjbray01
@rjbray01 3 жыл бұрын
Wow that is honestly fantastic. I have looked at tons of tutorials and not one of them actually showed me how to write my first one-line program. Thank you so much - gottit !
@derekbanas
@derekbanas 3 жыл бұрын
Thank you very much Happy I could help :)
@thanosage4904
@thanosage4904 8 жыл бұрын
His voice sounds so mechanical, nice tutorial as well!
@MANULINHOS
@MANULINHOS 8 жыл бұрын
Derek, Oh man... always there when I need a good old tutorial. Kudos for you!
@derekbanas
@derekbanas 8 жыл бұрын
Thank you :) I'm happy I can help
@alexandremarques8735
@alexandremarques8735 9 жыл бұрын
Great tutorial!! And I didn't know that penguins produce milk! :-O Thank you Derek
@derekbanas
@derekbanas 9 жыл бұрын
+Alexandre Marques Thank you :) They produce milk in a weird way. I love slipping in strange topics like that. It is called crop milk. Crop milk bears little resemblance to mammalian milk, the former being a semi-solid substance somewhat like pale yellow cottage cheese. I'm strange by the way :)
@oddyseus95
@oddyseus95 6 жыл бұрын
Derek, you are an amazing man! I've just founded your channel, and now there are tons of videos to watch for me and learn them all. Apprecieta that man!
@derekbanas
@derekbanas 6 жыл бұрын
Thank you very much :) I hope you enjoy them
@ohgrimreaper2878
@ohgrimreaper2878 8 жыл бұрын
@4:34 how do you open that folder
@kevinc2857
@kevinc2857 8 жыл бұрын
I believe there's something wrong with the code at 51:40 where you're doing the rule "count_up". Starting from any number other than 0 as the "Low" variable will result in unwanted results. On line 15 it should be "Z is Y" which is obviously redundant, and instead you can do write(Z) for line 16 and remove line 15 all together.
@derekbanas
@derekbanas 8 жыл бұрын
+Kevin C Thank you for pointing that out :) I'll take a look
@zangruver132
@zangruver132 5 жыл бұрын
I read the thumbnail as "How to prolong one video" :/
@derekbanas
@derekbanas 5 жыл бұрын
That's funny :)
@gunjansharma9301
@gunjansharma9301 7 жыл бұрын
Certainly, the best prolog tutorial by far.
@derekbanas
@derekbanas 7 жыл бұрын
Thank you very much :)
@eccentricHellion
@eccentricHellion 8 жыл бұрын
Did you cover how to do what you did @ 4:43 because I don't understand completely what that is.
@johnreypial46
@johnreypial46 4 ай бұрын
20:44 please correct me if im wrong. I think bob is not the grandparent of carl and charlie but is the parent. their grandparents should be alice and albert.
@ibm5155
@ibm5155 8 жыл бұрын
why not swi-prolog on Windows?
@ibm5155
@ibm5155 8 жыл бұрын
well not in my zone. The last dev that I saw using Linux formated his own hdd by mistake while he was trying to format an external hdd on terminal :B And the mac ones, ehm, I Always see them Always using dual boot :S ... And idk why did I made that question rofl, swi-prolog is bad everywhere
@deusexvelo
@deusexvelo 9 ай бұрын
Simply the best Prolog tutorial. This is much much better than my intro Prolog university subject!
@fredericosevergnini9348
@fredericosevergnini9348 8 жыл бұрын
Installation problem: I'm checking if cygwin was properly installed. At the terminal, when typing " g++ hellowoworld.cpp -o helloworld", I receive the message "-bash: g++: command not found". I also noticed that I only have the helloworld.h file (after creating it with notepad++). How do I get the .cpp file that? Thanks for the video!
@fredericosevergnini9348
@fredericosevergnini9348 8 жыл бұрын
also, when checking the "Devel" items to download, I couldn't find these options shown in the video. I'm not sure it it's related to the problems I'm having at the installation.
@mariav1234
@mariav1234 8 жыл бұрын
Same thing is happening for me. Did you find the solution for this?
@fredericosevergnini9348
@fredericosevergnini9348 8 жыл бұрын
So, here is what I noticed: the options inside "Devel" that are being worked with are usually minimized. Try finding them by checking the code number or names, that worked for me. But I ran into another problem after installation, so I'm learning C++ using Microsoft Visual Studio instead, and other video tutorials
@gamerboy4566
@gamerboy4566 3 жыл бұрын
At 22:13, shouldn't the grand_parent rule be as follows: grand_parent(X, Y) :- parent(Z, Y), parent(X, Z). (I am assuming grand_parent(X,Y) is read as X is the grand_parent of Y).
@emanuelragusi7456
@emanuelragusi7456 3 жыл бұрын
thought the same
@dragonqwan10
@dragonqwan10 7 жыл бұрын
Better than college! Thank you!
@derekbanas
@derekbanas 7 жыл бұрын
Thank you :)
@dragonqwan10
@dragonqwan10 7 жыл бұрын
You are helping me a lot! I came back to tell you that in 4 days,with your starting tips on this video i learned much more than i did in half a semester . My skill got from 10% to 90% because i finally understood how Prolog works and i aced the exam.Now i`m working on creating a MySql database project with help from your videos later on watching your Haskell tutorial and who knows what goodies i`m going to find next! I`m reccomending you to my coleagues so they can catch up the things that college unfortunately didn`t manage to teach us ! God knows why.
@aybo836
@aybo836 6 жыл бұрын
Dude this is what we call teaching skills! A perfect tutorial! Thanks a lot!
@derekbanas
@derekbanas 6 жыл бұрын
Thank you very much :)
@krisjanisliepa7969
@krisjanisliepa7969 9 жыл бұрын
Will you cover iOS development any time soon, with objective-c or perhaps even with swift?
@ASDFG856
@ASDFG856 9 жыл бұрын
Alberts Klavins he already has a series on swift and object c , check out his channel :)
@derekbanas
@derekbanas 9 жыл бұрын
Alberts Klavins I'll see what I can do.
@krisjanisliepa7969
@krisjanisliepa7969 9 жыл бұрын
Derek Banas That would actually be great because i am new to iOS development and through you i actually learned basics in Android Development and I am grateful about that. So keep your work and thank you for your awesome videos. :)
@HenriqueJGBelo
@HenriqueJGBelo 6 жыл бұрын
Exactly what I was searching for: clear and brief intro to understand Prolog throught examples. Thanks.
@derekbanas
@derekbanas 6 жыл бұрын
Thank you :) I'm glad it helped
@psyk2642
@psyk2642 8 жыл бұрын
42:10 succ
@umadbroyo2388
@umadbroyo2388 7 жыл бұрын
Good succ....
@nomealow
@nomealow 4 жыл бұрын
1:03:06
@surajmaurya2435
@surajmaurya2435 7 жыл бұрын
the rule at 21:32 is incorrect as grand_parent(X,Y) means X is grand parent of Y, but in query you are providing grand_parent(carl, A) which would mean Carl is grand parent of A and that's not correct.
@derekbanas
@derekbanas 7 жыл бұрын
Sorry for the error
@spiritwolf448
@spiritwolf448 9 жыл бұрын
CAN YOU PLEEEEASE DO ASSEMBLY. please????
@derekbanas
@derekbanas 9 жыл бұрын
How to's for blender I'm working on it as well as a tutorial on electronics.
@joshux3210
@joshux3210 Жыл бұрын
21:44 the sematics of grand_parent v.s. parent is reveresed. grand_parent(a,b) b is a's grand parent; but parent(a,b) a is b's parent.
@ZenoDovahkiin
@ZenoDovahkiin 5 жыл бұрын
produce_milk(penguin). yes Ok.
@derekbanas
@derekbanas 5 жыл бұрын
That's funny 😁
@tars4794
@tars4794 21 күн бұрын
9 years saving people, yesterday just saved another one thanks!
@SebasCapo2013
@SebasCapo2013 9 жыл бұрын
Thank you for another video! :D I'm learning so much about different languages with them! By the way, What about Unity? :P Stay awesome, thanks! :D
@derekbanas
@derekbanas 9 жыл бұрын
SebasCapo You're very welcome :) I can't wait to start making games. I'll do it for the rest of the year after I finish the languages.
@SebasCapo2013
@SebasCapo2013 9 жыл бұрын
Derek Banas Looks cool! :D I'l be waiting for them! Keep awesome, cya!
@madjimms
@madjimms 8 жыл бұрын
Thanks for not using the biased Intel C++ compiler that cripples performance for non Intel CPU's.
@rohanarcot2955
@rohanarcot2955 9 жыл бұрын
How many proggramming languages do u know?
@derekbanas
@derekbanas 9 жыл бұрын
+Rohan Arcot I have used pretty much everything over my 30 years of programming
@ayami123
@ayami123 9 жыл бұрын
+Derek Banas do you know how to install XPCE ?
@NaeemAkramAndroidiOSApp
@NaeemAkramAndroidiOSApp 9 жыл бұрын
+Derek Banas is the Zeus of programming! :p
@madman6903
@madman6903 8 жыл бұрын
+Derek Banas lol i thought you were 25-30 years old
@VaibhavGupta9
@VaibhavGupta9 8 жыл бұрын
How do you remember it all! I keep confusing the syntax between the 2 languages I know!
@JOHNREYPIAL
@JOHNREYPIAL 4 ай бұрын
20:44 I think bob is not the grandparent of carl and charlie but the parent. alice and albert should be the grandparent of carl and charlie. correct me if im wrong
@kimy9100
@kimy9100 8 жыл бұрын
Wow, great tutorial! Thanks!
@derekbanas
@derekbanas 8 жыл бұрын
Thank you :)
@fhdcbdfkdjnisdnoi
@fhdcbdfkdjnisdnoi 6 жыл бұрын
I need to learn Prolog at the university, i study in language science and although i'm really bad with computer (the level of your grandparents probably) Prolog kinda feel more intuitive to me than Python, java or anything else alike. I could understand programmers could have difficulties understanding the purpose of this kind of language and finding it horrible but it's the best language for things like the automatic treatment of languages.
@MatTaNg100
@MatTaNg100 9 жыл бұрын
Where was this when I took my AI class last semester!
@derekbanas
@derekbanas 9 жыл бұрын
Matt Ng Sorry it took so long :)
@Swampdragon102
@Swampdragon102 2 жыл бұрын
For those visiting: Windows 10 has WSL, which is a proper linux compatible with windows in both directions. With Windows 11, you can even run unix GUI programs out of the box.
@perfectketchup
@perfectketchup 6 жыл бұрын
penguins doesnt produce milk,that stuff its not really milk :P great basic tutorial tho, thanks a lot! All other info on control logic programing looks like written in soviet russia
@derekbanas
@derekbanas 6 жыл бұрын
That's funny :) I'm glad you liked it
@dmitryponyatov2158
@dmitryponyatov2158 6 жыл бұрын
Totally right, I almost never read _learning_ textbooks on anything written by russian scientists - they can't write tutorials in principle, but dump their brain knowledge porridge onto paper, so you must already know a lot to read that mind flow.
@VerthElone
@VerthElone 6 жыл бұрын
This got me darn confused...
@ig_haxie
@ig_haxie 4 жыл бұрын
THIS IS FIRST VIDEO WHICH I FOUND USEFUL FOR ME... AFTER USING KZbin ALMOST 8 YEARS
@derekbanas
@derekbanas 4 жыл бұрын
I'm happy I could help :)
@FireWolfVids
@FireWolfVids 9 жыл бұрын
404 views. Cannot find page
@Streta2k11
@Streta2k11 9 жыл бұрын
FireWolfVids lmao
@asadwaqqas7035
@asadwaqqas7035 8 жыл бұрын
its 404 error i think not 404 view
@FireWolfVids
@FireWolfVids 8 жыл бұрын
Asad Waqqas you missed the joke a year ago when this had 404 views
@asadwaqqas7035
@asadwaqqas7035 8 жыл бұрын
ok
@ChristosHDJ
@ChristosHDJ 9 жыл бұрын
Excellent video man! You 've summed up half a term's material in one hour. Love yah!
@derekbanas
@derekbanas 9 жыл бұрын
+Χρίστος Χατζηνικολή Thank you :) I'm happy I could help.
@MrQwerty2524
@MrQwerty2524 9 жыл бұрын
I never even heard of this language...
@reece4309
@reece4309 9 жыл бұрын
Its taught in university for AI apparently.
@derekbanas
@derekbanas 9 жыл бұрын
MrQwerty2524 It is pretty cool. Check this out Building Expert Systems with Prolog www.inf.fu-berlin.de/lehre/SS09/KI/folien/merritt.pdf
@outsider1st
@outsider1st 9 жыл бұрын
Derek Banas could you mind about assembly lang tutorial?
@derekbanas
@derekbanas 9 жыл бұрын
Nikodem Pierzak Sure, but I want to cover electronics first.
@outsider1st
@outsider1st 9 жыл бұрын
Great!
@ronaldc8634
@ronaldc8634 2 жыл бұрын
Wanted to share my implementation of the number guessing game: guess_num :- write('Guess number'), read(Guess), play(Guess). play(15) :- write('You guessed it!'). play(X) :- X \= 15, write(X), write(' is not the number'), nl, guess_num.
@shidajieqing
@shidajieqing 8 жыл бұрын
who's here for csc324?
@thewolfmasters
@thewolfmasters 8 жыл бұрын
at 51:48 your countDown and countUp don't work. They only work when the lowest Number is 0. For countDown you have to first subtract 0, then 1 then 2 etc from the Max value and you get that by subtracting the Low value from the actual X Value. countDown(Low,High) :- between(Low,High,X), Z is High-(X-Low), write(Z). Here it is pretty much the same, you need to add 0, then 1, then 2 etc to the minimum Value of Low. For countUp countUp(Low,High) :- between(Low,High,X), Z is Low+(X-Low), write(Z).
@derekbanas
@derekbanas 8 жыл бұрын
+thewolfmasters Thank you for pointing that out. I'll look into it.
@wirito
@wirito 6 жыл бұрын
If only professors all over the world were as dedicated as you and many other youtubers who explain things in great detail..... In sam cooke’s voice: “what a wonderful world this would be”
@derekbanas
@derekbanas 6 жыл бұрын
Thank you for the nice compliment :)
@jaaan2914
@jaaan2914 Жыл бұрын
35:29 Penguins don't produce milk... they're BIRDS
@aidenluke4727
@aidenluke4727 7 жыл бұрын
I had to attend lab tutorials in my college for the whole semester but not learning anything. Here, it takes me 10 minutes for everything to start making sense.
@derekbanas
@derekbanas 7 жыл бұрын
That's awesome! I'm very happy that it helped :)
@BLUEOVI
@BLUEOVI 7 жыл бұрын
This is one of the best tutorials ever seen. Please consider joining Udemy. You can earn extra cash, teaching people cool stuff a bit more organized that youtube.
@derekbanas
@derekbanas 7 жыл бұрын
Thank you for the nice compliment :) I make enough money on YT. I'd feel bad if I charged people
@Vidya1840
@Vidya1840 9 жыл бұрын
I must admit that I'm really impressed with all your broad knowledge. I'm studying CS and I'm focused on AI and I must admit that there is nothing better than watching your videos while lying in bed last thing before going to sleep. I'll barely turn TV on anymore with you here. Really helpful and informative. P.S. what do you do for a living and whats your education if I may ask?
@derekbanas
@derekbanas 9 жыл бұрын
ianSD Thank you for all the compliments :) I went to school for electrical engineering and graphic design. Strange pairing I know, but I already knew how to program and wanted to work in special effects in Hollywood many years ago. I have been working as a private consultant for over the last decade. I mainly make online stores and private Android apps.
@ChristianLCroigverg
@ChristianLCroigverg 9 жыл бұрын
Dude, amazing tuto! I love it! Thank you Derek! From an Argentinian guy! You've helped me a lot.
@derekbanas
@derekbanas 9 жыл бұрын
Thank you:) I'm very happy that it helped
@Fernando-xh2ko
@Fernando-xh2ko Жыл бұрын
You just saved my entire module, god bless
@lyndaa7937
@lyndaa7937 8 жыл бұрын
Thank you so much for this tutorial. I was having trouble with my homework and this helped clear up concepts for me.
@derekbanas
@derekbanas 8 жыл бұрын
I'm very happy it helped :)
@GauravMahajanAvaron
@GauravMahajanAvaron 5 жыл бұрын
When i read the course books that cover this topic, it feels like they are written by an abstract artist who is a little too much into wordplay and overly complicated language. Thanks for putting the topic in simple words man. Nothing is fuzzy anymore.
@derekbanas
@derekbanas 5 жыл бұрын
Thank you that is the compliment I was most hoping for. I agree prolog books are terrible.
@flyingzeppo
@flyingzeppo 8 жыл бұрын
Something seems off at 21:43. If Z is the parent of X, and Y is the parent of Z, then Y is the grandparent of X. The code has X is the grandparent of Y. The first part seems to say X's grandparent is Y, and then the second part goes back to saying Z is the parent of X. The code switches syntax. Example: parent(X,Y). Is that saying X is the parent of Y, or is it saying X's parent is Y? I believe it's saying X is the parent of Y, but this part of the tutorial seems to switch it around.
@JamWard
@JamWard 7 жыл бұрын
Thank you for taking your time to make this video. this was the perfect video to refresh what I had learnt a few years ago!
@derekbanas
@derekbanas 7 жыл бұрын
You're very welcome :) I'm happy it helped
@MultiKB13
@MultiKB13 3 жыл бұрын
If anyone is getting `existence_error` in the romeo and juliet example, see if you're on version 1.4.5. This version is bugged and using "consult" or "[db]" to load the database is broken for a lot of statements. You'll want to either use an older version like 1.4.4 in the video or compile the database first then run it using `gplc db.pl` then `./db`.
@raghunathreddy832
@raghunathreddy832 3 жыл бұрын
Can you please tell me the command to install 1.4.4 version?
@MrMontana1990
@MrMontana1990 7 жыл бұрын
i came here from java tutorials search i watched your prolog tutorials when i had to take that course in university its really a fun language because you have to really think different than most other languages but in the end its pure logic thats why its called pro(gramming in )log(ic)
@derekbanas
@derekbanas 7 жыл бұрын
I agree Prolog is even a great language to learn if you just want to get better at programming in other languages
@johnflanch3085
@johnflanch3085 4 жыл бұрын
I wrote a prolog interpreter in python. But it was more simular to english. i.e In prolog: Loves(romeo,juliet) In my python interpreter: Romeo loves juliet
@OktayAkgul1
@OktayAkgul1 8 жыл бұрын
One of best tutorial ever that I've watched! Thank you.
@derekbanas
@derekbanas 8 жыл бұрын
Thank you very much :)
@tinni19995
@tinni19995 8 жыл бұрын
you are the best Derek, huge respect
@derekbanas
@derekbanas 8 жыл бұрын
Thank you very much :)
Haskell Tutorial
1:16:47
Derek Banas
Рет қаралды 895 М.
Creating Your Own Programming Language - Computerphile
21:15
Computerphile
Рет қаралды 193 М.
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН
The evil clown plays a prank on the angel
00:39
超人夫妇
Рет қаралды 53 МЛН
"Production Prolog" by Michael Hendricks
39:58
Strange Loop Conference
Рет қаралды 52 М.
Scala Tutorial
1:14:41
Derek Banas
Рет қаралды 615 М.
why are switch statements so HECKIN fast?
11:03
Low Level
Рет қаралды 435 М.
Lua Tutorial
57:25
Derek Banas
Рет қаралды 969 М.
A Brief Introduction to Prolog
37:42
Exercism
Рет қаралды 17 М.
Learn Any Programming Language In 3 Hours!
22:37
Code With Huw
Рет қаралды 609 М.
Lisp Tutorial
1:15:25
Derek Banas
Рет қаралды 467 М.
Transformers (how LLMs work) explained visually | DL5
27:14
3Blue1Brown
Рет қаралды 4,1 МЛН
Shell Scripting Tutorial
59:12
Derek Banas
Рет қаралды 909 М.
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН