web version of the ppsn vii invited talk (held on september 9, 2002 by alexander nareyek) because...

24
Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it might be hard to study the document if you did not attend the talk. Some basic comments were added in the form: # Comment # Please note that this version of the talk does not contain any videos/music to keep the size at an appropriate level for download. The pictures included in this document were mostly taken from the world wide web. If you identify any

Upload: leah-mclean

Post on 26-Mar-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

Web Version of the PPSN VII Invited Talk(Held on September 9, 2002 by Alexander Nareyek)

Because these are only the slides without any verbal parts, it might be hard to study the document if you did not attend the talk. Some basic comments were added in the form:

# Comment #

Please note that this version of the talk does not contain any videos/music to keep the size at an appropriate level for download. The pictures included in this document were

mostly taken from the world wide web. If you identify any copyright issues, please let me know ([email protected]).

Page 2: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

TitleIs Research Going in the Right Direction?

AbstractWhat about the general direction of our research and the methodology

used? Is it in line with real-world application requirements? Or are we focusing on issues of secondary importance and missing crucial

requirements? Questions like these will be raised in the talk, and the answers will not always be satisfactory. Throughout the talk, the

booming application domain of computer games will serve as an example because its extreme requirements regarding algorithms and production

enable attention to be drawn to many deficiencies in the research sphere.

BioAlexander Nareyek studied computer science at the TU Berlin, where he

also obtained his Ph.D. He won the GMD's 1997 Best Degree Thesis Award, was a winner of the BMWi's Founders Competition Multimedia 1998 and was awarded an enhanced Ph.D. scholarship by the German Research Foundation

(DFG). He is involved in many AI events, e.g. as organizer of several workshops on planning topics and as chair of the IGDA's AI Interface

Standards Committee. Since 2002, he has been guest researcher at CMU on an Emmy Noether fellowship.

Page 3: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

Is Research Going in the Right Direction?

Is Research Going in the Right Direction?

Alexander Nareyek<[email protected]>

Carnegie Mellon University

Or: “Where’s the Cheese?”

Page 4: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

“…the Drosophila of Artificial Intelligence…”

# The era of games like chess as a suitable research tool ## is over; they lacks very important features to be considered #

# in today’s research. #

Page 5: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

# Games like Pac Man are already 20 years old. Technology ## progress in the domain of computer games is incredible, and #

# they provide highly complex environments. #

Page 6: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

Action Games

Role-Play Games

Strategy Games

Sports Games

# Overview of game genres & technology – the videos are not ## included. You may visit web pages like www.fileplanet.com #

# to download movie/demo samples. #

Page 7: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

Editing Your Test Scenarios

# Demo not included; many major computer games provide you with ## very advanced editors and scripting languages to implement your #

# own AI behavior. #

Page 8: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

Creatures – Genetics at Work

# Demo not included; an example of a game applying ## evolutionary techniques, however, not as a search technique. #

Page 9: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

# Nearly no commercial game applies any of our search ## techniques! What are the reasons? #

Page 10: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

PPSN VIPPSN VI

Real TimeReal Time

Quality

Time?t

13%

30%

0%

57%

# Hardly any research on engineering anytime behavior. #

# Given response time distribution #

# Automatic anytime ## curve optimization #

Page 11: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

DynamicsDynamics

“If anything can go wrong, it will.” Edward A. Murphy, Jr.

PPSN VIPPSN VI

12%

# Things go wrong and our world is constantly changing. ## Algorithms/representations must be able to incorporate this! #

Page 12: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

Conceptual FlexibilityConceptual Flexibility

# Not only are real-world applications always a bit different ## and require algorithmic/representational adaptations. #

# Design documents also rarely stay the same during development. ## Let’s represent the design document as a painting… #

Page 13: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

Conceptual FlexibilityConceptual Flexibility

# Some weeks later… #

Page 14: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

Conceptual FlexibilityConceptual Flexibility

PPSN VIPPSN VI

17%

# And two weeks before the final milestone. #

Page 15: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

The “One at a Time” FolksThe “One at a Time” Folks

“Start with one featureand add the others stepwise.”

# Many people want to optimize one featurebefore whey worry about others. #

Page 16: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

Efficiency vs. Conceptual FlexibilityEfficiency vs. Conceptual Flexibility

public static final int fac(int n) {

if (n != 0) {

return n * fac(n - 1);

} else {

return 1;

}

}

public static final int fac(int n) {

if (n != 0) {

return n * fac(n - 1);

} else {

return 1;

}

}

An Example:Calculating the Factorial Function

# Textbook version. #

Page 17: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

Efficiency vs. Conceptual FlexibilityEfficiency vs. Conceptual Flexibility

