Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

19
Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham

Transcript of Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

Page 1: Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock

Chris Beacham

Page 2: Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

Abstract

The focus of this project is attempting to evolve the behavior of a single agent or small group of agents so that they can effectively direct the movement of a much larger group which displays flocking behavior. This is the same role sheepdogs play to manage herds of livestock.

Page 3: Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

Other Research

There has been little development in this specific field.

Flocking algorithm is well established, but is hard to direct.

Robotic Sheepdog Project: Proof of Concept for robotic handling of livestock

Page 4: Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

Uses

Two main Applications:Animation – Control direction of flocks in

animations, currently no good method exists

Livestock Herding: Could be used in a robotic agent to actually herd livestock. Could reduce livestock stress.

Page 5: Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

Programming Tools

Python is being used for the code, with tKinter providing the graphics.

Breve was looked at as a possibility, but it was dismissed for being to complex and not documented.

Page 6: Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

Precursors

Initially, an evolution program was written to fine tune the authors understanding of artificial evolution.

This is a genepool of evolved creatures using user selection

Page 7: Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

Sheepdog and Cutting Horse

The sheepdog directs the movements of sheep, ducks, cows, goats and other herd stock. It accomplishes this by moving around the herd or flock in specific ways.

The cutting horse is used with herds of cattle. It’s job is to single out a single cow, and “cut” it off from the herd, thus allowing people to access it.

Page 8: Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

Flocking

The herd will be simulated with a flocking algorithm.

Three algorithms make up flocking behavior: Separation Cohesion Alignment

Page 9: Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

First Quarter The first quarter

was spent creating a flocking behavior simulation, and debugging it.

This is a screenshot of a flock flying to the right.

Page 10: Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

Second Quarter

Herding behavior established. Same algorithm as flocking.

Page 11: Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

Second Quarter

Herd reacting to ‘predator’

Sheepdog agent very simple at this point

Page 12: Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

Second Quarter

• Which behavior determination system to use?• Neural Networks v. Cellular Automaton v.

Weighting • Pros and Cons for all options

Page 13: Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

Second Quarter

Weighting method chosen as best behavior determination system.

Genetic code adds weight to different variables. Pros Many strategies can be produced Should be reproducible in other situations Cons Nowhere near the possibilities for innovation of

neural nets.

Page 14: Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

Second Quarter

First generation sheepdog behavior is randomly generated. Movement is very chaotic.

Page 15: Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

First Generation

This is a sample of the genetic pool of the first generation.

[32.164006627541823, -19.261148559544093, 28.838154710926517, -2.6177442818239252, -1.610540774960918, -3.0347756036751052, -20.931229810205998, 5.7627079638362986, 1.7473837471501998, 7.7198793790136833], [-11.470881676551826, 28.336696618106188, 38.987209868269673, 2.4890967130213557, -0.078896899902183293, 4.0279192032567082, 38.113753797435876, -9.9091943197785568, 6.0767013600522422, 22.90210747684651], [19.524480722525141, 17.865021602410764, 35.768937982290353, 2.5848421326612847, 1.7679235149952088, 1.780983430333368, 35.344660445143845, 8.9854097668224071, 0.58138734205464693, 19.580526983833721], [14.652628528856667, 37.731823468942835, 16.911577862190441, 0.4858339804315932, 4.2518008367774591, -4.8959446134369822, -12.527178547904271, -23.834582722704489, 2.5735304563845185, 10.983380384038441], [-37.365308224600689, -26.219646166636444, 23.837388022611961, -2.6502990318154742, 2.5285789988460721, -1.9174224730964582, -4.8617111048341215, -27.040194863370225, 5.3442590210258247, 47.707995016754595], [-47.83280830026532, -27.746753711795826, -22.465210886399479, -1.8834401853055285, -4.6526740112824712, 2.1138389668398263, 4.7442060317506503, 13.681368603073729, 1.7036710633058849, -24.335868677880825], [31.332197286921499, 37.788533831872257, -45.919434849424789, 0.48534266655833669, -3.3026128229853424, -1.7377195224251816, 7.2576919556413912, -36.199633586541836, 4.8382490300740457, 4.0074023699981822], [3.2210497987682132, 10.765683943559381, -24.469857259276651, -1.9355065069590394, -0.61633090971086801, -3.1878785380980879, 41.904929197287117, 3.5243513927757348, 5.4548537085994404, 12.247444295078616],

Page 16: Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

Third Quarter

• Breeding program and Automated testing program produced.

• Breeding program designed for very heavy selection pressure

• Agents evaluated on how close they get the flock to the goal.

Page 17: Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

Third Quarter

• Several strategies predominate• “Bubble” strategy• “Slow” strategy• “Southeast” strategy• “Spinning wheel” strategy• “Wall-bounce” strategy – suspect disconnect

between graphical output and nongraphical output

Page 18: Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

Are any Strategies Viable?

• Two applications: Animations and Livestock• Livestock – Possible, but unknown. Real

experience needed.• Animation – depends on application. Some

strategies significantly distort flock shape

Page 19: Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.

Continued Development

• Expected to continue over the summer• Three main goals

– Simulated flock to reflect real flock movement– More vectors in weighing system– Modification of breeding algorithm for more

biodiversity• Also, simulation is computationally intensive, so

need to secure a location to run it long-term.