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

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

Upload: vivek

Post on 08-Feb-2016

35 views

Category:

Documents


1 download

DESCRIPTION

Σχεδιασμοσ (Planning ). ..και εφαρμογές σε video games!. Ευχαριστίες. Όλες οι διαφάνειες για την ενότητα «Σχεδιασμός Ενεργειών» έχουν γραφτεί από τον Σταύρο Βάσσο ( http://stavros.lostre.org/ ) που δίδασκε αυτό το τμήμα του μαθήματος μέχρι πέρυσι. - PowerPoint PPT Presentation

TRANSCRIPT

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

ΣΧΕΔΙΑΣΜΟΣ (PLANNING)..και εφαρμογές σε video games!

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

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

2

Ευχαριστίες Όλες οι διαφάνειες για την ενότητα

«Σχεδιασμός Ενεργειών» έχουν γραφτεί από τον Σταύρο Βάσσο (http://stavros.lostre.org/) που δίδασκε αυτό το τμήμα του μαθήματος μέχρι πέρυσι.

Στη φετινή έκδοση, οι διαφάνειες έχουν ελάχιστα τροποποιηθεί από τον διδάσκοντα.

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

3

Σχεδιασμός (Planning) Τυπική περιγραφή ενός προβλήματος σχεδιασμού :

Αρχική κατάσταση Στόχος Διαθέσιμες ενέργειες

Τυπική λύση ενός προβλήματος σχεδιασμού: Μια ακολουθία ενεργειών η οποία όταν εκτελεστεί

στην αρχική κατάσταση καταλήγει σε μια κατάσταση που ικανοποιεί το στόχο.

Σχεδιασμός: Η αυτοματοποιημένη εύρεση λύσης.

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

4

Τι είναι ένα πρόβλημα σχεδιασμού;

Ας αρχίσουμε με ένα απλό παράδειγμα The Sokoban puzzle (

http://en.wikipedia.org/wiki/Sokoban)

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

5

Τι είναι ένα πρόβλημα σχεδιασμού; Δίνονται:

Αρχική κατάσταση

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

6

Τι είναι ένα πρόβλημα σχεδιασμού; Δίνονται:

Αρχική κατάσταση

Στόχος

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

7

Τι είναι ένα πρόβλημα σχεδιασμού; Δίνονται:

Αρχική κατάσταση

Στόχος

Διαθέσιμες ενέργειες

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

8

Τι είναι ένα πρόβλημα σχεδιασμού; Δίνονται:

Αρχική κατάσταση

Στόχος

Διαθέσιμες ενέργειες

Ζητείται: Μια ακολουθία ενεργειών που ικανοποιεί το

στόχο Πχ: [Αριστερά,Κάτω,Αριστερά,Πάνω,…]

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

9

Τι είναι ένα πρόβλημα σχεδιασμού; Δίνονται:

Αρχική κατάσταση

Στόχος

Διαθέσιμες ενέργειες

Ζητείται: Μια ακολουθία ενεργειών που ικανοποιεί το

στόχο Μια μέθοδος που βρίσκει λύση για κάθε

αρχική κατάσταση και στόχο

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

10

Τι είναι ένα πρόβλημα σχεδιασμού; Δίνονται:

Αρχική κατάσταση

Στόχος

Διαθέσιμες ενέργειες

Ζητείται: Μια ακολουθία ενεργειών που ικανοποιεί το

στόχο Μια μέθοδος που βρίσκει λύση για κάθε πεδίο

εφαρμογής

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

11

Σχεδιασμός: πραγματικές εφαρμογές

Σχεδιασμός μονοπατιών (Path planning)

NASA’s Mars Exploration Rover

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

12

Σχεδιασμός: πραγματικές εφαρμογές

Σχεδιασμός μονοπατιών (Path planning)

Video Games!

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

13

Σχεδιασμός: πραγματικές εφαρμογές

Σχεδιασμός μονοπατιών (Path planning)

Video Games!

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

14

Σχεδιασμός: πραγματικές εφαρμογές

Πολλαπλοί στόχοι και χρονοδρομολόγηση (Scheduling)

Hubble Space Telescope

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

15

Σχεδιασμός: πραγματικές εφαρμογές

KIVA Robots: αυτόματη ταξινόμηση παραγγελιών με τη χρήση μετακινούμενωνδιαδρόμων σε αποθήκες.

youtube link

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

16

Σχεδιασμός: πραγματικές εφαρμογές

Πράκτορες με δυνατότητες σχεδιασμού για τον καθορισμό της γενικότερης συμπεριφοράς τους(Proactive Agents/ Cognitive Robots)

UAVs, DARPA Grand/Urban Challenge, Honda ASIMO

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

17

Κλασικός σχεδιασμός (Classical planning) Υποθέσεις: το περιβάλλον είναι πλήρως

παρατηρήσιμο, αιτιοκρατικό, στατικό και διακριτό.

Τυπική περιγραφή του προβλήματος: Αρχική κατάσταση Στόχος Διαθέσιμες ενέργειες

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

18

Τι θα δούμε στα επόμενα μαθήματα

Ενότητα 11.1: Απλές γλώσσες αναπαράστασης προβλημάτων σχεδιασμού με βάση τη STRIPS

Ενότητα 11.2: Προς τα εμπρός αναζήτηση, προς τα πίσω αναζήτηση, ευρετικοί μηχανισμοί

Ενότητα 11.4: Γραφήματα σχεδιασμού Ανάπτυξη AI για χαρακτήρες (Non-Player Characters)

και εφαρμογές σχεδιασμού σε video games Άλλες τεχνικές σχεδιασμού επιγραμματικά

Σχεδιασμός με λογική, Ιεραρχικά δίκτυα εργασιών, Υπο συνθήκη σχεδιασμός, Εισαγωγή στη γλώσσα ανάπτυξης πρακτόρων Golog, ...

Planning Domain Description Language (PDDL) Χρήση ενός award-winning planner

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

19

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Παράδειγμα από τον κόσμο των κύβων (Blocks world)

Αρχική κατάσταση: s0

Στόχος: g

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

κύβων

Α Β Γ

ΑΒΓ

s0 g

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

20

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Αρχική κατάσταση

Αναπαράσταση των ιδιοτήτων της κατάστασης με λεκτικά πρώτης τάξης (first order logic literals)

Λεκτικά για τον κόσμο των κύβων Επί(b,x):

το b βρίσκεται πάνω από το x, όπου x κάποιος άλλος κύβος ή το τραπέζι

Καθαρό(x): το x είναι ελεύθερο για να τοποθετηθεί

πάνω του ένας κύβος

Α Β Γ

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

s0

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

21

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Αρχική κατάσταση

Αναπαράσταση των ιδιοτήτων της αρχικής κατάστασης με λεκτικά πρώτης τάξης (first order logic literals)

Βασικά (ground) και χωρίς συναρτήσεις (function-free)

Πλήρως ορισμένη κατάσταση με βάσητην υπόθεση κλειστού κόσμου (closed-world assumption)

Α Β Γ

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

s0

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

22

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Α Β Γ

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

Επί(Α,Α)Επί(Α,Β) Επί(Α,Γ)Επί(Β,Α) Επί(Β,Β) Επί(Β,Γ) Επί(Γ,Α)Επί(Γ,Β) Επί(Γ,Γ) Επί(Α,Α) Επί(Α,Β) Επί(Α,Γ) Επί(Τραπέζι,Α)Επί(Τραπέζι,Β) Επί(Τραπέζι,Γ) Επί(Τραπέζι,Τραπ) Καθαρό(Τραπέζι)

Αρχική κατάσταση

Υπόθεση κλειστού κόσμου (closed-world assumption)

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

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

23

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Στόχος

Αναπαράσταση των ιδιοτήτων της τελικής κατάστασης με λεκτικά πρώτης τάξης (first order logic literals)

Βασικά (ground) και χωρίς συναρτήσεις (function-free)

Μερικώς καθορισμένη κατάσταση:

Μια κατάσταση s ικανοποιεί τον στόχο g αν περιέχει όλα τα λεκτικά του g (και πιθανώς και άλλα επιπλέον λεκτικά)

ΑΒΓ

Επί(Α,Β)Επί(Β,Γ)

g

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

24

11.1 Σχεδιασμός με τη γλώσσα STRIPS

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

βασικά χωρίς συναρτήσεις θετικά

*(εννοείται η σύζευξη των λεκτικών)

Α Β Γ

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

Επί(Α,Β)Επί(Β,Γ)

s0 g

ΑΒΓ

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

25

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Διαθέσιμες ενέργειες

από το τραπέζι στην κορυφή μιας στοίβας κύβων

από την κορυφή μιας στοίβας κύβων στο τραπέζι

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

Α Β Γ

s0

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

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

26

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Διαθέσιμες ενέργειες

από το τραπέζι στην κορυφή μιας στοίβας κύβων

από την κορυφή μιας στοίβας κύβων στο τραπέζι

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

Α Β Γ ΑΒΓ

Μετακίνηση(Β,Τραπέζι,Γ)s0 s1

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

???

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

27

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Για να περιγράψουμε μια διαθέσιμη ενέργεια, χρησιμοποιούμε ένα σχήμα ενεργειών (action schema) το οποίο αποτελείται από τα εξής: Το όνομα της ενέργειας και τη λίστα

παραμέτρων

Προϋποθέσεις (preconditions): λεκτικά που δηλώνουν τι θα πρέπει να αληθεύει ώστε η ενέργεια να είναι εφαρμόσιμη.

Επιδράσεις (effects): λεκτικά που περιγράφουν τον τρόπο με τον οποίο αλλάζει η κατάσταση

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

28

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Παράδειγμα από τον κόσμο των κύβων: Όνομα ενέργειας και λίστα παραμέτρων

Μετακίνηση(b,x,y)

Προϋποθέσεις: Επί(b,x) Καθαρό(b) Καθαρό(y)

Επιδράσεις: Επί(b,y) Καθαρό(x) Επί(b,x) Καθαρό(y)

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

29

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Πως εφαρμόζεται μια ενέργεια; Παράδειγμα: Μετακίνηση(b,x,y)

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

Α Β Γ

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

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

30

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Παράδειγμα: Για την ενέργεια Μετακίνηση(b,x,y) και την αντικατάσταση

{ b/Β, x/Τραπέζι, y/Γ } έχουμε:

Μετακίνηση(Β,Τραπέζι,Γ)

Προϋποθέσεις: Επί(Β,Τραπέζι) Καθαρό(Β) Καθαρό(Γ)

Επιδράσεις: Επί(Β,Γ) Καθαρό(Τραπέζι) Επί(Β,Τραπέζι) Καθαρό(Γ)

Α Β Γ ΑΒΓ

Μετακίνηση(Β,Τραπέζι,Γ)s0 s1

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

???οκ!

οκ!οκ!

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

31

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Το αποτέλεσμα της εκτέλεσης μιας εφαρμόσιμης ενέργειας a σε μια κατάσταση s0 είναι μια νέα κατάσταση s1 η οποία είναι ίδια με την s0 με την διαφορά ότι: τα θετικά λεκτικα που

υπάρχουν στις επιδράσεις της a έχουν προστεθεί στην s0 και

τα αρνητικά λεκτικά που υπάρχουν στις επιδράσεις της a έχουν αφαιρεθεί από την s0

Α Β Γ ΑΒΓ

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

???

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

32

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Υπόθεση STRIPS: Τα θετικά λεκτικά που υπάρχουν στην κατάσταση

s0 δεν προστίθενται για δεύτερη φορά. Αν μια αρνητική επίδραση δεν υπάρχει στην

κατάσταση s0 αυτή παραβλέπεται.

Αυτή είναι η λύση που δίνει η γλώσσα STRIPS στο πρόβλημα του πλαισίου αναπαράστασης (representational frame problem): Πως παριστάνουμε τυπικά όλα τα χαρακτηριστικά

του κόσμου που δεν αλλάζουν όταν εκτελούμε μια ενέργεια;

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

33

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Όλα τα προηγούμενα μας δίνουν ουσιαστικά τη σημασιολογία της γλώσσας STRIPS.

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

34

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Παράδειγμα: Ενέργεια:

Μετακίνηση(Β,Τραπέζι,Γ) Προϋποθέσεις:

Επί(Β,Τραπέζι) Καθαρό(Β) Καθαρό(Γ)

Επιδράσεις: Επί(Β,Γ) Καθαρό(Τραπέζι) Επί(Β,Τραπέζι) Καθαρό(Γ)

Μετακίνηση(Β,Τραπέζι,Γ)

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

Επί(Α,Τραπέζι)

Επί(Β,Γ)Επί(Γ,Τραπέζ

ι)Καθαρό(Α)Καθαρό(Β)

Καθαρό(Τραπ.)

++--

+

+-

-

Α Β Γ ΑΒΓ

s0 s1

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

35

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Συνεχίζοντας το παράδειγμα Ενέργεια:

Μετακίνηση(Γ,Τραπέζι,Α) Προϋποθέσεις:

Επί(b,x) Καθαρό(b) Καθαρό(y)

Επιδράσεις: Επί(b,y) Καθαρό(x) Επί(b,x) Καθαρό(y)

Μετακίνηση(Γ,Τραπέζι,Α)s1 s2

???

???Α

ΒΓ

Επί(Α,Τραπέζι)

Επί(Β,Γ)Επί(Γ,Τραπέζ

ι)Καθαρό(Α)Καθαρό(Β)

Καθαρό(Τραπ.)

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

36

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Η ενέργεια Μετακίνηση(Γ,Τραπέζι,Α) είναι μη εφαρμόσιμη

Προϋποθέσεις: Επί(Γ,Τραπέζι) Καθαρό(Γ) Καθαρό(Α)

Επιδράσεις: Επί(Γ,Α) Καθαρό(Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α)

???

Μετακίνηση(Γ,Τραπέζι,Α)s1 s2

Επί(Α,Τραπέζι)

Επί(Β,Γ)Επί(Γ,Τραπέζ

ι)Καθαρό(Α)Καθαρό(Β)

Καθαρό(Τραπ.)

ΑΒΓ

??? Χ

οκ!

οκ!

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

37

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Η ενέργεια Μετακίνηση(Α,Τραπέζι,Β) είναι εφαρμόσιμη

Προϋποθέσεις: Επί(Α,Τραπέζι) Καθαρό(Α) Καθαρό(Β)

Επιδράσεις: Επί(Α,Β) Καθαρό(Τραπέζι) Επί(Α,Τραπέζι) Καθαρό(Β)

Μετακίνηση(Α,Τραπέζι,Β)s1 s2

Επί(Α,Τραπέζι)

Επί(Β,Γ)Επί(Γ,Τραπέζ

ι)Καθαρό(Α)Καθαρό(Β)

Καθαρό(Τραπ.)

ΑΒΓ

???

ΑΒΓ

οκ!οκ!οκ!

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

38

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Αποτέλεσμα της

Μετακίνηση(Α,Τραπέζι,Β) Προϋποθέσεις:

Επί(Α,Τραπέζι) Καθαρό(Α) Καθαρό(Β)

Επιδράσεις: Επί(Α,Β) Καθαρό(Τραπέζι) Επί(Α,Τραπέζι) Καθαρό(Β)

Μετακίνηση(Α,Τραπέζι,Β)s1 s2

Επί(Α,Τραπέζι)

Επί(Β,Γ)Επί(Γ,Τραπέζ

ι)Καθαρό(Α)Καθαρό(Β)

Καθαρό(Τραπ.)

ΑΒΓ

Επί(Α,Β)Επί(Β,Γ)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Τρα

π.)

ΑΒΓ

++--

-

-++--

+

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

39

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Πότε έχουμε φτάσει στον στόχο μας;

Θυμηθείτε: Μια κατάσταση s ικανοποιεί τον στόχο g αν

περιέχει όλα τα λεκτικά του g (και πιθανώς και άλλα επιπλέον λεκτικά).

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

40

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Μετακ.(Β,Τραπέζι,Γ)

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

Επί(Α,Τραπέζι)

Επί(Β,Γ)Επί(Γ,Τραπέζ

ι)Καθαρό(Α)Καθαρό(Β)

Καθαρό(Τραπ.)

Α Β Γ ΑΒΓ

s0 s1Μετακ.(Α,Τραπέζι,Β)

s2

Επί(Α,Β)Επί(Β,Γ)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Τρα

π.)

ΑΒΓ

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

41

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Μετακ.(Β,Τραπέζι,Γ)

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

Επί(Α,Τραπέζι)

Επί(Β,Γ)Επί(Γ,Τραπέζ

ι)Καθαρό(Α)Καθαρό(Β)

Καθαρό(Τραπ.)

Α Β Γ ΑΒΓ

s0 s1Μετακ.(Α,Τραπέζι,Β)

s2

Επί(Α,Β)Επί(Β,Γ)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Τρα

π.)

