Feed Icon RSS 1.0 XML Feed available

Funny Maze Solver From Age 13

Date: 11-Dec-2013/9:55

Tags: , ,

Characters: (none)

When I was 13, I don't remember if it was mandatory to participate in the Science Fair or not. Either way, I did... and I decided I wanted to write a program that had an "artificially intelligent" maze solving mouse. I found the pages from the display and typed them in and scanned the pictures into a Google Doc:
It had been sort of an excuse to try doing some machine language programming, which I used a small bit of in order to make the maze drawing faster. I also learned about how to do direct accesses to screen memory, so that I could read and write the bytes without needing additional storage. I was getting really into how to encode large amounts of data efficiently in binary memory blocks, and so it was a good time of discovering all that.
I didn't really do any research on maze-solving algorithms. Seems that I recall trying, but having not taken any computer science... there would have been a lot of learning required to get started on algorithms. And back in my day we didn't have this fancy Internet. So if the local library only had a book talking about maze solving that was over your head then you were just kind of screwed.
So in the terminology I used, I equated a mouse "learning" a maze with being able to solve it...and then have its "brain" saved and reused to do the same thing. I gave it a seemingly-arbitrary 2048 byte limit on its memory, which I used for it to store its decision for how it would react when it saw a certain type of local configuration. Then each time it saw that configuration again, it would go the same direction.
Unsurprisingly, if solving a maze required visiting two identical-looking intersections and a different choice was needed to be made in the two locations...such a mouse was hopeless. But I didn't want the mouse to be just remembering a log of what it had done. Its brain was supposed to be the DNA for reasoning about what it should do.
Note I probably should have called it Insanity Mouse instead of Learning Mouse. "Insanity: doing the same thing over and over again and expecting different results." I'll also point out that it's completely unsurprising that a student in the American public school system would equate "memorization" with "learning". :-/
The better idea I had was to let the mouse leave behind a kind of trail-of-bread-crumbs in screen memory, which could be used to help decide where it had already looked or not looked. If I find the time I might look into whether the technique I called "Triple Trail Priority" actually can solve any category of maze I was using...and if it can, if it's minimal or if there's some other way of doing it. But in the meantime, here it is to be amused by. :-)
Business Card from SXSW
Copyright (c) 2007-2018 hostilefork.com

Project names and graphic designs are All Rights Reserved, unless otherwise noted. Software codebases are governed by licenses included in their distributions. Posts on blog.hostilefork.com are licensed under the Creative Commons BY-NC-SA 4.0 license, and may be excerpted or adapted under the terms of that license for noncommercial purposes.