rlm@302: Dear Professor Winston, rlm@302: rlm@305: I've finished the first part of my project, building a framework for rlm@305: virtual sensate creatures; I would like your help evaluating what I've rlm@305: done so far, and deciding what to do next. rlm@302: rlm@305: For the work I've done so far, I compiled the results into short rlm@305: articles that explain how I implemented each sense, with videos that rlm@305: show each sense in action. Please look through the articles, in rlm@305: particular the video showcase, and tell me what you think. rlm@302: rlm@310: Video Showcase : http://aurellem.org/cortex/org/cover.html rlm@302: rlm@302: Introduction: rlm@302: http://aurellem.org/cortex/html/intro.html rlm@302: http://aurellem.org/cortex/html/sense.html rlm@302: rlm@305: Physical Bodies : http://aurellem.org/cortex/html/body.html rlm@305: Vision : http://aurellem.org/cortex/html/vision.html rlm@305: Hearing : http://aurellem.org/cortex/html/hearing.html rlm@305: Touch : http://aurellem.org/cortex/html/touch.html rlm@305: Proprioception : http://aurellem.org/cortex/html/proprioception.html rlm@305: Muscles : http://aurellem.org/cortex/html/movement.html rlm@305: Full Demonstration : http://aurellem.org/cortex/html/integration.html rlm@302: rlm@305: I think this work could be a fruitful foundation for a Master's rlm@305: thesis, so in particular, I'd like critiques, suggestions, and project rlm@305: ideas. For example, here are some projects I think would be worthy, in rlm@305: increasing order of complexity: rlm@302: rlm@305: * Create a self-powered joint that can determine its range of rlm@305: motion and joint type (hinge, cone, point-to-point, etc.) by rlm@305: making exploratory muscle movements and observing their effect. rlm@302: rlm@305: * Develop an agent that writes and debugs low-level motor control rlm@305: programs to achieve simple goals like "look at the light" or rlm@305: "extend all of your fingers". These simple "calisthenic" rlm@305: programs could then be combined to form more elaborate rlm@305: procedures of motion, which in turn could be the basic rlm@305: instinctive reflexes in the "spinal cord" of some more advanced rlm@305: creature. (like Sussman's HACKER program but in a richer world) rlm@302: rlm@305: * Program a group of creatures that cooperate with each rlm@305: other. Because the creatures would be simulated, I could rlm@305: investigate computationally complex rules of behavior which rlm@305: still, from the group's point of view, would happen in "real rlm@305: time". Interactions could be as simple as cellular organisms rlm@305: communicating via flashing lights, or as complex as humanoids rlm@305: completing social tasks, etc. rlm@302: rlm@305: * Simulated Imagination -- this would involve a creature with an rlm@305: effector which creates an entire new sub-simulation where the rlm@305: creature has direct control over placement/creation of objects rlm@305: via simulated telekinesis. The creature observes this sub-world rlm@305: through it's normal senses and uses its observations to make rlm@310: predictions about its top level world. rlm@302: rlm@305: * Integrate the simulated world with Genesis, so that Genesis rlm@305: could use the simulated world to answer questions about a rlm@305: proposed physical scenario. For example "You stack two blocks rlm@305: together, then hit the bottom block with your hand. Does the top rlm@305: block move?". This project is complicated and very large in rlm@305: scope, but it could be narrowed to focus on a single key rlm@305: aspect. For example, one key aspect of turning a scenario into a rlm@305: simulation is knowing when you're constructing "typical" or rlm@305: "atypical" examples of the scenario. So, a narrower project rlm@305: might simply learn about the edge cases of different scenarios rlm@305: (e.g. "A block stacked on top of another block is usually rlm@305: stable, provided the bottom block is large enough, and is not rlm@305: moving, and is level, etc."). With this knowledge, this kind of rlm@305: program could aid Genesis not only in answering common-sense rlm@305: questions, but in refining them: "A block is stacked on top of rlm@305: another block. Is it stable?"; "Usually, but do you know if the rlm@305: bottom block is slanted?", etc. rlm@302: rlm@305: These are some ideas, but I think you can come up with better ones. I rlm@305: can't wait to hear your critiques and suggestions. rlm@302: rlm@305: Finally, regarding next year at MIT, can I be considered for the rlm@310: position of TA for 6.034 or 6.xxx? Also, do you want me to return to rlm@310: MIT at the beginning of Fall or at the beginning of Summer? rlm@302: rlm@305: Sincerely, rlm@302: --Robert McIntyre