ΑΒΓ

ΑΒΓ

Επί(Α,Β)Επί(Β,Γ)

gοκ!

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

42

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Το παράδειγμα του κόσμου των κύβων γραμμένο τυπικά σε STRIPS: Init( Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι)

Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ) ) Goal( Επί(Α,Β) Επί(Β,Γ) ) Action( Μετακίνηση(b,x,y),

ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b) Καθαρό(y)

ΕΠΙΔΡΑΣΕΙΣ: Επί(b,y) Καθαρό(x) Επί(b,x) Καθαρό(y) )

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

43

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Το προηγούμενο σχήμα ενεργειών έχει τα εξής προβλήματα: Όταν x=Τραπέζι τότε η ενέργεια έχει επίδραση

Καθαρό(Τραπέζι) αλλά το τραπέζι δεν πρέπει να είναι καθαρό.

Όταν y=Τραπέζι τότε η ενέργεια έχει την προυπόθεση Καθαρό (Τραπέζι) αλλά το τραπέζι δεν χρειάζεται να είναι καθαρό για να βάλουμε πάνω του ένα κύβο.

Τα προβλήματα αυτά λύνονται ως εξής: Εισάγοντας μια άλλη ενέργεια ΜετακίνησηΣτοΤραπέζι(b,x)

για την μετακίνηση ενός κύβου b από το x στο τραπέζι. Αλλάζοντας την ερμηνεία του Καθαρό(b) σε «υπάρχει

