• Ei tuloksia

1 Evaluation function

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "1 Evaluation function "

Copied!
3
0
0

Kokoteksti

(1)

1 Evaluation function

Evaluation function

„„expand vertex minimizingexpand vertex minimizing

f(f(vv) = ) = gg((s s ~>~>vv) + ) + hh((vv~>~>rr))

„„gg((ss~>~>vv) estimates the minimum cost from the ) estimates the minimum cost from the start vertex to

start vertex to vv

„

„hh((v v ~>~>rr) estimates (heuristically) the cost from ) estimates (heuristically) the cost from vv to the goal vertex

to the goal vertex

„

„if we had exact evaluation function if we had exact evaluation function f f **, we could , we could solve the problem without expanding any solve the problem without expanding any unnecessary vertices

unnecessary vertices

Cost function Cost function g g

„„actual cost from sactual cost from sto to vvalong the cheapest path along the cheapest path found so far

found so far

„„exact cost if Gexact cost if Gis a treeis a tree

„

„can never underestimate the cost if Gcan never underestimate the cost if Gis a general is a general graph

graph

„

„f(f(vv) = ) = gg((ss~>~>vv) and unit cost ) and unit cost

→ breadth

→ breadth--first searchfirst search

„„f(f(vv) = ) = ––gg((ss~>~>v) and unit cost v) and unit cost

→ depth

→ depth--first searchfirst search

Heuristic function Heuristic function h h

„

„carries information from outside the graphcarries information from outside the graph

„

„defined for the problem domaindefined for the problem domain

„

„the closer to the actual cost, the less superfluous the closer to the actual cost, the less superfluous vertices are expanded

vertices are expanded

„

„ff((vv) = ) = gg((s s ~>~>vv) → cheapest) → cheapest--first searchfirst search

„„ff((vv) = ) = hh((v v ~>~>r) → bestr) → best--first searchfirst search

Admissibility Admissibility

„„let Algorithm A be a best-let Algorithm A be a best-first search using the first search using the evaluation function

evaluation function ff

„

„search algorithm is admissiblesearch algorithm is admissibleif it finds the if it finds the minimal path (if it exists)

minimal path (if it exists)

„

„if fif f= = f f **, Algorithm A is admissible, Algorithm A is admissible

„„Algorithm A* = Algorithm A using an estimate Algorithm A* = Algorithm A using an estimate function

function hh

„„A* is admissible, if hA* is admissible, if hdoes not overestimate the does not overestimate the actual cost

actual cost

Monotonicity Monotonicity

„„hhis locally admissible → his locally admissible → his monotonicis monotonic

„

„monotonic heuristic is also admissiblemonotonic heuristic is also admissible

„

„actual cost is never less than the heuristic cost actual cost is never less than the heuristic cost

→ → ffwill never decrease will never decrease

„

„monotonicity → A* finds the shortest path to monotonicity → A* finds the shortest path to any vertex the first time it is expanded any vertex the first time it is expanded

„

„if a vertex is rediscovered, path will not be shorterif a vertex is rediscovered, path will not be shorter

„„simplifies implementationsimplifies implementation

Optimality Optimality

„„Optimality theorem: The first path from sOptimality theorem: The first path from sto rto r found by A* is optimal.

found by A* is optimal.

„„Proof: lecture notes pp. 94-Proof: lecture notes pp. 94-9595

(2)

2 Informedness

Informedness

„„the more closely the more closely hhapproximates approximates hh**, the better , the better A* performs

A* performs

„

„if Aif A11using using hh11will never expand a vertex that is will never expand a vertex that is not also expanded by A

not also expanded by A22using husing h22, A, A11is more is more informed that A

informed that A22

„

„informedness → no other search strategy with informedness → no other search strategy with the same amount of outside knowledge

the same amount of outside knowledgecan do less can do less work than A* and be sure of finding the optimal work than A* and be sure of finding the optimal solution

solution

Algorithm A*

Algorithm A*

„

„because of monotonicitybecause of monotonicity

„

„all weights must be positive all weights must be positive

„„closed list can be omittedclosed list can be omitted

„„the path is constructed from the mapping πthe path is constructed from the mapping π starting from the goal vertex

starting from the goal vertex

„

„ss→ … → π→ … → π(π(π((rr))) → ))) → ππ(π((rr)) → )) → ππ((rr) → ) → rr

Practical considerations Practical considerations

„

„computing computing hh

„

„despite the extra vertices expanded, less informed hdespite the extra vertices expanded, less informed h may yield computationally less intensive

may yield computationally less intensive implementation

implementation

„

„suboptimal solutionssuboptimal solutions

„

„by allowing overestimation A* becomes by allowing overestimation A* becomes

inadmissible, but the results may be good enough for inadmissible, but the results may be good enough for practical purposes

practical purposes

Search algorithms Search algorithms

depth depth--firstfirst

best-best-firstfirst A*A*

breadth breadth--firstfirst

Realizing the movement Realizing the movement

„

„movement through the waypointsmovement through the waypoints

„„unrealistic: does not follow the game world geometryunrealistic: does not follow the game world geometry

„„aesthetically displeasing: straight lines and sharp aesthetically displeasing: straight lines and sharp turns

turns

„

„improvementsimprovements

„

„line-line-ofof--sight testingsight testing

„

„obstacle avoidanceobstacle avoidance

„„combining path finding to usercombining path finding to user--interfaceinterface

„

„real-real-time responsetime response

Recapitulation Recapitulation

1.

1. discretization of the game worlddiscretization of the game world

„„ grid, navigation meshgrid, navigation mesh

„

„ waypoints, connections, costswaypoints, connections, costs

2.2. path finding in a graphpath finding in a graph

„

„ Algorithm A*Algorithm A*

3.3. realizing the movementrealizing the movement

„

„ geometric correctionsgeometric corrections

„

„ aesthetic improvementsaesthetic improvements

(3)

3 Alternatives?

Alternatives?

„

„Although this is the Although this is the de factode factoapproach in approach in (commercial) computer games, are there (commercial) computer games, are there alternatives?

alternatives?

„„possible answerspossible answers

„„AI processors (unrealistic?)AI processors (unrealistic?)

„

„robotics: reactive agents (unintelligent?)robotics: reactive agents (unintelligent?)

„

„analytical approaches (inaccessible?)analytical approaches (inaccessible?)

Viittaukset

LIITTYVÄT TIEDOSTOT

 a measure of how much data is lost by the network during the journey from source to destination host.  types of

 Although this is the de facto approach in (commercial) computer games, are there alternatives. 

Three perspectives for decision- making in computer games.  level

™ a measure of how much data is lost by a measure of how much data is lost by the network during the journey from the network during the journey from source to destination

„ a game that is carried out with the help of a a game that is carried out with the help of a computer program.

„ common problem in computer games common problem in computer

My sec- ond main research proposition is that there are several organisational tensions in research units, and they reflect inher- ent tensions in the quality criteria.. Although

Although this work focuses on the practice of fan blogging, it is part of an ongoing study on otome games in English and otome game players outside Japan.. Keywords : otome