Τεχνθτι Νοθμοςφνθ Ιωάννθσ Χατηθλυγεροφδθσ Πολυτεχνικι Σχολι Τμιμα Μθχανικϊν Η/Υ & Πλθροφορικισ
Κανόνεσ Παραγωγισ
Κανόνεσ-Συςτιματα Ζννοια του ςυςτιματοσ παραγωγισ, ωσ ψυχολογικό μοντζλο περιγραφισ τθσ ανκρϊπινθσ ςυμπεριφοράσ (GPS, Newell & Simon, αρχζσ 70). Η γνϊςθ για τθ λφςθ ενόσ προβλιματοσ υπό μορφι διακεκριμζνων γνωςτικϊν μονάδων (= παραγωγζσ ι κανόνεσ παραγωγισ) Οι παραγωγζσ περιζχουν τον τρόπο αντίδραςθσ (= ενζργειεσ) του ανκρϊπου ςε εξωτερικά ερεκίςματα. Ομοιότθτεσ με ψυχολογικι κεωρία τθσ νόθςθσ (δφο ςτάδια μνιμθσ: βραχυπρόκεςμθ ι μικρισ διάρκειασ-short term memory, μακροπρόκεςμθ ι μακράσ διάρκειασ-long 3
Βαςικι Αρχιτεκτονικι Σφςτθμα Βαςιςμζνο ςε Κανόνεσ Δεδομζνα ΜΕ ΔΚ Συμπεράςματα (γεγονότα) (κανόνεσ) ΒΚ 4
Κανόνεσ Παράγωγθσ-Σφνταξθσ (1) Βαςική δομή if <ςυνκικεσ/υποκζςεισ> then <ενζργειεσ/ςυμπεράςματα> Π.χ. if shape is long and color is yellow then fruit is banana Βαςική ςφνταξη-1 <rule> := if <conditions> then <conclusions> <conditions> := <condition> {and <condition>}* <conclusions> := <conclusion> {and <conclusion>}* <condition> := <variable> <l-predicate> <constant> <conclusion> := <variable> <r-predicate> <constant> <l-predicate> := is / isnot / > <r-predicate> := is 5
Κανόνεσ Παράγωγθσ-Σφνταξθσ (2) Βαςική ςφνταξη-2 <rule> := if <conditions> then <conclusions> <conditions> := <condition> {and <condition>}* <conclusions> := <conclusion> {and <conclusion>}* <condition> := <predicate> (<variable>, <constant>) <conclusion> := <action> (<variable>, <constant>) <predicate> := is / isnot / >. <action> := assert, retract Π.χ. if is(shape, long) and is(color, yellow) then assert(is(fruit, banana)) <fact> := <predicate>(<variable>, <constant>) 6
Κανόνεσ Παράγωγθσ-Σφνταξθσ (3) Δυνατότθτα για διάηευξθ ςτισ ςυνκικεσ <conditions> := <disjunction> {and <disjunction>}* <disjunction> := <condition> {or <condition>}* if is(shape, long) and is(color, yellow) then assert(is(fruit, banana)) if is(shape, long) and is(color, green) then assert(is(fruit, banana)) if is(shape, long) and {is(color, yellow) or is(color, green)} then assert(is(fruit, banana)) 7
Κανόνεσ Παράγωγθσ-Σφνταξθσ (4) Δυνατότθτα αναπαράςταςθσ χαρακτθριςτικϊν αντικειμζνων (Χριςθ τθσ τριάδασ object-attribute-value αντί τθσ δυάδασ variable-value. Τα χαρακτθριςτικά-attributes παίηουν τον ρόλο των μεταβλθτϊν-variables) <condition> := <predicate> (<object>, <attribute>, <value>) <conclusion> := <action> (<object>, <attribute>, <value>) <fact> := (<object>, <attribute>, <value>) if is(fruit, shape, long) and is(fruit, color, yellow) then assert(fruit, identity, banana) [then assert(meal, fruit, banana)] 8
Μεταβλθτζσ-Κατθγοριεσ Ωσ προσ το πλικοσ των τιμϊν Απλισ τιμισ (single-valued) Π.χ. fever, shape Πολλαπλισ τιμισ (multi-valued) Π.χ. disease, color Ωσ προσ τθν εξαγωγι ςυμπεραςμάτων Ειςόδου ι Ερωτόμενεσ (input or askable) Ενδιάμεςεσ ι Συμπεραινόμενεσ (intermediate or inferable) Εξόδου ι Στόχου (output or goal) 9
Μζκοδοι Συλλογιςμοφ (1) Μζθοδοι Συλλογιςμοφ (Reasoning methods) I Ορκόσ ςυλλογιςμόσ (forward reasoning) ι Οδθγοφμενοσ από τα δεδομζνα (data-driven reasoning) Ανάςτροφοσ ςυλλογιςμόσ (backward reasoning) ι Οδθγοφμενοσ από το ςτόχο (goal-driven reasoning) Αφοροφν τθν οργάνωςθ τθσ γνϊςθσ ςτουσ κανόνεσ (επίπεδο ςχεδίαςθσ) Μζθοδοι Συλλογιςμοφ (Reasoning methods) IΙ Συνεπαγωγικόσ ςυλλογιςμόσ (deductive reasoning) Aπαγωγικόσ ςυλλογιςμόσ (abductive reasoning) Αφοροφν το βακμό βεβαιότθτασ του ςυλλογιςμοφ (επίπεδο ςθμαςιολογίασ) 10
Μζκοδοι Συλλογιςμοφ (2) Συνεπαγωγικόσ- Οδθγοφμενοσ από το ςτόχο (Ανάςτροφοσ) ςυλλογιςμόσ Εάν ζχω γρίπθ Τότε ζχω πυρετό (βζβαιοσ ςυλλογιςμόσ) και ζχω πονοκζφαλο Απαγωγικόσ- Οδθγοφμενοσ από τα δεδομζνα (Ορκόσ) ςυλλογιςμόσ Εάν ζχω πυρετό και ζχω πονοκζφαλο (αβζβαιοσ ςυλλογιςμόσ) Τότε ζχω γρίππθ 11
Μζκοδοι Εξαγωγισ Συμπεραςμάτων (1) Μζκοδοι Εξαγωγισ Συμπεραςμάτων (Inference methods) Ορθή αλυςίδωςη (forward chaining) Κατάλλθλθ για ςυςτιματα χωρίσ προκακοριςμζνουσ ι πολλοφσ ςτόχουσ και μεγάλο αρικμό δεδομζνων. Ξεκινά από τισ υποκζςεισ ενόσ κανόνα και αν είναι αλθκείσ προχωρά ςτθν εξαγωγι του ςυμπεράςματοσ του κανόνα. 12
Μζκοδοι Εξαγωγισ Συμπεραςμάτων (2) Μζκοδοι Εξαγωγισ Συμπεραςμάτων (Inference methods) Ανάςτροφη αλυςίδωςη (backward chaining) Κατάλλθλθ για ςυςτιματα με ςυγκεκριμζνουσ, λίγουσ ςτόχουσ και μικρό αρικμό δεδομζνων. Ξεκινά από το ςυμπζραςμα ενόσ κανόνα και προχωρά ςτθ διερεφνθςθ τθσ αλικειασ των υποκζςεων. Αν οι υποκζςεισ είναι αλθκείσ εξάγεται το ςυμπζραςμα. Αφοροφν τθ διαδικαςία παραγωγισ ςυμπεραςμάτων (επίπεδο υλοποίθςθσ) 13
Εξαγωγι Συμπεραςμάτων (1) Διαδικαςία (κφκλοσ select-execute ή recognize-act) 1. Αρχικοποίθςθ τθσ ΜΕ 2. Εφρεςθ Κανόνων που ικανοποιοφνται (Σφνολο Σφγκρουςθσ) 3. Επιλογι ενόσ Κανόνα 4. Πυροδότθςθ του Κανόνα 5. Ενθμζρωςθ τθσ ΒΓ/ΜΕ 6. Αν κατάςταςθ λφςθσ, ςταμάτα. Αλλιϊσ, πιγαινε ςτο βιμα 2. 14
Εξαγωγι Συμπεραςμάτων (2) 1 ΜΕ 2 Σφνολο Σφγκρουςθσ 5 3 Ενδιάμεςα Συμπεράςματα 4 Επιλεγείσ Κανόνασ 15
Ορκι Αλυςίδωςθ - Παράδειγμα R1: if C and D then F R2: if F and G then E R3: if F and H then I R4: if B and G then H R5: if A then C R6: if B then D ME = {A, B, G} Στόχοσ: I {A, B, G} R4 H {A, B, G, H} R5 C {A, B, G, H, C} R6 D {A, B, G, H, C, D} R1 F {A, B, G, H, C, D, F} R2 E {A, B, G, H, C, D, F, E} R3 I {A, B, G, H, C, D, F, E, I} 16
Ανάςτροφθ Αλυςίδωςθ-Παράδειγμα R1: if C and D then F I {A, B, G, C, D, H, F, I} R2: if F and G then E R3 R3: if F and H then I R4: if B and G then H R5: if A then C R6: if B then D B H R4 G C F R1 D {A, B, G, C, D, H, F} {A, B, G, C, D} ME = {A, B, G} R5 R6 Στόχοσ: I A B {A, B, G} 17
Γραφικι Αναπαράςταςθ Συλλογιςμοφ A B C D F E G H I A B C D F E G H I 18
Καταλλθλότθτα Μεκόδων Ορθή αλυςίδωςη (forward chaining) Κατάλλθλθ για ςυςτιματα χωρίσ προκακοριςμζνουσ ι πολλοφσ ςτόχουσ και μεγάλο αρικμό δεδομζνων. Ανάςτροφη αλυςίδωςη (backwards chaining) Κατάλλθλθ για ςυςτιματα με ςυγκεκριμζνουσ, λίγουσ ςτόχουσ και μικρό αρικμό δεδομζνων. 19
Στρατθγικζσ Επίλυςθσ Σφγκρουςθσ ι Ζλεγχοσ τθσ Διαδικαςίασ Εξαγωγισ Συμπεραςμάτων Μέζνδνη επηινγήο ελόο θαλόλα από ην ζύλνιν ζύγθξνπζεο, κε βάζε θάπνην ή θάπνηα θξηηήξηα Κξηηήξηα απόδνζεο Επαηζζεζία (Sensitivity) (αληαπόθξηζε ζε αιιαγέο) Σηαζεξόηεηα (Stability) (ζηε γξακκή ζπιινγηζκνύ) Τύποι Ελέγτοσ/Στρατηγικών Καθολικός/ές (αλεμάξηεηνο/εο ηνπ πεδίνπ εθαξκνγήο, ελζωκαηωκέλνο/εο ζηνλ ΔΚ) Τοπικός/ές (εμαξηώκελνο/εο από ην πεδίν εθαξκνγήο, ππό κνξθή κεηα-θαλόλωλ, ζρεδηάδεηαη από ηνλ κεραληθό γλώζεο) Τίτλοσ Ενότθτασ 20
Κακολικζσ Στρατθγικζσ (1) Τυχαία επιλογή Σειρά αναγραφήσ (ο πρϊτοσ ςτθ ςειρά) Διαθλαςτικότητα (Refractoriness) Δεν επιτρζπεται θ πυροδότθςθ ενόσ κανόνα με ίδια δεδομζνα περιςςότερεσ από μια φορζσ. Εξειδίκευςη (Specificity) Προτιμοφνται κανόνεσ με περιςςότερεσ ςυνκικεσ. Ευνοεί τον χειριςμό εξαιρζςεων. (Π.χ. ΜΕ=,Α, Β, C}, R1: if A and B and C then D, R2: if A and B then E. Θα εκτελεςτεί πρϊτα ο R1 και μετά ο R2). Τίτλοσ Ενότθτασ 21
Κακολικζσ Στρατθγικζσ (2) Επικαιρότητα (Recency) Προτιμοφνται κανόνεσ που ενεργοποιοφνται από πιο πρόςφατα δεδομζνα. Χριςθ ετικετϊν χρόνου. Καλι ςτακερότθτα (πρόςφατα δεδομζνα). Ευαιςκθςία υπό προχποκζςεισ (χρόνοσ ειςαγωγισ νζων δεδομζνων). Αδυναμία: αγνόθςθ παλιϊν δεδομζνων. (Π.χ. ΜΕ=,Α, Β-, R1: if A then C, R2: if B then D, R3: if C then E. Αν εκτελεςτεί ο R1 μετά κα εκτελεςτεί ο R3, και όχι ο R2). Τίτλοσ Ενότθτασ Προτεραιότητα (Priority) Δίνεται ζνασ βακμόσ προτεραιότθτασ φανερά ςε κάκε κανόνα. Δυςκολία: ο κακοριςμόσ των βακμϊν προτεραιότθτασ 22
Πλεονεκτιματα Κανόνων Ευελιξία-Τμθματικότθτα (κάκε κανόνασ είναι μια ξεχωριςτι μονάδα γνϊςθσ που μπορεί να προςτεκεί, μεταβλθκεί ι αφαιρεκεί ανεξάρτθτα από τουσ άλλουσ κανόνεσ του ςυςτιματοσ) Ομοιομορφία και απλότθτα ςτθν ζκφραςθ τθσ γνϊςθσ Φυςικότθτα ζκφραςθσ Εφκολθ παροχι εξθγιςεων 23
Μειονεκτιματα Κανόνων Κίνδυνοσ δθμιουργίασ ατζρμονων αλυςϊςεων μεταξφ κανόνων και γεγονότων (κυρίωσ με τθν προςκικθ νζων κανόνων) Κίνδυνοσ δθμιουργίασ αντιφάςεων Μειωμζνθ αποδοτικότθτα (ςε μεγάλεσ ΒΚ) Αδιαφάνεια (ςτισ ςχζςεισ μεταξφ των κανόνων) Δυςκολία κάλυψθσ πεδίων με πολλζσ παραμζτρουσ και ευαίςκθτθ εξάρτθςθ των ςυμπεραςμάτων από αυτζσ Περιοριςμζνθ εκφραςτικότθτα αναπαράςταςθσ 24
Χρθματοδότθςθ Το παρόν εκπαιδευτικό υλικό ζχει αναπτυχκεί ςτo πλαίςιo του εκπαιδευτικοφ ζργου του διδάςκοντα. Το ζργο «Ανοικτά Ακαδημαϊκά Μαθήματα ςτο Πανεπιςτήμιο Αθηνών» ζχει χρθματοδοτιςει μόνο τθν αναδιαμόρφωςθ του εκπαιδευτικοφ υλικοφ. Το ζργο υλοποιείται ςτο πλαίςιο του Επιχειρθςιακοφ Προγράμματοσ «Εκπαίδευςθ και Δια Βίου Μάκθςθ» και ςυγχρθματοδοτείται από τθν Ευρωπαϊκι Ζνωςθ (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εκνικοφσ πόρουσ. 25
Σθμείωμα Ιςτορικοφ Εκδόςεων Ζργου Το παρόν ζργο αποτελεί τθν ζκδοςθ 1.0. 26
Σθμείωμα Αναφοράσ Copyright Πανεπιςτιμιο Πατρϊν, Ιωάννθσ Χατηθλυγεροφδθσ 2015. «Ευφυισ Προγραμματιςμόσ». Ζκδοςθ: 1.0. Πάτρα 2015. Διακζςιμο από τθ δικτυακι διεφκυνςθ: https://eclass.upatras.gr/courses/ceid1095/ 27
Σθμείωμα Αδειοδότθςθσ Το παρόν υλικό διατίκεται με τουσ όρουσ τθσ άδειασ χριςθσ Creative Commons Αναφορά, Μθ Εμπορικι Χριςθ Παρόμοια Διανομι 4.0 *1+ ι μεταγενζςτερθ, Διεκνισ Ζκδοςθ. Εξαιροφνται τα αυτοτελι ζργα τρίτων π.χ. φωτογραφίεσ, διαγράμματα κ.λ.π., τα οποία εμπεριζχονται ςε αυτό και τα οποία αναφζρονται μαηί με τουσ όρουσ χριςθσ τουσ ςτο «Σθμείωμα Χριςθσ Ζργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ωσ Μη Εμπορική ορίηεται θ χριςθ: που δεν περιλαμβάνει άμεςο ι ζμμεςο οικονομικό όφελοσ από τθν χριςθ του ζργου, για το διανομζα του ζργου και αδειοδόχο που δεν περιλαμβάνει οικονομικι ςυναλλαγι ωσ προχπόκεςθ για τθ χριςθ ι πρόςβαςθ ςτο ζργο που δεν προςπορίηει ςτο διανομζα του ζργου και αδειοδόχο ζμμεςο οικονομικό όφελοσ (π.χ. διαφθμίςεισ) από τθν προβολι του ζργου ςε διαδικτυακό τόπο Ο δικαιοφχοσ μπορεί να παρζχει ςτον αδειοδόχο ξεχωριςτι άδεια να χρθςιμοποιεί το ζργο για εμπορικι χριςθ, εφόςον αυτό του ηθτθκεί. 28
Διατιρθςθ Σθμειωμάτων Οποιαδιποτε αναπαραγωγι ι διαςκευι του υλικοφ κα πρζπει να ςυμπεριλαμβάνει: το Σθμείωμα Αναφοράσ το Σθμείωμα Αδειοδότθςθσ τθ διλωςθ Διατιρθςθσ Σθμειωμάτων το Σθμείωμα Χριςθσ Ζργων Τρίτων (εφόςον υπάρχει) μαηί με τουσ ςυνοδευόμενουσ υπερςυνδζςμουσ. 29