κενός χώρος στο b για την τοποθέτηση ενός κύβου».

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

44

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Νέα έκδοση: Init( Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι)

Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ) ) Goal( Επί(Α,Β) Επί(Β,Γ) ) Action( Μετακίνηση(b,x,y),

ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b) Καθαρό(y)ΕΠΙΔΡΑΣΕΙΣ: Επί(b,y) Καθαρό(x) Επί(b,x) Καθαρό(y) )

Action( ΜετακίνησηΣτοΤραπέζι(b,x),ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b)ΕΠΙΔΡΑΣΕΙΣ: Επί(b,Τραπέζι) Καθαρό(x)

Επί(b,x) )

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

45

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Με την νέα έκδοση εξακολουθεί να υπάρχει η δυνατότητα χρήσης της ενέργειας Μετακίνηση(b,x,Τραπέζι).

Τα πρόβλημα αυτό λύνεται εισάγοντας ένα νέο κατηγόρημα Κύβος(.) και τις προυποθέσεις Κύβος(b) και Κύβος(y) στην ενέργεια Μετακίνηση.

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

46

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Ένα άλλο πρόβλημα που υπάρχει είναι η χρήση «ψευδοενεργειών» π.χ. Μετακίνηση(Β,Γ,Γ).

Το πρόβλημα αυτό λύνεται εισάγοντας περιορισμούς ανισότητας για κάθε ζευγάρι ορισμάτων στις προυποθέσεις των δύο ενεργειών.

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

