Step by Step: Alpha Beta Pruning

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 ก.พ. 2013
  • CS188 Artificial Intelligence
    UC Berkeley, Spring 2013
    Instructor: Prof. Pieter Abbeel

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

  • @vipulnj512
    @vipulnj512 6 ปีที่แล้ว +179

    While examining the children of a maximizer, if v of maximizer > beta, prune the rest of the children.
    While examining the children of a minimizer, if v of minimizer < alpha, prune the rest of the children.

  • @valeriogalieni2840
    @valeriogalieni2840 8 ปีที่แล้ว +17

    Thanks for the video! Even though this is a relatively simple algorithm, the only way to really understand it is to go step by step on a toy problem, like you did. Excellent job!

  • @nguyendh92
    @nguyendh92 8 ปีที่แล้ว +152

    You saved my ass right before my A.I exam

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

      +Dinh Hung Nguyen yeah

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

      +Dinh Hung Nguyen
      Attention please at minute 2:28 !!!
      Hello :)
      Thank you very much for your explaination.
      It is very helpful.
      The algorithm checks whether the value 4 is higher or equal !!! to beta.
      Thank you, BR

    • @MohammedYousri017
      @MohammedYousri017 7 ปีที่แล้ว

      i have an AI exam in a few hours lol

    • @nanomeite1268
      @nanomeite1268 6 ปีที่แล้ว

      me 2

  • @bryanbocao4906
    @bryanbocao4906 5 ปีที่แล้ว +38

    Some important notes:
    1) only in a Max node can update the corresponding alpha, so does Min for beta.
    2) v can only be returned up to its parent
    3) alpha and beta can only be passed down from its parent
    4) cut the current node from the tree whenever alpha >= beta

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

      Thanks man that helped A LOT .

  • @Silvergrooves42
    @Silvergrooves42 9 ปีที่แล้ว

    If you understand the minima concept, this is an awesome explanation and it really helped me a lot. Thank you

  • @grandma_soup
    @grandma_soup 5 ปีที่แล้ว

    I found this very helpful especially once the values of alpha and beta weren't just infinity and -infinity! I kept pausing the video and working through a couple steps then playing the video to see if I did them right, which really helped me grasp when you change the values of alpha and beta. Great video although it did take me a couple watches to fully get it!

  • @suryasuresh9330
    @suryasuresh9330 3 ปีที่แล้ว

    This video helped me understand pruning better thank you! Those of you complaining abt how messy it is, draw it yourself as he goes along.

  • @VibeWithSingh
    @VibeWithSingh 9 ปีที่แล้ว +19

    one advice: Keep it clean and clear !!

  • @a3lex334
    @a3lex334 9 ปีที่แล้ว

    A very good explanation. A lot of people are complaining about how this could be more simple, but look at the title, it shows you if how exactly algorithm would do this.

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

    6 hours before the exam and I'm studying now. Why am I like this

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

    this makes a lot of sense if you've already seen this like at least a dozen times. if you're new, don't even waste time watching this

  • @dtyuify
    @dtyuify 7 ปีที่แล้ว

    Congratulations, very well explained. It was very usefull for me.
    I agree there is not much tutorials which explain this concept as u do.
    Again, congratulations and thank you man.

  • @vikas1590
    @vikas1590 8 ปีที่แล้ว

    This is a great explanation. I am shocked to see that some people disliked this video....

  • @Lavapulse
    @Lavapulse 10 ปีที่แล้ว +6

    Thanks :) Currently working on this in my AI class and this helped a lot.

  • @dotafarm2699
    @dotafarm2699 8 ปีที่แล้ว

    you dont know how much u saved me. thanks so much man

  • @aimonallouache7993
    @aimonallouache7993 6 ปีที่แล้ว

    This is a really well explained video. Thanks Pieter

  • @muhammadtalha2363
    @muhammadtalha2363 6 ปีที่แล้ว

    wish i could hit like button 100 millions times
    thanks man God bless yuh
    peace

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

    Thank you Thank you Thank you :)))
    Very very helpful for Computer Engineer

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

    Pretty good explanation. I think the hard to get part, for me, is the best path to the root concept. But if one works through some trees, I think it becomes more clear.

  • @radulescuiulia8988
    @radulescuiulia8988 10 ปีที่แล้ว

    Great video! I finally understood how alpha-beta pruning works! Thanx!

  • @Harm00se
    @Harm00se 9 ปีที่แล้ว

    This is brilliant, much appreciated sir.

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

    Excellent walk through!

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

    Thank you. This helped me a lot !!

  • @ArindamReviews
    @ArindamReviews 9 ปีที่แล้ว

    Very well detailed explanation of alpha beta pruning given Sir! You are really a good teacher, saved me from this confusing algo! I was tearing my hair getting to understand this, until i came over to your video. Thank you so much!

  • @kakkwxt3653
    @kakkwxt3653 7 ปีที่แล้ว +38

    To be honest, I found MIT's lecture is a little bit better. The lecturer at MIT (Patrick Winston) provides more intuition behind the alpha beta pruning, while Prof Pieter Abbeel, although shows clear logic behind each step, does not give us reson for why you should do this, and the example is a bit complicated as well. So I personally recommend watching the MIT's AI lecture 6 at first, then watching this.That would be a perfect complement.

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

      Thank you for sharing. I understand better now.

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

      Yes you are absolutely right, he explains it much better!

    • @CallumAtwal
      @CallumAtwal 7 ปีที่แล้ว

      Yup, watch the MIT lecture first then this one! Helps so much

    • @sourabhbhattacharya8464
      @sourabhbhattacharya8464 5 ปีที่แล้ว

      exactly......followed your sequence ........helped a lot

    • @desmondtehweiloon4707
      @desmondtehweiloon4707 5 ปีที่แล้ว

      Agree, you are correct. The lecture explained better than this guy. Maybe I was a dumb or something. Can't get this video's idea T^T

  • @MultiSmokeDank420
    @MultiSmokeDank420 10 ปีที่แล้ว

    This video helped me very much with my Artificial Intelligence course. Thank you for taking the time to make this video.

  • @moraigna66
    @moraigna66 8 ปีที่แล้ว

    Anyone else following the General Game Playing course on Coursera?
    The Alpha-Beta Search was by far the most confusing one (because of lack of an example) so far in the lectures and this helped a lot.

    • @moraigna66
      @moraigna66 8 ปีที่แล้ว

      +moraigna66 Also, there was a lack of a well defined system. No where it mentions how the alpha must only come from "above" for a minimizer but the same minimizer can use a beta from a previously explored "lower" branch and vice-versa for the maximizer.

  • @engineerguyvideos2552
    @engineerguyvideos2552 8 ปีที่แล้ว

    I know it makes sense and all, but it sure does take a few minutes for it to sink in and stick. Glad you went through the entire process.

  • @anishdesai3082
    @anishdesai3082 10 ปีที่แล้ว

    Wonderfully explained. Thanks a lot!

  • @EmilRock88
    @EmilRock88 10 ปีที่แล้ว

    Geniusss!!!! You´v saved my work

  • @chrisedwards4584
    @chrisedwards4584 11 ปีที่แล้ว

    best ever the best the most best fantastic explanation thank you prof.

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

    This was really helpful for me. Thank you!

  • @uasiva1997
    @uasiva1997 5 ปีที่แล้ว

    thanks a ton! one of the best explanations :)

  • @MrVbogdan
    @MrVbogdan 11 ปีที่แล้ว

    Thank you! Well done!

  • @porada1000
    @porada1000 11 ปีที่แล้ว

    Thanx man!!that was seriously awesome..

  • @balazsvincze1368
    @balazsvincze1368 3 ปีที่แล้ว

    Thanks, great explanation!

  • @lasandun
    @lasandun 10 ปีที่แล้ว

    Thank you very much for the video. It really helped me!

  • @LavenderSky499
    @LavenderSky499 9 ปีที่แล้ว

    This really helped me understand alpha-beta minimax! Thank you so much!

  • @JayeshRaoexplorer
    @JayeshRaoexplorer 8 ปีที่แล้ว

    Thanks a ton!!! appreciate it.

  • @airsoftdude0
    @airsoftdude0 4 ปีที่แล้ว

    Great video, really helped! (I'm a junior majoring in AI and Robotics)

  • @vext01
    @vext01 10 ปีที่แล้ว

    Thanks for this screencast :)

  • @yassiitz19
    @yassiitz19 10 ปีที่แล้ว +6

    much appreciated, very thorough explanation yet clear and simple.

  • @canzengin3691
    @canzengin3691 5 ปีที่แล้ว

    Hey thanks for video if we apply alpha beta pruning right to left instead of left to right is it effect the result thank you

  • @Neophytez
    @Neophytez 5 ปีที่แล้ว +9

    2:27
    should be: current value is higher OR EQUAL than beta

  • @manifestingtruth8866
    @manifestingtruth8866 4 ปีที่แล้ว

    Only this is clear and accurate tutorial i have found on the internet..today is my AI exam..thanks a lot to you.

  • @Shrishification
    @Shrishification 9 ปีที่แล้ว

    amazing explanation!

  • @rusnakviktor1580
    @rusnakviktor1580 8 ปีที่แล้ว

    Crystal clear!

  • @johnsonkuan8823
    @johnsonkuan8823 7 ปีที่แล้ว

    Great video. Thank you.

  • @nakedsu
    @nakedsu 9 ปีที่แล้ว

    Thank so much for saving my final *big thumbs up*

  • @BigBobSchnobb
    @BigBobSchnobb 7 ปีที่แล้ว +5

    In the branch to the right, alpha is already set to 6. This means that the v should be set to 6 initially in the max-nodes, not -infinity as is shown in the video. If you find this hard, look up the minmax algorithm. Alpha-beta is built upon minmax

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

      Always initiate unexplored max node to -infinity

  • @PelagicShadow
    @PelagicShadow 4 ปีที่แล้ว

    You sir, are a GOD

  • @lemonwaterr
    @lemonwaterr 6 ปีที่แล้ว

    Nice speech, could finally understand the concept with of this vid

  • @YalnekH
    @YalnekH 10 ปีที่แล้ว

    Great tutorial, really helped me. But why are alpha and beta passed to leaf nodes? Is this because they're passed before we know its a leaf when implemented?

  • @luanpd8397
    @luanpd8397 6 ปีที่แล้ว

    OMG tks sir! you save my life !

  • @aliemara5125
    @aliemara5125 11 ปีที่แล้ว

    Thanks a lot! I understand it much better now :)
    btw, i have a strange question: how do u write on the screen? is it a special digital pen?
    thanks again :)

  • @frankzhang105
    @frankzhang105 3 ปีที่แล้ว

    Thanks. Helps lots

  • @ankitrko7
    @ankitrko7 9 ปีที่แล้ว

    Awesome Explaination!

  • @sunok7729
    @sunok7729 10 ปีที่แล้ว

    can't thank you enough!

  • @kamilbolka
    @kamilbolka 6 ปีที่แล้ว

    Nice and simple! Thanks.

  • @icanseeitinyourface
    @icanseeitinyourface 11 ปีที่แล้ว

    Beautiful.

  • @onesevenfiveone
    @onesevenfiveone 10 ปีที่แล้ว

    Thank you professor.

  • @vishwassiravara9649
    @vishwassiravara9649 8 ปีที่แล้ว

    Great video , very clear .

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

    How do you know the nodes are sorted like this such that the max/min knows to prune vs the other node being possibly lower on the same depth pair? (Like when 7 prunes 9 and it was swapped order)

  • @abhishekdeshmukh7416
    @abhishekdeshmukh7416 8 ปีที่แล้ว

    thanks a lot prof.

  • @dieterdietersen9673
    @dieterdietersen9673 8 ปีที่แล้ว

    that video kind of saved my ass. thank you. maybe you can explain when the cut is called a-cut and when it is calles b-cut

  • @haimbendanan
    @haimbendanan 8 ปีที่แล้ว

    Thanks a lot, very helpful

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

    Thanks a lot. Well explained!
    I am not sure why others did not get it. Maybe if you first check the theory, then watch this, you should get it.

  • @elmehdikzadri1260
    @elmehdikzadri1260 8 ปีที่แล้ว

    Thank you so much !!

  • @aaronsoria345
    @aaronsoria345 6 ปีที่แล้ว

    Thanks, you're great

  • @lancelofjohn6995
    @lancelofjohn6995 2 ปีที่แล้ว

    nice video,I can understand the notion now.

  • @vzntoup
    @vzntoup 10 ปีที่แล้ว

    Thanks a lot my friend !

  • @jorandebraekeleer7557
    @jorandebraekeleer7557 4 ปีที่แล้ว

    THANK YOU SO MUCH

  • @TheNata96
    @TheNata96 5 ปีที่แล้ว

    Perfect!

  • @mateuszmagda6522
    @mateuszmagda6522 10 ปีที่แล้ว

    Listen to the explanation around 09:00 . "A maximizer has a better option than two- six" which comes from the previous branch, incidentally.

  • @ShihabudheenCKs6
    @ShihabudheenCKs6 10 ปีที่แล้ว

    best class ... thanks

  • @pawesosnowski253
    @pawesosnowski253 9 ปีที่แล้ว

    Thanks very much!

  • @ahmetozdemir2565
    @ahmetozdemir2565 5 ปีที่แล้ว

    thank you so much

  • @juicedup14
    @juicedup14 3 ปีที่แล้ว

    5 rewatches later
    Its making sense

  • @noodletrooper
    @noodletrooper 10 ปีที่แล้ว +16

    This is the best video explanation on youtube for alpha beta pruning

    • @seimkeim
      @seimkeim 6 ปีที่แล้ว +10

      No, it's not.

    • @aaron___6014
      @aaron___6014 6 ปีที่แล้ว

      nope

    • @user-zf2sl4jn6o
      @user-zf2sl4jn6o 5 ปีที่แล้ว +3

      th-cam.com/video/zp3VMe0Jpf8/w-d-xo.html&ab_channel=JohnLevine
      way better

  • @juliangentles3383
    @juliangentles3383 10 ปีที่แล้ว

    Thanks this helps much

  • @MrTayemMomen
    @MrTayemMomen 8 ปีที่แล้ว

    Thanks a lot, sir.

  • @user-og3cw4ti6j
    @user-og3cw4ti6j 4 ปีที่แล้ว

    Hi, what if the first node is negative value? For example, if it is -5?

  • @viraj_singh
    @viraj_singh 5 ปีที่แล้ว

    got it! thanks a lot.

  • @roarlisfang2860
    @roarlisfang2860 3 ปีที่แล้ว

    A little bit messy
    But still 100 times better than my University's AI lecturer
    My understandeing:
    When a maximizer is going to look at other children, check if it already has a value that is greater than the best minimizer value along its way to root, you can stop it because the only thing it can do is to make this value more than the current value, however the current value is already greater than the best minimizer value, so the upper minimizer will discard this node anyways.
    Same thing to a minimizer, if it discovers its value is already smaller than the best maximizer value, you can stop it from expanding, because the only thing it can do is to keep lowering that value and it will be discarded later.

  • @abhinavsharma8316
    @abhinavsharma8316 9 ปีที่แล้ว

    Very nice explanation. Thank you :)

  • @tiffanie8000
    @tiffanie8000 5 ปีที่แล้ว

    it's well explained. thanks

  • @1stMusic
    @1stMusic 8 ปีที่แล้ว

    9:05 : How are we so sure that there is a lower value in the next branch, thus pruning this branch? I lack the understanding of how you come to that conclusion.
    If anyone could clear that up for me, I thank you so much.

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

      +1stMusic Ah, it's not that there's a value less than 2 in the right branch, it's that the minimizer has has the option to choose 2 at that node (and possibly a lower value than 2 if it turns out that the right branch does have a lower value). Since the minimizer has the ability to choose a 2 (or maybe lower) in the main center branch, the maximizer would compare the value of 2 with the value of 6 to see which is higher. If the maximizer chooses the center branch then the minimizer would be able to force a game value of 2 or less; however if the maximizer chooses the left branch then the minimizer only has the ability to force a value as low as 6. thus the maximizer will only want to choose the left branch at that point, no matter what other unexplored values there are in the center branch.
      Hope that helped if you were still wondering about that.

    • @1stMusic
      @1stMusic 8 ปีที่แล้ว

      Tori Knorth Thanks, I got it!

  • @Sakshi_1702
    @Sakshi_1702 7 ปีที่แล้ว

    thank you sir!

  • @J3tm4x
    @J3tm4x 10 ปีที่แล้ว

    Thank you very much!!!!

  • @amiteshkumar3057
    @amiteshkumar3057 9 ปีที่แล้ว

    great work

  • @Craziestbanana
    @Craziestbanana 5 ปีที่แล้ว

    it makes sense, but classifying the variable as internal structure of a node would've simplified your explanation greatly, and explaining that there appears to be two forms of pruning, local pruning and greater pruning, local where the local scope of an object is taken into account, in the first instance of the prune shown in this video; and the second where the tactical decision to circumvent this option was taken because no matter what option the maximizer presented to the minimizer the minimizer would've taken the value 2 or lower; as thats where it seems you confused alot of people. note i'm not stating there are different prunes, they use the same strategy just the reasoning behind the prune is different which i've represented with different names.

  • @IsaacJoshi
    @IsaacJoshi 6 ปีที่แล้ว

    great video

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

    Thank you so much for this video!!!!
    Why I can't have a lecturer just like you!!!!!!

  • @didi098710
    @didi098710 11 ปีที่แล้ว

    Thanks Professor

  • @Rageofflamesful
    @Rageofflamesful 9 ปีที่แล้ว

    Thank you, really helpfull! :D

  • @vishalsaxena6780
    @vishalsaxena6780 9 ปีที่แล้ว

    Great vedio!!! thankx a lot....

  • @barisballi70
    @barisballi70 2 ปีที่แล้ว

    thank you

  • @Vhanrox
    @Vhanrox 11 ปีที่แล้ว

    thanks that helped to give me the last hint to understand alpha beta pruning =)

  • @radumatei9387
    @radumatei9387 9 ปีที่แล้ว

    Nice. Works for me.

  • @hugoibanez
    @hugoibanez 10 ปีที่แล้ว

    I think that the 6th leaf, the number 2 is wrong, isnt it suposed to be the 6 a better option?