@@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)
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 😊
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.
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!
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.
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.
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.
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. ..
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!
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.
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 :)
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!!!
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!!!
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.
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!!
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.
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.
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!
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
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 :)
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 :-)
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
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?
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.
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
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.
This guy talked non stop for 1.5 hours. THANK YOU
Strange, I only heard him speak for half an hour, but really fast
interesting... he talked for 3 hours on my laptop...
Well, more like 1.8 hours… ☝🏻🤓
How your post can be older than the video ???
@@lounys Im built different
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 Вы из UZ?
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 😊
@@mariannp5014, edx, alison, google
@@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)
I'm three years late to this 2020 lecture, but never too late to say, "thank you!"
True!!
what is your progress??
I'm just starting bro 😂
@@Itsme1n1ly im rn
M four
Opened on TH-cam just to say THANK YOU for such a detailed and clear explanation!
@@kanaktekwani2517 I've been working as SE for more than 6 years now
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 😊
@@ractmo its a beginner course, so I think you can do it!
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.
In my opinion, Brian is one of the most sophisticated persons on CS50.
The kid is a genius
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!
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.
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.
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.
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!
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. ..
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!
That curry has been praised all around south east asia, he really deserves it.
@@nSiLEtan yes he does. My mama named it Brian`s Curry Special 50.
(B-CS50)
As someone who plays chess and has used the engine multiple times. This was refreshing to see
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.
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 :)
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!!!
What an amazing way to explain the complex subject in such a easy and explanatory way. Hats off to you man.
You are sharing high quality knowledge for free. Thank you !
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!!!
Wow! Should've watched this kind of lecture more when I was a fresh graduate!
Thanks!
Brian, you are so articulate! Thank you for sharing your talents with the cheap, gonna-be software devs out there like me :)
I just wish to thank him for his ability to explain with clarity and enthusiasm concepts that glue me to the screen. Thankyou.
very very great lecture with the coding part was amazing , your service to the society is really a great thing . Thank you
Hei, thank you. This lecture help me a lot with my AI subject at university. I really admire you.
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.
Wow, what an introduction lecture, simple and yet complex.... THANK YOU 🫶
best man to pass the legacy. he rocks
Exams are over, been a month since I finished CS50x, time to finally start this!!
This is the best AI course ever made, period! thank you!!!
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!!
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.
@@train9687 cs50x
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.
Thank you guys, I am grateful for the free education.
I am really grateful for watching this vidieo for free, Thank you a lot
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!
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👏 😂
thank you for dedications, i finally have a software engineer job after CS50 now i'm still learning because it fun!
Wonderful Explanation, best thing is it's giving an intuition, which will help us to learn in better way.
An absolute fantastic presentation! Thank you.
Thank you teachers for these foundation course for lay man to advanced
Brian you are so amazing! Love your CS 50 AI, I fall in love with programming
THANK YOU for all work! It's better for me than just reading some books.
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
Thank u so much !!
It's my first time to type a comment btw :"
Fantastic lecture, even for experienced professionals
He's a great teacher. I learn best by example. 💚
He makes AI so easy to understand. Thank you!
Wonderful explanations!
His explanation is great! *thumbs up
Thank you so much Brian for this great presentation.
Very interesting! I am excited to finish this course by the summer
this cs50 course seems sooo fun thank you a lot
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 :)
thank you!! this was a great lecture, i feel more confident about this topic.
Loved it, Thank you so much
A fresher of basic graph theory! 🙂
Great presentation - thanks Brian and team.
Hi
Wow to this amazing lecturer. Thank you.
I like how this starts from Lecture 0
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 :-)
They are pretty clear and direct:
Prioritize going deep or prioritize going broad and shallow.
Thank you so much i have no word to expres my feeling it is very interesting lecture
Thank you for this clear and concise explanation!
perfect illustration!!
Outstanding Sir! Thank You so much!!
This is really Awesome!!!
Thanks a lot for the complete playlist! 🙏🙏🙏
Loved it. Thank you so much ❤
This is still my favourite subject in CS50 ❤ AI!!!
great presentation ..thanks a lot
Wonderful introduction to AI
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
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?
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.
Amazing explanation I have to say.
Thank you so much for the lecture, very helpful
WOW WHAT AMAZING EXPLANATION THANK YOU
Nice explanation with presentation 🔥🔥
Awesome job guys!
Amazing lecture !!!
All the respect to Brian
Very good lecture thanks
Marvelous! Clear explanation!
Great delivery. One of the best academical presentations I have watched.
PS: Does anyone know where to get the files used in the lesson?
didi you find the files?
I like that your first lecture is number 0. ;)
Amazing lecture
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
almost fell asleep watching this course, quite challenging for newbie 😂
honestly same thing taught by college teacher but that time it's boring but i learned out of interest but here is so interesting
Amazing guy, thank you so much!
Thank you, Brian.
Someday I will be like Brian 😊
His brain is magnificient i wish I could just trade brains with this dude
Thank you thank you thank you thank you 🥰🥰🥰🥰🥰🥰🥰 love you 3000 💓💓💓
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.
Thank you for this lecture
First lecture and we're back to recursion 😎
This is amazing. Thank you!!!!
Brian is the GOAT
What should i do if i didn't understand the coding despite understanding the concepts?
Wish this would dive a bit more into why and where search algorithms are relevant in AI today.
Excellent. Thank you :)