47

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Init( Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ) )

Goal( Επί(Α,Β) Επί(Β,Γ) ) Action( Μετακίνηση(b,x,y),

ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b) Καθαρό(y)

ΕΠΙΔΡΑΣΕΙΣ: Επί(b,y) Καθαρό(x) Επί(b,x) Καθαρό(y) )

Action( ΜετακίνησηΣτοΤραπέζι(b,x),ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b)ΕΠΙΔΡΑΣΕΙΣ: Επί(b,Τραπέζι) Καθαρό(x)

Επί(b,x) )

! Οι μεταβλητές που εμφανίζονται στις προϋποθέσεις και επιδράσεις πρέπει να εμφανίζονται ως ορίσματα της ενέργειας

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

48

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Init( Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ) )

Goal( Επί(Α,Β) Επί(Β,Γ) ) Action( Μετακίνηση(b,x,y),

ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b) Καθαρό(y)

ΕΠΙΔΡΑΣΕΙΣ: Επί(b,y) Καθαρό(x) Επί(b,x) Καθαρό(y) )

Action( ΜετακίνησηΣτοΤραπέζι(b,x),ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b)ΕΠΙΔΡΑΣΕΙΣ: Επί(b,Τραπέζι) Καθαρό(x)

Επί(b,x) )

! Οι μεταβλητές που εμφανίζονται στις προϋποθέσεις και επιδράσεις πρέπει να εμφανίζονται ως ορίσματα της ενέργειας

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

49

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Init( Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ) )

Goal( Επί(Α,Β) Επί(Β,Γ) ) Action( Μετακίνηση(b,x,y),

ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b) Καθαρό(y)

ΕΠΙΔΡΑΣΕΙΣ: Επί(b,y) Καθαρό(x) Επί(b,x) Καθαρό(y) )

Action( ΜετακίνησηΣτοΤραπέζι(b,x),ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b)ΕΠΙΔΡΑΣΕΙΣ: Επί(b,Τραπέζι) Καθαρό(x)

Επί(b,x) )

! Οι μεταβλητές που εμφανίζονται στις προϋποθέσεις και επιδράσεις πρέπει να εμφανίζονται ως ορίσματα της ενέργειας

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

50

11.1 Σχεδιασμός με τη γλώσσα STRIPS

Υπάρχουν και άλλες γνωστές γλώσσες για τον σχεδιασμό ενεργειών και την συλλογιστική ενεργειών (reasoning about action)

Από το 1971 που προτάθηκε η STRIPS από τους  R. E. Fikes και N. J. Nilsson έχουν αναπτυχθεί άλλες πολύ πιο εκφραστικές γλώσσες. H γλώσσα ADL που προτάθηκε το 1988 από τον Edwin P.

D. Pednault βασίζεται στη STRIPS, επιτρέπει όμως καταστάσεις ανοικτού κόσμου, ενέργειες με επιδράσεις υπό περίπτωση, ποσοδείκτες, ισότητα και άλλα.

O λογισμός καταστάσεων (situation calculus) όπως παρουσιάστηκε τον 1991 από τον Ray Reiter (και από τους John McCarthy, Patrick J. Hayes πολύ νωρίτερα) υποστηρίζει πλήρη συμπερασμό στη λογική πρώτης τάξης.

Action languages A, fluent calculus, event calculus, …

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

51

11.1 Σχεδιασμός με τη γλώσσα STRIPS

STRIPS! Γιατί μας αρέσει;

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

52

11.1 Σχεδιασμός με τη γλώσσα STRIPS

STRIPS! Γιατί μας αρέσει; Απλή γλώσσα περιγραφής προβλημάτων σχεδιασμού Εύκολος υπολογισμός των εφαρμόσιμων ενεργειών

Αρκεί η λίστα των προϋποθέσεων να είναι υποσύνολο της κατάστασης: ΠΡΟΫΠΟΘΕΣΕΙΣ S

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

κατάσταση και να αφαιρεθεί η λίστα των αρνητικών:S’ = (S / ΑΡΝΗΤΙΚΕΣ-ΕΠΙΔΡΑΣΕΙΣ) ΘΕΤΙΚΕΣ-ΕΠΙΔΡΑΣΕΙΣ

Εύκολος έλεγχος αν η κατάσταση ικανοποιεί το στόχο Αρκεί ο στόχος αν είναι υποσύνολο της κατάστασης: G S

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

53

11.1 Σχεδιασμός με τη γλώσσα STRIPS

STRIPS! Γιατί μας αρέσει;

Είναι ήδη ικανή να περιγράψει αρκετά δύσκολα προβλήματα.

…ας δούμε μερικούς τρόπους επίλυσης τέτοιων προβλημάτων

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

54

11.2 Αναζήτηση στο χώρο καταστάσεων

Επίλυση προβλήματος σχεδιασμού STRIPS σαν πρόβλημα αναζήτησης στον χώρο καταστάσεων

Init( Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) … )Goal( Επί(Α,Β) …)Action( Μετακίνηση(b,x,y),

ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) …ΕΠΙΔΡΑΣΕΙΣ: Επί(b,y) … )

Action( ΜετακίνησηΣτοΤραπέζι(b,x),ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) …ΕΠΙΔΡΑΣΕΙΣ: Επί(b,Τραπέζι) …)

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

55

11.2 Αναζήτηση στο χώρο καταστάσεων

Επίλυση προβλήματος σχεδιασμού σαν πρόβλημα αναζήτησης στον χώρο καταστάσεων

Αρχική κατάσταση: όπως περιγράφεται στην Init() Ενέργειες: οι εφαρμόσιμες για κάθε κατάσταση όπως

προκύπτει από τις προϋποθέσεις σε κάθε Action() Έλεγχος στόχου: αν ικανοποιείται ο στόχος Goal() από

την κατάσταση Προς τα εμπρός αναζήτηση στο χώρο των

καταστάσεων: προέλαση (progression planning) Προς τα πίσω αναζήτηση στο χώρο των

καταστάσεων: οπισθοχώρηση (regression planning)

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

56

11.2 Προέλαση (progression planning)56

Ξεκίνα από την αρχική κατάστασηως τρέχουσα κατάσταση

Έλεγξε αν ικανοποιεί τον στόχο Υπολόγισε τις εφαρμόσιμες ενέργειες

στην τρέχουσα κατάσταση Υπολόγισε τις διάδοχες καταστάσεις Επέλεξε μια από τις διάδοχες

καταστάσεις ως τρέχουσα Επανάλαβε μέχρι να βρεθεί λύση ή

να καλυφθεί ο χώρος καταστάσεων

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

57

11.2 Προέλαση (progression planning)

Ξεκίνα από την αρχική κατάσταση

Α Β Γ

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

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

58

11.2 Προέλαση (progression planning)

Έλεγξε αν ικανοποιεί τον στόχο Όχι!

Α Β Γ

Επί(Α,Β)

Επί(Β,Γ)

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

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

59

11.2 Προέλαση (progression planning)

Υπολόγισε όλες τις εφαρμόσιμες ενέργειες Action( Μετακίνηση(b,x,y),

ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b) Καθαρό(y))

Action( ΜετακίνησηΣτοΤραπέζι(b,x),ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b))

Α Β Γ

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

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

60

11.2 Προέλαση (progression planning)

Υπολόγισε όλες τις εφαρμόσιμες ενέργειες Action( Μετακίνηση(b,x,y),

ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b) Καθαρό(y)) Action( ΜετακίνησηΣτοΤραπέζι(b,x),

ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b)) Μετ(Β,Τρ,Γ)

Προϋποθέσεις: Επί(Β,Τρ) Καθαρό(Β) Καθαρό(Γ)

Εφαρμόσιμη ενέργεια!

Α Β Γ

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

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

61

11.2 Προέλαση (progression planning)

Υπολόγισε όλες τις εφαρμόσιμες ενέργειες Action( Μετακίνηση(b,x,y),

ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b) Καθαρό(y)) Action( ΜετακίνησηΣτοΤραπέζι(b,x),

ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b)) Μετ(Α,Τρ,Β) Μετ(Α,Τρ,Γ) Μετ(Β,Τρ,Α) Μετ(Β,Τρ,Γ) Μετ(Γ,Τρ,Α) Μετ(Γ,Τρ,Β) Όλες είναι εφαρμόσιμες ενέργειες!

Α Β Γ

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

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

62

11.2 Προέλαση (progression planning)

Υπολόγισε όλες τις εφαρμόσιμες ενέργειες Action( Μετακίνηση(b,x,y),

ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b) Καθαρό(y))

Action( ΜετακίνησηΣτοΤραπέζι(b,x),ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b))

Μετ(Β,Τρ,Β)Προϋποθέσεις:

Επί(Β,Τρ) Καθαρό(Β)

