Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×

Comment Re:Haskell? (Score 1) 138

I found that I can write much more efficient QBASIC code after learning & using Haskell. (^_^)

Now, if only graphics in Haskell were as easy as QBASIC. (Unless one of the million or so mutually-incompatible graphics-related packages on Hackage does everything I want but I missed it.)

Comment Re:Koomey's law (Score 1) 101

The space requirement is not infinite for reversible computing unless it is also infinite for irreversible computing (& thus equally impractical), even if you want a polynomial slowdown. The paper proves this. That 3 GHz CPU either has finite external memory (& thus loops or stops after at most exponentially many steps (or, in the real world, suffers hardware failure)) or infinite external memory (in which case, you have already solved the infinity problem).

Comment Re:Koomey's law (Score 1) 101

Reversible Space Equals Deterministic Space says that for a Turing machine running in time T(n) & space S(n), you can get the space & time both linear in T(n) (as I suggested) or space O(S(n) log T(n)) with time O(T(n)^(1+epsilon)) or space O(S(n)) with time exponential in T(n). So there is a tradeoff, but the space does not have to be (more than linearly) worse if you are willing to wait (way too long, of course, unless you are already worrying about the heat death of the universe), & not much worse for space or time in the middle case.

Comment Re:Koomey's law (Score 1) 101

Hmm. I suppose that can be true in an iterative setting (needing to store some data from every iteration), & that the only hope of avoiding that is rewriting the whole loop to be fully reversible so it does not consume space every iteration. (It cannot take more space than linear in the run time, at any rate.) I was imagining recursive functions with stack allocation for each, but I should know better since I use tail recursion all the time. So I guess I was only right about iteration- & tail-recursion-free code.

On the other hand, it should not require more than an exponential increase (hah, only exponential) in space for any terminating & non-interactive computation, since with that you could store every possible state of the original irreversible machine. For non-terminating computation, it is at worst linear in the runtime, as aforementioned.

Comment Re:Koomey's law (Score 1) 101

B=A XOR B (leaving A unchanged) is a reversible operation & is what I meant. More generally, B=f(A) XOR B is reversible (in fact, self-inverse), where f can be any (even irreversible) function.

Sure, you need to save the input to otherwise-irreversible steps, but the point is that you can erase a known value, & since there was some method to compute the intermediate values in the first place, they can be removed from memory in reverse order. (This is a known method—I did not come up with it.) Then you only need enough memory to store the maximum intermediate storage size (which is not all intermediate results unless the computation is a single list of originally-irreversible steps with no subroutines & such), & you can eventually end up with just the answer (& any inputs) remaining in memory.

Comment Re:Koomey's law (Score 1) 101

Reversible computing in no way requires infinite storage...you just compute something, copy the answer, & then un-compute it (by computing each value in reverse order & XORing it with its original copy, for example). You then only need storage for the maximum size of temporary data plus the final answer, just like now. You get a speed penalty for all that un-computation, of course, but not infinite storage. Plus, you can still expend energy occasionally to erase data (such as the data left over from correction of hardware errors), just as long as you do not do so much as to incinerate your computer.

Comment Re:Don't tell Kurzweill (Score 1) 101

Making use of reversible computing, we could build fully 3-D circuitry since there would be much less power to dissipate (although still some to correct hardware errors & perhaps to clean up crashed processes). This would in turn get around no longer being able to make smaller transistors, & thus could be one future direction. Fabrication might be more tricky, but more money could go into such projects if it is not going into smaller, smaller, smaller. Software would similarly require changes, but again, once there is no easy way forward, harder ones will be attempted, like has happened with methods of gold & oil extraction.

Comment Re:Nice, so where's the processor to match? (Score 1) 152

One use would be as a glasses-free 3D display (if they used something like a lenticular layer, although it would need to be active to adjust for viewing distance). Of course, the GPU would need to catch up, as you say. In fact, it might make sense to have a 4K panel configured as an HD 3D display that allows screen rotation (& just double up the pixels in the currently-vertical direction)...that way, you only need twice the GPU power of an HD display rather than 4X. If the lenticular layer can be switched off entirely, it could even switch to full 4K (at a lower frame rate if necessary) for things like viewing text & relatively-static images.

Comment HWRNG (Score 1) 56

Did they try finding an entropy source on-calculator like Linux uses for /dev/random? It seems that reading from an unconnected address occasionally yields different values...maybe characterize the distribution to get a lower bound on its entropy, then let it run automated for however many seconds or minutes it takes to accumulate enough. It would be easier on the user than rolling a die a bunch. (Of course, it might be hard to rule out systematic trends in the bits returned without intimate knowledge of the physics of the hardware involved.)

For that matter...what about the slight bias of actual physical dice rolled by humans? You only get ~258 bits from 72d12, assuming it is perfectly random. You need extra rolls to get the full 256 bits needed (with a sufficiently high probability), plus some strategy (hashing?) to mix the slightly spread-out entropy into a maximum-entropy key.

Slashdot Top Deals

Arithmetic is being able to count up to twenty without taking off your shoes. -- Mickey Mouse

Working...