- the December 2013 competition
- pig rescue -- the 2012 competition
- cow and car -- the 2011 competition
- swarm -- in progress
- Python -- an intro from Iraklis Akritas
the December 2013 competition
This year's competition is a bit different to previous years, as usual it's not too serious, but this year there's no real programming!
Your challenge this year is to use BuzzBug (a Netlogo genetics-model) to evolve your own bugs.
Winners of the competition will be the people/groups who produces the "best" bug as voted by a judging panel.
There are 3 categories...
- best looking bug
- best sounding bug
- best combined bug (look & sound)
The competition will be judged on Wednesday afternoon 11th December (location tba). Anyone is welcome to join the judging panel.
BuzzBugs, the model...
The BuzzBug model investigates the way in which simple genetic operators (cross-over & mutation) effect inheritance. The model holds a small population of "bugs", each defined by a short digital gene sequence. A bug's genome defines its shape and the sound it makes. You can select parents to breed new bugs with modified genomes.
the model grid...
We have an ongoing project involved with the Simulation of Predator/Prey species Roaming on a Grid-World (sprog).
We aim to develop sprog into an evolving artificial life system which runs in a 2D graphics world and contains various interacting alife-forms (individuals) from multiple alife species.
At this stage we provide a minimalist skeleton for this work which uses NetLogo as a graphics environment and links into Java. As it develops we will extend the Java side and may provide additional middleware to link through to other languages & platforms (see diagrams in sprog intro 1a -ppt.pdf for possible system structure).
The following components are provided as part of the skeletal system...
- guide to the skeletal prototype -- read this to find out how to set up and run the system
- sprog-0-files.ZIP -- the Java files
- sprog.jar -- the .jar extension for NetLogo
- sprog-0(1a).nlogo -- the NetLogo model which runs the prototype
- sprog-0(clean).nlogo -- another model to help clean the cache (see notes)
pig rescue -- the 2012 competition
write the controller for a golf cart that trundles round a maze rescuing pigs
that have got lost & brings them back to a pig-sty.
NB: to run the model ,save the include file & the model file in the same folder then load the model into NetLogo.
the cow & car competition
Brief: to write the behaviours for 'cows' and/or 'cars' in a chase/evade model where cars aim to run-over cows & cows try to keep out of the way of cars. Cars run on bio-fuel and are refuelled by the cows they run-over.
There are a couple of rules/restrictions for cow & car behaviour (contact t-PIG for details). t-PIG hold an annual competition where all the implementations of cows & cars are run off against each other.
Everyone is welcome to submit a model either working alone or as a programming team. Please get in touch if you want to enter your model into the competition.
Check here for a skeletal car/cow model which you can fit your code into. Plug the behaviours you write into the procedures called "move-smart-car" and "move-smart-cow". You may also need to change "setup-smart-cow" and "setup-smart-car" if you want something special on setup. The car refuelling feature is built into the skeletal the model but can be switched on/off by using the "car-dies-if-no-fuel?" switch on the interface.
NB: Please see the NetLogo pages for links to guides, etc for writing NetLogo.
the 2012 competition entries
The 2012 cow & car competition took place in May, check cow&car -- 1c.nlogo for the model which runs all the cows 'n' cars we tried.
- Team Alpha -- for the best driving & the most burgers per miniute
- Liam -- for the best looking formation (but you've gotta close that gap on the spiral :o)
- Mark -- for finding pink pig-shaped sweets (wot no cows?)
the swarm competition
This is new for 2013 so more details will follow.
The main idea is to use NetLogo to specify a swarming agent with the ability to surround (and kill) other swarming agents (detailed rules to follow). Prizes (usual type - don't get exited) are for dominant swarms, interesting emergent behaviours and anything else the group finds interesting.
an intro to Python from Iraklis Akritas
- presentation slides
- demos.py -- a Python file with the demo code
- demo5module.py -- a Python file containing the module example
This section contains short articles following discussions we have had at PIG and/or in programming seminars. Contributions are welcome from everyone.
- Java strings
-- strings, equality tests and interning
this follows on from a discussion started in an AI Programming session