Και αυτή είναι εφαρμόσιμη!

Α Β Γ

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

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

63

11.2 Προέλαση (progression planning)

Υπολόγισε όλες τις εφαρμόσιμες ενέργειες Action( Μετακίνηση(b,x,y),

ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b) Καθαρό(y)) Action( ΜετακίνησηΣτοΤραπέζι(b,x),

ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b)) ΜετΣΤ(Β,Τρ)

Προϋποθέσεις: Επί(Β,Τρ) Καθαρό(Β)

Και αυτή είναι εφαρμόσιμη!

Α Β Γ

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

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

64

11.2 Προέλαση (progression planning)

Υπολόγισε όλες τις εφαρμόσιμες ενέργειες Action( Μετακίνηση(b,x,y),

ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b) Καθαρό(y)) Action( ΜετακίνησηΣτοΤραπέζι(b,x),

ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x) Καθαρό(b)) Μετ(Α,Τρ,Α) Μετ(Β,Τρ,Β) Μετ(Γ,Τρ,Γ) ΜετΣΤ(Α,Τρ) ΜετΣΤ(Β,Τρ) ΜετΣΤ(Γ,Τρ) Όλες είναι εφαρμόσιμες ενέργειες!

Α Β Γ

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

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

65

11.2 Προέλαση (progression planning)

Υπολόγισε όλες τις διάδοχες καταστάσεις Action( Μετακίνηση(b,x,y),

ΕΠΙΔΡΑΣΕΙΣ: Επί(b,y) Καθαρό(x) Επί(b,x)

Καθαρό(y) ) Μετ(Β,Τρ,Γ)

Επιδράσεις: Επί(Β,Γ) Καθαρό(Τραπέζι) Επί(Β,Τραπέζι) Καθαρό(Γ)

Α Β Γ

ΑΒΓ

Επί(Α,Τραπέζι)

Επί(Β,Τραπέζι)

Επί(Γ,Τραπέζι)

Καθαρό(Α)Καθαρό(Β)Καθαρό(Γ)

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

66

11.2 Προέλαση (progression planning)

Υπολόγισε όλες τις διάδοχες καταστάσεις

Α Β Γ

ΑΒΓ

ΑΓΒ

Α ΒΓ

ΑΒΓ Α

ΒΓ

ΑΓ

Β

Μετ(Α,Τρ,Γ)

Μετ(Α,Τρ,Β)

Μετ.(Γ,Τρ,Β)

Μετ(Β,Τρ,Γ)

Μετ(Β,Τρ,Α)

Μετ(Γ,Τρ,Α)

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

67

11.2 Προέλαση (progression planning)

Επέλεξε μια διάδοχη κατάσταση και επανάλαβε...

Α Β Γ

ΑΒΓ

ΑΓΒ

Α ΒΓ

ΑΒΓ Α

ΒΓ

ΑΓ

Β

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

68

11.2 Προέλαση (progression planning)

Επέλεξε μια διάδοχη κατάσταση και επανάλαβε...

Α Β Γ

ΑΒΓ

ΑΓΒ

Α ΒΓ

ΑΒΓ Α

ΒΓ

ΑΓ

Β

ΑΒΓ

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

69

11.2 Προέλαση (progression planning)

Επέλεξε μια διάδοχη κατάσταση και επανάλαβε...

Α Β Γ

ΑΒΓ

ΑΓΒ

Α ΒΓ

ΑΒΓ Α

ΒΓ

ΑΓ

Β

ΑΒΓ

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

70

11.2 Προέλαση (progression planning)

Είναι σίγουρο ότι η προέλαση θα βρει μια λύση αν υπάρχει;

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

71

11.2 Προέλαση (progression planning)

Είναι σίγουρο ότι η προέλαση θα βρει μια λύση αν υπάρχει; Δεδομένου ότι δεν έχουμε σύμβολα

συναρτήσεων.. ..Ναι, εφόσον ελέγχουμε την κάθε δυνατή

κατάσταση μόνο μια φορά.

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

72

11.2 Προέλαση (progression planning)

Επέλεξε μια νέα διάδοχη κατάσταση...

Α Β Γ

ΑΒΓ

ΑΓΒ

Α ΒΓ

ΑΒΓ Α

ΒΓ

ΑΓ

Β

ΑΒΓ

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

73

11.2 Προέλαση (progression planning)

Είναι σίγουρο ότι η προέλαση θα βρει μια λύση αν υπάρχει; Δεδομένου ότι δεν έχουμε σύμβολα

συναρτήσεων.. ..Ναι, εφόσον ελέγχουμε την κάθε δυνατή

κατάσταση μόνο μια φορά.

Μπορεί όμως να χρειαστεί να εξερευνήσει όλο τον χώρο καταστάσεων.

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

11.2 Προέλαση (progression planning)74

Α Β Γ

ΑΒΓ

ΑΒΓ

ΑΓ

ΒΑΓΒ

Α

ΒΓ

Α ΒΓ

ΑΒ

ΓΑΒΓ

74

ΑΒ

Γ ΑΒΓ

ΑΓΒ

ΑΓ

Β

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

75

11.2 Προέλαση (progression planning)

Αντίθετα με το παράδειγμα, σε πολλά προβλήματα ο χώρος καταστάσεων είναι πολύ μεγάλος.

Τι θα γινόταν αν είχαμε 100 κύβους και 1000 διαφορετικές εφαρμόσιμες ενέργειες της μορφής Μετακίνηση(b,x,y) σε κάθε κατάσταση;

Όπως και στα κλασσικά προβλήματα αναζήτησης, μπορούμε να ορίσουμε ευρετικές συναρτήσεις που βοηθούν να επιλέξουμε τις πιο υποσχόμενες καταστάσεις.

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

76

