Σχεδιασμοσ (planning )

33
ΣΧΕΔΙΑΣΜΟΣ (PLANNING) ..και εφαρμογές σε video games! Τεχνητή Νοημοσύνη ΙΙ Εαρινό εξάμηνο 2012-2013

Upload: otto

Post on 27-Jan-2016

41 views

Category:

Documents


1 download

DESCRIPTION

Σχεδιασμοσ (Planning ). ..και εφαρμογές σε video games!. Τεχνητή Νοημοσύνη και Video Games. Game engine: Δημιουργεί τα αντικείμενα στον χώρο του video game και υπολογίζει τι συμβαίνει σε αυτόν σε κάθε frame C++ - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Σχεδιασμοσ  (Planning )

ΣΧΕΔΙΑΣΜΟΣ (PLANNING)

..και εφαρμογές σε video games!

Τεχνητή Νοημοσύνη ΙΙ Εαρινό εξάμηνο 2012-2013

Page 2: Σχεδιασμοσ  (Planning )

2

Τεχνητή Νοημοσύνη και Video Games

Game engine: Δημιουργεί τα αντικείμενα στον χώρο του

video game και υπολογίζει τι συμβαίνει σε αυτόν σε κάθε frame

C++ Π.χ., ένα κιβώτιο είναι στον αέρα στο

frame1. Στο frame 2 θα υπολογίσει και θα εμφανίσει τη νέα του θέση, κτλ.

Page 3: Σχεδιασμοσ  (Planning )

3

Τεχνητή Νοημοσύνη και Video Games

Game engine: Δημιουργεί τα αντικείμενα στον χώρο του

video game και υπολογίζει τι συμβαίνει σε αυτόν σε κάθε frame

C++ Π.χ., ένα κιβώτιο είναι στον αέρα στο

frame1. Στο frame 2 θα υπολογίσει και θα εμφανίσει τη νέα του θέση, κτλ.

Το ίδιο και για τους Non-player characters!

Page 4: Σχεδιασμοσ  (Planning )

4

Πεπερασμένα Αυτόματα (FSMs)

Video Games: Finite State Machines Decision Diagrams Behavior Trees Goal Oriented Action Planning

Ακαδημαϊκή έρευνα σε agents: Knowledge representation, First-order

logic, Classical planning, Planning with preferences, …

Belief-Desire-Intention architecture, Agent-based programming, …

Probabilistic reasoning, Bayesian networks, Utility theory, Markov Decision Processes, …

Page 5: Σχεδιασμοσ  (Planning )

5

Πεπερασμένα Αυτόματα (FSMs)

Αναγνώριση κανονικών γλωσσών

Page 6: Σχεδιασμοσ  (Planning )

6

Πεπερασμένα Αυτόματα (FSMs)

Συμπεριφορά σύμφωνα με εναλλαγή καταστάσεων!

On Guard

Fight

Run away

See small enemy

Losing fight

See big enemyEscaped

Energy OK

Page 7: Σχεδιασμοσ  (Planning )

7

Πεπερασμένα Αυτόματα (FSMs)

Παραδοσιακά από τις πρώτες τεχνικές για τον καθορισμό της συμπεριφοράς των χαρακτήρων

Πολύ απλά στην κατανόηση Πολύ απλά στην υλοποίηση

Απευθείας υλοποίηση με το μορφή πολλαπλών if-then-else εντολών

Page 8: Σχεδιασμοσ  (Planning )

8

int NPC::think(){ if (state==ONGUARD && seeSmallEnemy()){ state=FIGHT;

makeScarySound(); } else if (state==FIGHT && energy>30){

...

}

else if ...

}

Πεπερασμένα Αυτόματα (FSMs)

Page 9: Σχεδιασμοσ  (Planning )

9

Πεπερασμένα Αυτόματα (FSMs)

Παραδοσιακά από τις πρώτες τεχνικές για τον καθορισμό της συμπεριφοράς των χαρακτήρων

Πολύ απλά στην κατανόηση Πολύ απλά στην υλοποίηση

Απευθείας υλοποίηση με το μορφή πολλαπλών if-then-else εντολών

Εύκολος διαχωρισμός της δουλειάς του προγραμματιστή με τη αυτή του σεναριογράφου

Αλλά, και απλοϊκά στις συμπεριφορές που μπορεί να εκφράσουν..

Page 10: Σχεδιασμοσ  (Planning )

10

Δένδρα συμπεριφορών (BTs)

Video Games: Finite State Machines Decision Diagrams Behavior Trees Goal Oriented Action Planning

Ακαδημαϊκή έρευνα σε agents: Knowledge representation, First-order

logic, Classical planning, Planning with preferences, …

Belief-Desire-Intention architecture, Agent-based programming, …

