Hacker News new | past | comments | ask | show | jobs | submit login

Shannon did not use the word intelligence to describe the mouse in this demonstration - instead, he talked about learning. That's why the second run was considered more important than whatever algorithm was used to solve the maze.

To that end, I'm curious about their cache invalidation solution. Are there timestamps, or is it a flag system?




You are being far, far, far too generous with the complexity of this design if you think there's some kind of cache invalidation. It's a purely mechanical computer, which means it is going to be very simple in abstract design, because doing anything even mildly complex would require an insane amount of space.

I can't find design documents for this, but I can make a pretty educated guess about its design.

Each square has two relays, representing the number of left turns necessary to exit the square. Each time a whisker touches a wall, a signal is sent to a mechanical adder which will add 1 to the relays in the space. When the mouse enters a square, a "register" is set with a value, based on if it entered from the left, top, right, or bottom, then the mouse is turned and the register decremented until it hit 0, then the mouse attempts to walk in the indicated direction.

The maze ends up looking something like this:

    +-----+
    |0|1 1|
    +-- - +
    |1 3|0|
    + --- +
    |1 3|x|
    +-- --+
Where the mice starts on x and turns the number of times in each square. You can actually put the mouse down anywhere and it will exit the maze, if the walls are left unchanged.


If my memory serves me right, you are right. I think I've read that it was implemented with two relays per cell. These encode the last cardinal direction the mouse exited the cell in.


On the repeat run.. does the mouse always turn left or does it sometimes turn right ? I wasn't paying close attention.


> I'm curious about their cache invalidation solution

My guess: there would be a model somewhere (probably a binary relay map of walls) of the maze, and as soon as the mouse hits an inconsistency, this map is updated. So there isn't really a cache, it's more like a model, or perhaps you can think of collision-based cache (model) invalidation. The mouse probably then follows the solution to this modified maze, modified only insofar as it has measured modifications.

Is there a technical specification somewhere? I'd certainly be curious to read it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: