A Computer Built With Dominos
Vložit
- čas přidán 1. 06. 2024
- By arranging enough dominos into just the right structure, we can build a computer. But how do we arrange dominos in such a way that they can perform computation? Here, we explore the process of building domino logical circuits by carefully arranging dominos into configurations that can compute logical functions.
0:00 A Domino Computer
0:56 OR
1:39 XOR
2:47 AND
4:30 Half Adder
6:06 Full Adder
7:20 The Circuit
I first saw this concept in Matt Parker's 10,000 Domino Computer ( • The 10,000 Domino Comp... ), which I'd absolutely recommend watching: computer simulations make for great visualizations, but building the physical domino circuit is an entirely different type of impressive.
***
Spanning Tree is an educational video series about computer science and mathematics. See more at spanningtree.me
To be notified when a new video is released, sign up for the Spanning Tree mailing list at spanningtree.substack.com/
Spanning Tree is created by Brian Yu. brianyu.me/
Email me at brian@spanningtree.me to suggest a future topic.
very cool! the only downside is that it is hard to un-fall a domino
Are you sure about that?
czcams.com/video/IQhgiL3TqYQ/video.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 👌
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 😂😂😂
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
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
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.
This is FANTASTIC. Makes one see how information is truly substrate independent
This concept should be taught to children as a foundation to show how computers work. Kudos to you Sir.
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 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
The explanation is amazing and this is even better than crash course computer science!
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
I really like how this is explained. Makes the base concepts way easier to understand.
“Have you tried turning it off and back on again.”
“Hold on let me try that real quick.” **starts stacking dominos for 10 hours**
I never thought I see they day when Dominos were turning complete!
How did you make this animation? It looks amazing
Coded it in dominoes
oh boy i can watch these animations for days
😄 😄 must be about the most creative thing I've seen on youtube. On a technical note, the way he avoided a NOT-gate, thus any need for a ‘constanr supply’, in order to create a XOR straight is highly impressive. 👍👍
This taught me more about computers, gates, and addition than videos dedicated to this topic.
Wow great analogy and visualizations, love the idea and makes it so much less abstract
Really incredible explanation! Clear, clever, and concise! Very well done.
That was incredible...It just makes you think about different possibilities on how to represent information...
THIS IS THE BEST VISUAL REPRESENTATION OF COMPUTER LOGIC I'VE EVER SEEN
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
This is the best CZcams video on computer logic that I have ever seen.
You deserve more views my friend this helps boil it down in a way that is relatable to humans. Great stuff !!
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
As a computer programmer, this was very interesting (and satisfying) to watch. I'd never thought about it like this before.
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.
The time and patience you took to put this up if commendable! A big salute!😮
*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!
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
Great video! I find it so interesting that a computer’s logic can be so simple to be made with dominoes but so complex at the same time.
Great visualizations, thanks for your hard work!
This is more cleaner than a minecraft 32 bit computer.
And weirder
Bro Mathed so hard he made a computer out of gravity
amazing! This is such a clear way to visualize computer curcuits!
Your stuff is awesome. I'm glad you're back.
Oh yeah this is very cool:D
Glad you enjoyed!
Spanning Tree 😊👍
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.
The best best best explanation on how computing works. Amazing
Though I learned about simple logic gates through playing Minecraft I grasped the concept of said gates much more through this video. Thank you!
But can you run doom on it?
The thing to remember is that this is a single iteration circuit, so to make a computer would require some kind of reset functionality.
2:45 this AND function is incredible and incredibly smart i love it
Computer out of domino: cool
Domino out of computer: cooler
Great video 👍
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
dude you just got a subscriber. Really nice explanation. thanks
the videos on this channel are absolutely awesome
The most undervalued CZcams video ever
Amazing video! Subscribed! You even used the proper gate symbols.
This is Very cool! we did this in my compute science class last month it was a very good activity
Just amazing. I loved it, thank you for this.
The algorithm never fails to bring me things I didn't even know I wanted to watch. This was great!
very amusing, cool presentation man. thank u
you made this so much easier to understand
This is so cool!! Thank you for making these videos! 🎉
Really cool explanation. Thumbs up!.
I remember learning this for networking engineering. Very interesting stuff
What a curious way to show how logic gates work, that was amazing!
It's really cool. Haven’t even think of it that this can be explained by the dominos! Splendid explanation ❤
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.
Omg this was amazing ! Great job
thats a neat way to explain how computer stuff workds
Somehow this is an amazing video...probably the best one I've ever watched 😃
that's utterly amazing thanks for sharing
Best computer principle explanation ever
I wish I could've seen this about 19 years ago lol I think this is one of my new favorite channels
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 work!
This is so cool! One of the most creative things I've seen on CZcams. But maybe you just learned in computer school and I'm dumb, lol!
Thanks for actually showing this to me when I theorize that this can work.
This is absolutely amazing! 😮
Excellent work
Amazing stuff!
This is ingenius and hilarious. Great video!
these domino circuit components are incredible
Wow, amazing! subscribed and liked!
This takes me back to school. Don't get to work with hardware design very often!
Amazing work !! 😃
thank god, this is so much clear now, so easy to understand, genius
Awesome video man
The back music is very calming!
Now I want to see an animation in which the long paths are barely long enough to be interrupted
Just stunning!
This is so freaking cool!
Woow, this is a fantastic analogy ! Big thanks for sharing it to us !!!!
Dammnnn. This is a great way of visually explaining how a computer works. Kudooss
Superb!!
BEST thing I have seen in a while
Cool. Thanks for sharing.
I learned so much more here so much faster than I did in computer engineering school
Thank you so much for doing this
this video makes me more knowing about the computers science than makes me have fun
this is such a cool way to understand a bit (hehe) more about Binary!
I learned more in this then I had in my college course for computer structure
“What ya doing with all them dominoes, son?”
“Playing Doom.”
I thought of this when I was ten, cool to see someone actually performing it