Probabilistic reasoning, Bayesian networks, Utility theory, Markov Decision Processes, …

Page 11: Σχεδιασμοσ  (Planning )

11

Δένδρα συμπεριφορών (BTs)

Συμπεριφορά σύμφωνα με πιο λεπτομερείς συνθήκες και στρατηγικές

→ ?

?

Page 12: Σχεδιασμοσ  (Planning )

12

Δένδρα συμπεριφορών (BTs)

Συμπεριφορά σύμφωνα με πιο λεπτομερείς συνθήκες και στρατηγικές

Door open

?

Move into

room

Page 13: Σχεδιασμοσ  (Planning )

13

Δένδρα συμπεριφορών (BTs)

Συμπεριφορά σύμφωνα με πιο λεπτομερείς συνθήκες και στρατηγικές

?

?Door open

?

Move into

room

Move to door

Move into

room

Page 14: Σχεδιασμοσ  (Planning )

14

Δένδρα συμπεριφορών (BTs)

Συμπεριφορά σύμφωνα με πιο λεπτομερείς συνθήκες και στρατηγικές

?

?

→ →

Door open

?

Move into

room

Move to door

Move into

room

Door locked?

Unlockdoor

Kickdoor

Dooropen?

Page 15: Σχεδιασμοσ  (Planning )

15

Δένδρα συμπεριφορών (BTs)

Από τα πρώτα εμπορικά video games πουχρησιμοποίησαν BTs είναι το Halo2 (2004)

Απλά στην κατανόηση Απλά στην υλοποίηση

… Εύκολος διαχωρισμός της δουλειάς του

προγραμματιστή με τη αυτή του σεναριογράφου

Page 16: Σχεδιασμοσ  (Planning )

16

Αντανακλαστικές τεχνικές

Τα FSMs και BTs είναι αντανακλαστικές (reactive) τεχνικές Ο χαρακτήρας ακολουθεί μια

προκαθορισμένη στρατηγική που υπαγορεύει την αντίδραση του σε κάθε χρονικό σημείο του παιχνιδιού σύμφωνα με τις διαφορετικές συνθήκες που επικρατούν

Για κάθε αλληλουχία ενεργειών που χρειάζεται να πραγματοποιηθούν μαζί, πχ:[move to door, unlock/kick door, move into room], αυτό πρέπει να περιγράφεται ρητά στη δομή των FSMs BTs

Page 17: Σχεδιασμοσ  (Planning )

17

Αντανακλαστικές τεχνικές

Ιστορικά, η συντριπτική πλειοψηφία των video games με χαρακτήρες χρησιμοποιούν κάποιο είδος/συνδυασμό FSM, BTs για να χειριστούν τη λήψη αποφάσεων του χαρακτήρα

Εύκολα υλοποιήσιμη αντιμετώπιση Οι ανάγκες που προκύπτουν

αντιμετωπίζονται εύκολα από τους προγραμματιστές

Με κατάλληλη προετοιμασία των levels δουλεύει πολύ καλά

Page 18: Σχεδιασμοσ  (Planning )

18

Αντανακλαστικές τεχνικές

Ένα level από τα μάτια του χαρακτήρα NPC

Page 19: Σχεδιασμοσ  (Planning )

19

Αντανακλαστικές τεχνικές

Ένα level από τα μάτια του χαρακτήρα NPC

Page 20: Σχεδιασμοσ  (Planning )

20

Αντανακλαστικές τεχνικές

Η κατάσταση σήμερα Ανοικτοί κόσμοι (open worlds) με συνεχώς

αυξανόμενες διαθέσιμες αλληλεπιδράσεις Οι χαρακτήρες χρειάζεται να έχουν

αυτονομία, με ατομικές επιδιώξεις, στόχους, και προσωπικότητα.

Page 21: Σχεδιασμοσ  (Planning )

21

Αντανακλαστικές τεχνικές

Η κατάσταση σήμερα Σε αυτές τις συνθήκες, η διαχείριση των

πιθανών αλληλεπιδράσεων με αντανακλαστικές τεχνικές γίνεται περίπλοκη και δύσκολη

Εμφανίζεται η ανάγκη για πιο ευέλικτες τεχνικές

Page 22: Σχεδιασμοσ  (Planning )

22

Σχεδιασμός ενεργειών (GOAP)

Video Games: Finite State Machines Decision Diagrams Behavior Trees Goal Oriented Action Planning

Ακαδημαϊκή έρευνα σε agents: Knowledge representation, First-order

logic, Classical planning, Planning with preferences, …

Belief-Desire-Intention architecture, Agent-based programming, …

Probabilistic reasoning, Bayesian networks, Utility theory, Markov Decision Processes, …

