changeset 523:90b236381642

s.
author Robert McIntyre <rlm@mit.edu>
date Thu, 03 Apr 2014 20:48:09 -0400
parents 1e51263afdc0
children 8e52a2802821 01934317b25b
files thesis/dylan-cortex-diff.diff thesis/garbage_cortex.org
diffstat 2 files changed, 43 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
     1.1 --- a/thesis/dylan-cortex-diff.diff	Mon Mar 31 09:21:28 2014 -0400
     1.2 +++ b/thesis/dylan-cortex-diff.diff	Thu Apr 03 20:48:09 2014 -0400
     1.3 @@ -285,12 +285,3 @@
     1.4      The most important archetictural decision of all is the choice to
     1.5      use a computer-simulated environemnt in the first place! The world
     1.6      is a vast and rich place, and for now simulations are a very poor
     1.7 -@@ -436,7 +554,7 @@
     1.8 -     doing everything in software is far cheaper than building custom
     1.9 -     real-time hardware. All you need is a laptop and some patience.
    1.10 - 
    1.11 --** Because of Time, simulation is perferable to reality
    1.12 -+** Simulated time enables rapid prototyping and complex scenes 
    1.13 - 
    1.14 -    I envision =CORTEX= being used to support rapid prototyping and
    1.15 -    iteration of ideas. Even if I could put together a well constructed
     2.1 --- a/thesis/garbage_cortex.org	Mon Mar 31 09:21:28 2014 -0400
     2.2 +++ b/thesis/garbage_cortex.org	Thu Apr 03 20:48:09 2014 -0400
     2.3 @@ -97,4 +97,46 @@
     2.4  
     2.5  \cite{Tappert77}
     2.6  lol
     2.7 -\cite{Tappert77}
     2.8 \ No newline at end of file
     2.9 +\cite{Tappert77}
    2.10 +
    2.11 +
    2.12 +
    2.13 +
    2.14 +   #+caption: This sensory predicate detects when the worm is resting on the 
    2.15 +   #+caption: ground using the worm's sense of touch.
    2.16 +   #+name: resting-intro
    2.17 +   #+begin_listing clojure
    2.18 +   #+begin_src clojure
    2.19 +(defn resting?
    2.20 +  "Is the worm resting on the ground?"
    2.21 +  [experiences]
    2.22 +  (every?
    2.23 +   (fn [touch-data]
    2.24 +     (< 0.9 (contact worm-segment-bottom touch-data)))
    2.25 +   (:touch (peek experiences))))
    2.26 +   #+end_src
    2.27 +   #+end_listing
    2.28 +
    2.29 +   #+caption: Even complicated actions such as ``wiggling'' are fairly simple
    2.30 +   #+caption: to describe with a rich enough language.
    2.31 +   #+name: wiggling-intro
    2.32 +   #+begin_listing clojure
    2.33 +   #+begin_src clojure
    2.34 +(defn wiggling?
    2.35 +  "Is the worm wiggling?"
    2.36 +  [experiences]
    2.37 +  (let [analysis-interval 0x40]
    2.38 +    (when (> (count experiences) analysis-interval)
    2.39 +      (let [a-flex 3
    2.40 +            a-ex   2
    2.41 +            muscle-activity
    2.42 +            (map :muscle (vector:last-n experiences analysis-interval))
    2.43 +            base-activity
    2.44 +            (map #(- (% a-flex) (% a-ex)) muscle-activity)]
    2.45 +        (= 2
    2.46 +           (first
    2.47 +            (max-indexed
    2.48 +             (map #(Math/abs %)
    2.49 +                  (take 20 (fft base-activity))))))))))
    2.50 +   #+end_src
    2.51 +   #+end_listing