Mercurial > cortex
comparison org/intro.org @ 34:183744c179e6
MASSIVE cleanup, especially in the vision code
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Thu, 03 Nov 2011 08:28:26 -0700 |
parents | 97703c7f020e |
children | 3883580e9d28 |
comparison
equal
deleted
inserted
replaced
33:c377222528e6 | 34:183744c179e6 |
---|---|
1 #+title: Simulated Senses | 1 #+title: Simulated Senses |
2 #+author: Robert McIntyre | 2 #+author: Robert McIntyre |
3 #+email: rlm@mit.edu | 3 #+email: rlm@mit.edu |
4 #+description: Simulating senses for AI research using JMonkeyEngine3 | 4 #+description: Simulating senses for AI research using JMonkeyEngine3 |
5 #+keywords: Alan Turing, AI, sinulated senses, jMonkeyEngine3, virtual world | |
5 #+SETUPFILE: ../../aurellem/org/setup.org | 6 #+SETUPFILE: ../../aurellem/org/setup.org |
6 #+INCLUDE: ../../aurellem/org/level-0.org | 7 #+INCLUDE: ../../aurellem/org/level-0.org |
7 #+babel: :mkdirp yes :noweb yes | 8 #+babel: :mkdirp yes :noweb yes |
8 | 9 |
9 * Background | 10 * Background |
12 as the human mind itself. Clearly, we are still missing some important | 13 as the human mind itself. Clearly, we are still missing some important |
13 ideas concerning intelligent programs or we would have strong AI | 14 ideas concerning intelligent programs or we would have strong AI |
14 already. What idea could be missing? | 15 already. What idea could be missing? |
15 | 16 |
16 When Turing first proposed his famous "Turing Test" in the | 17 When Turing first proposed his famous "Turing Test" in the |
17 groundbreaking paper [[./sources/turing.pdf][/Computing Machines and Intelligence/]], he gave | 18 groundbreaking paper [[../sources/turing.pdf][/Computing Machines and Intelligence/]], he gave |
18 little importance to how a computer program might interact with the | 19 little importance to how a computer program might interact with the |
19 world: | 20 world: |
20 | 21 |
21 #+BEGIN_QUOTE | 22 #+BEGIN_QUOTE |
22 \ldquo{}We need not be too concerned about the legs, eyes, etc. The example of | 23 \ldquo{}We need not be too concerned about the legs, eyes, etc. The example of |
40 taste, no feeling whatsoever. The only sense you get at all is a | 41 taste, no feeling whatsoever. The only sense you get at all is a |
41 single point of light, flickering on and off in the void. If this was | 42 single point of light, flickering on and off in the void. If this was |
42 your life from birth, you would never learn anything, and could never | 43 your life from birth, you would never learn anything, and could never |
43 become intelligent. Actual humans placed in sensory deprivation | 44 become intelligent. Actual humans placed in sensory deprivation |
44 chambers experience hallucinations and can begin to loose their sense | 45 chambers experience hallucinations and can begin to loose their sense |
45 of reality in as little as 15 minutes[sensory-deprivation]. Most of | 46 of reality. Most of the time, the programs we write are in exactly |
46 the time, the programs we write are in exactly this situation. They do | 47 this situation. They do not interface with cameras and microphones, |
47 not interface with cameras and microphones, and they do not control a | 48 and they do not control a real or simulated body or interact with any |
48 real or simulated body or interact with any sort of world. | 49 sort of world. |
49 | 50 |
50 * Simulation vs. Reality | 51 * Simulation vs. Reality |
51 I want demonstrate that multiple senses are what enable | 52 I want demonstrate that multiple senses are what enable |
52 intelligence. There are two ways of playing around with senses and | 53 intelligence. There are two ways of playing around with senses and |
53 computer programs: | 54 computer programs: |
54 | 55 |
56 | |
57 ** Simulation | |
55 The first is to go entirely with simulation: virtual world, virtual | 58 The first is to go entirely with simulation: virtual world, virtual |
56 character, virtual senses. The advantages are that when everything is | 59 character, virtual senses. The advantages are that when everything is |
57 a simulation, experiments in that simulation are absolutely | 60 a simulation, experiments in that simulation are absolutely |
58 reproducible. It's also easier to change the character and world to | 61 reproducible. It's also easier to change the character and world to |
59 explore new situations and different sensory combinations. | 62 explore new situations and different sensory combinations. |
60 | |
61 | |
62 ** Issues with Simulation | |
63 | 63 |
64 If the world is to be simulated on a computer, then not only do you | 64 If the world is to be simulated on a computer, then not only do you |
65 have to worry about whether the character's senses are rich enough to | 65 have to worry about whether the character's senses are rich enough to |
66 learn from the world, but whether the world itself is rendered with | 66 learn from the world, but whether the world itself is rendered with |
67 enough detail and realism to give enough working material to the | 67 enough detail and realism to give enough working material to the |
73 dust to make a clay sculpture, at least not without spending years | 73 dust to make a clay sculpture, at least not without spending years |
74 calculating the interactions of every single small grain of | 74 calculating the interactions of every single small grain of |
75 dust. Maybe a simulated world with today's limitations doesn't provide | 75 dust. Maybe a simulated world with today's limitations doesn't provide |
76 enough richness for real intelligence to evolve. | 76 enough richness for real intelligence to evolve. |
77 | 77 |
78 ** Issues with Reality | 78 ** Reality |
79 | 79 |
80 The other approach for playing with senses is to hook your software up | 80 The other approach for playing with senses is to hook your software up |
81 to real cameras, microphones, robots, etc., and let it loose in the | 81 to real cameras, microphones, robots, etc., and let it loose in the |
82 real world. This has the advantage of eliminating concerns about | 82 real world. This has the advantage of eliminating concerns about |
83 simulating the world at the expense of increasing the complexity of | 83 simulating the world at the expense of increasing the complexity of |
105 hardware. All you need is a laptop and some patience. | 105 hardware. All you need is a laptop and some patience. |
106 | 106 |
107 * Choose a Simulation Engine | 107 * Choose a Simulation Engine |
108 | 108 |
109 Mainly because of issues with controlling the flow of time, I chose to | 109 Mainly because of issues with controlling the flow of time, I chose to |
110 simulate both the world and the character. I set out to make a minimal | 110 simulate both the world and the character. I set out to make a world |
111 world in which I could embed a character with multiple senses. My main | 111 in which I could embed a character with multiple senses. My main goal |
112 goal is to make an environment where I can perform further experiments | 112 is to make an environment where I can perform further experiments in |
113 in simulated senses. | 113 simulated senses. |
114 | 114 |
115 As Carl Sagan once said, "If you wish to make an apple pie from | 115 I examined many different 3D environments to try and find something I |
116 scratch, you must first invent the universe." I examined many | 116 would use as the base for my simulation; eventually the choice came |
117 different 3D environments to try and find something I would use as the | 117 down to three engines: the Quake II engine, the Source Engine, and |
118 base for my simulation; eventually the choice came down to three | 118 jMonkeyEngine. |
119 engines: the Quake II engine, the Source Engine, and jMonkeyEngine. | |
120 | 119 |
121 ** [[http://www.idsoftware.com][Quake II]]/[[http://www.bytonic.de/html/jake2.html][Jake2]] | 120 ** [[http://www.idsoftware.com][Quake II]]/[[http://www.bytonic.de/html/jake2.html][Jake2]] |
122 | 121 |
123 I spent a bit more than a month working with the Quake II Engine from | 122 I spent a bit more than a month working with the Quake II Engine from |
124 ID software to see if I could use it for my purposes. All the source | 123 ID software to see if I could use it for my purposes. All the source |
170 any particular game but is instead meant to be used for any 3D | 169 any particular game but is instead meant to be used for any 3D |
171 game. After experimenting with each of these three engines and a few | 170 game. After experimenting with each of these three engines and a few |
172 others for about 2 months I settled on jMonkeyEngine. I chose it | 171 others for about 2 months I settled on jMonkeyEngine. I chose it |
173 because it had the most features out of all the open projects I looked | 172 because it had the most features out of all the open projects I looked |
174 at, and because I could then write my code in Clojure, an | 173 at, and because I could then write my code in Clojure, an |
175 implementation of LISP that runs on the JVM... | 174 implementation of LISP that runs on the JVM. |
176 | 175 |
177 | 176 |
178 | 177 |
179 | 178 |
180 | 179 |
181 | 180 |
182 | 181 |
183 | 182 |
184 | 183 |
185 | 184 |
186 | 185 |
187 | 186 |
188 | 187 |
189 | 188 |
190 | 189 |
191 | 190 |
192 | 191 |
193 | 192 |
194 | 193 |
195 | 194 |
196 | 195 |
197 | 196 |
198 | 197 |
199 | 198 |
200 | 199 |
201 | 200 |
202 | 201 |
203 | 202 |
204 | 203 |
205 | 204 |
206 | 205 |
207 | 206 |
208 | 207 |
209 |