annotate winston-intro.txt @ 321:702b5c78c2de

gathered all the tests into (run-suite), which should make testing vastly easier.
author Robert McIntyre <rlm@mit.edu>
date Tue, 08 May 2012 08:22:19 -0500
parents 71946ec07be9
children 9ba3959b261b
rev   line source
rlm@302 1 Dear Professor Winston,
rlm@302 2
rlm@305 3 I've finished the first part of my project, building a framework for
rlm@305 4 virtual sensate creatures; I would like your help evaluating what I've
rlm@305 5 done so far, and deciding what to do next.
rlm@302 6
rlm@305 7 For the work I've done so far, I compiled the results into short
rlm@305 8 articles that explain how I implemented each sense, with videos that
rlm@305 9 show each sense in action. Please look through the articles, in
rlm@305 10 particular the video showcase, and tell me what you think.
rlm@302 11
rlm@310 12 Video Showcase : http://aurellem.org/cortex/org/cover.html
rlm@302 13
rlm@302 14 Introduction:
rlm@302 15 http://aurellem.org/cortex/html/intro.html
rlm@302 16 http://aurellem.org/cortex/html/sense.html
rlm@302 17
rlm@305 18 Physical Bodies : http://aurellem.org/cortex/html/body.html
rlm@305 19 Vision : http://aurellem.org/cortex/html/vision.html
rlm@305 20 Hearing : http://aurellem.org/cortex/html/hearing.html
rlm@305 21 Touch : http://aurellem.org/cortex/html/touch.html
rlm@305 22 Proprioception : http://aurellem.org/cortex/html/proprioception.html
rlm@305 23 Muscles : http://aurellem.org/cortex/html/movement.html
rlm@305 24 Full Demonstration : http://aurellem.org/cortex/html/integration.html
rlm@302 25
rlm@305 26 I think this work could be a fruitful foundation for a Master's
rlm@305 27 thesis, so in particular, I'd like critiques, suggestions, and project
rlm@305 28 ideas. For example, here are some projects I think would be worthy, in
rlm@305 29 increasing order of complexity:
rlm@302 30
rlm@305 31 * Create a self-powered joint that can determine its range of
rlm@305 32 motion and joint type (hinge, cone, point-to-point, etc.) by
rlm@305 33 making exploratory muscle movements and observing their effect.
rlm@302 34
rlm@305 35 * Develop an agent that writes and debugs low-level motor control
rlm@305 36 programs to achieve simple goals like "look at the light" or
rlm@305 37 "extend all of your fingers". These simple "calisthenic"
rlm@305 38 programs could then be combined to form more elaborate
rlm@305 39 procedures of motion, which in turn could be the basic
rlm@305 40 instinctive reflexes in the "spinal cord" of some more advanced
rlm@305 41 creature. (like Sussman's HACKER program but in a richer world)
rlm@302 42
rlm@305 43 * Program a group of creatures that cooperate with each
rlm@305 44 other. Because the creatures would be simulated, I could
rlm@305 45 investigate computationally complex rules of behavior which
rlm@305 46 still, from the group's point of view, would happen in "real
rlm@305 47 time". Interactions could be as simple as cellular organisms
rlm@305 48 communicating via flashing lights, or as complex as humanoids
rlm@305 49 completing social tasks, etc.
rlm@302 50
rlm@305 51 * Simulated Imagination -- this would involve a creature with an
rlm@305 52 effector which creates an entire new sub-simulation where the
rlm@305 53 creature has direct control over placement/creation of objects
rlm@305 54 via simulated telekinesis. The creature observes this sub-world
rlm@305 55 through it's normal senses and uses its observations to make
rlm@310 56 predictions about its top level world.
rlm@302 57
rlm@305 58 * Integrate the simulated world with Genesis, so that Genesis
rlm@305 59 could use the simulated world to answer questions about a
rlm@305 60 proposed physical scenario. For example "You stack two blocks
rlm@305 61 together, then hit the bottom block with your hand. Does the top
rlm@305 62 block move?". This project is complicated and very large in
rlm@305 63 scope, but it could be narrowed to focus on a single key
rlm@305 64 aspect. For example, one key aspect of turning a scenario into a
rlm@305 65 simulation is knowing when you're constructing "typical" or
rlm@305 66 "atypical" examples of the scenario. So, a narrower project
rlm@305 67 might simply learn about the edge cases of different scenarios
rlm@305 68 (e.g. "A block stacked on top of another block is usually
rlm@305 69 stable, provided the bottom block is large enough, and is not
rlm@305 70 moving, and is level, etc."). With this knowledge, this kind of
rlm@305 71 program could aid Genesis not only in answering common-sense
rlm@305 72 questions, but in refining them: "A block is stacked on top of
rlm@305 73 another block. Is it stable?"; "Usually, but do you know if the
rlm@305 74 bottom block is slanted?", etc.
rlm@302 75
rlm@305 76 These are some ideas, but I think you can come up with better ones. I
rlm@305 77 can't wait to hear your critiques and suggestions.
rlm@302 78
rlm@305 79 Finally, regarding next year at MIT, can I be considered for the
rlm@310 80 position of TA for 6.034 or 6.xxx? Also, do you want me to return to
rlm@310 81 MIT at the beginning of Fall or at the beginning of Summer?
rlm@302 82
rlm@305 83 Sincerely,
rlm@302 84 --Robert McIntyre