Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Just multipling all three numbers had the drawback of creating absurd numbers very quickly.
The gate and delay score are actually scaled in a way so they relate to each other, that's why the white of the basic gates is 1/2. This stops making sense once you get to architectures, but the current system does produce nice tradeoffs in component levels.
For architectures, there is also the time score. The gate + delay * tick would probably make the most sense.
But saying the current system is nonsense is a bit extreme. Many people have spend quite a bit of time trying to find a clearly better system, but we couldn't come up with anything that stays easy to understand with tradeoffs we wanted to encourage.
Here a real-world example. My first attempt to make the "The product of nibbles" was the standard boring 4 shifts and 3 adders that in my case has 478 gate score and 46 delay score. After that I've made a solution optimized for speed that has 2382 gate score but only 12 delay score. The game didn't acknowledge my effort and the new solution cannot be found on the leaderboard.
I don't know what is wrong with big numbers. Players don't care about exact number either way. The important thing is which one is bigger which can be still compared rather easily. (See the table in my previous post.)
If it is really important to keep the numbers readable, there are ways to do that without changing the scoring system. There is the scientific notation which could probably be understood by default by an average player of this game. Or the score could be a logarithm of the product of the multiplication (which to me is not a real change from just multiplication because it doesn't affect the relative order of scores).
I would need some examples of that tradeoffs to really say anything about them.
I agree that it would be better than the current solution but on the other hand this would still have the same problems that gate + delay has in component levels.
OK, maybe it isn't a total nonsense. I agree that it kinda works in early levels, although, this is partially caused by the fact that in those levels number of gates and delay are both pretty small which keeps them in the same order of magnitude; and also that those simple circuits tend to get faster when you find a solution with a smaller number of gates so there is not any real tradeoff at all. I can find examples when this scoring system chokes as early as the level "Counter".
I would argue that the multiplication approach would work at least as well in every case.
The server really does. https://turingcomplete.win/#multiply;mode=delay There is your score in third place. I know this game better than you.
The problem is that it becomes umnagable to put any meaning to numbers that large (or even worse, to their logarithm). But I agree that this is not that important.
See the adding Bytes level top scores in gate, delay and sum. Same for Product of Nibbles.
No? Not really? Like, you haven't convinced me that there is a problem. The fact that the best delay solution is not the best sum solution is a benefit.
Really? I can't looking at the top scores https://turingcomplete.win/#tick_tock;mode=sum
I also think the costs of certain builtin components (specifically the RAM) make for bad gameplay. If your architecture includes a RAM, then that RAM completely dominates the delay score and heavily contributes to the gate score of that architecture. Yet, without RAM, it becomes impossible to solve certain levels (like the sorting one) in software.
That is why the game provides you two other RAM components to solve this problem: FastRAM and LatencyRAM. This is supposed to show of IRL tradeoffs. What you are describing is a feature of the scoring system. The baseline RAM is supposed to be the simple to use one when you don't care about score.
you have a 1100/10 solution. how many gates can you add to improve it to /8, and still be on top of the leaderboard?
in current score sum system, it's 1 gate to be better, and 2 gates to be tied - which means that the game encourages balancing the "cost" of the circuit (gates) and the "speed" of the circuit (delay), making sure neither of them is very large
if we take your score system, we can use 11000/8 = 1375 gates, until we are considered tied - aka we can add up to 275 gates in order to 'improve' this solution
this kind of thing encourages players to add tons of gates, in order to reduce delay by a little bit - and that's not the kind of leaderboard i would want to compete in, and probably no one else does, unless they personally value delay score a lot - in which case delay-specific leaderboard should be better
sidenote: 500/500 score is pretty unrealistic, 'cos you need to spend 250 gates just to get that delay number. whatever that circuit is, it's probably suboptimal, 'cos it should be easy to rearrange gates and get a lot lower delay
regular RAM score is also unrealistic in this way, but the reasoning there is to discourage people from building custom RAMs using individual registers =)
If we calculate 1 / delay we have something akin to Hertz. (We don't know the unit of delay but it will be proportional to Hertz.) So, to calculate the cost of Hertz in gates, we do gates / value-of-hertz = gates / (1 / delay) = gates * delay. This result has meaning - it's the gates cost of hertz (in some arbitrary unit).
On the other hand, I cannot find any meaning in adding together two unrelated units of measurement.
Gate and delay scores wouldn't change. The general score board would have slightly different, and in my opinion much saner order.
Let's take the "Product of Nibbles" as the example because the order there would change more if we used multiplication and I gonna argue that all the changes would be for the better. For example, currently the 89 gates 20 delay solution is lower on the leaderboard than the 87 gates 22 delay. 22 is very hard to get under a 100 getes; only a few people managed it. Imagine how hard must it been to optimize it even further and go to 20 adding only 2 gates. (2% more gates for 9% speed gain) That must have been insanely hard, a great achievement, but the score still remain the same. That is not fair for this person and it is not a good balance either. There is more examples like that near on this leaderboard. (You may try argue that I'm putting delay at more important position that gates but no. The delay leaderboard is dominated by people with gates numbers in thousands. This would never reach the top of the general leaderboard if it used multiplication - the balancing would is still be there but the harder scores to achieve would be promoted, not some arbitrary chosen ones.)
If anything this proves my point. (See the previous paragraph of this answer.)
I can tell you that these 275 wouldn't be a brute-force solution. Normally, when your circuit is already optimized that much for speed, the only option to make it even faster is to duplicate big parts of it and run things in parallel. It would take more than 275 gates to do that. 275 proves that the creator of the circuit found some really clever optimization. It would be very hard to do something like this. The leaderboard should promote the solution that require the most effort to achieve, not the ones that has some sum of numbers lower.
(See also my argument about "Product of Nibbles" in the previous post.)
Yeah, exactly, 500/500 is ridiculously bad. It's a solution of the type: let's just slap RAM on it because I am too lazy to figure out how to do it with registers. But the game still regards this approach higher than designing a large complicated circuit to reduce the delay to a really small number.
Uhm... What?Just putting random units together is not meaning.
Fair, also doesn't really have meaning.
Actually no. Most likely you can do that switch around with very little effort by replacing a critical OR or two with switches.
*the one you, without knowledge, choose to define as hard.
Unsure what you mean here. For Counter, the tradeoff between delay and gate is very small. Unless you arbitrary define the 8 delay solution to be fundamentally better than the 10 delay solution (despite more than likely just being a switch-OR tradeoff), I doubt much will change. Product of Nibbles is a better example for your point.
Who already has 1100, you confused yourself by an order of magnitude. (not sure if that changes anything for you).
You cannot with a straight face tell that 56/8 solution isn't better that the 51/10. 10 delay is already amazing; I cannot go below 14. 8 is insane and 5 gates more doesn't change that in the slightest.
You accuse me of being arbitrary but arbitrariness is exactly what I'm fighting against.
The gates + delay store is arbitrary. Gates * delay represents the gate cost per hertz and it is a logical way to assess the quality of a solution.
You're right but no that's doesn't really change anything. I think that 275 is a fair cost for the insane achievement of decreasing delay from 10 to 8.
Let's compare this to the current system which says that 1103/8 solution is worse than 1100/10. This is obviously ridiculous.
It is literally trivial to beat every level in /8 (one you have switches). That you can't do it isn't a factor for how hard it is. Sure, getting a good gate score for that is impressive. But so is trading 2 delay for 5 gates.
It's two mostly arbitrary scoring system with different tradeoffs. You are valuing percentages arbitrary more than absolute values.
As I said above, literally every level can trivially be beaten in /8. And the order of magnitude between 1100 gate and 10 delay is so absurd that this can literally never happen in any level (for an actually optimized solution), unless you are bruteforcing. Also, "this is obviously ridiculous" is not an argument. I mostly disagree tbh. It's a bit weird, but not ridiculous. If you want to optimize for delay, go for it. And we will probably get a better scoring system at some point (maybe even the exact multiplication system you described here). But saying the current system is "nonsense" and "absurd" to me shows that you aren't that good at optimizing this game.
Well, obviously I wasn't discussing a 8 delay solution where the gate count is very high. It is impressive when the gate cost is relatively low and my proposed scoring represents exactly that. (It's describes the relation between gates and delay.)
I'm valuing percentages because they can always be related to each other. Comparing absolute values works only if they are very close to each other which limits is usefulness to mostly the early levels.
Of course, the example was exaggerated to show the problem more clearly. I've already shown a real-life case where I think the system does not work. (the 87/22 vs 89/20 in "The product of Nibbles")
Optimization purely for delay is an entirely different thing and you can see clearly by looking at leaderbords of (again) "Product of Nibbles". This discussion is about the general score - the one used by the game and the official leaderboard.
I'm fairly good at that, thank you; please, do not lower yourself to personal attacks.
The problem is not that I'm unable to get a good score. The problem is that to do that I have to do things that would make no sense in the real world. This is supposed to be an educational game and that kind of things annoys me.
Beside that, I believe that trying to minimize the cost of a hertz makes for a better challenge, even if we asses it purely at a game terms. The current scoring just tells you to stop optimizing at some arbitrary point where the absolute number of gates is too high compared to the delay. After this point, even if you have some ideas for clever optimizations, the game will only punish you for them.