Showing posts with label joe krall. Show all posts
Showing posts with label joe krall. Show all posts

Tuesday, October 1, 2013

WMC3CDA Results

Shown here are results for GALE/NSGA-II/SPEA2 for a single run each on the CDA simulation for the WMC3 framework  (i.e. WMC3CDA).  

Note that each single run evaluates every member of every population for comparison purposes, but with GALE, not every evaluation is necessary for optimization.  Thus, each algorithm takes ~ about 4 hours to do a single run.

The results below are for a single run of the algorithm.  A more complete analysis would require ~ 10 runs at the very least, or 20 to be minimally satisfying to put up a solid statistical comparison.

Results:
Dot Plots: 1
http://i.imgur.com/jyfLyDH.png

Line Plots:
GALE is on top.   Bottom plots have messed up plot marker-choices, so read carefully.
http://i.imgur.com/LxkL6eh.png


Comments:
Although GALE reaches some lows not seen by the other algorithms, GALE has much larger variance, which could theoretically be fixed by removing random jiggles.


Note that the adjustments in making GALE deterministic (removing all randoms) are not used in these results.


Whats Next:
Need more Decision Variables!
 - Different landing routes
 - Radar Tower parameters?

Prune some objectives away?  Focus on time lost instead of number of delayed/interrupted tasks.

NASA furloughs - no access to their servers for now.  Need to get stuff working on my machines.

Tuesday, September 24, 2013

Bounce at "1 minus (east-west)"?

WMC3 - CDA

Recap Problem Statement: We're trying to use GALE to make safety-critical decisions in short time.  We're using the CDA model from WMC3, built by Georgia Tech scholars, to learn what organizational structures within the cockpit (in terms of how the pilots should handle their taskload) best optimize objectives such as minimizing time of delay/interruptions in getting these tasks completed.  This is a cognitive science domain.

Buggy dataset: http://i.imgur.com/GCZFxie.png.  Takes about 12-15 minutes to run 100 times.

