George Rush Modified by Dr. T

Slides:



Advertisements
Similar presentations
1/12 Vision based rock, paper, scissors game Patrik Malm Standa Mikeš József Németh István Vincze.
Advertisements

Evolutionary Algorithms Simon M. Lucas. The basic idea Initialise a random population of individuals repeat { evaluate select vary (e.g. mutate or crossover)
CS 1 – Introduction to Computer Science Introduction to the wonderful world of Dr. T Daniel Tauritz, Ph.D. Associate Professor of Computer Science.
Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 1 The Alpha-Beta Procedure Example: max.
CSI Evolutionary Computation Fall Semester, 2009.
Se Over the past decade, there has been an increased interest in providing new environments for teaching children about computer programming. This has.
Coevolutionary Models A/Prof. Xiaodong Li School of Computer Science and IT, RMIT University Melbourne, Australia April.
Pareto Coevolution Presented by KC Tsui Based on [1]
Line Graphs A line graph is a way to summarize how two pieces of information are related and how they vary depending on one another. The numbers along.
Immune-inspired Network Intrusion Detection System (i-NIDS) 1 Next Generation Intelligent Networks Research Center National University of Computer & Emerging.
Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology 1 Evolving Reactive NPCs for the Real-Time Simulation Game.
CIAO Plots George Rush. Motivation Assignment 2c: Bonus 2 ▫“Up to 10% bonus points can be earned by investigating under what circumstances coevolutionary.
October 1, 2013Computer Vision Lecture 9: From Edges to Contours 1 Canny Edge Detector However, usually there will still be noise in the array E[i, j],
PowerPoint Tutorial.  Once the data collected portion of an experiment is completed, the work of determining the relationship between the variables begins.
11.1 Genetic Variation Within Population KEY CONCEPT A population shares a common gene pool.
Local Search Algorithms CMPT 463. When: Tuesday, April 5 3:30PM Where: RLC 105 Team based: one, two or three people per team Languages: Python, C++ and.
11.5 Speciation Through Isolation KEY CONCEPT New species can arise when populations are isolated.
Evolutionary Computing Systems Lab (ECSL), University of Nevada, Reno 1 Authors : Siming Liu, Christopher Ballinger, Sushil Louis
Robot Intelligence Technology Lab. 8. Competitive co-evolution From ‘Evolutionary Robotics’ Presented by Jeongki, Yoo `
March 1, 2016Introduction to Artificial Intelligence Lecture 11: Machine Evolution 1 Let’s look at… Machine Evolution.
Genetic Algorithm in TDR System
INTRODUCTION TO STATISTICS
Straight Line Graph.
Clustering MacKay - Chapter 20.
Chapter 15 – Cluster Analysis
Immune-inspired Network Intrusion Detection System (i-NIDS)
Evolving the goal priorities of autonomous agents
§ 2.3 The First and Second Derivative Tests and Curve Sketching.
An Adept Edge Detection Algorithm for Human Knee Osteoarthritis Images
Evolution strategies Can programs learn?
Equilibrium, Speciation and Patterns in Evolution
Copyright © Cengage Learning. All rights reserved.
Local Search Algorithms
Basic Rendering Techniques
Introduction to Summary Statistics
Introduction to Summary Statistics
Evolution as genetic change
HMD Bio Chapter 11 Section 4 KEY CONCEPT Hardy-Weinberg equilibrium provides a framework for understanding how populations evolve.
Writing Functions( ) (Part 5)
Relationship between Current, Voltage, and Resistance
Fitting Curve Models to Edges
Biologist now know that natural selection is not the only mechanism of evolution
Introduction to Summary Statistics
Introduction to Summary Statistics
From a presentation by Jimmy Huff Modified by Josiah Yoder
KS4 Mathematics Linear Graphs.
Introduction to Summary Statistics
G5BAIM Artificial Intelligence Methods
Equilibrium, Speciation and Patterns in Evolution
Chapter 11 Biology Textbook
“Hard” Optimization Problems
George Rush Modified by Dr. T
Introduction to Artificial Intelligence Lecture 11: Machine Evolution
Introduction to Summary Statistics
Searching for solutions: Genetic Algorithms
Graphing a Linear Equation
Quadratic Equations Chapter 4.
Introduction to Summary Statistics
More on HW 2 (due Jan 26) Again, it must be in Python 2.7.
More on HW 2 (due Jan 26) Again, it must be in Python 2.7.
First Exam 18/10/2010.
Local Search Algorithms
Lecture 4. Niching and Speciation (1)
Introduction to Summary Statistics
A8 Linear and real-life graphs
Histogram The histogram of an image is a plot of the gray _levels values versus the number of pixels at that value. A histogram appears as a graph with.
The Evolution of Populations
Introduction to Artificial Intelligence Lecture 22: Computer Vision II
Local Search Algorithms
Backtracking, Search, Heuristics
Presentation transcript:

George Rush Modified by Dr. T CIAO Plots George Rush Modified by Dr. T

Motivation Coevolution is hard to visualize & analyze in traditional ways, such as eval-fitness plots; CIAO plots are a way to accomplish this. This is also fair game for Exam 3 & Final Exam.

What Are CIAO Plots? Current Individual vs. Ancestral Opponents These are used to visually convey the progress of two populations during coevolution. Note that each CIAO plot should have n by n pixels, where n is the number of generations.

Problems in Coevolution Cycling Both populations circle around to previous solutions over and over again (e.g., rock-paper- scissors). Disengagement One population becomes so powerful that the other is overwhelmed and cannot make progress. Mediocre Stability Neither side evolves. This can happen if both opponents are too weak to provide any incentive to evolve (fitness landscape is basically flat).

Cycling Should show striation (stripes), but may not be horizontal. Could be vertical, diagonal, etc. These plots are actually caused by random survival selection, but illustrate the idea.

Cycling (continued)

Disengagement Long periods of inactivity. One side will have consistently high fitness while the other is low.

Mediocre Stability Neither side changes much, and neither seems to be much stronger.

What Do CIAO Plots of Good Evolution Look Like? Relatively smooth gradients showing evolution on both sides.

More CIAO Plots of Good Evolution

How to Generate CIAO Plots Store the best member of each population during each generation. Population A Population B

How to Generate CIAO Plots Choose which population corresponds to the x- axis and y-axis. Each y-axis ancestor must fight the ghosts of their strongest enemies throughout time, so all ancestral opponents (from before that generation). Record fitness each time.

How to Generate CIAO Plots Normalize the fitness data on a [0, 1] scale. Here is pseudocode to do this: find minimum recorded fitness value (minFitness) if minFitness < 0 add |minFitness| to all fitness values else if minFitness > 0 subtract minFitness from all fitness values find maximum from current fitness values (maxFitness) divide all fitness values by maxFitness [ 1, 3, 5, 9 ] [ 0, 2, 4, 8 ] [ 0, 0.25, 0.5, 1 ]

How to Generate CIAO Plots Create an image pixel by pixel. Darker pixels (lower luminance) are considered to be better for the party on the y-axis. Since CIAO plots are grayscale and the fitness values are normalized on [0, 1], each pixel can be set using luminance. Note that fitness may first need to be subtracted from 1 if higher fitness is considered better. luminance = fitness * maxLuminance OR luminance = (1 – fitness) * maxLuminance

Creating Images For building images pixel by pixel, I recommend using Pillow (https://python-pillow.github.io/). This is a fork of the Python Imaging Library. I have used it here to output PNG images. In C++, you might try creating BMP images manually: http://stackoverflow.com/questions/1863344/c- creating-image Alternately, there are C++ libraries for this as well, but I have not tried them. For instance: http://pngwriter.sourceforge.net/ http://stackoverflow.com/questions/3544359/is-it- possible-to-create-an-image-with-c

References Dave Cliff and Geoffrey F. Miller, Tracking the red Queen: Measurements of Adaptive Progress in CoEvolutionary Simulations. In Advances in Artificial Life, Lecture Notes in Computer Science, Volume 929, Pages 200-218, Springer-Verlag, Berlin Heidelberg, 1995, ISBN 978-3-540-59496-3. http://www. cs.uu.nl/docs/vakken/ias/stuff/cm95.pdf George Rush, Daniel R. Tauritz, and Alexander D. Kent. Coevolutionary Agent-based Network Defense Lightweight Event System (CANDLES). In Proceedings of the 17th Annual Conference Companion on Genetic and Evolutionary Computation (GECCO Comp '15), ACM, pages 859 – 866, Madrid, Spain, July 11-15, 2015.