Turing Complete

Turing Complete

View Stats:
Cromdale Jan 2, 2022 @ 7:13am
ODD TICKS - do not understand the delay buffer
I don't understand the "odd ticks" task. I don't think I understood the delay buffer. Can you explain the delay buffer in more detail?
< >
Showing 1-15 of 18 comments
Stuffe  [developer] Jan 2, 2022 @ 11:15am 
The delay buffer outputs the input value from the last tick. So if tick 0 the input for delay buffer is ON, then on tick 1 the output will be ON.

Remember the text for the "Odd Ticks" level tell you that you connect it in a circle
Cromdale Jan 2, 2022 @ 12:06pm 
This mean, tick 1 is odd, tick two not. How can I stop even numbers of ticks? I need an on off switch. How can I set the buffer OFF again?
NebbyOtt Jan 2, 2022 @ 3:42pm 
stop allowing the signal to pass through
SunCat Jan 3, 2022 @ 4:53am 
when you have nothing/0 saved, you save something/1. When you have saved something/1, you save nothing/0 instead
=)
Cromdale Jan 3, 2022 @ 5:34am 
Originally posted by SunCat:
when you have nothing/0 saved, you save something/1. When you have saved something/1, you save nothing/0 instead
=)
???
You have a component that can initiate the buffer with no input, think about how to loop the wires to turn the delay buffer on, then off again


https://steamcommunity.com/sharedfiles/filedetails/?id= 2706295415

remove the space after = since it it won't let me spoiler images for some reason
Last edited by Ragdollintothewall; Jan 3, 2022 @ 5:38am
Asfuma1 Jan 4, 2022 @ 1:05pm 
Stuffe, here's what caused my confusion with the level, you can decide if it warrants any changes.
All the functions are supposed to be deterministic, that is, if you know the inputs you can determine the outputs. So for two-pin "AND" the 0 and 0 always result in 0 in the out. In this level you have one-bit input but the output is not uniquely defined for the same value in the input. So if you have 0 in the input the output can be either 0 or 1. Thus this function effectively becomes nondeterministic. (Yes I know in Turing's machine you also have state but if I understand correctly the state has not been introduced at that point yet, so outputs are defined solely by inputs).
I can see that in this level you have the "previous tick" component which provides the value of the previous "tick". I think if you made this an input you'll make the function deterministic again.
Btw thank you for all your work this game is awesome.
MarximusMaximus Jan 4, 2022 @ 1:32pm 
I believe this level is supposed to be introducing state and non-deterministic effects (as based solely on /current/ input, this one is deterministic, just based on both current and previous input). With that in mind, anything you can think of that would make it clearer to you? (It sounds like you did solve it?)
Asfuma1 Jan 4, 2022 @ 2:59pm 
Have not solved it yet, I'm sure I will eventually. My confusion is about having non-deterministic function as per the inputs shown. If the "previous tick" however it's defined is added as an input (it is not currently) I think the function will become deterministic and it will be less confusing.
Maybe that's how he introduces the concept of "state" (meaning memory); even in that case I think it could be done a bit more logically. Just my 2c :)
Stuffe  [developer] Jan 4, 2022 @ 11:23pm 
Originally posted by Asfuma1:
Stuffe, here's what caused my confusion with the level, you can decide if it warrants any changes.
All the functions are supposed to be deterministic, that is, if you know the inputs you can determine the outputs. So for two-pin "AND" the 0 and 0 always result in 0 in the out. In this level you have one-bit input but the output is not uniquely defined for the same value in the input. So if you have 0 in the input the output can be either 0 or 1. Thus this function effectively becomes nondeterministic. (Yes I know in Turing's machine you also have state but if I understand correctly the state has not been introduced at that point yet, so outputs are defined solely by inputs).
I can see that in this level you have the "previous tick" component which provides the value of the previous "tick". I think if you made this an input you'll make the function deterministic again.
Btw thank you for all your work this game is awesome.

Well I see your point, but the circuit is still deterministic in the sense that if you reset the circuit and click "next tick" 3 times you will always end up in the same state. I think it is valid as you mention to think of this delay buffer as an input from the previous tick.

And yes, this is the way the game introduces memory. I am trying to be as inclusive as I reasonably can by not using too many technical terms.
MarximusMaximus Jan 5, 2022 @ 6:54pm 
re: "not using too many technical terms"
It might not be so bad to introduce and define technical terms? As they get encountered or become relevant? I mean, the game overall IS pretty technical to begin with; teaching correct terminology might not be such a bad thing? Your call though. :-)

For this level I had an idea, but I'm not sure if it's a good one. Right now it just shows a row for "Desired Output". Maybe something like "Previous Output / Current Input" row would help make it more intuitive? Not sure. Again, your call. :-)
Asfuma1 Jan 6, 2022 @ 12:32pm 
[Removing page-long rumbling]
I think in my case the sequence of tasks is messed up; I have "circular dependency" first, "Double Buffer" next, followed by "Odd Ticks" (I believe it should be Circular Dependency, then Odd Ticks, then Double Buffer). Probably got messed up during one of the updates.
I'm still very confused despite having solved 2 out of these 3. I'm afraid you need to make some tweaks for these to make sense.
Last edited by Asfuma1; Jan 6, 2022 @ 12:58pm
Lorentz Factor Jan 10, 2022 @ 7:57pm 
Originally posted by Stuffe:
The delay buffer outputs the input value from the last tick. So if tick 0 the input for delay buffer is ON, then on tick 1 the output will be ON.

Remember the text for the "Odd Ticks" level tell you that you connect it in a circle

This just feels odd without the SRL, trying to test things without the ability to free run inputs both concurrently instead of a per input change step is weird and doesn't alloww for good debugging. I can't test a static input set and have to run it through the test case input states, which is extremely annoying when step delay signaling is used. I had no trouble with anything on the left side, But that's cos everything works as expected and this is just a bit odd and not being able to test the states beyond a single step without changing inputs is just killing it for me :\ I cant test "On | On" "Off:Off" single step state changes as it currently stands.
Last edited by Lorentz Factor; Jan 10, 2022 @ 7:58pm
WashedPhenom Dec 11, 2022 @ 3:31pm 
For me, the stumbling block with this "odd ticks" level was that the solution is INDEPENDENT of the input signal. As in quite literally NOT EVEN CONNECTED TO IT. Every level previous to this one has presented the input block as our origin point for a signal.

Seems like kinda a cheap level, but maybe this thinking will be needed later.
Guruleni Jan 6, 2023 @ 2:12am 
In real computer architecture, is there this component? I'm asking it because if you play nandgame, there is no delay tick component, and you can create the same behavior anyway. So, is this component a real component, or it is just a "work arround" introduced to Turing Complete to make circular dependency possible?
< >
Showing 1-15 of 18 comments
Per page: 1530 50

Date Posted: Jan 2, 2022 @ 7:13am
Posts: 18