Your videos are absolutely amazing ! Especially your recursion video helped me immensely. Looking forward to more of your work. Keep going, this channel is going to be big! The video quality is just soo goood.
Never seen a solution to a sodoku with graph theory! I just learned this to prepare for some competetive programming, I knew it was possible to solve using some disgusting nested for loops, but never knew graph would be a solution. Thank you!
I love the mission of this channel! We need more interesting ways to delve into computer science for people who don’t want to sit down for 2 hours to understand fundamental (often complex) computer science topics!!! KEEP UP THE GOOD WORK!
I spent a few hours building a Graph data type in Haskell (and I do not remember why), and how I did it was as a (cyclic) list of pairs, where the first entry is the node value, and the second is a list of offsets of the node's neighbors. For example, it would represent the graph at 12:38 as [(0, [1,2,3]), (1, [4, 2]), (2, [3, 1]), (3, [2, 3, 4, 1]), (4, [4])]
What an amazing video. I am about to take graph theory next semester, your video absolutely makes my hope high for that course now. Keep the good work, hope the channel to get more attention in the future. P.s: Is that possible if you can give a link to the script of the video or the summarize of what you talk about in the video. It will become a super helpful study material.
Thanks for the wonderful comment, I really appreciate it! That's an interesting idea, l think the easiest solution would be adding text files for scripts into the linked Github under a new folder. I'll try to remember to do that when the next video comes out (should be in 1 - 2 weeks). I will warn you, however, the scripts have a ton of notes on them about random animation files and things I need to remember when editing it all together that I probably won't have time to go back through and remove, so by no means will it be the cleanest "video script." Hope that's alright haha.
I can not believe that I found and used the adjacency list by myself some time ago in a sketch without knowing it is a thing. I think it is the proof that the adjacency list is the most usefull representation
05:05 I don't see 5 as belonging to V. Another comment I have is that maybe you should not use n-uplets inside E, but instead sets, as the order doesn't matter at 05:10. Great video though, thank you.
Great video! But, I learned it that way that this notation (n1, n2) is for directional edges and this notation {n1, n2} is for non-directional edges. Well, I just wanted to say that. But great video nontheless.
At 4:15, the list of edges for coloring the graph to resolve a sudoku is incomplete or some edges are stacked one on top of the other as to make it impossible for somebody that is new to coloring to figure it out. It would have been better to isolate one node and show the 8 edges going to the nodes in it's section plus the 8 edges going to the nodes on the same row plus the 8 edges going to the nodes on the same columns.
"Why should we care about graph theory?" not the most important question, the most important question is "Why does graph theory have a confusing name?" I would not be surprised if anyone that holds no interest in maths or engineering has never heard of the word graph being used to describe a mesh or map of points, rather they like me would've thought a graph meant those diagrams used to display statistical data and similar stuff, until this vid I would not have ever connect the phrase "graph theory" with meshes and maps
The sudoku-"example" was misplaced: no explanation of why, how or what is going on - just that "we can use this"..... In the end it is a coloring-problem that, for sudoku, is usually solved by brute force - try a coloring, check if it is a valid solution, rinse and repeat till you find one that works.
I was unable to take admission to an engineering college to pursue Software Engineering due to my financial conditions. But I never lost hope I am studying on my own self and I feel privileged that I came to know about your channel. Thank you so much for such valuable content.
I am a self-taught software developer with an established career. you can do this too. university is not required. the best advice to all readers is to start with web dev because it is the easiest path to starting a career. then on your own time study CS and interesting problems - because of this you will gain a fabulous education and your career will advance. good luck Ali Farhan
I am an autodidact Data Scientist, i started with Web development and i did everything using only google, no school. You can do it but you need to be 10 times better than the others may god help you in your journey.
This is by far the best video regarding graph theory I have seen in my (quite long) life. Extremely clear, extremely accurate and extremely useful. As "Einstein Newton" here said 8 months ago, this can be considered the 3Blue1Brown of Computer Science. Congratulations!
There is a small mistake at 4:15 You would need to connect every point on a column with every other point on the same column same for the rows. Otherwise a graph coloring algorithm wouldn't work here, since graph coloring algorithms only test for the constraint that each neightbor has a different color.
I like the little bit at the end regarding the path through each vertex only once. Welcome to graph theory 101. After some foundational examples let's jump straight to proving that P=NP. lol
Dude the way of explained this topic is so amazing and you made it look so easy to understand, It is so hard to understand this topic from books for someone like me. Thanks alot for your help. GOD bless!!
*subscribes*. Could anyone point to how to apply graph problems to natural science scenarios? For instance, I imagine one can k-color or cycle-detect a graph representing predation nets but I'm not sure _what it would mean or represent_. Any info/links would be greatly appreciated since I want to give my (primary school) students examples they can relate to. ty.
4 years into software engineering and had to refresh the knowdlegd on this. SO far the best explanation of such complex and abstract for many topic graphs. A true GEM video. Thanks!
7:00 question about cycles. Lets say I went from 4 to 1 to 0. But then I went up to 3, and back to 1 then to 4. Would that be a cycle? Or does the overlap at 1 make it not a cycle?
10:6 doesn't the first property imply the two others ? If we add an edge between a vertex A and a vertex B, there will be now two paths from A to B (one that was already there, one that was just added) creating a cycle. If we remove an edge between vertex A and vertex B, it will remove exactly one path from A to B, making the total number of paths from A to B zero, disconnecting the graph.
Yes. This is an example of the graph theory: by simply imposing a “relationship” between elements we induce a wide variety of properties. For instance, in any graph the number of nodes with odd degrees is even. Unfortunately, the video is limited to listing basic objects of the graph theory without touching the theory itself.
Imagine Every Single Teacher in The World Teach Like HIM!! I mean there is no Teacher in my College who teach like him. His Explanations are clear and the way he presents his presentation is easy to understand and not boring to watch.
Yes, Dynamic Programming is absolutely a video I'm going to make in the future. I have a mix of some standard and tricky dynamic programming problems I may go through but still want to hash them out so I can make the best possible video for that topic. I have a few graph algorithm videos that I have a little more clarity on that I am working on currently, so after I finish up those, I will spend more time on the dynamic programming video so stay tuned! The plan right now in my mind is that the next few videos are going to be on DFS, BFS, Djisktra's, and A* search and somewhere in between or after those videos, I'll release a DP video.
Does anyone please know why are Reducible's and 3blue1brown's graphics so similar? I mean, do they collaborate or something like that or is it a software anyone can use? Thanks Edit: I found out it's called Manim, an open source software by 3b1b. I'll leave the comment for anyone else wondering the same.
OMG why putting background music in educational videos??!! Completely puts me off - having to repeat every 15 secs multiple times just to be able to hear the words and not the music. The video is great but really, any educational material should be presented in full silence to give people ability to concentrate instead of being distracted by music.
Im just can't thank you enough, this video was so enlightening that actually gives me a hope, it proves that I am able to learn and understand hard concept w/o expensive education. Eventually I would become a programmer. Thank you from the bottom of my heart
15:15 who else has spent hours trying to find a solution? I swear I’ll get it Edit: 2 days later and I’m fairly confident I have it all understood. Give me a little more time and I could write out a program for it. General consensus still wins unfortunately because my program would involve exponential functions which would likely run into the same exact efficiency issues computer scientists deal with today with large networks. Still a really fun exercise to learn on my own the fundamentals of how to reduce a network using basic logic that a computer could read.
Amazing Explanation !! You explained such a complex topic in so easy to understand language. I learnt a lot today and also found out interesting ways to visualize a graph. Thank you !!!
3Blue1Brown of Computer Science. Brilliant video.
Absolutely.
When I was watching this I thought hmm why does 3B1B's voice sound different
haha even i thought so
Absolutely Brother. Such nice content in this vast ocean of copy cat junks.
@@KonigKlack They are. He gives credit in the notes below the video.
Your videos are absolutely amazing ! Especially your recursion video helped me immensely. Looking forward to more of your work. Keep going, this channel is going to be big! The video quality is just soo goood.
Thank you! Glad you find these videos helpful and yup I have so many ideas for content so don't plan on stopping any time soon :)
Never seen a solution to a sodoku with graph theory! I just learned this to prepare for some competetive programming, I knew it was possible to solve using some disgusting nested for loops, but never knew graph would be a solution. Thank you!
I love the mission of this channel! We need more interesting ways to delve into computer science for people who don’t want to sit down for 2 hours to understand fundamental (often complex) computer science topics!!! KEEP UP THE GOOD WORK!
this video is oddly beautiful, i absolutely despised this whole semester of discrete math but you kinda got me invested
I spent a few hours building a Graph data type in Haskell (and I do not remember why), and how I did it was as a (cyclic) list of pairs, where the first entry is the node value, and the second is a list of offsets of the node's neighbors. For example, it would represent the graph at 12:38 as [(0, [1,2,3]), (1, [4, 2]), (2, [3, 1]), (3, [2, 3, 4, 1]), (4, [4])]
This was GREAT! I'm boning up on graph theory for cheminformatics, and this is providing a great foundation!
What an amazing video. I am about to take graph theory next semester, your video absolutely makes my hope high for that course now. Keep the good work, hope the channel to get more attention in the future.
P.s: Is that possible if you can give a link to the script of the video or the summarize of what you talk about in the video. It will become a super helpful study material.
Thanks for the wonderful comment, I really appreciate it!
That's an interesting idea, l think the easiest solution would be adding text files for scripts into the linked Github under a new folder. I'll try to remember to do that when the next video comes out (should be in 1 - 2 weeks).
I will warn you, however, the scripts have a ton of notes on them about random animation files and things I need to remember when editing it all together that I probably won't have time to go back through and remove, so by no means will it be the cleanest "video script." Hope that's alright haha.
Great Introduction to Graph Theory. Amazing Explanation.
I can not believe that I found and used the adjacency list by myself some time ago in a sketch without knowing it is a thing. I think it is the proof that the adjacency list is the most usefull representation
No of edges is same as number of neighbors has helped me to understand related topics in terms of visualizing, thanks!
As a CS student this is really good content. Love all the videos you make!
very nice, thanks for the vizualisation and soothing music
The Sudoku example is outstanding and useful.
Brilliant elegant explanation, wow. Thank you one thousand times !
Outstanding presentation.
Just found you channel through this video. Great presentation.
Excellent video and narration
Beautifully explained. Thank you!
Wow, so glad I found this channel. Subbed.
Thanks! This was great!
At 5:06, a small mistake: you should have writeen V = {0, 1, 2, 3, 4} and not V = {0, 1, 2, 3, 4, 5}
This music making me wanna cry, it is not that sad concept : P : P
Interesting explication, well done
Why was it important to change numbers to colours in the sudoku?
Thanks for this incredible video btw.
Great Video!! Thank you!
👍👍👍 Nice explanation.
thanks a lot. I have learned a lot from your video
You should do more videos like this and your series, on a*, best first search, etc.
Keep on going! Your are doing an amazing work!!
Great Video, got me Subscribed!
What an excellent video sir
Great video & awesome content
Thanks so much!
I wish i could give this video more than one like...
Fantastic video!!!
*Great Video. Thanks!!!*
05:05 I don't see 5 as belonging to V. Another comment I have is that maybe you should not use n-uplets inside E, but instead sets, as the order doesn't matter at 05:10. Great video though, thank you.
UA-cam's application of graph theory brought us here from 3Blue1Brown
Great video! But, I learned it that way that this notation (n1, n2) is for directional edges and this notation {n1, n2} is for non-directional edges. Well, I just wanted to say that. But great video nontheless.
thanks mate
is there a relation between graph theory and automata and formal languages?
What software do you use to make these? i belive 2 blue 1 brown uses python, is it the same? how do you get the graphics?
Are you gonna upload more work in this field? like... not only for computer perspective but also mathematics perspective
This topic is from a Discrete Mathematics course which is designed for Computer Science students/ Math majors aren’t required to take
What animation software do you use?
HELLO THERE WICH BOOK DO YOU SUGGEST AS AN INTRODUCTION IN GRAPH THEORY ?
BG music game on point
nice video
Has anyone else stopped the video at 3:05 to try to solve the sudoku?
At 4:15, the list of edges for coloring the graph to resolve a sudoku is incomplete or some edges are stacked one on top of the other as to make it impossible for somebody that is new to coloring to figure it out. It would have been better to isolate one node and show the 8 edges going to the nodes in it's section plus the 8 edges going to the nodes on the same row plus the 8 edges going to the nodes on the same columns.
"Why should we care about graph theory?" not the most important question, the most important question is "Why does graph theory have a confusing name?" I would not be surprised if anyone that holds no interest in maths or engineering has never heard of the word graph being used to describe a mesh or map of points, rather they like me would've thought a graph meant those diagrams used to display statistical data and similar stuff, until this vid I would not have ever connect the phrase "graph theory" with meshes and maps
What's the algorithm used for graph colors & sudoku?
The sudoku-"example" was misplaced: no explanation of why, how or what is going on - just that "we can use this"..... In the end it is a coloring-problem that, for sudoku, is usually solved by brute force - try a coloring, check if it is a valid solution, rinse and repeat till you find one that works.
I was unable to take admission to an engineering college to pursue Software Engineering due to my financial conditions. But I never lost hope I am studying on my own self and I feel privileged that I came to know about your channel. Thank you so much for such valuable content.
Are you indian or paki?
I wish you success
@@harrykekgmail I wish you too :)
I am a self-taught software developer with an established career. you can do this too. university is not required. the best advice to all readers is to start with web dev because it is the easiest path to starting a career. then on your own time study CS and interesting problems - because of this you will gain a fabulous education and your career will advance.
good luck Ali Farhan
I am an autodidact Data Scientist, i started with Web development and i did everything using only google, no school. You can do it but you need to be 10 times better than the others may god help you in your journey.
This is a great channel, definitely will get much more recognitions in the future!
I'm from the future! You were right. Just discovered this channel and I love it.
It's happening
I agree :)
I am from far future
Just found this, from the farer future
tf is wrong with me, you got me tearing up
This is by far the best video regarding graph theory I have seen in my (quite long) life. Extremely clear, extremely accurate and extremely useful. As "Einstein Newton" here said 8 months ago, this can be considered the 3Blue1Brown of Computer Science. Congratulations!
I was about to say that!
There is a small mistake at 4:15
You would need to connect every point on a column with every other point on the same column same for the rows. Otherwise a graph coloring algorithm wouldn't work here, since graph coloring algorithms only test for the constraint that each neightbor has a different color.
This is going to be one of the most popular study channel in the future ♥️
i can’t help but notice it has been quiet a while without any new videos... hope you’re doing all right
Ha thanks, appreciate the comment! Been quite busy with life outside of UA-cam, but I am working on it! New video will be out when it's ready :)
@@Reducible glad to hear that😃
I like the little bit at the end regarding the path through each vertex only once.
Welcome to graph theory 101. After some foundational examples let's jump straight to proving that P=NP. lol
Introduction :- 0:00
Why Study Graph :- 1:33
Definition :- 4:35
Terminologies :- 5:22
Types of Graph :- 8:32
Representation :- 10:15
Graph Problems :- 12:44
Pro-tip: if you put the timestamps on the left, they'll line up better.
2:53 Ironically I thought Sudoku would be the first example lmao, but well played
Dude the way of explained this topic is so amazing and you made it look so easy to understand, It is so hard to understand this topic from books for someone like me. Thanks alot for your help. GOD bless!!
wow never would've thought about sudoku like this - that's awesome!
I can not believe all of this is for free
"What a time to be alive" as quoted by TwoMinutePapers
*subscribes*. Could anyone point to how to apply graph problems to natural science scenarios? For instance, I imagine one can k-color or cycle-detect a graph representing predation nets but I'm not sure _what it would mean or represent_. Any info/links would be greatly appreciated since I want to give my (primary school) students examples they can relate to. ty.
Keep on going! Your channel is just amazing! (Watching from France)
Another great one. Can’ t wait for more:)
4 years into software engineering and had to refresh the knowdlegd on this. SO far the best explanation of such complex and abstract for many topic graphs. A true GEM video. Thanks!
7:00 question about cycles. Lets say I went from 4 to 1 to 0. But then I went up to 3, and back to 1 then to 4. Would that be a cycle? Or does the overlap at 1 make it not a cycle?
I think it is the best video on UA-cam that discuss and give an existing introduction about graph theory. It was my duty to thank you for this video!
10:6 doesn't the first property imply the two others ?
If we add an edge between a vertex A and a vertex B, there will be now two paths from A to B (one that was already there, one that was just added) creating a cycle.
If we remove an edge between vertex A and vertex B, it will remove exactly one path from A to B, making the total number of paths from A to B zero, disconnecting the graph.
Yes. This is an example of the graph theory: by simply imposing a “relationship” between elements we induce a wide variety of properties. For instance, in any graph the number of nodes with odd degrees is even. Unfortunately, the video is limited to listing basic objects of the graph theory without touching the theory itself.
Just discovered your channel. I'm about to binge everything you've made.
You should really do a collaboration with 3b1b.
Beautifully explained and easily understandable to someone who knows little to nothing about graph theory or computer science. Keep up the good work!
As a network engineer, this is really interesting! I visualize my networks with python and networkx and dot-graphs. Really fun!
10:10 If a graph is connected and undirected doesn't adding an edge *always* create a cycle?
i love math so much i wanna tell everyone about it
I know most of us are here because of tideman XD
Imagine Every Single Teacher in The World Teach Like HIM!! I mean there is no Teacher in my College who teach like him. His Explanations are clear and the way he presents his presentation is easy to understand and not boring to watch.
well, I presume no teacher has a couple of weeks/months time to prepare a single lecture that introduces basic concepts
3:48 the connection line between top mid circle to bottom left circle is missing, and due to copy-paste it translated further....
Is that possible that you can talk about dynamic programming?
Yes, Dynamic Programming is absolutely a video I'm going to make in the future. I have a mix of some standard and tricky dynamic programming problems I may go through but still want to hash them out so I can make the best possible video for that topic. I have a few graph algorithm videos that I have a little more clarity on that I am working on currently, so after I finish up those, I will spend more time on the dynamic programming video so stay tuned! The plan right now in my mind is that the next few videos are going to be on DFS, BFS, Djisktra's, and A* search and somewhere in between or after those videos, I'll release a DP video.
Please make more content on Graphs!!
Does anyone please know why are Reducible's and 3blue1brown's graphics so similar? I mean, do they collaborate or something like that or is it a software anyone can use? Thanks
Edit: I found out it's called Manim, an open source software by 3b1b. I'll leave the comment for anyone else wondering the same.
OMG why putting background music in educational videos??!! Completely puts me off - having to repeat every 15 secs multiple times just to be able to hear the words and not the music. The video is great but really, any educational material should be presented in full silence to give people ability to concentrate instead of being distracted by music.
This is amazing! Reminded me of Vector Art, Wave Function Collapse, and Neuronets a lot.
I have learned a lot, and deffinately want to learn way more!
Im just can't thank you enough, this video was so enlightening that actually gives me a hope, it proves that I am able to learn and understand hard concept w/o expensive education. Eventually I would become a programmer.
Thank you from the bottom of my heart
Absolutely agree. 3Blue1Brown of computer science. Crisp, succinct and clear explanations of concepts. Love this..
I came here because of 3B1B, please keep up the good work. You've got great potential.
Brilliant video. are there any recommendation on learning resources you can suggest while we wait for the next in the series?
You're a goddamn cycle path 7:07
15:15 who else has spent hours trying to find a solution? I swear I’ll get it
Edit: 2 days later and I’m fairly confident I have it all understood. Give me a little more time and I could write out a program for it. General consensus still wins unfortunately because my program would involve exponential functions which would likely run into the same exact efficiency issues computer scientists deal with today with large networks. Still a really fun exercise to learn on my own the fundamentals of how to reduce a network using basic logic that a computer could read.
You need content.
Binge watchable sets of 20+ min videos on related topics from video to video.
Trust the community.
Keep it up great job.
I love the experience or watching the video!,
So immersive. and the content is kinda wholistic,
Thank you so much!
Amazing Explanation !! You explained such a complex topic in so easy to understand language. I learnt a lot today and also found out interesting ways to visualize a graph. Thank you !!!
Great video! Thank you so much. God bless :)
Excellent knowledge, excellent animations, awfully terrible music. Sorry bro, I wish I could watch it without any music. Couldn't watch it to the end.
Thank you, I don't think I really understood adjacency lists until I watched this video.
Amazing! Thank you!