@@jagjitsinghramgarhia4766 It is possible to make a computer from people. Imagine a multi-stage parallel human centipede comprised of 8E12 people; we could configure it to run minecraft if we so choose. A poop is a 1 and a pee is a 0; but if we have 'overflow,' the previous human vomits the opposite direction, so we have omni-directional current flow. The problem with vomiting into someone's ass is that that will induce another 'backflow' of flow back into the person's mouth, of which could induce vomiting, creating a back and forth infinite cycle, so that may be an issue we may have to deal with.
And since you know that any computing device uses these logic gates, at the end of the day you can literally create something like a mobile phone using literally ANYTHING, you just have to create some kind of logic with it that represents these logic gates and you are ready - just how it was represented in this video using dominos. Because of this logic - you are able to read this comment reply. Blows my mind every time.
Great video! The only thing missing here is the Not gate. This is a possible implementation that I thought about: We can achieve negation of a bit by Xoring it with 1 (0 Xor 1 = 1, 1 Xor 1 = 0 ). So, we can add to the circuit a line of dominos, which will be pushed at the beginning of the calculation, that represents the constant 1, and every time we want to use a Not gate, we can use a branch of this line as an input for a Xor gate, with the other input being the bit we want to negate.
The NOT gate is simple, it has one "energy" input which is a direct path to the output and one domino input that interferes with the "energy" path if the input is 1
Logical solution but expensive (dedicated bit) and cumbersome (timing and placement of them in addition to the regular bits). Still, good thinking, i don't think there's another way!
@@VianneyOuiBon i don't think there's another way either, but i think that is the best way. the main problem with domino logic is the fact that a "1" is non-reversible, so not gates without a timing pulse and flip flops without an extra "lift up" move will be impossible.
Your XOR gate has backflow current; it literally sends current down one of the inputs, changing it to a 1; if this previous input wasn't triggered (which is why it is still standing), there can be situations of which this backflow causes a massive backflow cascade.
A most relevant and significant observation. I think for the sake of a simple explanation to laypeople this animation demonstrates the XOR concept well, however in actual application the potential for such cascading backflow would matter.
You could put all or some dominoes on hinges so they can only fall one direction. Of course, that would be stretching the definition of a domino a bit.
There is one problem with this. In order to make fully Turing complete system, you would need a NOT gate, which is Kind of problematic. Even not thinking how to make it, any gate that would Output 1 when there is no Input, would fire instantly, due to signal not reaching it yet. What I propose, is a new clock path, which is toppled at the Start to the program, and has precisely such length, that it joins any currently firing gate, for gâtés which output 0 without inputs, thé clock signal isn't needed, but for example not gate would fire only when the clock signal reaches it. And in this way, not gate would simply be XOR between Input, and clock signal. Outputing 1 when clock gets to it, but no Input is in, and 0 when either there is both Input and clock, or when there is no clock or Input. There would be 1 if there is Input and no clock, but this can be solved by just changing thé length of some paths.
It could never be Turing-complete as you would eventually run out of dominoes. But if you are fine with finite computations, a pseudo not gate can be a line which after some period of time is cut off. I believe this was demonstrated in Matt Parker's water computer video.
just make an XOR gate but treat one of the inputs as a clock, so that it is always on. Now if the input that you are using as your input is 1, the output is 0, but if the input is 0, then the output is 1.
Interesting point! But I think the not-gate isnt the problem here. You can simulate a not-gate out of XOR-gates. I think the real problem here is that you: 1. can't simulate storage 2. can only simulate a finite number of states Because of the missing storage and the finite number of states, my guess is, that the system is equivalent to a DFA, and can only solve problems that are expressible on regular Type-3-languages of the chompsky hierachy. What do you think?
the idea at 6:39 is what a computer clock does. every calculation in a computer is given a clock cycle amount, and the CPU knows to wait that long to continue to the next operation in order to correctly calculate its result. You could time based on # of dominoes and create your dominoe clock :) interesting perspective
I have a Question: I'm studying computer science and I wonder if your system is really capable of calculating "any computation you'd like", like you said at the beginning of the video. Since you can only hit a domino-row one time, (it doesn't stand up by itself) you are not able to implement a while-program, where you don't know the number of execution-steps in the first place. You can only implement loop-programs, where the number of iterations is known at the beginning. Loop-programs are less powerful than while-programs. While-programs are equivalent to a turing machine, loop-programs are not. In other words: this system can't be turing-complete. So you are only capable of solving some loop-calculatable problems. (or all?) My guess is that your system is equivalent to a one-directional turing-machine, and so it would be equivalent to a deterministic finite automata (DFA). If so, you could only perform operations on regular languages (Type-3 Chompsky). On lower languages you would have to implement some kind of reusable storage-system.. What do you think? Your video was amazing btw. I love to see how people always come with new, creative ideas to explain the concepts of computersciene!
I think it is even less than an dea (DFA) (deterministischer endlicher Automat), as an dea can accept the regular expression (10)*, which I don't think, is possible with dominos
*OMG, That was an amazing explanation, clearly something out of the box Mr. Brian. I am following you all the way from CS50 😁👏🤩 and now I am your 500th subscriber waiting for more videos like this. Love from India* 💕🙌12-Aug-2020.*
Amazing vid to allow someone not savvy in this to understand it pretty easily! I feel ready to take on Minecraft Redstone, and I am also excited to see someone make a Domino chain run doom :)
I guess for a *not* gate you would probably need to have it so that there is a set of dominos that always get pushed alongside the input and will be blocked if a 1 is input. If they input 1: 1 Input------------ collide/ ''''''''''''''''' 0 output - - Runtime 1------- 0 Input ''''''' no collide, 1 continues ---- 1 output - - Runtime 1------- Mainly just for those that say not is impossible
You can't build a computer if you can only use each gate once. You can't feed your input with the last input so you can only build combinational logic but not sequential logic and therefore no computer. Also you can't build flipflops.
If someone watches this falling Domino's, they think it's just Domino falling. In fact it has a lot of information n computation in it. Strange. Like this in nature (Eg. Atoms arranged in DNA and how they interact), information is all around us, we should know how to read the information.
unfortunately this cant really capture the idea of memory or storage. the only way to create a turing complete system would be to make the domino system infinitely long, with each copy in the line representing a new "timestep" of the system.
This is a cool way to conceptualize the logic. However, the dominoes would be hard to take past adders because they are timing-reliant, some of your circuits feed back through the inputs which can be a problem, and, of course, you can't reuse circuits.
Great effort. But the title is misleading. You need memory (flip flops) and not gates additionally to implement a computer. An appropriate title would be ‘how to make (one time) adders using dominos’. Keep up the good work!
So this is the exact same thing as Matt Parker did something like 7 years ago in real life, displaying a functioning domino calculator in front of audience. :) If you think this is interesting, you should definately check that video out too. :)
Well,we can only imagine circuits with Dominos,where inputs are fixed. If the inputs changes then you have to manually put together the Dominos again for it to work as depicted. Hence you can't imagine sequential logic, fsm,Controllers or calculate logic operations for sequence of data nor memory operations. Hence even hypothetically,you can't make a simple Turing machine with this concept. However it's a good depiction of computer logics for high-school students.
So, the premise is interesting, the domino realizations of fundamental logic blocks is clever, and the explanations well done. However, the video title promises a "computer" built with dominos, and in that regard this video fails. A "computer" is not the same as just a few logic functions and the ability to do simple math. By definition, a computer requires the ability to be programmed somehow, and to retain information, and some facility for changing what it does based on other factors. In theory, all of that can be managed in dominos, but this video does not even remotely get into all of those other (increasingly complex) necessities, and extrapolating what is shown here to what would actually need to be done.....well, this video does more to prove that a domino computer is practically impossible. Proof of this assertion is that none of the domino logic can be re-used, and a self destructive logic structure is not useful for making a computer.
It's satisfying and clever. Also, have you noticed that the OR gate inputs provide twice the kinetic energy when activated simultaneously? That means third logical level can be implemented.
At 02:26 you can see that the method/function/subroutine modifies one of the input values. The input 0 becomes a 1. That should not happen in programming.
While very cool, this is not a computer. A one-time calculator at best. What's lacking is memory and it's problematic as you cannot switch a domino to a standing state.
The main difference between this and a computer is that this is not reusable. It's not actually a circuit, it can only do one operation and you have to manually rebuild it every time.
Time to make a working operating system with dominoes
Might take quite a lot of dominos!
@@SpanningTree I have the time. Quarantine won't end anytime soon so...
let's count Domino's Pizza with Domino
well, clocking woulnd work i guess
@@SpanningTree 😂😂😂
very cool! the only downside is that it is hard to un-fall a domino
Are you sure about that?
ruclips.net/video/IQhgiL3TqYQ/видео.html
But we can make it in a 3d sumulation when we just have to click 'regenerate'
@@donut_Boi8 but that will be against the laws of dominos.
figure out how to perform telekinesis and its as easy as that.
@@donut_Boi8 Have a domino hit a tiny see-saw made of dominoes to fix a different domino, simple 👌
One of the most interesting takes on logic/computing i've seen. I've never thought of domino as programming. Awesome.
10000 Domino computer. Built and did two calculations. But yes this video explains the design best thoroughly
See the one with water and gears too by Steve mould
@@jagjitsinghramgarhia4766 It is possible to make a computer from people. Imagine a multi-stage parallel human centipede comprised of 8E12 people; we could configure it to run minecraft if we so choose. A poop is a 1 and a pee is a 0; but if we have 'overflow,' the previous human vomits the opposite direction, so we have omni-directional current flow.
The problem with vomiting into someone's ass is that that will induce another 'backflow' of flow back into the person's mouth, of which could induce vomiting, creating a back and forth infinite cycle, so that may be an issue we may have to deal with.
Because you are noob
@@pyropulseIXXI you took a cool video and ruined it, i hate you.
As someone who studied electronics I find it fascinating how you can make and, or, nor, xor, etc. with so many different things and not just circuits.
And since you know that any computing device uses these logic gates, at the end of the day you can literally create something like a mobile phone using literally ANYTHING, you just have to create some kind of logic with it that represents these logic gates and you are ready - just how it was represented in this video using dominos.
Because of this logic - you are able to read this comment reply. Blows my mind every time.
@@ScorpioN-mm5pd Yup! And that's why I love this so much
Ikr. they even made logic gates using bacteria 🤷🏻♂️
@@integraxnine745 They've done it with Magic The Gathering playing cards...
ikr its just like the logic itself is real or something
This is FANTASTIC. Makes one see how information is truly substrate independent
Great video!
The only thing missing here is the Not gate. This is a possible implementation that I thought about:
We can achieve negation of a bit by Xoring it with 1 (0 Xor 1 = 1, 1 Xor 1 = 0 ). So, we can add to the circuit a line of dominos, which will be pushed at the beginning of the calculation, that represents the constant 1, and every time we want to use a Not gate, we can use a branch of this line as an input for a Xor gate, with the other input being the bit we want to negate.
but all gates needs their inputs to be triggerd at the exact same time, so you have to add a delay to each NOT gate.
The NOT gate is simple, it has one "energy" input which is a direct path to the output and one domino input that interferes with the "energy" path if the input is 1
Logical solution but expensive (dedicated bit) and cumbersome (timing and placement of them in addition to the regular bits). Still, good thinking, i don't think there's another way!
Just have a really long chain of dominos that starts from off-screen and the not-gate moves one of them out if the input is 1 lololo
@@VianneyOuiBon i don't think there's another way either, but i think that is the best way. the main problem with domino logic is the fact that a "1" is non-reversible, so not gates without a timing pulse and flip flops without an extra "lift up" move will be impossible.
Your XOR gate has backflow current; it literally sends current down one of the inputs, changing it to a 1; if this previous input wasn't triggered (which is why it is still standing), there can be situations of which this backflow causes a massive backflow cascade.
A most relevant and significant observation. I think for the sake of a simple explanation to laypeople this animation demonstrates the XOR concept well, however in actual application the potential for such cascading backflow would matter.
I don’t know the first thing about computers, but maybe add an interrupter?
@@theworm7156 That should work. The electrical equivalent would be a diode.
You could put all or some dominoes on hinges so they can only fall one direction. Of course, that would be stretching the definition of a domino a bit.
You could raise the input dominos so they can fall down but the lower ones will only flow to the output
“Have you tried turning it off and back on again.”
“Hold on let me try that real quick.” **starts stacking dominos for 10 hours**
There is one problem with this. In order to make fully Turing complete system, you would need a NOT gate, which is Kind of problematic. Even not thinking how to make it, any gate that would Output 1 when there is no Input, would fire instantly, due to signal not reaching it yet. What I propose, is a new clock path, which is toppled at the Start to the program, and has precisely such length, that it joins any currently firing gate, for gâtés which output 0 without inputs, thé clock signal isn't needed, but for example not gate would fire only when the clock signal reaches it. And in this way, not gate would simply be XOR between Input, and clock signal. Outputing 1 when clock gets to it, but no Input is in, and 0 when either there is both Input and clock, or when there is no clock or Input. There would be 1 if there is Input and no clock, but this can be solved by just changing thé length of some paths.
Is it even a clock if it can't tick a second time?
It could never be Turing-complete as you would eventually run out of dominoes. But if you are fine with finite computations, a pseudo not gate can be a line which after some period of time is cut off. I believe this was demonstrated in Matt Parker's water computer video.
Pretty sure loops would violate physics if you have a finite amount of dominos.
just make an XOR gate but treat one of the inputs as a clock, so that it is always on. Now if the input that you are using as your input is 1, the output is 0, but if the input is 0, then the output is 1.
Interesting point! But I think the not-gate isnt the problem here. You can simulate a not-gate out of XOR-gates.
I think the real problem here is that you:
1. can't simulate storage
2. can only simulate a finite number of states
Because of the missing storage and the finite number of states, my guess is, that the system is equivalent to a DFA, and can only solve problems that are expressible on regular Type-3-languages of the chompsky hierachy. What do you think?
Can't wait for WinDominoes 11! Keep up the good work!
The explanation is amazing and this is even better than crash course computer science!
How did you make this animation? It looks amazing
Coded it in dominoes
Imagine how many dominos it would take to render a 3D animation?
How many dominos would it take to render a dominos animation
@@theworm71561, 2 if you want them to topple each other.
the real question is : "What time it take for calculate the render a 3D animation". Sorry for my english, i'm french and bad in english.
@@dragon_-gu1dx faster dominoes would be nice.
at least 1
the idea at 6:39 is what a computer clock does. every calculation in a computer is given a clock cycle amount, and the CPU knows to wait that long to continue to the next operation in order to correctly calculate its result. You could time based on # of dominoes and create your dominoe clock :) interesting perspective
Bro Mathed so hard he made a computer out of gravity
I have a Question:
I'm studying computer science and I wonder if your system is really capable of calculating "any computation you'd like", like you said at the beginning of the video.
Since you can only hit a domino-row one time, (it doesn't stand up by itself) you are not able to implement a while-program, where you don't know the number of execution-steps in the first place. You can only implement loop-programs, where the number of iterations is known at the beginning. Loop-programs are less powerful than while-programs. While-programs are equivalent to a turing machine, loop-programs are not. In other words: this system can't be turing-complete.
So you are only capable of solving some loop-calculatable problems. (or all?)
My guess is that your system is equivalent to a one-directional turing-machine, and so it would be equivalent to a deterministic finite automata (DFA). If so, you could only perform operations on regular languages (Type-3 Chompsky). On lower languages you would have to implement some kind of reusable storage-system..
What do you think?
Your video was amazing btw. I love to see how people always come with new, creative ideas to explain the concepts of computersciene!
we just need some kiddo to keep setting up the dominoes
child labor is the key
I think it is even less than an dea (DFA) (deterministischer endlicher Automat), as an dea can accept the regular expression (10)*, which I don't think, is possible with dominos
This concept should be taught to children as a foundation to show how computers work. Kudos to you Sir.
It would be really interesting to see attempts to find the minimal dominoes needed to make each gate. I may be pulling my "computer" out lol
reminds me of the sleepless night I spent trying to make smallest gates in modded minecraft
this is hell..
Keeping in mind the failure rate may increase
I really like how this is explained. Makes the base concepts way easier to understand.
You can build a computer from anything but the gates are supposed to be able to work more than once.
*OMG, That was an amazing explanation, clearly something out of the box Mr. Brian. I am following you all the way from CS50 😁👏🤩 and now I am your 500th subscriber waiting for more videos like this. Love from India* 💕🙌12-Aug-2020.*
Glad you enjoyed the video!
A domino AND gate that I've made in the past is just a lot of dominoes packed together, so the weight of two dominoes is required to push them.
lmao you also made logic gates out of dominoes?
@@haroldp.sadwood1181 Yeah but I didn't get very far, I made an XOR gate but it was way more complicated than the one in the video.
@@decb.7959 That's still sick. I would never have thought of this.
oh boy i can watch these animations for days
Amazing vid to allow someone not savvy in this to understand it pretty easily! I feel ready to take on Minecraft Redstone, and I am also excited to see someone make a Domino chain run doom :)
Just found you you seem like a very underrated channel in terms of views/subscribers
I guess for a *not* gate you would probably need to have it so that there is a set of dominos that always get pushed alongside the input and will be blocked if a 1 is input.
If they input 1:
1 Input------------ collide/ ''''''''''''''''' 0 output
-
-
Runtime 1-------
0 Input ''''''' no collide, 1 continues ---- 1 output
-
-
Runtime 1-------
Mainly just for those that say not is impossible
Wow great analogy and visualizations, love the idea and makes it so much less abstract
I never thought I see they day when Dominos were turning complete!
Oh yeah this is very cool:D
Glad you enjoyed!
Spanning Tree 😊👍
Now onwards to recreating Doom with dominos
But can you run doom on it?
Theoretically yes!
how did you make the animation? surely you didn't drag the dominoes by mouse
Really incredible explanation! Clear, clever, and concise! Very well done.
This is Very cool! we did this in my compute science class last month it was a very good activity
This is more cleaner than a minecraft 32 bit computer.
And weirder
I learned so much more here so much faster than I did in computer engineering school
You can't build a computer if you can only use each gate once. You can't feed your input with the last input so you can only build combinational logic but not sequential logic and therefore no computer. Also you can't build flipflops.
yes thats exactly what i thought and thats the issue with most of these logic gate alternatives, they cant be reset or turned on or off again
If someone watches this falling Domino's, they think it's just Domino falling. In fact it has a lot of information n computation in it. Strange.
Like this in nature (Eg. Atoms arranged in DNA and how they interact), information is all around us, we should know how to read the information.
As a computer programmer, this was very interesting (and satisfying) to watch. I'd never thought about it like this before.
unfortunately this cant really capture the idea of memory or storage. the only way to create a turing complete system would be to make the domino system infinitely long, with each copy in the line representing a new "timestep" of the system.
The thing to remember is that this is a single iteration circuit, so to make a computer would require some kind of reset functionality.
what about the "not" gate?
how do you make that work with dominos?
Would have been nice if you had an outro, and if you told us the name of the song used.
That's my only criticism.
Now I want to see an animation in which the long paths are barely long enough to be interrupted
Why weren't you my Programming I professor back in 1995? I might have stayed in the Computer Science major and made millions...
This is a cool way to conceptualize the logic. However, the dominoes would be hard to take past adders because they are timing-reliant, some of your circuits feed back through the inputs which can be a problem, and, of course, you can't reuse circuits.
Play GTA V on the computer built with these circuits
Great effort. But the title is misleading. You need memory (flip flops) and not gates additionally to implement a computer. An appropriate title would be ‘how to make (one time) adders using dominos’. Keep up the good work!
Let it be known that I'm your 738th subscriber. Can't wait for you to reach 1 million.
So how many dominos do I need to run doom?
So this is the exact same thing as Matt Parker did something like 7 years ago in real life, displaying a functioning domino calculator in front of audience. :)
If you think this is interesting, you should definately check that video out too. :)
Is it possible to simulate rule 110 with this?
Can we do it efficiently and thus providing dominos are P complete?
Well,we can only imagine circuits with Dominos,where inputs are fixed. If the inputs changes then you have to manually put together the Dominos again for it to work as depicted.
Hence you can't imagine sequential logic, fsm,Controllers or calculate logic operations for sequence of data nor memory operations.
Hence even hypothetically,you can't make a simple Turing machine with this concept.
However it's a good depiction of computer logics for high-school students.
I had to scroll down waaay too much to find your comment.
I think you took some inspiration from Matt Parkers Stand-Up-Maths 'Domino Computer' Video
how will this circuit handle if the input of AND gate changes from 11 => 10 (output expected switch from 1 to 0)?
Me, who knows that in 7:00 its adding 13 + 6 ☝️🤓
THIS IS THE BEST VISUAL REPRESENTATION OF COMPUTER LOGIC I'VE EVER SEEN
Somehow this is an amazing video...probably the best one I've ever watched 😃
That was incredible...It just makes you think about different possibilities on how to represent information...
Funny how he forgot the not gate
Shouldn't you be working at NASA already
wait... SO AMISH PEOPLE CAN USE SKYPE?!?!?!
The real question is how many dominoes will it take to run Doom?
So, the premise is interesting, the domino realizations of fundamental logic blocks is clever, and the explanations well done.
However, the video title promises a "computer" built with dominos, and in that regard this video fails. A "computer" is not the same as just a few logic functions and the ability to do simple math. By definition, a computer requires the ability to be programmed somehow, and to retain information, and some facility for changing what it does based on other factors. In theory, all of that can be managed in dominos, but this video does not even remotely get into all of those other (increasingly complex) necessities, and extrapolating what is shown here to what would actually need to be done.....well, this video does more to prove that a domino computer is practically impossible. Proof of this assertion is that none of the domino logic can be re-used, and a self destructive logic structure is not useful for making a computer.
It's satisfying and clever. Also, have you noticed that the OR gate inputs provide twice the kinetic energy when activated simultaneously? That means third logical level can be implemented.
Sounds like Brian from Harvard CS50.
yeah, he is the same person :)
cool, who sets up the dominoes over and over again for each computation? Thanks, was actually very different than anything I usually watch.
It's really cool. Haven’t even think of it that this can be explained by the dominos! Splendid explanation ❤
No way this video has not billion of views
No wonder my computer is getting so slow. It has to wait for those little guys inside to set up the dominoes again after every calculation.
This is one hell of a way to put it. I’ve never managed to understand logic gates until i watched this amazing video. Thank you.
Very cool. Now make it run Doom.
You deserve more views my friend this helps boil it down in a way that is relatable to humans. Great stuff !!
The time and patience you took to put this up if commendable! A big salute!😮
Yeah that's all cool but can it run DOOM? lol
but can it run DOOM ?
amazing! This is such a clear way to visualize computer curcuits!
Of you had enough could you play doom on it?
The NOT gate :
"Am I a joke to you ?"
This taught me more about computers, gates, and addition than videos dedicated to this topic.
dude you just got a subscriber. Really nice explanation. thanks
Great visualizations, thanks for your hard work!
At 02:26 you can see that the method/function/subroutine modifies one of the input values. The input 0 becomes a 1. That should not happen in programming.
This is great! were you inspired by 3blue1brown?
Brooooooooo… what’s next. Playing DOOM on my Domino Computer?
"How will we make a domino fall only if both inputs are 1"
me: big domino need x2 domino of force to topple
my recommendations at 3am:
Very interesting explained 💝💝🙏
DominOS
I know how to fix the XOR's backflowing error but im to lazy to explain it.
This is so cool! One of the most creative things I've seen on RUclips. But maybe you just learned in computer school and I'm dumb, lol!
Wow, amazing! subscribed and liked!
That's just an ALU. Don't think it's possible but would be cool to see a Register File with Domino's.
When I'm rich as fuck, I'm gonna go back to my high school and set up a full adder like this to show those foolish 7 graders how computers work.
While very cool, this is not a computer. A one-time calculator at best. What's lacking is memory and it's problematic as you cannot switch a domino to a standing state.
this is't computer even processor, in the end you are showing only full adder, but it isn't computer, so video is clickbait
that's utterly amazing thanks for sharing
Why code for silicon with 1s and 0s when you can code for gravity with minutes of labor per gate that you can only run once? 😂
I have studied this in my class but that wasn't clear but now l understood . Thank you ♥️
The main difference between this and a computer is that this is not reusable. It's not actually a circuit, it can only do one operation and you have to manually rebuild it every time.