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