Page 23: Σχεδιασμοσ  (Planning )

23

Σχεδιασμός ενεργειών (GOAP)

Αντικατάσταση των «έτοιμων» στρατηγικών με μια περιγραφή στόχων και διαθέσιμων ενεργειών

?

?

→ →

Door open

?

Move into

room

Move to door

Move into

room

Door locked?

Unlockdoor

Kickdoor

Dooropen?

Page 24: Σχεδιασμοσ  (Planning )

24

Σχεδιασμός ενεργειών (GOAP)

Αντικατάσταση των «έτοιμων» στρατηγικών με μια περιγραφή στόχων και διαθέσιμων ενεργειών

Move into

room

Move to door

Move into

room

Unlockdoor

Kickdoor

Page 25: Σχεδιασμοσ  (Planning )

25

Σχεδιασμός ενεργειών (GOAP)

Αντικατάσταση των «έτοιμων» στρατηγικών με μια περιγραφή στόχων και διαθέσιμων ενεργειών

Move into

room

Move to door

Unlockdoor

Kickdoor

Preconditions: Door openEffects: In room

Preconditions: -Effects: At door

Preconditions: Hold keyEffects: Door open

Preconditions: -Effects: Door open

Page 26: Σχεδιασμοσ  (Planning )

26

Σχεδιασμός ενεργειών (GOAP)

Αντικατάσταση των «έτοιμων» στρατηγικών με μια περιγραφή στόχων και διαθέσιμων ενεργειών

Move into

room

Move to door

Unlockdoor

Kickdoor

Preconditions: Door openEffects: In room

Preconditions: -Effects: At door

Preconditions: Hold keyEffects: Door open

Preconditions: -Effects: Door open

In room

Page 27: Σχεδιασμοσ  (Planning )

27

Σχεδιασμός ενεργειών (GOAP)

Αναζήτηση σε πραγματικό χρόνο για τη στρατηγική που επιτυγχάνει τον αναγκαίο στόχο κάθε φορά

Move into

room

Move to door

Unlockdoor

Kickdoor

Preconditions: Door openEffects: In room

Preconditions: -Effects: At door

Preconditions: Hold keyEffects: Door open

Preconditions: -Effects: Door open

In room

Page 28: Σχεδιασμοσ  (Planning )

28

Σχεδιασμός ενεργειών (GOAP)

Πλεονεκτήματα Εύκολη διαχείριση μεγάλου αριθμού

παραγόμενων συμπεριφορών Ευέλικτο στο ότι μπορεί να πετύχει

συμπεριφορές που ικανοποιούν τις προδιαγραφές χωρίς να τις έχουμε απαριθμήσει ρητά από πριν

Αλλά χρειάζεται να επιλύει προβλήματα σχεδιασμού ενεργειών σε ελάχιστα frames!

Page 29: Σχεδιασμοσ  (Planning )

29

Σχεδιασμός ενεργειών (GOAP)

Από τα πρώτα εμπορικά video games πουχρησιμοποίησαν σχεδιασμόενεργειών είναι το FEAR (2005)

Όχι τόσο απλό στην κατανόηση Δύσκολο στην υλοποίηση

… Προβλήματα στη συνεργασία του

προγραμματιστή με τον σεναριογράφο

Page 30: Σχεδιασμοσ  (Planning )

30

Σχεδιασμός ενεργειών (GOAP)

Λίγες λεπτομέρειες για το FEAR: 1 άτομο για το κομμάτι της

υλοποίησης της συμπεριφοράς των χαρακτήρων

Ιδέα: μπορούμε να πετύχουμε διαφορετικές συμπεριφορές δίνοντας διαφορετικές δυνατότητες ενεργειών στους χαρακτήρες και χρησιμοποιώντας ένα planner για να αποφασίζει την επόμενη κίνηση κάθε στιγμή

Page 31: Σχεδιασμοσ  (Planning )

31

Σχεδιασμός ενεργειών (GOAP)

Page 32: Σχεδιασμοσ  (Planning )

32

Σχεδιασμός ενεργειών (GOAP)

Υπέρ-απλούστευση του STRIPS: Τα λεκτικά μετατρέπονται

σε variables χωρίς ορίσματα

Η κατάσταση αποθηκεύεται ως πίνακας με μικρό μέγεθος

Έρευνα σε βάθος το πολύ.. 3

A* για path finding.. A* και για planning!

Page 33: Σχεδιασμοσ  (Planning )

33

Μελέτη

Το βιβλίο Artificial Intelligence for Games είναι μια ενδιαφέρουσα πηγή για να ξεκινήσετε μελέτη σ’ αυτή την περιοχή. Δείτε την ιστοσελίδα http://ai4g.com/