A* (A Star) Search and Heuristics Intuition in 2 minutes

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 พ.ค. 2020
  • Created by Kamyar Ghiam and Anish Krishnan:
    Kamyar Ghiam: kamyarghiam@gmail.com
    Anish Krishnan: anish-krishnan.github.io/

ความคิดเห็น • 59

  • @abu-bakrmohamed1707
    @abu-bakrmohamed1707 ปีที่แล้ว +117

    This deserves much more views , best explanation i have ever seen , maybe even the only one that explained the meaning of Heuristic data

  • @phlooph3971
    @phlooph3971 8 หลายเดือนก่อน +4

    bro dropped one of the greatest algorithm explanation videos and then left

  • @RealMadrid2136
    @RealMadrid2136 4 ปีที่แล้ว +65

    This was the best explanation I've seen on TH-cam! So intuitive!

  • @AnishKrishnanPlus
    @AnishKrishnanPlus  4 ปีที่แล้ว +44

    Q: What’s a good heurisitic function?
    A: A good heurisitc function does not overestimate the distance to the goal. This is known as admissibility. Running A* with an admissible heuristic function will always return the shortest path to the goal state.
    Q: How I get the values for a heuristic function?
    A: A heuristic value represents the estimated distance from the current node to the cheese. Imagine you’re in a room and you can smell food in the other room. You can just guess how far you are from the food in meters or some other unit of measurement. As long as your estimate is equal to or below the actual distance to the food, the A* search algorithm will work. In more complicated settings, like Pacman, you can estimate the distance between objects using something like the Manhattan distance.

    • @fangasteraio7151
      @fangasteraio7151 4 หลายเดือนก่อน +1

      i know it has been many years since your upload, but still, i would like to add that a heuristic can be applied but A* will not always find the min path. This can happen IF the graph does NOT contain Euclidian distances. In that case, the heuristic must comply to an even more strict constraint named consistency. Stated as : abs( H(x,G) - H(y,G))

  • @aryoseno11
    @aryoseno11 2 ปีที่แล้ว +19

    Hands down the best explanation about A* algorithm on TH-cam so far.

  • @drewandfriendsproject
    @drewandfriendsproject ปีที่แล้ว +3

    It's 5 am and I have a midterm on this at 1pm with a shift from 9am-12pm. Thank you

  • @rayankamdem6738
    @rayankamdem6738 12 วันที่ผ่านมา

    I am amazed at how simply such a seemingly complex topic was explained. Best explanation on A* so far!

  • @willCrazy76881
    @willCrazy76881 10 หลายเดือนก่อน +4

    I really love that you explained the heuristic as the smell of cheese. I was struggling at understanding that concept

  • @StewezMC
    @StewezMC 2 ปีที่แล้ว +3

    The best explenation of the A* algorithm I've ever found! +1

  • @duncancamilleri8614
    @duncancamilleri8614 ปีที่แล้ว +2

    Gold. You just made it so easy for everyone in such a short time. Thank you very much. You've earned a subscriber.

  • @Shaan11s
    @Shaan11s 2 หลายเดือนก่อน +1

    LMAO bro 45 minutes literally in 2 minutes. This is nuts. Thanks for this

  • @vlad_ussr8390
    @vlad_ussr8390 หลายเดือนก่อน

    The best explanation ever for A* algorithm. I have been confused how it works on a graph and not a node grid and finally I see.

  • @li-pingho1441
    @li-pingho1441 3 ปีที่แล้ว +6

    This is absolutely the best tutorial of a* algorithm I've seen in youtube. This video deserve more views !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • @austinkwon8259
    @austinkwon8259 ปีที่แล้ว

    Wow, have tried hard to understand it for like an hour and finally found this video. get me understood just in 2 mins, thanks a bunch!

  • @Marvindao
    @Marvindao หลายเดือนก่อน

    that was such a nice way to introduce this concepts.

  • @matthewblom1620
    @matthewblom1620 ปีที่แล้ว

    Thank you, really good. Had a 3 minute or so video for Dijkstra and was looking for something quick as well for A*.

  • @BellaMichel
    @BellaMichel ปีที่แล้ว +1

    Cheers to you sir! I finally understand heuristics intuition.🙂

  • @enronenron2411
    @enronenron2411 2 หลายเดือนก่อน

    bro just explained 50 mins lecture in 2 mins that I watched at 2X i.e a minute.

  • @DevFTW
    @DevFTW 2 ปีที่แล้ว +1

    Great video with very simple explanation!

  • @sujith_TwiceOnce
    @sujith_TwiceOnce 2 หลายเดือนก่อน

    Great Explanation. Good one.

  • @playloud00
    @playloud00 2 ปีที่แล้ว +1

    super nice! what an explanation.

  • @minhthuhuynh5067
    @minhthuhuynh5067 5 หลายเดือนก่อน

    I'm glad that finally I can find this video

  • @covan3289
    @covan3289 6 หลายเดือนก่อน

    you are my god, thank you so much my brother

  • @krishnareddy6792
    @krishnareddy6792 10 หลายเดือนก่อน

    you explained it very clearly 👏👏👏

  • @zaynabb.5140
    @zaynabb.5140 3 หลายเดือนก่อน

    this explained it better than my professor, tysm

  • @FlyNadir
    @FlyNadir 3 หลายเดือนก่อน

    Oops. It was that easy but no one explained as you men. Thanks ❤❤❤

  • @kacy6014
    @kacy6014 11 หลายเดือนก่อน

    Great explanation. So it's just a priority queue that prioritizes nodes that are closer to the goal.

  • @ogradus
    @ogradus หลายเดือนก่อน

    20min concept in 2min! ❤

  • @spalonamiotelkadokurzu3892
    @spalonamiotelkadokurzu3892 ปีที่แล้ว

    Brilliant Explanation, shame it doesnt have more views

  • @andreranulfo-dev8607
    @andreranulfo-dev8607 ปีที่แล้ว

    A very interesting analogy.

  • @emirhanbilgic2475
    @emirhanbilgic2475 ปีที่แล้ว

    amazing explanation...

  • @steff420
    @steff420 11 หลายเดือนก่อน

    very nicely explained!

  • @iaroslavtretiakov1755
    @iaroslavtretiakov1755 5 หลายเดือนก่อน

    Woah, super

  • @seddikio1282
    @seddikio1282 ปีที่แล้ว +1

    Man we need a whole explained in 2 min playlist XD

  • @mikec9333
    @mikec9333 7 หลายเดือนก่อน

    Thank you!

  • @wansuliu4305
    @wansuliu4305 3 หลายเดือนก่อน

    Great❤

  • @wackyweights6881
    @wackyweights6881 ปีที่แล้ว +1

    holy shit that was an amazing analogy

  • @Chicken_Soy
    @Chicken_Soy 11 หลายเดือนก่อน

    Dude thank you so much.

  • @masterkill1609
    @masterkill1609 ปีที่แล้ว

    nice explanation

  • @As-iy2ki
    @As-iy2ki 6 หลายเดือนก่อน

    But how did you assign values for the distances between nodes?

  • @yutao1982
    @yutao1982 2 หลายเดือนก่อน

    Does Q* mean Queue (Heap) + A*? Amazing!!!

  • @markvalman8325
    @markvalman8325 8 หลายเดือนก่อน

    good one

  • @modetechno7728
    @modetechno7728 3 หลายเดือนก่อน

    I get the concept, but HOW do you estimate a distance when we don't know?

  • @the-g8-eye
    @the-g8-eye 6 หลายเดือนก่อน

    holy cow

  • @LoretoGonzalez-Hernandez
    @LoretoGonzalez-Hernandez ปีที่แล้ว

    Who was the original creator of this video to whom credit is due, from the accent I know that it is not you who explains the video. I am interested in the content of this creator, could you please give the link or the name of the author?

    • @AnishKrishnanPlus
      @AnishKrishnanPlus  ปีที่แล้ว +1

      This video was created by Kamyar Ghiam and me. You can find our details in the description of this video.

    • @LoretoGonzalez-Hernandez
      @LoretoGonzalez-Hernandez ปีที่แล้ว

      Thank you for the information, I do really appreciate it

  • @anthonyandriano
    @anthonyandriano 4 ปีที่แล้ว +4

    The most important part of this was not mentioned at all. How are the heuristic and distance values initially seeded?

    • @kamyarghiam9676
      @kamyarghiam9676 4 ปีที่แล้ว +11

      Right. I think in a 2 minute video, you have to pick and choose what’s the most important thing to learn. The goal of this video was to try to give intuition behind why we use heuristics and what they actually represent, and it never claimed to cover heuristics extensively. Plus, I think your question was actually clarified in OP‘s comment above.

    • @anthonyandriano
      @anthonyandriano 4 ปีที่แล้ว +1

      Kam Because adding eight seconds to the video to explain how the numbers are generated would have been too much. Yeah, okay. You also missed the part of my question asking about the distance. Thanks for your passive-aggressive response, though.

    • @kamyarghiam9676
      @kamyarghiam9676 4 ปีที่แล้ว +4

      Hi Anthony. Sorry, I did not mean to come off as passive aggressive. You’re correct. It didn’t mention the part about distances.

    • @benhardsim8629
      @benhardsim8629 2 ปีที่แล้ว +1

      It depends, but one way to determine heuristic value is to calculate the distance between the point where you are standing and the end goal and add it to the total travelled node. Another way to calculate heuristic value is using Manhattan distance.

  • @abdu11ahh
    @abdu11ahh 6 หลายเดือนก่อน

    and my Dumb as teacher couldnt explain it in 30 mins

  • @calebflenoury178
    @calebflenoury178 8 หลายเดือนก่อน

    Thank you!