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
© Copyright 2026 Paperzz