MCB419 logo  



SPRING 05 ARCHIVE Homework

Assignment 11

Follow this link to Online Submission Form for this week's homework assignment.

You'll need to download the following files to your MATLAB working directory: hw11_beeForage.m, hw11_sim_menu.m, hw11_approachBlue.m, hw11_approachYellow.m, and hw11_wander.m.

You'll also need to have the following file located in the same directory as the files above: hw5_bot_menu.m (you don't need to download it again).

This an extension of last week's honeybee associative learning exercise. This week's exercise will be carried out in the context of a naturalistic foraging task, rather than in an artificial, forced-choice paradigm.

*** SCROLL DOWN PAST THE SCREENSHOT FOR DETAILS OF NEW FEATURES ***

homework11 screenshot

Changes and new features

  1. Initially, YELLOW flowers provide 3 times as much nectar reward as BLUE flowers. At t=100 seconds, the reward values are switched. Switching occurs every 100 seconds of simulation time.
  2. Your bot no longer has FOOD and TOXIN sensors. These have been replaced by BLUE (sensor.blue) and YELLOW (sensor.yellow) sensors (LEFT and RIGHT). The sensors respond only to flowers, they do not respond to other bots.
  3. The flowers turn WHITE on the screen when they are depleted of nectar, but the bot still 'sees' the flower as its original color - either blue or yellow, and hence may land on a depleted flower. Nectar is restored to depleted flowers after a random delay of several seconds.
  4. LIGHT and TEMPERATURE sensors don't play a role in this exercise, but the COLLISION sensor (sensor.collided) may be useful for getting unstuck.
  5. Your bot has a REWARD sensor (sensor.reward) that indicates the total nutritional value obtained from the flower at the end of the feeding session. The reward value is zero, except at the end of a 'meal.' When the reward is non-zero, you should update expected rewards, compute selection probabilities for blue and yellow, and decide what color flower to find next.
  6. Your bot now has MEMORY. The variable 'mem' is passed as an input and must be returned as an output. In this version, each bot has 10 memory slots, each of which can hold a single integer or floating-point value.
  7. The sample scripts show how to use memory to implement an extended 'collision response', in which the bot backs up for several time steps after running into something.
  8. To learn color-reward associations, you'll likely need at least 4 more memory slots. The bot will need to remember the expected reward values for blue and yellow flowers. It will also need to remember the color of the flower that it just landed on, since once it has landed it can no longer 'see' the flower. Finally, it needs to remember the color of the next flower that it has decided to look for.
  9. The motor outputs are the same as in our earlier simulations. The main routine automatically takes care of 'landing' and 'feeding' behaviors, so your controller script doesn't need to deal with those aspects explicitly.
  10. This week's simulations will typically need to run longer than in previous weeks. Also, there is a significant Matlab programming component this week. Allow plenty of time to complete the assignment.

Copyright © Mark E. Nelson, University of Illinois at Urbana-Champaign, 2005-2009. All rights reserved.