Download Simulation_Course

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Social Bonding and Nurture Kinship wikipedia , lookup

Sociocultural evolution wikipedia , lookup

Sociobiology wikipedia , lookup

Inclusive fitness wikipedia , lookup

Genetics and the Origin of Species wikipedia , lookup

Creation and evolution in public education in the United States wikipedia , lookup

Hologenome theory of evolution wikipedia , lookup

Jewish views on evolution wikipedia , lookup

Introduction to evolution wikipedia , lookup

Inclusive fitness in humans wikipedia , lookup

Acceptance of evolution by religious groups wikipedia , lookup

Koinophilia wikipedia , lookup

Unilineal evolution wikipedia , lookup

Theistic evolution wikipedia , lookup

Transcript
http://www.csse.monash.edu.au/~korb/subjects/cse3301/cse3301.html
CSE3301: An ALife Evolution Environment
Project supervisor: Kevin Korb
Meeting time Fri 12pm & location: 75/111
In this project you will build a simulation engine for agents which interact in competitive and
cooperative ways. They will live on a scalable 2-dimensional grid. The agents will eat, move and
mate, as controlled by a simple chromosome. The population will evolve over time, according to
selection pressure and mutations during reproduction. The projects will be applied to one or
another specific problem of your choice. For example, investigating one of: extinction, the
evolution of altruism, predator-prey relationships. Required background: an interest in artificial
intelligence and/or game programming.
During the project you will need to learn about ALife programming, evolution theory and software
development methods. Programming will be done in JAVA.
I will start putting information relevant to the project on this page. This will not duplicate info from
the main project page, but will supplement it.
Schedule
There are effectively eleven weeks for this project; the initial meeting was at the end of week 2,
so the project runs in weeks 3-13. Each stage of the project should involve writing: when reading,
take notes; when designing, write your internal and external designs; when testing, write test
results; when experimenting, write experimental results; when done, write your interpretation and
conclusions.
The schedule for this project is [with milestones; marks; due date (12pm)]: Note that I had the
wrong dates for the second and third milestones; I've corrected them.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Reading: GAs and Alife.
Reading: Evol Theory background.
Design vanilla simulation. [ Design draft 1; 10; 18 Aug]
Code vanilla simulation; choose a theme.
Reading up on your theme; reading abt soft eng.
Redesigning your simulation, incorporating theme. [Design draft 2; 10; 8 Sep]
Code new simulation. Write test plan. [Test plan; 10; 15 Sep]
Implement test plan; software debugging.
Experiment.
Experiment some more.
11. Finish writing your report. [Final Report; 70]
Missed milestones will be penalized according to the penalty schedule for AI. Since the final
report should include (improved) versions of each milestone document anyway, the penalty
maxes out at 50% of the milestone mark (i.e., you can get half credit for each milestone by doing
a good job with the final report, even if you turn in no milestones).
Report Outline
Here is an outline of what I would expect to find in a very complete report. Sections that are not
necessary for a top mark (but which, in all completeness, I would prefer) are marked optional.
Note that exact mimicking of this outline is unimportant; inclusion of the non-optional elements in
a sensible order is important.
1. Introduction. Problem description.
2. Internal Design.
1. Class structure.
2. Simulation environment; operation, parameters, etc.
3. Agents; chromosome, actions, percepts, etc.
4. Genetic operators applied during reproduction.
3. User interface.
1. Screens, commands, operation.
4. Test plan.
5. Test report (outcome of test plan).
6. Statistics (what statistics are gathered and why; how reported; etc.)
7. Experimental report (what results did you get? how do they answer the motivating
problem -- e.g., is there evidence of evolution of altruism via kin selection? what is it?)
8. Operation (how to build and run your program; operational limits.)
9. Appendices. optional Source code; more detailed test results; reports of failed
experiments; etc.
Background
The project requires the following different aspects to be designed and implemented. For each
aspect I list some possible alternative readings to get started thinking about it.
Evolutionary ALife.
The agents in the simulation need to have a chromosome which governs the basic aspects of
their behavior, such as movement, mating, eating. This will involve chromosomal cross-over and
mutation. You should read both about ALife/social simulation and about evolutionary algorithms.
There are many good alternatives to introductory reading; some are below.
Evolutionary Algorithms


Melanie Mitchell An introduction to genetic algorithms. Cambridge, Mass.: MIT P ress,
1998
Tom Mitchell Machine Learning. New York : McGraw-Hill, 1997.


Russell & Norvig, Artificial Intelligence: A Modern Approach, second edition. Prentice Hall,
2003. (Chapter ??)
J.G. Carbonell (ed) Machine learning : paradigms and methods. Cambridge, Mass. : MIT
Press, 1990. (Article by Booker and Holland on classifier systems.)
ALife




Margaret A. Boden (ed) The philosophy of artificial life. Oxford University Press, 1996.
Nigel Gilbert and Rosaria Conte (eds) Artificial societies : the computer simulation of
social life UCL Press, 1995.
Nigel Gilbert and Kalus G. Troitzsch Simulation for the social scientist, 2nd ed. Open
University Press, 2005.
Christopher G. Langton (ed) Artificial life : an overview. MIT Press, c1995.
Software Engineering.
I will put up requirements and ideas about report writing and testing here.
Some books on software testing:



Hetzel, W (1988). The complete guide to software testing, 2nd ed.
Ilene Burnstein. (2003) Practical software testing : a process-oriented approach New
York : Springer.
Paul C. Jorgensen. (2002). Software testing : a craftman's approach 2nd ed. CRC Press.
Evolutionary Themes.
I will put up specifics about the different themes your project might explore, with readings, here. I
start off with some possible background readings on evolution theory in general.
Basics of evolution theory.



John Maynard Smith Evolution and the theory of games . Cambridge, 1982.
John Maynard Smith Games, sex, and evolution . Harvester-Wheatsheaf, 1988.
Matt Ridley The Red Queen : sex and the evolution of human nature. Penguin, 1995.
Predator-prey relations.
Investigate predator-prey population cycles: stability vs. oscillation; Lotka-Volterra equation; what
happens under perturbation; effects of greater efficiency in predation (or, in escaping predation);
role of superpredator in three species.




John Maynard Smith Did Darwin get it right? Penguin, 1989.
D.L. Hartl A primer of population genetics, 3rd ed. 2000.
S Kingsland Modeling nature. Chicago, 1985.
K SigmundGames of life, chapter 3. 1993.
Kin selection and altruism.
Investigate the relation between altruism and kin selection. The simulation must provide: a
measure of genetic relatedness; a possible altruistic action (e.g., health donation); assess the
relation between the two.



John Maynard Smith Games, sex, and evolution . Harvester-Wheatsheaf, 1988.
W.D. Hamilton. The genetic evolution of social behaviour. Jrn of Theoretical Biology, 7.
Papers I and II, ppl 1-16, 17-52, 1964.
E.O. Wilson Sociobiology, Harvard, 1975.
Extinction.
Effects of extinctions on genetic diversity, speciation, adaptiveness of populations to
environmental change.



David K. Elliott Dynamics of Extinction . 1986.
David Raup Extinction . 1991.
Stevan J. Anastasoff. Ecology and Extinction - Macroevolutionary Extinction Dynamics in
a Simulated Ecosystem Seventh International Conference on Artificial Life . 2000.
Speciation.