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

Slides:



Advertisements
Similar presentations
Approaches, Tools, and Applications Islam A. El-Shaarawy Shoubra Faculty of Eng.
Advertisements

Complexity Settlement Simulation using CA model and GIS (proposal) Kampanart Piyathamrongchai University College London Centre for Advanced Spatial Analysis.
Developed by Reneta Barneva, SUNY Fredonia
When is Orientated Programming NOT? Mike Fitzpatrick.
Team Skill 5: Refining the Use Cases Lecture 11. Advantages of Use Cases They are easy to write Written in users language Provide cohesive, related threads.
Class Project Due at end of finals week Essentially anything you want, so long as it’s AI related and I approve Any programming language you want In pairs.
Flocks, Herds and Schools Modeling and Analytic Approaches.
Flocking Behaviors Presented by Jyh-Ming Lien. Flocking System What is flocking system? – A system that simulates behaviors of accumulative objects (e.g.
1 CO Games Development 2 Week 22 Flocking Gareth Bellaby.
Evolving Cutting Horse and Sheepdog Behavior with a Simulated Flock Chris Beacham Computer Systems Research Lab 2009.
OBJECT-ORIENTED THINKING CHAPTER Topics  The Object-Oriented Metaphor  Object-Oriented Flocks of Birds –Boids by Craig W. Reynolds  Modularity.
Optimizing Flocking Controllers using Gradient Descent
13-1 DNA Technology Building better tomatoes. Objectives Define genetic engineering Explain how restriction enzymes can be used to make recombinant DNA.
02/03/07DePaul University, HON2071 Evolutionary Computation Module for HON207.
Black & White To analyze and critique the AI used Amanda Yaklin.
Applications of Evolutionary Computation in the Analysis of Factors Influencing the Evolution of Human Language Alex Decker.
Constraint-Based Motion Planning for Multiple Agents Luv Kohli COMP November 10, 2003 Progress Update.
Genetic Algorithms and Their Applications John Paxton Montana State University August 14, 2003.
DESC9180 Designing Virtual Worlds Week 9 Interactivity II – Agent Models for Dynamic Virtual Worlds 6pm – 9pm Tuesday, September 18 th, 2007 Kathryn Merrick.
Real-time Crowd Movement On Large Scale Terrains Speaker: Alvin Date:4/26/2004From:TPCG03.
Lecture 15 Practice & exploration Subfunctions: Functions within functions “Guessing Game”: A hands-on exercise in evolutionary design © 2007 Daniel Valentine.
The purpose of this project is to bridge the learning gap in learning programming tools by providing an easy to learn, English-like language that allows.
Chapter 7 Designing Classes. Class Design When we are developing a piece of software, we want to design the software We don’t want to just sit down and.
Brian Link Currently enrolled at the University of Maryland Baltimore County pursing a Bachelor’s degree in Computer Science. Actively.
Chapter 11: Artificial Intelligence
Gene flow is the movement of alleles between populations.
Implementing Genetic Algorithms in Finance Applications Nihaar Sinha.
Chapter 10 Artificial Intelligence. © 2005 Pearson Addison-Wesley. All rights reserved 10-2 Chapter 10: Artificial Intelligence 10.1 Intelligence and.
Implementing Genetic Algorithms in Finance Applications Nihaar Sinha.
Evolving a Sigma-Pi Network as a Network Simulator by Justin Basilico.
Richard Patrick Samples Ph.D. Student, ECE Department 1.
Farm Animals Karen S. James Farm Animals Farm animals help us to work, eat, and play.
Program Development Life Cycle (PDLC)
PSY105 Neural Networks 1/5 1. “Patterns emerge”. π.
Programming Models & Runtime Systems Breakout Report MICS PI Meeting, June 27, 2002.
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Marie desJardins University of Maryland, Baltimore County.
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Event Driven Programming, The.
Adam Lederer – Comp Sys Techlab 2006 The Project Audio Timestretching The objective of the project is to lengthen a selection of digital audio, so that.
Slide 6-1 Copyright © 2004 Pearson Education, Inc.
Copyright © 2010, 2007, 2004 Pearson Education, Inc. Chapter 6 The Standard Deviation as a Ruler and the Normal Model.
Copyright © 2009 Pearson Education, Inc. Chapter 6 The Standard Deviation as a Ruler and the Normal Model.
Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock Chris Beacham.
Lucian Voinea Visualizing the Evolution of Code The Visual Code Navigator (VCN) Nunspeet,
Evolution What role does the environment play in an organism’s survival, reproduction and evolution?
Predator/Prey Simulation for Investigating Emergent Behavior Jay Shaffstall.
Overview of Machine Learning RPI Robotics Lab Spring 2011 Kane Hadley.
ArtiFishial Life By Jude Battista and Kendra Knudtzon.
Advanced Speed Guidance for Merging and Sequencing Techniques Chris Sweeney Thomas Jefferson High School for Science and Technology MITRE Corporation Center.
Jack Chen TJHSST Computer Systems Lab Abstract The purpose of this project is to explore Artificial Intelligence techniques in the board game.
Controlling the Behavior of Swarm Systems Zachary Kurtz CMSC 601, 5/4/
Evolving Motor Techniques for Artificial Life Kelley Hecker Period 7.
Adding Quantitative Reasoning to Your Course Some Ideas and Places to Begin.
Autonomous Virtual Humans Tyler Streeter. Contents Introduction Introduction Implementation Implementation –3D Graphics –Simulated Physics –Neural Networks.
 Accessible informal format.  Graphical notation is trivial. But writing good use cases is a skillful process.
DARPA Mobile Autonomous Robot SoftwareLeslie Pack Kaelbling; January Adaptive Intelligent Mobile Robotics Leslie Pack Kaelbling Artificial Intelligence.
Finite State Machines (FSM) OR Finite State Automation (FSA) - are models of the behaviors of a system or a complex object, with a limited number of defined.
A Patent Document Retrieval System Addressing Both Semantic and Syntactic Properties Liang Chen*,Naoyuki Tokuda+, Hisahiro Adachi+ *University of Northern.
Group 3 Ballfinder a highly modifiable system. Introduction Quality attribute: Modifiability Environment: Random maze Known number of balls One light.
Artificial Intelligence: Research and Collaborative Possibilities a presentation by: Dr. Ernest L. McDuffie, Assistant Professor Department of Computer.
Overview Prototyping Construction Conceptual design Physical design Generating prototypes Tool support.
December 3, 2014AISC-CODISCO 2014, revised Nov From Agent-based models to network analysis (and return): the policy-making perspective Magda Fontana.
Students: Yossi Turgeman Avi Deri Self-Stabilizing and Efficient Robust Uncertainty Management Instructor: Prof Michel Segal.
Chapter 11: Artificial Intelligence
ECE 4110 – Digital Logic Design
Evolving Cutting Horse and Sheepdog Behavior on a Simulated Flock
CIS 488/588 Bruce R. Maxim UM-Dearborn
Dynamic Complex Ecosystems Simulation / Modeling Bill Yu
FLOSCAN: An Artificial Life Based Data Mining Algorithm
Presentation transcript:

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.

Other Research There has been little development in this specific field. A lot has been focused on flocking, but not much on controlling flock movement. There was an attempt to build a robotic sheepdog, but their wasn’t much progress on the sheepdog’s behavior. It was an important proof of concept that a robot could be used to handle livestock.

Uses This project could have two foreseen applications: Animation – the current method of controlling flock direction for animation is quite crude. An invisible sheepdog might be very useful. Enhanced control of livestock – This is more unlikely. It’s possible that this project could yield new techniques for controlling flocks that are applicable to real life.

Sheepdog and Cutting Horse The sheepdog is used to direct 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.

Flocking The herd will be simulated with a flocking algorithm. Three algorithms make up flocking behavior: Separation Cohesion Alignment

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.

Second Quarter The first half of second quarter was spent getting the flocking simulation to settle down, and resemble a herd. This was finally accomplished, through lots of troubleshooting

Second Quarter After the herd was stabilized, a sheepdog agent was added to the simulation At this point, it’s behavior is fairly simple.

Second Quarter After trying out several methods of coding behavior, it was decided that the only one that could be implemented in a reasonable timescale was a weighting system Each sheepdog agent would add weight to pre- calculated vectors to determine it’s behavior. This doesn’t offer as much hope for dynamic behavior, but it is based off similar principals that flocking behavior is. If a good behavior is found, it will be easier to recreate and implement.

Second Quarter This is a screenshot of the first generation of sheepdogs. Their behavior is randomized, and incredibly chaotic. Unfortunately it is not visible in the still photo.

First Generation This is a sample of the genetic pool of the first generation. [ , , , , , , , , , ], [ , , , , , , , , , ], [ , , , , , , , , , ], [ , , , , , , , , , ], [ , , , , , , , , , ], [ , , , , , , , , , ], [ , , , , , , , , , ], [ , , , , , , , , , ],

Precursors Initially, an evolution program was written to fine tune the authors understanding of artificial evolution. This is a genepool of evolved creatures.

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.