CS206 (Evolutionary Robotics) Midterm Grade fraction: 25

CS206 Midterm, Spring 2014
Student Name:
CS206 (Evolutionary Robotics) Midterm
Grade fraction: 25% —– Total points: 25
1. Recall our lecture on modularity.
(a) [1 pt] Define (in one sentence) structural modularity (in neural networks).
(b) [1 pt] Define (in one sentence) functional modularity (in neural networks).
2. Recall our lecture on genotype to phenotype mappings.
(a) [1 pt] Describe, in one sentence, what a genotype is.
(b) [1 pt] Describe, in one sentence, what a phenotype is.
(c) [1 pt] We mentioned three different classes of G-to-P mappings. What were they, and define
each in one sentence.
1
3. [2 pts] We discussed one of the first evolved robots, the University of Sussex gantry robot. This robot
was equipped with a camera, but the neural network did not have direct access to the pixels in the
video stream. Instead, the evolutionary algorithm ‘selected’ parts of the video stream that were useful
for the desired behavior. In a few sentences, describe how this was accomplished. Draw a picture to
help illustrate your description.
4. In our lecture on minimal cognition, we described four sets of experiments that Randall Beer and his
students performed.
(a) [2 pts] Describe, in a few sentences, one of the four sets of experiments: what behavior were
they trying to evolve? (Include a figure.)
(b) [1 pt] Describe how a successfully evolved controller caused the robot to behave and why.
(Include a figure.)
(c) [1 pt] Describe a more complex behavior exhibited by an animal or a human in which this
minimally cognitive behavior serves as a building block.
2
5. Recall our lecture on Active Categorical Perception in which a robot arm interacted with spheres and
ellipsoids.
(a) [1 pt] Define ACP in one or two sentences.
(b) [1 pt] How did the researchers configure the robot’s artificial neural network to indicate which
of the two objects the robot was interacting with? A figure may help you here.
(c) [1 pt] Why did they not simply add two additional output neurons such that the robot indicated
‘sphere’ by causing the first output neuron to produce a higher value than the second neuron,
and indicated ‘ellipsoid’ by making the second neuron higher than the first?
6. [2 pts] In order to understand embodied cognition, we discussed a number of embodied and disembodied—
and situated and non-situated—technologies (as well as where biological organisms fit into this scheme.)
Place at least one example technology (or organism) into the table below. (It does not have to be a
technology we discussed in class.)
Disembodied Embodied
Not situated
Situated
3
7. [3 pts] Imagine that we evolve artificial neural networks for the four-legged robot you are developing
in the Assignments. The robot has four touch sensors, t1 through t4 , one in each of its four feet.
Describe, in a few sentences, what the robot would evolve to do if we evolved it using the following
fitness function:
dh
,
1+s
d = [The total distance the robot travels during the evaluation period],
f
=
h = (
1000
X
(i)
(i)
(i)
(i)
(t1 + t2 + t3 + t4 = 0)
or
(i)
(i)
(i)
(i)
(t1 + t2 + t3 + t4 = 4))/1000,
(1)
(2)
(3)
i=1
s = (dLF + dLB + dRF + dRB )/4,
dLF
= (
dLB = (
dRF
= (
dRB = (
1000
Xq
i=1
1000
Xq
i=1
1000
Xq
i=1
1000
Xq
(4)
(i)
(i)
(i)
(i)
(5)
(i)
(i)
(i)
(i)
(6)
(i)
(i)
(i)
(i)
(7)
(i)
(i)
(i)
(i)
(8)
(xL − xF )2 + (zL − zF )2 )/1000,
(xL − xB )2 + (zL − zB )2 )/1000,
(xR − xF )2 + (zR − zF )2 )/1000,
(xR − xB )2 + (zR − zB )2 )/1000
i=1
Note:
(j)
• ti indicates the value of the ith touch sensor at the jth time step.
• x + y = 4 returns a value of one if the sum of x and y is equal to four.
• Otherwise, this term returns a value of zero.
(j)
(j)
(j)
(j)
(j)
(j)
(j)
(j)
• xL , xF , xB and xR return the horizontal positions of the (L)eft, (F)ront, (B)ack and (R)ight
foot at time step j, respectively.
• zL , zF , zB and zR return the distance ‘into’ or ‘out’ of the screen for the (L)eft, (F)ront,
(B)ack and (R)ight foot at time step j, respectively.
4
8. Imagine that a company wishes to deploy wireless sensors into a rainforest canopy. They have decided
that the best way to do this is to build ChameleonBotsTM . A ChameleonBot has four legs; each
leg ends in a two-fingered gripper. (The ChameleonBot has no tail.) The ChameleonBot has touch
sensors in all eight ‘fingers’, and eight proprioceptive sensors in each motor associated with each
finger. However, the ChameleonBot does not have a ‘height’ sensor: it does not know how high up a
tree it has climbed. Notice though that the branches of all trees become thinner the higher up the tree
they are. Thus, if the ChameleonBot can sense how thin a branch is, it has a (more or less) good idea
of how high it has climbed. Further...
• Let us assume that each controller is evaluated on a simulated ChameleonBot for 1000 time
steps.
(j)
• Let ti be a binary value that stands for the value of the ith touch sensor at time step j of the
current evaluation period.
(j)
= 0 if the ith finger is not in contact with the tree.
(j)
= 1 if the ith finger is in contact with the tree.
• ti
• ti
(j)
• Let pi be a real value in the range [0, 1] that stands for the value of the ith proprioceptive sensor
at time step j in the ith claw: that is, how open or how closed the claw is.
(j)
= 0 if the claw is maximally open.
(j)
= 1 if the claw is maximally closed.
• pi
• pi
• Assume that if the claw is maximally closed, the claw cannot be holding a branch (or clinging
to the tree trunk): the two touch sensors in the claw will return zero values.
• Claw 1 (with sensor p1 ) contains t1 and t2 ; claw 2 contains t3 and t4 ; and so on.
(a) [2 pts] Define a fitness term d that punishes ChameleonBots for dropping off the tree:
f
=
d =
1
,
1+d
(9)
1000
X
(
)/1000
t=1
5
(10)
(b) [2 pts] Describe a fitness function that rewards ChameleonBots for climbing as high into a tree
as possible, using only the proprioceptive and touch sensors. Use plain English: no need to use
any math here.
(c) [2 pts] Notice that if a ChameleonBot moves from a very thick branch (or the trunk) onto a
(suddenly) very narrow branch (like the small right one hanging off the trunk), it has probably
not climbed as high as a ChameleonBot that continues following the main line of the tree upward.
Describe how you would modify your fitness function to detect this using just the proprioceptive
and touch sensor values at different time steps. Use plain English; no need to supply an equation
here.
6