A* Search

Поділитися
Вставка
  • Опубліковано 29 гру 2024

КОМЕНТАРІ • 349

  • @7sparksai
    @7sparksai 6 місяців тому +100

    7 years later, this is still best video available

  • @NikosXouselas10
    @NikosXouselas10 3 роки тому +113

    Absolute legend. This dude has literally been more helpfull than I could ever imagine! Insane work!

  • @jm.101
    @jm.101 18 днів тому +1

    Calm repetition of important facts/concepts is what makes this so helpful. It's like my Latin teacher always said: Repetitio est mater studiorum.

  • @mostafakarimi1733
    @mostafakarimi1733 5 років тому +65

    One of the best explanation of A* algorithm I've ever seen, Thank you Sir and I hope you create more videos about AI

  • @tashijawed5472
    @tashijawed5472 2 роки тому +19

    Great Explanation, as always. Just want to add one thing. at 9:43 When we reached node G2 with a cost of 13, we will stop the algorithm and won't go further with "E" node. Why? because it uses Priority Queue, the algorithm will stop once it finds a Goal node with a cost "less than or equal" to costs of other nodes. And it makes sense!! because once you reached G2 with a cost of 13, even if you have another node with the same cost, there's no point in checking it because it will only add to the cost.

    • @peterlawrence3505
      @peterlawrence3505 Рік тому +2

      But if the heuristic was not admissible this would not be the case right?

  • @whiningmachine
    @whiningmachine 2 роки тому +10

    Thank you for this explanation. You have no idea how many pages and videos I had to go through before somebody explained that the heuristic indicates the estimated cost to a goal node. I had no idea why we only added the destination node's heuristic to the total (and not the other nodes' heuristics along the path), and now I know. Thanks!

  • @terrycamerlengo5492
    @terrycamerlengo5492 4 роки тому +7

    This channel with John Levine is awesome. What a great lecturer! Great channel! Thank you!

  • @tollwutpinguin
    @tollwutpinguin 11 місяців тому +2

    Thank you for providing free educational content of such high quality! The world needs more lecturers like yourself

  • @NinaHProductions1
    @NinaHProductions1 6 років тому +132

    You are the best teacher and provide the cleanest of explanations - at 5:53 the A* score for A is 17 (5 + 3 +2 + 7) instead of 20 I think?

    • @que_93
      @que_93 6 років тому +13

      It should be 17, not 20.

    • @ngusumakofu1
      @ngusumakofu1 6 років тому +4

      Indeed it should be 17

    • @JackyShaw
      @JackyShaw 6 років тому +2

      I agree too.

    • @know_how5661
      @know_how5661 6 років тому +2

      yup... its 17

    • @sussananukem7101
      @sussananukem7101 5 років тому +2

      Nope... He's correct.
      He readded the path cost from A to B since we are revisiting A.
      That is: 5+3+(3)+2+7 =20

  • @nitinneo7
    @nitinneo7 5 років тому +2

    The most coherent explanation of A* algorithm with an example. Thank you for saving our time and energy.

  • @dennissaluaar9103
    @dennissaluaar9103 5 років тому +4

    I am studying an introductory course in Artificial Intelligence here in Gothenburg, this short lecture made the A* very clear to me. Thank you!

  • @Geek-jx3gw
    @Geek-jx3gw 3 роки тому +7

    throwback 2 years ago, you helped me to pass my exam and understand this algorithm really well

    • @balochx
      @balochx 3 роки тому +1

      How's life?

    • @Geek-jx3gw
      @Geek-jx3gw 3 роки тому +1

      @@balochx Amazing

    • @balochx
      @balochx 3 роки тому +1

      @@Geek-jx3gw stay amazing!

    • @Geek-jx3gw
      @Geek-jx3gw 3 роки тому +3

      @@balochx i didnt know what to answer but, life is not organized or as i wanted but it is better now
      2 years before I was a stressed person, stressed about a lot of things including my future, grades, etc
      now, i am older and i changed into a better version of me i guess, less stressed, i love my struggles, i love to help people as much as i can, I’m trying my best to be good enough for me and my family
      so yeah life is amazing now🙌🏻

    • @balochx
      @balochx 3 роки тому +4

      @@Geek-jx3gw thank you so much for sharing. and yes, ups and downs are a part of life. no one is completely satisfied with his/her life, we just have to embrace it and strive for the good. helping people for no agenda brings out huge happiness.
      and it was nice knowing about your story. I love hearing common people rather than famous people who are faking everything.
      Stay blessed 🙌

  • @dushanrathnayake5007
    @dushanrathnayake5007 3 роки тому +4

    Just brilliant! Thank you so much! At 5:53 the A* score for A is 17 (5 + 3 +2 + 7) instead of 20 I think.

  • @prakashbhattarai947
    @prakashbhattarai947 Рік тому

    If both heuristic and cost of paths are guranteed to be positive, is it necessary to store A* score in visited list ? 2:12

  • @Leyan_leyuna
    @Leyan_leyuna 20 днів тому

    calm,simple and interestig video..........
    i liked it Thanks alot

  • @KuliahInformatika
    @KuliahInformatika 2 роки тому +1

    I love the way you explain the algorithm... easy to understand...

  • @MohammadAwad-s8y
    @MohammadAwad-s8y 11 місяців тому +1

    Hello Prof John, I want to thank you for the great and clear explanation!
    I just have one question, shouldn't the total A* score at @5:58 be (5+3+2)+7 = 17 instead of 20?

    • @therealajmelmuadz
      @therealajmelmuadz 8 місяців тому

      I was thinking the exact same thing! Glad I'm not the only one who was wondering if this is an error. Still not sure why he said 20 instead of 17.

  • @niled.r.1639
    @niled.r.1639 2 роки тому

    What to consider when defining the heuristic values? ...or how to calculate these values? - (Normally?) the "costs" represent distances or times, what other examples have you seen?

  • @coxixx
    @coxixx 7 років тому +123

    the best teacher on the web

    • @johnlevine2909
      @johnlevine2909  7 років тому +19

      Thanks. Glad you liked it.

    • @abhishekravichandran6965
      @abhishekravichandran6965 4 роки тому +2

      ua-cam.com/channels/M-yUTYGmrNvKOCcAl21g3w.html
      she is the best bruh

    • @runneypo
      @runneypo 4 роки тому +1

      @@abhishekravichandran6965 she has no video on a star though

    • @vakiljay8686
      @vakiljay8686 3 роки тому +5

      @@abhishekravichandran6965 S I M P

    • @heer1359
      @heer1359 3 роки тому +2

      @@abhishekravichandran6965 S I M P

  • @koibathekingofgames8522
    @koibathekingofgames8522 Рік тому

    The best exemplification that I found until now, It`s worth watching.

  • @mohammadvasegh1754
    @mohammadvasegh1754 4 роки тому +4

    in our country, today is teacher's day good sir. thank you for all of your clarification and examples that you've solved and happy teacher's day to you

    • @johnlevine2909
      @johnlevine2909  4 роки тому +1

      Thank you Mohamad! I'm really glad you find the videos useful.

  • @nihilrocks
    @nihilrocks Рік тому

    Truly a godsend! Saved me 5 marks on my A levels 15mins before the exam. Couldn't have explained it better!

  • @Kashmiri.111
    @Kashmiri.111 2 дні тому

    11:46 how do we know the solution path to goal node? As in visited nodes we have node B but in the path from source to goal it's not there.

  • @뚝딱-q8j
    @뚝딱-q8j 3 роки тому

    How is the goal state considered in a situation with ties?
    If using alphabetical order, do goal states count as the alphabet G?

  • @breadsteeth2562
    @breadsteeth2562 2 роки тому

    Love from China. Clear explanation and it helps me a lot. Thank you!

  • @zaid_marridi
    @zaid_marridi 7 років тому +6

    Thank you for this simple and great explanation... You're simply the best at this.
    Clean, clear, easy and very informative
    What else could someone ask for?!!!

  • @HafizAsimNawaz
    @HafizAsimNawaz 7 років тому +2

    I love this man...... you rocked sir... hats off

  • @AsomyTraiget
    @AsomyTraiget 5 місяців тому

    Thank you very much for these efforts, greetings from Libya

  • @mvvkiran
    @mvvkiran 4 роки тому +1

    So, two points I believe worth mentioning for the General Public's information sake:
    1. The Search considered here is a GRAPH Search - NOT a Tree search. John Levine generally considers all Graph Search for all Search Algorithms - at least in the Uninformed & this A* Algs, so far
    2. The REASON why the Heuristic MIGHT BE LESS THAN the Actual Cost of Reaching of a Goal is Because the Basic Heuristic considered for an A* Search is a Straight Line Distance - SLD. And we a know a PATH is NOT ALWAYS a Straight Line. How much ever Better a Heuristic you introduce, you'll never get the Actual Cost of Reaching a Goal State to be less than it. The Best Heuristic will Predict the EXACT cost of reaching a Goal State (only with ZERO Path Costs of course as A* Cost = Path Cost + Heuristic Cost)
    Hope this helps.

  • @555to_infinity
    @555to_infinity 5 років тому +2

    Wow. Perfect lecture on A* search. Highly recommended!

  • @Alex_Yong
    @Alex_Yong Рік тому

    A question is why the visited nodes don't need to be visited again, I think it may skip the node of the optimal path...

  • @mahwashshahid2499
    @mahwashshahid2499 9 місяців тому

    @johnLevine Kindly share assessment problem as well with accurate heuristics.

  • @bars5762
    @bars5762 3 роки тому +1

    I'm not very good in English but your explaination is very easy to listen and understand. Thank you very much!

  • @OsamaAlmas
    @OsamaAlmas 7 років тому +6

    This is amazing, You deserve more subscribers!!!

  • @Astronomy.532lifenspace
    @Astronomy.532lifenspace 4 місяці тому

    Thank you. I want to know why considering only one path as the goal state. I have a burning assignment.

  • @iampujan
    @iampujan 6 років тому +1

    Loved the video. Clear and Understandable. Thanks Professor John. Looking forward for more videos.

  • @SiEmG
    @SiEmG 4 роки тому

    Hello Mr. John Levine and the rest of the people IN THE COMMENTS :). Mr. Levin thank you very much for your help. You give totally clear instructions!! :) My only question is this: is G node visited also? I think in A* goal state is also added in the visited list, right?

  • @Dr.SamirKumarSadhukhan-jw1wk
    @Dr.SamirKumarSadhukhan-jw1wk 25 днів тому

    Sir, I request you to make another video on the state-of-the-art bidirectional heuristic search BAE*.

  • @drc-ek2zu
    @drc-ek2zu 3 роки тому

    AT 10:00, don't you mean 15? where or why did it go to 21? In the end, we can see that the path was right, but I give pause to arithmetic in error in any of these examinations. And if we have these errors, should we just overlook them? I believe a correction is in order if not just to settle the masses who found the error.

  • @willardmakinishi6980
    @willardmakinishi6980 3 роки тому +2

    Thank you so much Mr. Levin. Trust me these things did not make any sense in the first encounter with my Lecturer with due respect to him. I have just watched the first minute and i Have decided to download the tutorial. Hopefully I will find your explanations on all the search Algorithms. God bless you and I hope to understand these things before June for my exams

  • @pantepember
    @pantepember 4 роки тому +4

    5:51 Did you ignore A because it was already visited or it would cost more (20) than in its first appearance (12)?
    10:25 Shouldn't have we finished the search at G2 (13) instead of going on with E (13)?
    11:15 You ended the search by choosing G2 (13) this time while we still had F (21). Was that because F cost more than G2 did?
    Thank you for the video.

    • @anirvangoswami
      @anirvangoswami Рік тому +1

      1. Because it was already visited.
      2. We are following the alphabetical order as a tie-breaker.
      3. Yes, we give priority to the lowest-cost node in the fringe.

  • @husseinsylla4850
    @husseinsylla4850 2 роки тому

    Hello Sir,
    Best tutorial I have covered on A* algorithms. Clear and complete, include all explanations for f(n)=g(n)+h(n) and over-estimations of theoritical heuristics. Brilliant. Thank you so much.

  • @sagartalagatti1594
    @sagartalagatti1594 2 місяці тому

    God level explanation of the concept!!!

  • @TheWheen
    @TheWheen 6 років тому

    For the most left line which is ignored, as B3 -> A7 from 5:45 in the video, the cost is not 20 as said, should it be 5+3+2+7=17? How the heuristic is known ?

  • @vivekpadman5248
    @vivekpadman5248 10 місяців тому +2

    Where do we get the heuristics from?

  • @saiprasad8311
    @saiprasad8311 5 років тому

    Good example. Makes it so easy to understand admissibility issue.

  • @tanle7317
    @tanle7317 Рік тому

    You said that if we encountered a visited node, we can ignore it if it has the higher A* score than the previous. What about when it has lower A* score? Are we supposed to draw that node again on the tree with the lower score?

  • @YUMYUMINMYTUMTUM
    @YUMYUMINMYTUMTUM 11 днів тому

    Still the best video available on A* search!

  • @simongrome9073
    @simongrome9073 Рік тому

    These videos are super helpful in explaining stuff I didn't get from my textbook! Thank you!

  • @rishavlalshrestha9755
    @rishavlalshrestha9755 7 років тому +1

    Amazing video. Learned very much. Thank you. But on what basis heuristic are measured as it alters the way tree flows ?

    • @johnlevine2909
      @johnlevine2909  7 років тому +6

      The heuristic function h(Si) is a quick-to-compute estimate of the cost to get from state Si to a goal state. The function you use is dependent on the problem being solved - for example, in robot navigation, you might use the Euclidean distance between the point that the robot is at and the goal state. The heuristic function has to have certain properties in order to work well - for A*, the most important is that it must be admissible - that is it must never over-estimate the cost. Hope this helps!

    • @rishavlalshrestha9755
      @rishavlalshrestha9755 7 років тому

      Thank You John.😀

  • @siddarvind6410
    @siddarvind6410 Рік тому

    A godsend. This is saving me in my CS Discrete Math class, thank you so much!

  • @nilsmartel2295
    @nilsmartel2295 4 роки тому

    you're a most talented teacher. Thank you

  • @TheSophiaLight
    @TheSophiaLight 3 роки тому

    Clear, patient, simple. Thank you.

  • @lianghaoquan
    @lianghaoquan 4 роки тому

    Thank you for this great video! Love your clear explanation and your voice!

  • @alfianabdulhalin1873
    @alfianabdulhalin1873 7 місяців тому

    Thanks John. This video is a lifesaver.
    BTW, I've a question. Say I want to drive to the nearest city, and he wants to choose between 3 cities on a map (i.e. 3 goals states/nodes). So does this mean I have to calculate the A* score of each goal state, and then choose the smallest one? Thanks!

  • @cuchuoisalay9263
    @cuchuoisalay9263 7 років тому

    I would like to say thanks to you. Your tutorial about A* is very exciting!

  • @flienky
    @flienky 4 роки тому

    Does the condition that the heuristic value of a node should be bigger than the distance to the goal, apply to the starting node as well? Or it only applies for the intermediate nodes?

  • @AnsumanMohanty
    @AnsumanMohanty 6 років тому

    Clear and concise. But could you share any resource as to why the heuristic should underestimate the cost ?

  • @shreengul6488
    @shreengul6488 6 років тому

    Great job sir!!! You explain things very clearly and unambiguously . No need to watch any other vedio after watching this.

  • @SaifUlIslam-di5xv
    @SaifUlIslam-di5xv 4 роки тому

    It's a treat watching this as an introduction to what A* is. :D

  • @adeelali8417
    @adeelali8417 2 роки тому

    Where do you get the initial node heuristics from or do you estimate them?

  • @nethmagunathilaka
    @nethmagunathilaka 5 років тому +1

    Best place to learn A*. U save my day!

  • @Peter-bg1ku
    @Peter-bg1ku 3 роки тому

    Your explanation is amazing. Thank you!

  • @LowellBoggs
    @LowellBoggs Рік тому

    This is an excellent presentation, thank you very much. I am tempted to code it up. A question: if the graph nodes are on an xy grid, should the heuristic actually be the real word Pythagorian distance, or the distance along allowed paths?

    • @EddieMasseyIII
      @EddieMasseyIII Рік тому +1

      Typically euclidean distance, manhattan distance, or great circle distance.

    • @LowellBoggs
      @LowellBoggs Рік тому

      @@EddieMasseyIII thanks

    • @LowellBoggs
      @LowellBoggs Рік тому

      Another question if you don't mind. Since the video said that the heuristic doesn't have to be perfect, but must be an underestimate: suppose you don't know the actual heuristic , but can search the graph for some fixed maximum distance from the start node in all valid directions, and if you don't find an endpoint , you can return the fixed maximum in liew thereof. Would this work? And would the performance decay to being somewhat worse than Dykstra?

  • @LarryP248
    @LarryP248 Рік тому +1

    This is important content. A related book I read was also significant. "Game Theory and the Pursuit of Algorithmic Fairness" by Jack Frostwell

  • @taruchitgoyal3735
    @taruchitgoyal3735 11 місяців тому

    Hello Sir,
    It was very helpful.
    Want to confirm if the path cost will be f(n) for the goal node?
    Thank you

  • @jamesthuo8763
    @jamesthuo8763 6 років тому +8

    Your videos are the best. Please do Greedy and other topics

  • @ComputerGuru-tk2hg
    @ComputerGuru-tk2hg 3 місяці тому

    This is well explained thank you sir better explained than my prescribed textbook

  • @cemozen7074
    @cemozen7074 5 років тому

    Did you have to look at E(13) before G(13) ? Since heuristic always underestimates the actual cost, I guess there was no need to expand the E(13) node. However, it was great explanation of A*. Thank you.

  • @ecekucukpehlivan9779
    @ecekucukpehlivan9779 5 років тому

    These videos are very educational and useful. Thank you so much!

  • @muhammadhabib3442
    @muhammadhabib3442 7 років тому +11

    Great Tutorial, Please also Make another tutorial on the Optimality proof of A∗

    • @johnlevine2909
      @johnlevine2909  7 років тому +2

      Many thanks, and thanks for the suggestion - I think that's a great idea.

  • @ramiyousif8024
    @ramiyousif8024 Рік тому

    Best video for Heuristic algorithm!! Thank you !!

  • @harpreetset
    @harpreetset 7 років тому +1

    really insightful. I am learning AI and have been reading about agent searches for a while. This one is quite helpful. Can you also cover big O notations for time and space for these algorithms? it will help in analyzing in what environments it makes sense to apply them.

    • @johnlevine2909
      @johnlevine2909  7 років тому +10

      Thanks. I'm planning to do a video comparing the algorithms, including the time and space requirements, in due course.

  • @AshutoshSingh-do4ts
    @AshutoshSingh-do4ts 3 роки тому

    Thank you sir for the explanation, it helped me a lot to understand the A* algorithm.

  • @vqvinh0405
    @vqvinh0405 Місяць тому

    this is the best video for A* algorithm

  • @LucasofAppalachia
    @LucasofAppalachia 7 років тому

    Absolutely phenomenal explanation. Thank you for this.

  • @tanvirkaisar7245
    @tanvirkaisar7245 Рік тому

    If at some point you get a node having better A* score and the node was already visited (but has inferior A* score than the most recent one), do you replace the old visited node with the current new one?

  • @sibusisondimande5209
    @sibusisondimande5209 6 років тому

    Thanxxxx John. You're the best !!!!!

  • @robs939
    @robs939 3 роки тому

    John the Goat! Thanks man!

  • @captainfartolini4335
    @captainfartolini4335 2 роки тому

    how can ther multiple goal states, are you computing optimal distance to each one. If so, that wasnt mentioned. strange

  • @coderlife2706
    @coderlife2706 3 роки тому +1

    This is the Professor we need, but don't deserve.

  • @zhenyufan8988
    @zhenyufan8988 6 років тому

    It's a great illustration!! But can u give us a example of how to decide the estimate value from certain node to a goal node?

  • @maxharris6926
    @maxharris6926 3 роки тому

    Great Video, thank you for explaining A*. For clarification if you find a node that has been visited, but the current path's A* score is less than the cost in the visited set, would you continue on the path and update the A* score in the visited set?

  • @Alyson7924
    @Alyson7924 Рік тому +1

    A* is beautiful

  • @mayelinespino2487
    @mayelinespino2487 2 роки тому +1

    At 5:59 you said that A* would be 20 for node A. Why? I am getting 17 (10 + 7). Sorry for. my English, this is not my first language. Thank you.

  • @franchello1105
    @franchello1105 6 років тому

    If 2 active nodes are tied, can you break the tie with the actual cost? Instead of alphabetical order?

  • @abdoudjerdi9193
    @abdoudjerdi9193 Рік тому

    thank you so much i was really struggling to understand it but you make really clear and simple

  • @alibrahim4686
    @alibrahim4686 7 років тому

    You are fantastic. Please make more videos.

  • @kyantti
    @kyantti 11 місяців тому

    Great explanation, it really helped me. Just one thing, in case of a tie, why don't take the node with the lowest heuristic value instead of solving it alphabetically?

    • @npc7679
      @npc7679 11 місяців тому

      Why would you do that in the first place ?

  • @s3llym
    @s3llym 7 років тому +3

    Thank you for your clean explanation, Sir, very helpful.
    I have a question about your explanation on why we didn't put node A after S->A->B. You explained that we didn't put A after B because the total cost will be 20. Isn't it 17? Since S->A->B->A = 5+3+2 = 10, and with heuristic score 7, we have 10+7=17?
    Please correct me if I'm wrong. Thank you.

    • @necroniocarmilla
      @necroniocarmilla 7 років тому

      I also find it 17..

    • @zaid_marridi
      @zaid_marridi 7 років тому +1

      A trivial mistake :3
      all in all it doesn,t change the answer because 17 is still higher than 12

    • @aaryadeshpande1621
      @aaryadeshpande1621 Рік тому

      You are correct.
      [S][A][B][A] = (cost to A) + (predicted future cost) = (5+3+2) + (7) = (10) + (7) = 17, NOT 20.
      But yes, even an A* score of 17 is not preferable since that SECOND score for node [A] is higher than the FIRST A* score of 12 for [A]. Thus, we ignore node [A]'s higher (thus more costly, and thus unpreferable) cost of 17. To understand why we ignore such nodes of the same letter (e.g., [A]), recall that at 5:06, he says that in order for the A* algorithm to find the most optimal path, part of the algorithm's rule to make that happen is that "if later on in the search we find a path to A that has an A* score of less than 12 then we will look at that. However if we find later on in the algorithm a path to A with an A* score of more than 12 then we can completely ignore it and prune that part of the search."

  • @faox7565
    @faox7565 7 років тому

    what a clean teaching you are the best

  • @zijunliu7765
    @zijunliu7765 6 років тому

    You explained way better than my professor! Thank you! Now I finally understand it.

  • @muinmohammadmozammel281
    @muinmohammadmozammel281 4 роки тому

    Short and to the point explanation. Thanks.

  • @kuanghuang2773
    @kuanghuang2773 6 років тому

    very clear, very smooth, I like the teaching! thanks!

  • @nawrasqusay2164
    @nawrasqusay2164 3 роки тому

    thank u soo much u r a the savior
    but i wonder why u dont calculate the cost of (G) with the cost of the path

  • @ShinnyxAKAvincent
    @ShinnyxAKAvincent 6 років тому

    very clear speech, awesome explanation. Thanks a lot!

  • @joh1121
    @joh1121 2 роки тому

    If only I had a teacher like this in college …

  • @mohamedkhater7558
    @mohamedkhater7558 11 місяців тому +1

    this man is a hero

  • @Mousta_alpha94
    @Mousta_alpha94 5 років тому

    thanks Mr john levine your explanation is excellnt

  • @maximilianozavala8943
    @maximilianozavala8943 3 роки тому

    Amazing explanation, thank you so much!