Comparing to results (example: http://i.imgur.com/znv2xzv.png) from http://cci.drexel.edu/NextGenAA/pdf/jcedm-2013-Pritchett-measuring%20fa.pdf.  This is our main reference paper for sanity checks on the model.

Few obvious correlations.  Sanity check.

Task: Figure out the bugs.  Then we can take off.

GALE

What I did:

Took away all non-determinism (random injections).

Only randomness that exists is with regeneration of individuals - but this isn't really non-deterministic (probability bin distributions).

Results: No change.

Self-reflection: we're mutating some distance, usually going too far.  Then we try to come back towards it, and we go too far.  Repeat, bouncing back and forth across where we want to go.

Problem: How far do we really want to bounce to get to exactly where we want to go?

Solution: Our projection axis is typically 1.0 units long.  In the optimal ideal world, east = 1.0, and west = 0.0  (or vice versa).  Thus absolute difference is 1.0 - 0.0 = 1.0.  Taking 1 minus this, this tells us how far we need to bounce.   "1 - (east - west)".

Observations: In early generations, this bounce distance is on the order of 0.30.  In later generations, it's very close to 0.0.  In addition, once we get close to 0.0, we STAY there.

Hypotheses: In problems that are hard to optimize, we don't get close to 0.0.  Bounce distance tells us on its own how good we're doing.

New Results:

Some standard Models (Osyczka2, Vienett2, Schaffer): http://i.imgur.com/MUUC2pD.png

POM3 Models: http://i.imgur.com/aSK1gWj.png

GALE POM3B Decision Chart: http://i.imgur.com/zoL8ZiW.png

Observations: Less variance in the dots.  Clearer image than before  (active v6 link: http://unbox.org/things/var/joe/active/active-v6.pdf)

Wednesday, August 21, 2013

A Summer in Rear-view - Joe

NASA Ames Report:


In progress of developing a framework for NextGen aviation technology studies.  This framework will investigate the integration of highly-necessary NextGen technology into current aviation policies.

Poster: https://www.dropbox.com/s/rghtyrqvgftqowk/nasa_poster_joe.pdf
Abstract: https://www.dropbox.com/s/71agln6id5h6otw/nasa_poster_abstract_joe.pdf

modeling for optimization:

Objectives:
[min] false alarm rate
[min] distance travelled
[max] granularity
[min] look-ahead time
[min] safe spacing distance
[min] crashes
[min] conflicts

Decisions:
num planes
homogeneous airspace {true, false}   /    num types of planes
num runways
percentage RNP
granularity
look-ahead time
safe spacing distance
[psych] scenario level {SC1, SC2, SC3, SC4, SC5}
[psych] function allocation {FA1, FA2, FA3, FA4, FA5}
[psych] cognitive control model     {OPP, STR, TAC}



California Trip:


In addition to visiting NASA Ames campus, I've visited several other sites as well:
 - Google
 - Stanford
 - Vegas
 - Los Angeles
 - San Francisco
 - Golden Gate Bridge
 - Napa Valley Area

GALE Paper Preview:


http://unbox.org/things/var/joe/active/active-v5.pdf

[culture] [crit] [crit mod] [init kn] [inter-D] [dyna] [size] [plan] [team size]

"New" Decision Bin Charts GALE vs NSGA-II:
POM3A&B: http://i.imgur.com/0CjGLwt.png
POM3C&D: http://i.imgur.com/sCmBrim.png

Sans Completion:
http://i.imgur.com/KrvGfA5.png   {(just look at the stuff on the left)}

Looking Ahead:



Before end of 2013:
- Finish NASA Aviation Project
- "Upgrade" GALE into GALE2.  That means identify current quirks with GALE1 and clean them out to enhance performance.
- Integrate NASA project into GALE2 for testing.

Spring 2014: 
- Finish Ph.D.

Tuesday, June 25, 2013

Joe: Presenting GALE

Hello, my name is Joe Krall, phd student here at WVU.  I'm currently away, near San Jose, California, on internship with the NASA Ames Research Center.  My work there entails software research with intelligent systems design focusing on air traffic management (specifically, about avoiding airspace collisions between aircraft.)

My Ph.D. work here at WVU has largely been centered around gaming and procedural content generation for the aim and purpose of keeping players in the game (and providing fresher content to keep them around longer.)  Procedural Content Generation can be the process of parameter tuning to some generative content algorithm.  Thus, we lead into the problem of optimizing "fun" by tuning these parameters.

It is not timely or efficient to poll thousands of players about their experience while playing a game which utilizes some procedurally generated content.  Players are often biased, or lie, or just don't care in their responses to surveys.  It is often difficult to substantiate a lot of respondents.  It has become a major necessity to be able to optimize in very few evaluations (< 50), as opposed to thousands.

For this purpose, I've worked and developed what I call GALE.  It is capable of being used for my intents of exploring the optimization of procedural content generation algorithms, and in general, we can optimize things in less than 20 evaluations.

Overview: 


GALE is a powerful tool for evolutionary algorithms that optimize the solutions to problems.  As a template, we consider problems to be simulations that have input parameters called Decisions, and output scores called Objectives.  Whereas traditional evolutionary algorithms may require the use of the simulation thousands of times before it learns the best decisions to optimize the objectives, GALE requires a mere fraction of these number of simulation objective evaluations.

Our principle focus is to optimize POM3, a revised simulation of the requirements engineering process. POM3 can be split into POM3A,B,C,D, where each subset problem represents different kinds of software projects (for instance, POM3A represents all projects while POM3B represents small but safety-critical projects.)

Background:


GALE stands for Geometric Active Learning Evolution.  It is based on techniques that use Response Surface Approximation methods to estimate objective score rather than evaluate them, without the use of a simulation that can be costly and timely to run.  GALE makes the use of a Response Surface technique called RRSL (Rapid Recursive Spectral Learning), which recursively clusters in a tree-like manner, a population of unevaluated individuals by projecting them all onto a 1-dimensional line, and then discarding any dominated clusters (by choosing east and west representatives of each cluster, and using those to evaluate via the simulation.)  The remaining non-dominated individuals of leaf clusters are mutated closer to "heaven" by examining each decision of each individual, and making the best choice of how to mutate it so that the individual is more optimized.

Illustration of GALE:


Results:


Plotting objective scores during evolution (50 runs).  Each plot marker indicates the mean objective score for that generation (not necessarily the final generation of the algorithm - so we can get a clear picture of how objective scores evolve.)  Vertical axes represent percentage of change for the better from initial, and horizontal axes are the number of evaluations.   Shown here is a plot for ZDT1, one of our 11 evaluated problems.


Average speedups for each algorithm and problem are show below.  (We average about 80x fewer than state of the art.)  Note: This is a slightly outdated result, due to some minor revising in the GALE algorithm.  RHO indicates how long the algorithm had to run before it converged on optimization.  The higher the RHO, the fewer the generations needed for convergence.  Since GALE typically has a higher RHO, it has fewer generations and also fewer evaluations.  (Also Note: IBD is our measure of quality on how good the optimization was - the lower the IBD, the better.)


Next:  Frequency of decisions as chosen by GALE (top) are much more precise than NSGAII (bottom).   GALE has the power to make very concretely defined decisions.


Wednesday, March 6, 2013

SBSE MOO in Few Evals: GALE

GALE = Geometric Active Learning Evolution


Hypervolume versus IBD and IBS
  -  IBD = how good we are
  -  IBS = how spread out we are
  -  Both based on IBEA indicator



More Results:
 - added some more flavors just so we have one of every cookie
Notes:
  - Left table shows the Raw Averages for everyone over 20 repeats
  - Right table uses t-statistic to generate confidence interval (99%) 
  -  7-3-2 on wins-losses-ties when only considering IBD (quality)
  - WIN or LOSS = no overlap of confidence interval
  - RRSL should be GALE, here

Analysis Notes:
  - RRSL wins badly on NumEval
  - NSGA-II outperforms RRSL in runtime for small MOPs that are cheap to evaluate.  But when models become expensive (i.e. POM2), NSGA-II becomes slow and RRSL wins in runtime
  - RRSL is a very decision-sided routine.  For ZDT1 (30 decisions) and osyzcka2( 5 decisions ), the runtime of RRSL is punished

Paper "3/4 Draft":
 - nothing in here, yet: http://unbox.org/things/var/joe/active/
 - promise to be integrated in linux/latex fully by full draft time
 - https://www.dropbox.com/s/y9ey0hr6agsolzt/solving_problems_in_few_evaluations.pdf?m

Tuesday, December 4, 2012

POM2 Baselines

Using Inspyred for Python.  (http://pypi.python.org/pypi/inspyred)
May switch to DEAP, since no SPEA2 in Inspyred.  (http://code.google.com/p/deap/)


NSGA2:
table of data: http://justpaste.it/1la9
charts image: http://i.imgur.com/Ceuw8.png

PAES:
table of data: http://justpaste.it/1laa
charts image: http://i.imgur.com/SAl9D.png

NumEvals above are > 10,000
NumEvals below are < 20

RRSL:
tables of data: http://unbox.org/stuff/var/joe/joe/fall2012/pom2rrslTesting/data/

Friday, October 12, 2012

Who is Joe

Joe Krall

I'm Joe, Ph.D. student at WVU, studying games with computer science, aiming for a high level job in the gaming industry; an indoor outdoors-man, writer, artist, and gamer at heart.

Education

 - B.S. in Computer Science at University of Pittsburgh at Johnstown (2008)
 - B.S. in Mathematics at University of Pittsburgh at Johnstown (2008)
 - M.S. in Computer Science at West Virginia University (2010)
 - Ph.D. pending, in Computer Science at West Virginia University (2013)

Research Interests

 - Studying Games
 - Cognitive Psychology & Believability
 - Data Mining
 - Multiple Objective Optimization

Publications

 - JSEA'12 "Aspects of Replayability and Software Engineering: Towards a Methodology of Developing Games" (The most downloaded paper in Vol.5 No. 7) [Link]

Abilities

 - Excellent Writer
 - Good with Graphics & Presentation
 - Intensive Programmer

Leisure Interests

 - Trap Shooting
 - Archery
 - Gaming

Tuesday, September 18, 2012

Metrics of Interest: Keeping Players in the Game


Period: A period of time (i.e. 1 day, 1 week, 1 month)

Retention: How many players are still playing in period i+1

Churn: 1 - Retention

Stickiness: [Users per Period] / [Users per next Largest Period].  i.e. DAU/MAU (daily vs monthly)

Viral Rate: New Unique User per period / Total Users per period

Research Objectives = 
 = Maximize Retention
 = Minimize Churn
 = Maximize Stickiness (shoot for 15-20%)
 = For every 1% increase in Churn, Want 2.3% increase in Viral Rate
 = = (reference)


--------------------------------------------
pom2 charts: http://i.imgur.com/LQxLw.png

Tuesday, September 11, 2012

The Cloud is Large

pom2:

http://i.imgur.com/IMzQj.png

games: 

http://aimazed2d-web-dev-env.elasticbeanstalk.com/

cloud pricing:


EC2 Service for Web Hosting a container for Game Applications

Cliff notes:
* ~ 10 cents per HOUR of CPU
* ~ 12 cents per GB of data transferred

RDS Service for Relational Database Storage

Cliff notes:
* ~ 12 cents per GB of storage

Typically; standard projects can expect to pay ~72$/month.
Several high-end gaming companies use Amazon Web Services:http://aws.amazon.com/solutions/case-studies/

Tuesday, August 28, 2012

pom2 & fun in games

pom2 graph: http://i.imgur.com/ffATu.png

Plans for fun games:
 - Prepare cog. tests: i.e. What dungeon parameters lead to highest user play time
 - Collect data: game dumps user data to server
 - - - Dungeon parameters used, total play time, explore ratios, speed of movement, items collected, etc
 - Analyze data: keys2?

Tuesday, August 21, 2012

Maze Game & Turing Test of AI

AiMazed2D Project (Java Jar download below):
https://sites.google.com/site/tanzastic/research/AiMazed2D.jar?attredirects=0&d=1

Tasks this week:
 1. Video record humans playing the game
 2. Video record AI playing the game
 3. Devise/research way to score results of formal turing test across gathered sample space from (1 & 2)

Tasks later down road:
 1. Improve score of turing test. (Study differences between humans and AI videos above)
 * Most prominently: humans have decision delays that must be imitated by the AI

Thursday, July 19, 2012

POM

POM Learner Results:

Software Project Performance Metrics: http://i.imgur.com/ERu9M.png

Learner Metrics: http://i.imgur.com/AJoq1.png

Monday, April 23, 2012

Some PCG Algorithms for Dungeon Generation

Recursive Backtracker Maze Algorithm:
 - Go in random unvisited direction and backtrack when each direction is visited until everything is visited

Jar Demo:
http://dl.dropbox.com/u/30075723/joe/RecursiveBacktracker.jar

Jamis Buck Maze Algorithm:
 - Similar to Recursive Backtracker
 - Addition of some parameters that control bias of turning

Jar Demo:
http://dl.dropbox.com/u/30075723/joe/JamisBuck.jar

Recursive Backtracker (left) versus Jamis Buck (right)
http://www.grabilla.com/02418-29fad28b-4a20-45c7-ab57-6da5bd11f1e5.png

Cellular Automata:
 - Change the state of a grid cell (whether it can be walked on or not) based on neighboring states
 - If (parameter_above = 5) or more of neighbors are "walkable" then this cell is walkable.
 - If (parameter_under = 2) or less of neighbors are NOT "walkable" this this cell is non-walkable.
 - Run the above to "erode" the dungeon
 - No guarantee of connectedness without further work

Examples of Cellular Automata:
http://www.grabilla.com/02418-3a42a206-b903-439f-986a-55f0b6cb5794.png
http://www.grabilla.com/02418-bfaf95c7-f212-4d47-b5ca-e78217c8a7d8.png

Jar Demo:
http://dl.dropbox.com/u/30075723/joe/CellularAutomata.jar

BSP Tree (Binary Space Partion):
 - Split the component in half either vertically or horizontally at some position
 - Recurse into each half and repeat until the components are "small enough"
 - Add rooms to each resulting component after tree is generated
 - Connect rooms (by connecting each component to its sibling)
 - Connectedness *is* guaranteed as a property of the BSP Tree

Examples of BSP Tree Dungeons:
http://www.grabilla.com/02418-eab66c9e-2e3b-402a-89df-fcb6ff589c6c.png
http://www.grabilla.com/02418-f73cd867-ae67-4f96-8ad9-861cfee997d6.png

Jar Demo:
http://dl.dropbox.com/u/30075723/joe/BSPTree.jar

Monday, March 19, 2012

Game Surveys

Survey for "League of Legends" now open.

- 69 Results so far, still early in the week.


Survey is here:

http://www.esurveyspro.com/Survey.aspx?id=5cd0fddb-2e5c-451f-bd1e-4dd49e571a1d


Monday, March 12, 2012

Poster

Poster

--------------

Fresh topic: " The decline of the MMORPG. "
- Why? : Lack of fresh content, it's always the same general thing: kill 5 of this, collect 10 of that
- MMORPGs no longer playable due to lacking replayability

Monday, March 5, 2012

Redesigning Games

The game I made earlier this year: AiMazed
- Random dungeons are built and your job is to pilot a car through the maze and find:
- - - > A key
- - - > An exit
- - - > Enough crystals to power the exit warp
- Meanwhile, there is also an AI computer agent doing the same thing

My (Re)Design Methodology, buffed up a bit:
---Pre-Production of a working version---
- 1. Design the Game
- 2. Guess the AR Vector for your game (AR_PROJECTED) based on your own experience
- - - > 2b. Or, look up an AR Vector from previous knowledge based on the game class/genre
- 3. List each feature in your game
- 4. Score each feature in your game for AR (AR_i)
- 5. Add weights if necessary to the above features
- 6. Average each feature (AR_AVG)
- 7. Compare AR_AVG and AR_PROJECTED
- 8. Add features based on comparison in (7)
--- Post Production of a working version ---
- 9. Discover disruptions to game play and propose fixes to them
- 10. Propose whatever other suggestions you deem appropriate

If the AR_AVG for some aspect is less than that aspect in AR_PROJECTED, then you need to add some features to bring the AR_AVG up to the projection.

Above is put to work to redesign and make AiMazed better.
- This will give us two versions of the game
- Need places (separate places) to post game and get ratings
- Hypothesis: V2 using my method gives a better rating

Monday, February 27, 2012

Week in Summary

The 400 Project
> A "master list" of "rules" of game design

Much literature on game design and methodologies. They say to "tune" the game after you design/develop it. But nothing found on methodologies for "tuning".
> Some games involve beta process. Takes in lots of feedback, only one chance to revise.
> Some games have testers who report feedback quickly. Many chances to revise.
> > Testing process draws out and takes time: lots of money.
> Want something that does not involve testers

Working on Qualifier Paper & Presentation
> Section I: History of Gaming and other background information
> > Pre-computing era (Ancient Civilization - 1950)
> > Early Computing Era (1950 - 1980)
> > Computing Era (1980-2000)
> > Golden Age of Gaming (2000 - present)
> Section II: Overview of Games Studies, and Role of Engineering in Games Studies
> Section III: My own research (and what kind of Games Studies it is)

Revise an unsuccessful game into something successful
> Tons of games which are unsuccessful
> Study these games and analyze them
> > What went wrong?
> > Suggest revisions that could have made them successful instead
> I'm currently studying an old game called Deadly Towers
> Coding up a game could take months
> > Working on existing game code involves coding in assembly

Tuesday, February 21, 2012

Paper Final

Deadline for ICSE-GAS'12 extended to Feb 24.


New Stuff:
- Subdividing Board Gaming data with Rules (Figure 7.)
^ Important when data doesnt match expectations.

Next:
- More Data; Shooter Types and RTS Games
- Another MMORPG and Board Game, to collaborate existing data
- Learn what people think Core and Casual mean (refine data collection)

Monday, February 13, 2012

Aspects of Replayability Paper

Paper Week 4: almost final. Feb 17th submission deadline (Zurich timezone) [ICSE-GAS'12]

New "Game Class diagram":
- Only sensible to compare game-instances with siblings or parents

"JDK Diagrams" = Just Don't Kare (named after Joseph D...err... Henry Krall):
- Used to analyze game data
- Offers tukey-kramer analysis, where edges represent statistical indistinguishable-ility
- We only "kare" about nodes which aren't connected, in practice.