# HG changeset patch # User Robert McIntyre # Date 1396156943 14400 # Node ID 81c845a9137822b16bef1b969fad6f0f93f295ee # Parent c11d3fc3e6f000f22468e19bac7df16489968459 completed initial render at 81 pages, but images are unacceptably scattered. diff -r c11d3fc3e6f0 -r 81c845a91378 thesis/cortex.org --- a/thesis/cortex.org Sun Mar 30 01:07:19 2014 -0400 +++ b/thesis/cortex.org Sun Mar 30 01:22:23 2014 -0400 @@ -247,8 +247,7 @@ #+caption: full circle. Imagine how you would replicate this functionality #+caption: using low-level pixel features such as HOG filters! #+name: grand-circle-intro - #+attr_latex: [htpb] -#+begin_listing clojure + #+begin_listing clojure #+begin_src clojure (defn grand-circle? "Does the worm form a majestic circle (one end touching the other)?" @@ -1378,8 +1377,8 @@ #+caption: Program for extending =OpenAL= to support multiple #+caption: listeners via context copying/switching. #+name: sync-openal-sources - #+begin_listing C - #+BEGIN_SRC C + #+begin_listing c + #+BEGIN_SRC c void syncSources(ALsource *masterSource, ALsource *slaveSource, ALCcontext *masterCtx, ALCcontext *slaveCtx){ ALuint master = masterSource->source; @@ -1560,7 +1559,7 @@ #+caption: change color in response to the sound. #+name: sound-cubes. #+ATTR_LaTeX: :width 10cm - [[./images/aurellem-gray.png]] + [[./images/java-hearing-test.png]] This system of hearing has also been co-opted by the jMonkeyEngine3 community and is used to record audio for demo @@ -2441,7 +2440,7 @@ hard control problems without worrying about physics or senses. -* COMMENT Empathy in a simulated worm +* Empathy in a simulated worm Here I develop a computational model of empathy, using =CORTEX= as a base. Empathy in this context is the ability to observe another @@ -2525,8 +2524,7 @@ #+caption: independent and ignores vermopomorphic differences such as #+caption: worm textures and colors. #+name: curled - #+attr_latex: [htpb] -#+begin_listing clojure + #+begin_listing clojure #+begin_src clojure (defn curled? "Is the worm curled up?" @@ -2541,9 +2539,7 @@ #+caption: Program for summarizing the touch information in a patch #+caption: of skin. #+name: touch-summary - #+attr_latex: [htpb] - -#+begin_listing clojure + #+begin_listing clojure #+begin_src clojure (defn contact "Determine how much contact a particular worm segment has with @@ -2568,7 +2564,6 @@ #+caption: floor. Note that this function contains no references to #+caption: proprioction at all. #+name: resting - #+attr_latex: [htpb] #+begin_listing clojure #+begin_src clojure (def worm-segment-bottom (rect-region [8 15] [14 22])) @@ -2588,7 +2583,6 @@ #+caption: I am able to both use a previous action predicate (=curled?=) #+caption: as well as the direct tactile experience of the head and tail. #+name: grand-circle - #+attr_latex: [htpb] #+begin_listing clojure #+begin_src clojure (def worm-segment-bottom-tip (rect-region [15 15] [22 22])) @@ -2619,7 +2613,6 @@ #+caption: wiggle but can't. Frustrated wiggling is very visually different #+caption: from actual wiggling, but this definition gives it to us for free. #+name: wiggling - #+attr_latex: [htpb] #+begin_listing clojure #+begin_src clojure (defn fft [nums] @@ -2660,7 +2653,6 @@ #+caption: Use the action predicates defined earlier to report on #+caption: what the worm is doing while in simulation. #+name: report-worm-activity - #+attr_latex: [htpb] #+begin_listing clojure #+begin_src clojure (defn debug-experience @@ -2779,7 +2771,6 @@ #+caption: Program to convert an experience vector into a #+caption: proprioceptively binned lookup function. #+name: bin - #+attr_latex: [htpb] #+begin_listing clojure #+begin_src clojure (defn bin [digits] @@ -2838,7 +2829,6 @@ #+caption: and finding the longest (ie. most coherent) interpretation #+caption: of the data. #+name: longest-thread - #+attr_latex: [htpb] #+begin_listing clojure #+begin_src clojure (defn longest-thread @@ -2881,7 +2871,6 @@ #+caption: Fill in blanks in sensory experience by replicating the most #+caption: recent experience. #+name: infer-nils - #+attr_latex: [htpb] #+begin_listing clojure #+begin_src clojure (defn infer-nils @@ -2916,7 +2905,6 @@ #+caption: a motor control script that causes the worm to execute a series #+caption: of ``exercices'' that include all the action predicates. #+name: generate-phi-space - #+attr_latex: [htpb] #+begin_listing clojure #+begin_src clojure (def do-all-the-things @@ -2944,7 +2932,6 @@ #+caption: Use longest thread and a phi-space generated from a short #+caption: exercise routine to interpret actions during free play. #+name: empathy-debug - #+attr_latex: [htpb] #+begin_listing clojure #+begin_src clojure (defn init [] @@ -2993,7 +2980,6 @@ #+caption: Determine how closely empathy approximates actual #+caption: sensory data. #+name: test-empathy-accuracy - #+attr_latex: [htpb] #+begin_listing clojure #+begin_src clojure (def worm-action-label @@ -3034,7 +3020,6 @@ #+caption: Program to generate \Phi-space using manual training. #+name: manual-phi-space - #+attr_latex: [htpb] #+begin_listing clojure #+begin_src clojure (defn init-interactive [] @@ -3221,7 +3206,7 @@ completely scrambled. The cross shape is just for convienence. This example justifies the use of pre-defined touch regions in =EMPATH=. -* COMMENT Contributions +* Contributions In this thesis you have seen the =CORTEX= system, a complete environment for creating simulated creatures. You have seen how to @@ -3260,7 +3245,7 @@ #+BEGIN_LaTeX \appendix #+END_LaTeX -* COMMENT Appendix: =CORTEX= User Guide +* Appendix: =CORTEX= User Guide Those who write a thesis should endeavor to make their code not only accessable, but actually useable, as a way to pay back the community @@ -3547,7 +3532,6 @@ blender. This function is required before other world building functions are called. - *** Creature Manipulation / Import - =(body! creature)= :: give the creature a physical body. diff -r c11d3fc3e6f0 -r 81c845a91378 thesis/images/java-hearing-test.png Binary file thesis/images/java-hearing-test.png has changed