11.2 Ευρετικές συναρτήσεις για προέλαση Συνάρτηση αξιολόγισης f(s) = g(s) + h(s)

g(s): το κόστος που χρειάστηκε για να φτάσουμε στην κατάσταση s (ακριβές)

h(s): το κόστος που χρειάζεται για να φτάσουμε από την s σε ένα τελικό κόμβο (προσέγγιση)

Χρησιμοποιούμε την f(s) για να ταξινομήσουμε τις διάδοχες καταστάσεις και να επιλέξουμε την πιο υποσχόμενη.

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

77

11.2 Προέλαση (progression planning)

Έστω μια ευρετική h(s) με τις ακόλουθες τιμές:

Α Β Γ

ΑΒΓ

ΑΓΒ

Α ΒΓ

ΑΒΓ Α

ΒΓ

ΑΓ

Β

Μετ(Α,Τρ,Γ)

Μετ(Α,Τρ,Β)

Μετ.(Γ,Τρ,Β)

Μετ(Β,Τρ,Γ)

Μετ(Β,Τρ,Α)

Μετ(Γ,Τρ,Α)

g(s)=1

g(s)=1

g(s)=1

g(s)=1

g(s)=1

g(s)=1

h(s)=2

h(s)=1

h(s)=2

h(s)=1

h(s)=2

h(s)=2

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

78

11.2 Ευρετικές συναρτήσεις για προέλαση Ποιά η διαφορά όμως με ένα κλασικό πρόβλημα

αναζήτησης; Και σε εκείνα τα προβλήματα μπορούσαμε να

υπολογίσουμε μια h(s) με βάση μια πιο χαλαρή απόσταση της s από το στόχο, π.χ., Manhattan distance.

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

79

11.2 Ευρετικές συναρτήσεις για προέλαση Ποιά η διαφορά όμως με ένα κλασικό πρόβλημα

αναζήτησης; Και σε εκείνα τα προβλήματα μπορούσαμε να υπολογίσουμε

μια h(s) με βάση μια πιο χαλαρή απόσταση της s από το στόχο, π.χ., Manhattan distance.

Μπορούμε να λάβουμε υπόψη και την περιγραφή των ενεργειών για να ορίσουμε ευρετικές συναρτήσεις!

*( Επίσης θα δούμε αργότερα πώς η περιγραφή των σχημάτων ενεργειών μας επιτρέπει να λύσουμε προβλήματα σχεδιασμού με άλλους τρόπους)

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

80

11.2 Ευρετικές συναρτήσεις για προέλαση Κενή λίστα προϋποθέσεων

h(s) = σε πόσα βήματα μπορεί να επιτευχθεί ο στόχος αν όλες οι ενέργειες ήταν εφαρμόσιμες πάντα.

Κενή λίστα διαγραφών h(s) = σε πόσα βήματα μπορεί να επιτευχθεί ο

στόχος αν όλες οι ενέργειες είχαν μόνο θετικές επιδράσεις.

Γραφήματα σχεδιασμού Απλό παράδειγμα: h(s) = αριθμός των λεκτικών

του στόχου που δεν εμφανίζονται στην s

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

81

11.2 Ευρετικές συναρτήσεις για προέλαση

Ξεκίνα από την αρχική κατάστασηως τρέχουσα κατάσταση

Έλεγξε αν ικανοποιεί τον στόχο Υπολόγισε τις εφαρμόσιμες ενέργειες

στην τρέχουσα κατάσταση Υπολόγισε τις διάδοχες καταστάσεις Επέλεξε μια την πιο υποσχόμενη από

τις διάδοχες καταστάσεις ως τρέχουσα Επανάλαβε μέχρι να βρεθεί λύση ή

να καλυφθεί ο χώρος καταστάσεων

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

82

11.2 Ευρετικές συναρτήσεις για προέλαση

Υπολόγισε όλες τις διάδοχες καταστάσεις

Α Β Γ

ΑΒΓ

ΑΓΒ

Α ΒΓ

ΑΒΓ Α

ΒΓ

ΑΓ

Β

Μετ(Α,Τρ,Γ)

Μετ(Α,Τρ,Β)

Μετ.(Γ,Τρ,Β)

Μετ(Β,Τρ,Γ)

Μετ(Β,Τρ,Α)

Μετ(Γ,Τρ,Α)

g(s)=1

g(s)=1

g(s)=1

g(s)=1

g(s)=1

g(s)=1

h(s)=2

h(s)=1

h(s)=2

h(s)=1

h(s)=2

h(s)=2

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

83

11.2 Ευρετικές συναρτήσεις για προέλαση

Υπολόγισε όλες τις διάδοχες καταστάσεις

Α Β Γ

ΑΒΓ

ΑΓΒ

ΑΒΓ Α

ΒΓ

ΑΓ

Β

Μετ(Α,Τρ,Γ)

Μετ(Α,Τρ,Β)

Μετ(Β,Τρ,Γ)

Μετ(Β,Τρ,Α)

Μετ(Γ,Τρ,Α)

g(s)=1

g(s)=1

g(s)=1

g(s)=1

g(s)=1

h(s)=2

h(s)=1

h(s)=1

h(s)=2

h(s)=2Α ΒΓ

Μετ.(Γ,Τρ,Β)g(s)=1h(s)=2

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

84

11.2 Ευρετικές συναρτήσεις για προέλαση

Επίλεξε την πιο υποσχόμενη κατάσταση

Α Β Γ

ΑΒΓ

ΑΓΒ

ΑΒΓ Α

ΒΓ

ΑΓ

Β

Μετ(Α,Τρ,Γ)

Μετ(Α,Τρ,Β)

Μετ(Β,Τρ,Γ)

Μετ(Β,Τρ,Α)

Μετ(Γ,Τρ,Α)

g(s)=1

g(s)=1