public static final int fac(int n) {

int f = 1;

do {

f = f * n;

} while (--n > 0);

return f;

}

public static final int fac(int n) {

int f = 1;

do {

f = f * n;

} while (--n > 0);

return f;

}

Requires only 60.39% of first solution’s time!

# Let’s get rid of the expensive recursion. #

Page 18: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

Efficiency vs. Conceptual FlexibilityEfficiency vs. Conceptual Flexibility

public static final int fac(int n) {

switch (n) {

case 1: return 1;

case 2: return 2;

case 3: return 6;

case 4: return 24;

case 5: return 120;

case 6: return 720;

case 7: return 5040;

case 8: return 40320;

case 9: return 362880;

case 10: return 3628800;

case 11: return 39916800;

case 12: return 479001600;

}

return 0;

}

public static final int fac(int n) {

switch (n) {

case 1: return 1;

case 2: return 2;

case 3: return 6;

case 4: return 24;

case 5: return 120;

case 6: return 720;

case 7: return 5040;

case 8: return 40320;

case 9: return 362880;

case 10: return 3628800;

case 11: return 39916800;

case 12: return 479001600;

}

return 0;

}

Requires only 32.02%of first solution’s time!

# We can only compute values up ## to 12 because of an int overflow #

# otherwise! #

Page 19: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

Efficiency vs. Conceptual FlexibilityEfficiency vs. Conceptual Flexibility

public static final int fac(int n) {

if (n < 5) {

if (n < 3) {

if (n == 1) {

return 1;

} else {

return 2;

}

} else {

if (n == 3) {

return 6;

} else {

return 24;

}

}

} else {

public static final int fac(int n) {

if (n < 5) {

if (n < 3) {

if (n == 1) {

return 1;

} else {

return 2;

}

} else {

if (n == 3) {

return 6;

} else {

return 24;

}

}

} else {

Requires only 24.51%of first solution’s time!

# Optimizing value retrieval ## by a balanced tree. #

Page 20: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

Efficiency vs. Conceptual FlexibilityEfficiency vs. Conceptual Flexibility

static final int[] facArray = new int[13];

static {

facArray[1] = 1;

facArray[2] = 2;

facArray[3] = 6;

facArray[4] = 24;

facArray[5] = 120;

facArray[6] = 720;

facArray[7] = 5040;

facArray[8] = 40320;

facArray[9] = 362880;

facArray[10] = 3628800;

facArray[11] = 39916800;

facArray[12] = 479001600;

}

public static final int fac(int n) {

return facArray[n];

}

static final int[] facArray = new int[13];

static {

facArray[1] = 1;

facArray[2] = 2;

facArray[3] = 6;

facArray[4] = 24;

facArray[5] = 120;

facArray[6] = 720;

facArray[7] = 5040;

facArray[8] = 40320;

facArray[9] = 362880;

facArray[10] = 3628800;

facArray[11] = 39916800;

facArray[12] = 479001600;

}

public static final int fac(int n) {

return facArray[n];

}

Requires only 2.18%of first solution’s time!

# Further optimizing value ## retrieval by an external array. #

# Great benchmark to be ## published, isn’t it? #

# But not exactly a flexible ## solution anymore… #

Page 21: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

Multi-Objective Algorithm DesignMulti-Objective Algorithm Design

Feature A

Feature B

# Algorithm design is a multi-objective task and focusing on only one ## feature such as efficiency will take you away from possible applications! #

Page 22: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

DragonBreath Engine Demo

# Demo not included; engine is free and can be downloaded via: ## http://www.ai-center.com/projects/dragonbreath/ #

# Highly flexible by being based on the paradigm of constraint programming ## and easily extensible/adaptable by a very modular concept. Complex dynamic #

# changes can be incorporated during search. Anytime behavior can be engineered ## by switching between given heuristics, adding new ones, or applying learning #

# techniques to adapt to the required behavior. #

Page 23: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

Global Search Control

Constraint

ImprovementHeuristic

ImprovementHeuristic

ImprovementHeuristic

Choice ofHeuristic

(Learning)

Variable

report valuechanges

assign newvalue

requestimprovement

report costchanges

Concept of the DragonBreath Engine

Page 24: Web Version of the PPSN VII Invited Talk (Held on September 9, 2002 by Alexander Nareyek) Because these are only the slides without any verbal parts, it

ConclusionConclusion

# Go for a mix of different cheeses! Efficiency is just one of the important features! #

Consider to explore new dimensions

in the algorithm design space!

http://www.ai-center.com

Applications likecomputer games

arehelpful and fun!

Open Positions !( students, docs & post-docs )