Search - Lecture 0 - CS50's Introduction to Artificial Intelligence with Python 2020

Поделиться
HTML-код
  • Опубликовано: 18 дек 2024

Комментарии • 262

  • @aditmagotra6914
    @aditmagotra6914 3 года назад +272

    This guy talked non stop for 1.5 hours. THANK YOU

    • @מענדישפינר
      @מענדישפינר 10 месяцев назад +11

      Strange, I only heard him speak for half an hour, but really fast

    • @murathankayhan2312
      @murathankayhan2312 8 месяцев назад +3

      interesting... he talked for 3 hours on my laptop...

    • @bliz1178
      @bliz1178 8 месяцев назад +2

      Well, more like 1.8 hours… ☝🏻🤓

    • @lounys
      @lounys 4 месяца назад +4

      How your post can be older than the video ???

    • @aditmagotra6914
      @aditmagotra6914 4 месяца назад +1

      ​@@lounys Im built different

  • @k.h.p.9862
    @k.h.p.9862 Год назад +143

    I'm three years late to this 2020 lecture, but never too late to say, "thank you!"

  • @eugeniar7101
    @eugeniar7101 4 года назад +184

    Opened on RUclips just to say THANK YOU for such a detailed and clear explanation!

    • @eugeniar7101
      @eugeniar7101 3 года назад +3

      @@kanaktekwani2517 I've been working as SE for more than 6 years now

    • @ractmo
      @ractmo 2 года назад +1

      Hi can you please tell the prerequisite for this program. I know python(pandas, numpy, matplotlib, etc..) basics. It would be big help if you tell what should I know before taking this course. Thanks 😊

    • @eugeniar7101
      @eugeniar7101 2 года назад +3

      @@ractmo its a beginner course, so I think you can do it!

  • @mehuljain5322
    @mehuljain5322 3 года назад +373

    the world is being beaten with lockdowns and a virus and yet you guys delivered world class content for free for everyone to learn. LEGENDS!

    • @fazliddinxaitov5622
      @fazliddinxaitov5622 Год назад +1

      👏👏👏

    • @DaReconquistador
      @DaReconquistador Год назад

      ​@@fazliddinxaitov5622 Вы из UZ?

    • @mariannp5014
      @mariannp5014 4 месяца назад

      Hi I'm extremely new to this. Can you please share when you can learn coding for free like this? If you have an idea pls do share, thanks 😊

    • @Saf-th9cz
      @Saf-th9cz 4 месяца назад

      ​@@mariannp5014, edx, alison, google

    • @co_ae
      @co_ae 3 месяца назад

      ​@@mariannp5014just search for tutorials online. some good places to learn are: this course, bro code, freecodecamp, javascript mastery (if you want to learn web development)

  • @vijaynyaya6603
    @vijaynyaya6603 3 года назад +97

    In my opinion, Brian is one of the most sophisticated persons on CS50.

  • @ml_serenity
    @ml_serenity 5 месяцев назад +3

    I am in awe how these seemingly very young lecturers in CS50 are so damn good! It's a pure joy watching these lectures even for someone who is an expert in the field for many years already. Thanks so much for free quality education for young people all over the world!

  • @VAIBHAVNJADHAV48
    @VAIBHAVNJADHAV48 10 месяцев назад +5

    00:17 Introduction to the foundational ideas, techniques, and algorithms of artificial intelligence with Python
    02:23 AI learns from data and experience for better task performance.
    06:22 Actions are choices that can be made in a state, formalized mathematically in AI.
    08:31 Transition model and state space
    12:40 Search problem involves finding an optimal solution with minimum path cost
    14:47 Introduction to the data structure of a node
    18:40 Search algorithm in artificial intelligence
    20:29 Exploring search algorithm steps
    23:59 Revised approach to avoid revisiting explored states.
    25:44 Choice of frontier structure is crucial.
    29:27 Introduction to breadth first search algorithm
    31:19 Depth First Search explores paths until it hits a dead end and then backtracks to try other paths.
    35:04 Breadth first search explores both paths at decision points
    37:05 Introduction to class and object oriented programming in Python.
    41:11 Exploring states and finding the goal
    43:06 Implementing the search algorithm logic
    46:56 Comparing Depth-First Search (DFS) and Breadth-First Search (BFS) in exploring mazes.
    49:06 Depth-first search may not always find the optimal solution
    52:56 Informed search uses problem-specific knowledge to find solutions more efficiently.
    55:05 Heuristic function helps estimate the distance to the goal.
    58:55 Making informed decisions based on heuristic estimates in the search algorithm.
    1:00:40 Greedy best-first search uses heuristic values to make decisions on which nodes to explore first.
    1:04:42 A star search considers both heuristic and distance traveled
    1:06:41 Considering heuristic value and number of steps in AI exploration
    1:10:48 Choosing the right heuristic is crucial for A* search algorithm.
    1:12:42 Understanding intelligent decision-making in gaming
    1:16:41 X player aims to maximize score, O player aims to minimize it
    1:18:34 Understanding utility function and game state representation
    1:22:27 Using the Minimax algorithm to calculate the optimal move for player O.
    1:24:23 X player aims for maximum value, O player aims to minimize the score.
    1:28:07 Understanding the Minimax tree in game theory.
    1:30:07 Minimax algorithm involves max player picking the maximum value action and min player picking the minimum value action.
    1:34:00 Implementing the Minimax algorithm for maximizing and minimizing the score.
    1:36:06 Using maxValue and minValue functions to determine the best move recursively.
    1:39:41 Strategizing to optimize and minimize computation in game theory
    1:41:34 Maximizing options based on guaranteed scores
    1:45:32 Depth-limited Minimax is a better approach for dealing with computational intractability.
    1:47:30 Adversarial search algorithms are essential for playing games against opponents in AI.

  • @dhanyams255
    @dhanyams255 2 года назад +23

    This is the best presentation i ever watched in my entire acadamic life... Very well explained and good quality of contents. Thank you for such a useful video.

  • @BlueWizardsII
    @BlueWizardsII 10 месяцев назад +5

    Excellent lecture. Clear, concise and 'relatively' easy to follow. The great thing about recorded video lectures is that one can pause, rewind, review, very unlike sitting in the lecture hall live.

  • @jackvu.hustle
    @jackvu.hustle Месяц назад +5

    I'm starting this thing now in morning after a storm Trami here in Da Nang. I fucked up my deep focus ability with jobs and money and driving gigs. Now it's time to rebuild my life with AI at 26 years old.
    What I hate about making decision in life is that we tried to solve the problem just to get it done.
    I will use AI to create life-time school as an AI professro like Hrarvard doing to connect people who want to learn the same things. I found adults very hard for them to be able to focus on learning when theree
    s a lot worries going on in their life. Thats what make adutls stop learning or they already feel comfortable in their situation. When adults don't update their knowledge, they actually make it hard for their children, grandchildren to connect, they keep getting angrier when they can't understand them. It's making life so hard than it's supposed to be.

  • @Hoobz01
    @Hoobz01 4 года назад +52

    As an older bloke who has done carpentry his whole life, I'd like to say how excellent Brian was in this lecture.
    Made everything easy to understand, while explaining quite a lot in a limited time.
    Not one "Ummm" or "Ahhh". Spoke incredibly clearly.
    Thanks for the effort made to help even a bloke like me be able to follow along.

  • @rfdickerson
    @rfdickerson 7 месяцев назад +3

    Brian is an incredible lecturer. He is wicked smart and able to explain things so crystal clear and so engaging. He will go far in life!

  • @photoniko1
    @photoniko1 Год назад +7

    I'm starting the course, and I really liked the clear and easy to understand explanation, it even seems easy with Brian's explanation.. Now I've been testing the maze in Python and playing with the text files... I'm amazed with this. ..

  • @OsamabinBiden81
    @OsamabinBiden81 8 месяцев назад +5

    As someone who plays chess and has used the engine multiple times. This was refreshing to see

  • @jinalvyas1061
    @jinalvyas1061 3 года назад +18

    Mr. Brian, your way of explanation makes the process of understanding complex concepts, a cakewalk for us! Thank you so much!! Keep up the good work, all the best!!!

  • @ahmadkathrada6026
    @ahmadkathrada6026 4 года назад +88

    Just listening to this video gave my life so much meaning. If I see you one day Brian, imma treat you to my mamas chicken curry which is the curry of champions. Champion is what you are!

    • @nSiLEtan
      @nSiLEtan 3 года назад +12

      That curry has been praised all around south east asia, he really deserves it.

    • @ahmadkathrada6026
      @ahmadkathrada6026 3 года назад +25

      @@nSiLEtan yes he does. My mama named it Brian`s Curry Special 50.
      (B-CS50)

  • @acidtears
    @acidtears 3 года назад +25

    You're going to do great things Brian! Thank you for this incredible lecture series. This is genuinely better than the Data Structures & AI course I took at Maastricht University... Goes to show how much of a difference passion & presentation skills can make :)

  • @GrowthMindsetGlobal
    @GrowthMindsetGlobal 4 года назад +8

    What an amazing way to explain the complex subject in such a easy and explanatory way. Hats off to you man.

  • @saadzerouali845
    @saadzerouali845 2 года назад +5

    You are sharing high quality knowledge for free. Thank you !

  • @satyambhardwaj2289
    @satyambhardwaj2289 4 года назад +6

    best man to pass the legacy. he rocks

  • @oGiuseppeDonato
    @oGiuseppeDonato 2 месяца назад

    I just wish to thank him for his ability to explain with clarity and enthusiasm concepts that glue me to the screen. Thankyou.

  • @xxxxxzzee23
    @xxxxxzzee23 3 года назад +1

    Thanks Brian Yu, your content is so understandable, and logically delivered. I feel so lucky to have watched this and it solved some of my puzzles for last semester,. I have to say you are really a genius Mr Brian!!!! Look forward to your more lectures!!!

  • @JEEAspirant-p1b
    @JEEAspirant-p1b Месяц назад +1

    very very great lecture with the coding part was amazing , your service to the society is really a great thing . Thank you

  • @andrewpratt3861
    @andrewpratt3861 3 года назад +5

    Brian, you are so articulate! Thank you for sharing your talents with the cheap, gonna-be software devs out there like me :)

  • @vientrinh4530
    @vientrinh4530 2 года назад +4

    Wow, what an introduction lecture, simple and yet complex.... THANK YOU 🫶

  • @warungstmj2491
    @warungstmj2491 Год назад +1

    Wow! Should've watched this kind of lecture more when I was a fresh graduate!
    Thanks!

  • @dunghoangtrung125
    @dunghoangtrung125 3 года назад +4

    Hei, thank you. This lecture help me a lot with my AI subject at university. I really admire you.

  • @zuyah287
    @zuyah287 2 года назад +1

    This is the best AI course ever made, period! thank you!!!

  • @maegho
    @maegho Год назад

    I'm applying for HARVARD'S secondary school this summer and plan on taking computer science courses while there, these videos have helped me grasp so much knowledge thank you!!

  • @noobieexplorer4697
    @noobieexplorer4697 Год назад +2

    One of the problem set related to this lecture is unbeatable tictactoe which was a really hard problem. The reason is that I was coming straight out of cs50 to do this course. But this course requires some good understanding of objects and classes which was not provided in cs50 intro course.
    I would suggest anyone trying out this course after cs50 to get some good grip on object oriented programming in python.

  • @ptiwaridotin
    @ptiwaridotin 23 дня назад

    Thank you guys, I am grateful for the free education.

  • @chondrompala6533
    @chondrompala6533 2 года назад +2

    Really nice clear explanations. One minor point: at around 1:07:30 during the worked example of the A* algorithms, several references are made to being 6 steps from goal; this is clearly wrong - it's 6 steps to reach those nodes from the starting point . Nice content though - thanks for producing.

  • @GenZ_01_
    @GenZ_01_ 4 месяца назад

    I’m left with no words.
    Fascinating subject and you guys at cs50 are making an incredible job. Round of applause as David’s usually say👏 😂

  • @kykann
    @kykann 3 года назад

    I am really grateful for watching this vidieo for free, Thank you a lot

  • @sahu059
    @sahu059 4 года назад +3

    Wonderful Explanation, best thing is it's giving an intuition, which will help us to learn in better way.

  • @anypuppet
    @anypuppet 3 года назад +2

    An absolute fantastic presentation! Thank you.

  • @hakunamatata-qu7ft
    @hakunamatata-qu7ft 4 года назад +1

    Thank you teachers for these foundation course for lay man to advanced

  • @Themaxmerock007
    @Themaxmerock007 4 месяца назад

    thank you for dedications, i finally have a software engineer job after CS50 now i'm still learning because it fun!

  • @z9607
    @z9607 4 года назад +7

    Just to point out one little mistake on the game graph at 1:27:07: the third option, where player X wins, shouldn't have a X marked in the upper left corner (player X can not play twice), just ignore that X. Brilliant explanation though, thanks!

  • @meylyssa3666
    @meylyssa3666 4 года назад +3

    Wonderful explanations!

  • @skuup9782
    @skuup9782 23 дня назад

    this cs50 course seems sooo fun thank you a lot

  • @govindbarwa1806
    @govindbarwa1806 7 месяцев назад

    1:10:49 According to wikipedia, for an A* algorithm to be optimal, it only needs to satisfy the first constraint i.e. being admissible. If it also satifies the second condition i.e. if heuristic is monotone, or consistent in nature then it finds the optimal path without processing any node more than once.

  • @themelankolis1922
    @themelankolis1922 4 года назад +2

    His explanation is great! *thumbs up

  • @openedto
    @openedto 6 месяцев назад

    He's a great teacher. I learn best by example. 💚

  • @АлександрСницаренко-р4д
    @АлександрСницаренко-р4д 10 месяцев назад

    Fantastic lecture, even for experienced professionals

  • @philgibe
    @philgibe Год назад +4

    DFS should be callled Snake First Search and BFS should be called Water First Search. People would remember it much more easily. Because DFS acts as a snake, and BFS as water flowing :-)

    • @Fede_uyz
      @Fede_uyz Месяц назад

      They are pretty clear and direct:
      Prioritize going deep or prioritize going broad and shallow.

  • @yanjingwang7496
    @yanjingwang7496 10 месяцев назад

    Brian you are so amazing! Love your CS 50 AI, I fall in love with programming

  • @mohammedalshami3937
    @mohammedalshami3937 4 года назад +4

    Thank you so much Brian for this great presentation.

  • @msmnazemi
    @msmnazemi 4 года назад +3

    Great presentation - thanks Brian and team.

  • @ronibousaab6126
    @ronibousaab6126 Год назад +1

    Very interesting! I am excited to finish this course by the summer

  • @RainstormOK
    @RainstormOK 8 месяцев назад

    THANK YOU for all work! It's better for me than just reading some books.

  • @omaressam7178
    @omaressam7178 2 года назад +2

    Thank u so much !!
    It's my first time to type a comment btw :"

  • @SherryW-sn1dk
    @SherryW-sn1dk 8 месяцев назад

    He makes AI so easy to understand. Thank you!

  • @lisztk1928
    @lisztk1928 4 года назад +7

    Loved it, Thank you so much

  • @mariachaudhry4608
    @mariachaudhry4608 Год назад

    Listening that from Pakistan, cannot thank you enough ❤ and that tutor kid ( he seems like my younger brother) thank you:) and have a water bottle with you please :)

  • @Troglodyte2021
    @Troglodyte2021 5 месяцев назад

    A fresher of basic graph theory! 🙂

  • @lakshman587
    @lakshman587 2 года назад +2

    This is really Awesome!!!
    Thanks a lot for the complete playlist! 🙏🙏🙏

  • @Wanderbawa
    @Wanderbawa 4 года назад +4

    perfect illustration!!

  • @mdrasel-gh5yf
    @mdrasel-gh5yf 4 года назад +4

    All the respect to Brian

  • @omerfeyyazselcuk7325
    @omerfeyyazselcuk7325 3 года назад +1

    I like how this starts from Lecture 0

  • @qaiserkhan4860
    @qaiserkhan4860 4 года назад +2

    Wonderful introduction to AI

  • @DEVELOPMENTWITHADITYA
    @DEVELOPMENTWITHADITYA 3 месяца назад

    He Is my Guru FROM NOW , GOAT OF ALL TIME , BEST TECHING COMES WITH BEST KNOWLEDGE HE IS ADAM OF AI. GOAT ,LEGEND are < less word for him respect from deapth-first search of my heart

  • @shahabsalour6946
    @shahabsalour6946 5 месяцев назад

    Wow to this amazing lecturer. Thank you.

  • @spandanbhattacharya5030
    @spandanbhattacharya5030 2 месяца назад

    Outstanding Sir! Thank You so much!!

  • @srishti81388
    @srishti81388 7 месяцев назад

    Thank you for this clear and concise explanation!

  • @fallenAngel-cw9ki
    @fallenAngel-cw9ki 4 месяца назад

    thank you!! this was a great lecture, i feel more confident about this topic.

  • @lucasmartendal
    @lucasmartendal 3 года назад +1

    Awesome job guys!

  • @famouspeople8611
    @famouspeople8611 11 месяцев назад +1

    Instead of using A* search algorithm, I think this algorithm is better which exploring the next state's number if it was increasing then we will choose the another it will be the same path that A*search will use

  • @shyamkachhadiya4964
    @shyamkachhadiya4964 4 года назад +2

    Nice explanation with presentation 🔥🔥

  • @infiniperperffinity2884
    @infiniperperffinity2884 2 месяца назад +1

    Loved it. Thank you so much ❤

  • @SimplySaoirse_
    @SimplySaoirse_ 5 дней назад

    This is still my favourite subject in CS50 ❤ AI!!!

  • @ziedkhayechi7458
    @ziedkhayechi7458 4 года назад +2

    great presentation ..thanks a lot

  • @Sane_Circle
    @Sane_Circle Год назад +3

    Great delivery. One of the best academical presentations I have watched.
    PS: Does anyone know where to get the files used in the lesson?

  • @shreyasgosavi9647
    @shreyasgosavi9647 3 года назад +1

    Amazing lecture !!!

  • @Chapi-px8bf
    @Chapi-px8bf 7 месяцев назад

    Thank you so much i have no word to expres my feeling it is very interesting lecture

  • @stracci_5698
    @stracci_5698 11 месяцев назад

    Amazing lecture

  • @dr.mikeybee
    @dr.mikeybee 4 месяца назад

    I like that your first lecture is number 0. ;)

  • @eduardorpg64
    @eduardorpg64 Год назад +1

    Fun fact: Go, a board game that's like a combination of chess and Chinese checkers, has more moves than the number of atoms in the universe. If you were impressed by the total number of possible chess moves, Go has even more than that.

  • @bl4z3_kanazaki
    @bl4z3_kanazaki Год назад

    Marvelous! Clear explanation!

  • @probabilitystorm6204
    @probabilitystorm6204 3 месяца назад

    Thank you so much for the lecture, very helpful

  • @daywill8849
    @daywill8849 7 месяцев назад

    49:15 shouldn't the cell at the right of the bottom most yellow cell also be yellow.. because it is closer to the initial state than the goal so it should also be explored if we use bfs

  • @AdTechAcademy-fe3tr
    @AdTechAcademy-fe3tr 7 месяцев назад

    Very good lecture thanks

  • @Wael100
    @Wael100 4 года назад +4

    Someday I will be like Brian 😊

  • @evachen8623
    @evachen8623 Год назад +1

    almost fell asleep watching this course, quite challenging for newbie 😂

  • @LechisaBedasa
    @LechisaBedasa Год назад

    WOW WHAT AMAZING EXPLANATION THANK YOU

  • @ouroborospi9318
    @ouroborospi9318 4 года назад +1

    Thank you thank you thank you thank you 🥰🥰🥰🥰🥰🥰🥰 love you 3000 💓💓💓

  • @stephenlittman
    @stephenlittman 5 месяцев назад +1

    First lecture and we're back to recursion 😎

  • @AlessandroOrlandi83
    @AlessandroOrlandi83 Год назад

    Amazing explanation I have to say.

  • @F65992
    @F65992 3 года назад +2

    can anyone tell me the difference between node and Node in maze.py? for instance, what is node.state at 41:42 - I can't see where it comes from or how it exists in the code?

    • @marzenah123
      @marzenah123 3 года назад +3

      Hi Tom! Answering your question, the Node in this code is a class (i.e., a blueprint) of a square in a maze, while the node is a specific instance of that class. The Node class objects have a state, parent, and action. The state of the node instance is described by two elements, row (i) and column (j), so the node.state means parameters (i, j) for this particular square in the maze.

  • @asatorftw
    @asatorftw 6 месяцев назад

    Wish this would dive a bit more into why and where search algorithms are relevant in AI today.

  • @famouspeople8611
    @famouspeople8611 11 месяцев назад +2

    What should i do if i didn't understand the coding despite understanding the concepts?

  • @abekowalski
    @abekowalski 6 месяцев назад

    Brian is the GOAT

  • @quantummath-1b2a
    @quantummath-1b2a 4 месяца назад

    Thank you for this lecture

  • @alphabetdot6613
    @alphabetdot6613 Год назад +1

    honestly same thing taught by college teacher but that time it's boring but i learned out of interest but here is so interesting

  • @namanmishraaa
    @namanmishraaa 9 месяцев назад

    The lecture is amazing and cleared my all doubts which I faced during learning graphs.
    I just wanted the ppt and code used in this lecture for reference, where can I find them?

  • @kyrylobrudov3772
    @kyrylobrudov3772 6 месяцев назад

    Amazing guy, thank you so much!

  • @assiyaelhjouji3742
    @assiyaelhjouji3742 2 года назад

    21:48 I could got what he said about returning the goal no matter how many times I repeat it, where will I return the goal?!

  • @k-kamori8842
    @k-kamori8842 Год назад +2

    @CS50 How can I get the source code for this lectures?

  • @Treegrower
    @Treegrower Год назад

    His brain is magnificient i wish I could just trade brains with this dude

  • @algorithms_mit
    @algorithms_mit 11 месяцев назад

    at 1:36:00 you say if MAX play one of these three options then MIN play another of these three options but my doubt is if MAX has three options then MIN have only 2 places to put zero how they can have three options