g(s)=1

g(s)=1

g(s)=1

h(s)=2

h(s)=1

h(s)=1

h(s)=2

h(s)=2Α ΒΓ

Μετ.(Γ,Τρ,Β)g(s)=1h(s)=2

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

85

11.2 Ευρετικές συναρτήσεις για προέλαση

Υπολόγισε όλες τις διάδοχες καταστάσεις

Α Β Γ

ΑΒΓ

ΑΓΒ

ΑΒΓ Α

ΒΓ

ΑΓ

Β

Μετ(Α,Τρ,Γ)

Μετ(Β,Τρ,Γ)

Μετ(Β,Τρ,Α)

Μετ(Γ,Τρ,Α)

g(s)=1 g(s)=1

g(s)=1

g(s)=1

h(s)=2 h(s)=1

h(s)=2

h(s)=2Α ΒΓ

Μετ.(Γ,Τρ,Β)g(s)=1h(s)=2

ΑΒ

Γ

Μετ.(Γ,Τρ,Α)g(s)=2h(s)=1

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

86

11.2 Ευρετικές συναρτήσεις για προέλαση

Υπολόγισε όλες τις διάδοχες καταστάσεις

Α Β Γ

ΑΒΓ

ΑΓΒ

ΑΒΓ Α

ΒΓ

ΑΓ

Β

Μετ(Α,Τρ,Γ)

Μετ(Β,Τρ,Γ)

Μετ(Β,Τρ,Α)

Μετ(Γ,Τρ,Α)

g(s)=1 g(s)=1

g(s)=1

g(s)=1

h(s)=2 h(s)=1

h(s)=2

h(s)=2Α ΒΓ

Μετ.(Γ,Τρ,Β)g(s)=1h(s)=2

ΑΒ

Γ

Μετ.(Γ,Τρ,Α)g(s)=2h(s)=1

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

87

11.2 Ευρετικές συναρτήσεις για προέλαση

Επίλεξε την πιο υποσχόμενη κατάσταση

Α Β Γ

ΑΒΓ

ΑΓΒ

ΑΒΓ Α

ΒΓ

ΑΓ

Β

Μετ(Α,Τρ,Γ)

Μετ(Β,Τρ,Γ)

Μετ(Β,Τρ,Α)

Μετ(Γ,Τρ,Α)

g(s)=1 g(s)=1

g(s)=1

g(s)=1

h(s)=2 h(s)=1

h(s)=2

h(s)=2Α ΒΓ

Μετ.(Γ,Τρ,Β)g(s)=1h(s)=2

ΑΒ

Γ

Μετ.(Γ,Τρ,Α)g(s)=2h(s)=1

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

88

11.2 Ευρετικές συναρτήσεις για προέλαση

Υπολόγισε όλες τις διάδοχες καταστάσεις

Α Β Γ

ΑΒΓ

ΑΓΒ

ΑΒΓ Α

ΒΓ

ΑΓ

Β

Μετ(Α,Τρ,Γ)

Μετ(Β,Τρ,Α)

Μετ(Γ,Τρ,Α)

g(s)=1

g(s)=1

g(s)=1

h(s)=2

h(s)=2

h(s)=2Α ΒΓ

Μετ.(Γ,Τρ,Β)g(s)=1h(s)=2

ΑΒ

Γ

Μετ.(Γ,Τρ,Α)g(s)=2h(s)=1

ΑΒΓ

Μετ(Α,Τρ,Β)g(s)=2h(s)=0

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

89

11.2 Ευρετικές συναρτήσεις για προέλαση

Υπολόγισε όλες τις διάδοχες καταστάσεις

Α Β Γ

ΑΒΓ

ΑΓΒ

ΑΒΓ Α

ΒΓ

ΑΓ

Β

Μετ(Α,Τρ,Γ)

Μετ(Β,Τρ,Α)

Μετ(Γ,Τρ,Α)

g(s)=1

g(s)=1

g(s)=1

h(s)=2

h(s)=2

h(s)=2Α ΒΓ

Μετ.(Γ,Τρ,Β)g(s)=1h(s)=2

ΑΒ

Γ

Μετ.(Γ,Τρ,Α)g(s)=2h(s)=1

ΑΒΓ

Μετ(Α,Τρ,Β)g(s)=2h(s)=0

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

90

11.2 Ευρετικές συναρτήσεις για προέλαση

Επίλεξε την πιο υποσχόμενη κατάσταση

Α Β Γ

ΑΒΓ

ΑΓΒ

ΑΒΓ Α

ΒΓ

ΑΓ

Β

Μετ(Α,Τρ,Γ)

Μετ(Β,Τρ,Α)

Μετ(Γ,Τρ,Α)

g(s)=1

g(s)=1

g(s)=1

h(s)=2

h(s)=2

h(s)=2Α ΒΓ

Μετ.(Γ,Τρ,Β)g(s)=1h(s)=2

ΑΒ

Γ

Μετ.(Γ,Τρ,Α)g(s)=2h(s)=1

ΑΒΓ

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

91

11.2 Οπισθοχώρηση (regression planning)

Ξεκίνα από τον στόχο ως τρέχουσα κατάσταση

Έλεγξε αν η αρχική κατάσταση ικανοποιεί την τρέχουσα κατάσταση

Υπολόγισε τις συνεπείς και συναφείς ενέργειες για την τρέχουσα κατάσταση

Υπολόγισε τις προκάτοχες καταστάσεις Επέλεξε μια από τις προκάτοχες

καταστάσεις ως τρέχουσα Επανάλαβε μέχρι να βρεθεί λύση ή να

καλυφθεί ο χώρος καταστάσεων

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

92

Μελέτη Βιβλίο ΑΙΜΑ, κεφάλαιο 11 (ενότητες

11.1-11.2)