Ευφυή Συστήματα Υποστήριξης Αποφάσεων. Δημήτρης Αποστόλου

Σχετικά έγγραφα
Κεφάλαιο 11. Συστήµατα Κανόνων. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

οµηµένες Αναπαραστάσεις Γνώσης

Βασικές Έννοιες Ασαφών Συνόλων

Κεφάλαιο 14. Ασάφεια. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου

οµηµένες Αναπαραστάσεις Γνώσης

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Συστήματα Γνώσης. Θεωρητικό Κομμάτι Μαθήματος Ενότητα 4: Αναπαράστασης Γνώσης και Συλλογιστικής Συστήματα Κανόνων

Κεφάλαιο 13. Αβεβαιότητα. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου

Ασαφής Λογική (Fuzzy Logic)

Συστήματα Βασισμένα σε Γνώση (Knowledge Based Systems)

derivation of the Laplacian from rectangular to spherical coordinates

2 Composition. Invertible Mappings

Rule Based systems Συστήματα Βασισμένα σε κανόνες

The Simply Typed Lambda Calculus

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

Lecture 2. Soundness and completeness of propositional logic

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

Instruction Execution Times

Section 8.3 Trigonometric Equations

EE512: Error Control Coding

C.S. 430 Assignment 6, Sample Solutions

Section 7.6 Double and Half Angle Formulas

Concrete Mathematics Exercises from 30 September 2016

Συστήματα Γνώσης. Πρακτικό Κομμάτι Μαθήματος Πρόγραμμα Κίνησης Robot. Νίκος Βασιλειάδης, Αναπλ. Καθηγητής Τμήμα Πληροφορικής

Homework 3 Solutions

Exercises 10. Find a fundamental matrix of the given system of equations. Also find the fundamental matrix Φ(t) satisfying Φ(0) = I. 1.

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

9.09. # 1. Area inside the oval limaçon r = cos θ. To graph, start with θ = 0 so r = 6. Compute dr

Lecture 2: Dirac notation and a review of linear algebra Read Sakurai chapter 1, Baym chatper 3

Code Breaker. TEACHER s NOTES

Αναπαράσταση Γνώσης και Συλλογιστικές

Finite Field Problems: Solutions

Other Test Constructions: Likelihood Ratio & Bayes Tests

How to register an account with the Hellenic Community of Sheffield.

Strain gauge and rosettes

Section 9.2 Polar Equations and Graphs

Statistical Inference I Locally most powerful tests

Fractional Colorings and Zykov Products of graphs

Second Order Partial Differential Equations

F-TF Sum and Difference angle

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook

Bounding Nonsplitting Enumeration Degrees

Συστήματα Διαχείρισης Βάσεων Δεδομένων

Every set of first-order formulas is equivalent to an independent set

Τ.Ε.Ι. ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΡΑΡΤΗΜΑ ΚΑΣΤΟΡΙΑΣ ΤΜΗΜΑ ΔΗΜΟΣΙΩΝ ΣΧΕΣΕΩΝ & ΕΠΙΚΟΙΝΩΝΙΑΣ

ΚΕΦΑΛΑΙΟ 3 - Συστήματα Κανόνων

TMA4115 Matematikk 3

7 Present PERFECT Simple. 8 Present PERFECT Continuous. 9 Past PERFECT Simple. 10 Past PERFECT Continuous. 11 Future PERFECT Simple

Matrices and Determinants

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

Inverse trigonometric functions & General Solution of Trigonometric Equations

Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit

Assalamu `alaikum wr. wb.

( y) Partial Differential Equations

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΑΛΛΗΛΟΓΡΑΦΙΑ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑ ΣΤΗΝ ΑΓΓΛΙΚΗ ΓΛΩΣΣΑ

Homework 8 Model Solution Section

department listing department name αχχουντσ ϕανε βαλικτ δδσϕηασδδη σδηφγ ασκϕηλκ τεχηνιχαλ αλαν ϕουν διξ τεχηνιχαλ ϕοην µαριανι

ANSWERSHEET (TOPIC = DIFFERENTIAL CALCULUS) COLLECTION #2. h 0 h h 0 h h 0 ( ) g k = g 0 + g 1 + g g 2009 =?

Srednicki Chapter 55

CRASH COURSE IN PRECALCULUS

UNIVERSITY OF CALIFORNIA. EECS 150 Fall ) You are implementing an 4:1 Multiplexer that has the following specifications:

Overview. Transition Semantics. Configurations and the transition relation. Executions and computation

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony

Problem Set 3: Solutions

6.1. Dirac Equation. Hamiltonian. Dirac Eq.

4.6 Autoregressive Moving Average Model ARMA(1,1)

Approximation of distance between locations on earth given by latitude and longitude

ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ

SCHOOL OF MATHEMATICAL SCIENCES G11LMA Linear Mathematics Examination Solutions

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ. του Γεράσιμου Τουλιάτου ΑΜ: 697

Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016

Ψηφιακή Επεξεργασία Εικόνας

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Συντακτικές λειτουργίες

Econ 2110: Fall 2008 Suggested Solutions to Problem Set 8 questions or comments to Dan Fetter 1

Example Sheet 3 Solutions

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΝΟΣΗΛΕΥΤΙΚΗΣ

k A = [k, k]( )[a 1, a 2 ] = [ka 1,ka 2 ] 4For the division of two intervals of confidence in R +

PARTIAL NOTES for 6.1 Trigonometric Identities

Γνώση. Γνώση (knowledge) είναι ο κοινός παράγοντας (π.χ. κανόνες) που περιγράφει συνοπτικά τις συσχετίσεις μεταξύ των δεδομένων ενός προβλήματος.

Capacitors - Capacitance, Charge and Potential Difference

A Note on Intuitionistic Fuzzy. Equivalence Relation

Πώς μπορεί κανείς να έχει έναν διερμηνέα κατά την επίσκεψή του στον Οικογενειακό του Γιατρό στο Ίσλινγκτον Getting an interpreter when you visit your

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΑΛΛΗΛΟΓΡΑΦΙΑ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑ ΣΤΗΝ ΑΓΓΛΙΚΗ ΓΛΩΣΣΑ

[1] P Q. Fig. 3.1

Block Ciphers Modes. Ramki Thurimella

1) Formulation of the Problem as a Linear Programming Model

LESSON 12 (ΜΑΘΗΜΑ ΔΩΔΕΚΑ) REF : 202/055/32-ADV. 4 February 2014

Ενότητα 2 Εργαλεία για την αναζήτηση εργασίας: Το Βιογραφικό Σημείωμα

Fourier Series. MATH 211, Calculus II. J. Robert Buchanan. Spring Department of Mathematics

ST5224: Advanced Statistical Theory II

Reminders: linear functions

Transcript:

1 Ευφυή Συστήματα Υποστήριξης Αποφάσεων Δημήτρης Αποστόλου

Βιβλιογραφία 2 Τεχνητή Νοημοσύνη - Γ' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Semantic Web Primer Gregoris Antoniou and Frank Van Harmelenn Decision Support Systems: A Knowledge Based Approach Clyde Holsapple Τεχνητή Νοημοσύνη Μία σύγχρονη προσέγγιση S. Russell, P. Norvig (Απόδοση στα Ελληνικά: Γ. Ρεφανίδης)

Περιεχόμενα 1 ου μέρους 3 Συστήματα Αποφάσεων Βασισμένα σε Κανόνες Λήψη Αποφάσεων στο Σημασιολογικό Ιστό

4 Συστήματα Αποφάσεων Βασισμένα σε Κανόνες

Αναπαράσταση με Κανόνες 5 Πολύ πρακτικός τρόπος αναπαράστασης για την εξαγωγή συμπερασμάτων Αποτελούν τη βάση πολλών συστημάτων γνώσης (knowledge systems) Γενικά Πλεονεκτήματα: Κοντά στην ανθρώπινη γνώση Επάρκεια συνεπαγωγών Συγκεκριμένα Πλεονεκτήματα: Modularity: Κάθε κανόνας ορίζει ένα μικρό, (σχεδόν) ανεξάρτητο τμήμα της γνώσης Incrementability: Μπορούν να προστεθούν νέοι κανόνες (σχεδόν) ανεξάρτητα από τους υπάρχοντες Modifiability: Οι υπάρχοντες κανόνες μπορούν να αλλάξουν (σχεδόν) ανεξάρτητα από τους υπόλοιπους

Είδη Κανόνων 6 Προϋποθέσεις (premises) ή αριστερό μέρος του κανόνα (left hand side - LHS) Συνθήκες (conditions): ακολουθία από κατηγορήματα που συνδέονται με λογικούς τελεστές AND, OR Eπακόλουθα (consequent) ή δεξιόμέροςτουκανόνα(right hand side -RHS) Συμπέρασμα (conclusion): κατηγόρημα Ενέργειες (actions): μία σειρά από εντολές που πρέπει να εκτελεστούν Μορφές Κανόνων IF συνθήκες THEN συμπέρασμα Συνεπαγωγικός (Deductive) κανόνας IF συνθήκες THEN ενέργειες Κανόνας Παραγωγής (Production) ON συμβάν IF συνθήκες THEN ενέργειες Ενεργός (active) κανόνας Εκφράζει Δηλωτική γνώση Διαδικαστική γνώση Διαδικαστική γνώση Επεξήγηση Αν οι συνθήκες αληθεύουν τότε αληθεύει και το συμπέρασμα Αν οι συνθήκες αληθεύουν τότε εκτέλεσε τις ενέργειες Όταν συμβεί το γεγονός (συμβάν) Αν οι συνθήκες αληθεύουν τότε εκτέλεσε τις ενέργειες

Συστήματα Κανόνων 7 Συστήματα εξαγωγής συμπερασμάτων (deduction systems) π.χ. Prolog, Datalog Γνώση που δηλώνει μία αλήθεια για τον κόσμο, αλλά δεν αναφέρει ρητά πότε και πώς εφαρμόζεται Συστήματα παραγωγής (production systems) π.χ. CLIPS, Flex, Drools Γνώση για το ποιες συγκεκριμένες ενέργειες πρέπει να εκτελεστούν δεδομένης μιας κατάστασης Οι εκτελούμενες ενέργειες επιφέρουν μη-αναστρέψιμα αποτελέσματα Ενεργά Συστήματα (re-active systems, active database systems) π.χ. Oracle Triggers, RuleCore

Ενεργοί Κανόνες 8 Οι κανόνες παραγωγής δηλώνουν διαδικαστική γνώση Οι κανόνες εκτελούνται "όταν η συνθήκη είναι αληθής" Δεν είναι σαφώς ορισμένο πότε ακριβώς εκτελούνται οι ενέργειες Αν και εκφράζουν διαδικαστική γνώση, η συνθήκη τους περιέχει δηλωτική γνώση. Οι ενεργοί κανόνες (active rules) εκφράζουν καθαρά διαδικαστική γνώση Κανόνες οδηγούμενοι από συμβάντα ή γεγονότα (event-driven rules) Εκφράζουν με σαφήνεια το πότε ακριβώς ενεργοποιούνται: Όταν συμβεί ένα συγκεκριμένο συμβάν Τότε και μόνο τότε εξετάζεται η συνθήκη τους και αν ικανοποιείται, τότε εκτελούνται οι ενέργειές τους. Παραδείγματα συμβάντων: Μία συγκεκριμένη χρονική στιγμή του ρολογιού του συστήματος Ένα πάτημα του αριστερού πλήκτρου του ποντικού ή ενός πλήκτρου του πληκτρολογίου Η επιλογή κάποιου μενού από το χρήστη Η προσπάθεια προσπέλασης ή αλλαγής κάποιων "ευαίσθητων" δεδομένων, κλπ.

Παράδειγμα Αναπαράστασης με Κανόνες 9 Σύμπτωμα Ο εκτυπωτής τυπώνει σωστά αλλά τα χρώματα δε τυπώνονται σωστά Πιθανή Βλάβη Έχει τελειώσει το έγχρωμο μελάνι Επιδιόρθωση Αλλάξτε την κεφαλή με το έγχρωμο μελάνι Συνεπαγωγικός Κανόνας IF ο εκτυπωτής τυπώνει σωστά AND τα χρώματα δε τυπώνονται σωστά THEN έχει τελειώσει το έγχρωμο μελάνι Κανόνας Παραγωγής IF ο εκτυπωτής τυπώνει σωστά AND τα χρώματα δε τυπώνονται σωστά THEN αλλάξτε την κεφαλή με το έγχρωμο μελάνι Ενεργός Κανόνας ΟΝ εκτύπωση IF τα χρώματα δε τυπώνονται σωστά THEN αλλάξτε την κεφαλή με το έγχρωμο μελάνι

Συστήματα Εξαγωγής Συμπερασμάτων 10 Βάση κανόνων (rule base): περιέχει ένα σύνολο από κανόνες Έλεγχος (control): καθορίζει τον τρόπο εκτέλεσης των κανόνων για την εξαγωγή συμπερασμάτων Ποιοι κανόνες είναι υποψήφιοι για να επιλύσουν το πρόβλημα; Με ποιόν τρόπο θα γίνει η επιλογή; Ποιος από τους κανόνες τελικά θα επιλεγεί; Τι θα γίνει με τους υπόλοιπους κανόνες;

Εξαγωγή Συμπερασμάτων 11 Χρησιμοποιείται η συνεπαγωγική συλλογιστική. Υλοποιείται από την ακολουθία εκτέλεσης κανόνων (chaining) Αλγόριθμος που συνδυάζει τα δεδομένα, τους κανόνες και τα ενδιάμεσα συμπεράσματα Ορθή ακολουθία εκτέλεσης (forward chaining) Εξετάζονται πρώτα αν οι προϋποθέσεις στο αριστερό μέρος του κανόνα είναι αληθείς έτσι ώστε το συμπέρασμα που αναφέρεται στο δεξιό μέρος να είναι αληθές. Εξετάζονται μόνο οι αληθείς τρόποι απόδειξης Μπορεί να συμπεράνει περισσότερα συμπεράσματα από τα επιθυμητά Ενδείκνυται όταν υπάρχουν λίγα δεδομένα που οδηγούν σε πολλά συμπεράσματα Εφαρμογές: Συστήματα Διάγνωσης, Συστήματα Παραγωγής Ανάστροφη ακολουθία εκτέλεσης (backward chaining) Ξεκινά από το δεξιό μέρος του κανόνα και προσπαθεί να βρει αν οι προϋποθέσεις είναι αληθείς Εξετάζονταιόλοιοιεναλλακτικοίτρόποιαπόδειξηςτουσυμπεράσματος(ακόμα και οι μη-αληθείς) έως ότου αποδειχθεί η αλήθεια του συμπεράσματος (π.χ. Prolog). Ενδείκνυται όταν υπάρχουν λίγα συμπεράσματα και πολλά δεδομένα Το σύστημα ζητά τα δεδομένα με λογική σειρά και μόνο όσα χρειάζονται Εφαρμογές: Συστήματα Ελέγχου Λειτουργίας (Monitoring)

Αναπαράσταση με Κανόνες 12 Παράδειγμα 1: if has(animal,hair) or ives(animal,milk) then isa(animal,mammal). 2: if has(animal,feathers) or (flies(animal) and lays(animal,eggs)) then isa(animal,bird). 3: if isa(animal,mammal) and (eats(animal,meat) or (has(animal,pointed_teeth) and has(animal,claws) and has(animal,forward_pointing_eyes))) then isa(animal,carnivore). 4: if isa(animal,carnivore) and has(animal,tawny_colour) and has(animal,dark_spots) then isa(animal,cheetah). 5: if isa(animal,carnivore) and has(animal,tawny_colour) and has(animal,black_stripes) then isa(animal,tiger). 6: if isa(animaλ,bird) and not flies(animal) and swims(animal) then isa(animal,penguin). 7: if isa(animal,bird) and isa(animal,good_flyer) then isa(animal,albatros).

Γραφική Αναπαράσταση Κανόνων 13 has(animal,hair) 1 isa(animal,mammal) gives(animal,milk) eats(animal,meat) has(animal,pointed_teeth) has(animal,claws) has(animal,forward_poited_eyes) has(animal,black_stripes) isa(animal,carnivor) 3 has(animal,tawny_colour) has(animal,dark_spots) has(animal,feathers) flies(animal) lays(animal,eggs) isa(animal,good_flyer) 2 isa(animal,bird) not flies(animal) 7 6 isa(animal,albartos) isa(animal,penguin) swims(animal)

14 Γραφική Αναπαράσταση Εξαγωγής Συμπεράσματος Ορθή Ακολουθία Εκτέλεσης Αρχικά δεδομένα: flies(petros), lays(petros, eggs), isa(petros, goodflyer). has(petros,hair) gives(petros,milk) 1 has(petros,feathers) isa(petros,good_flyer) 7 isa(p flies(petros) 2 isa(petros,bird) lays(petros,eggs) not flies(petros) 6 swims(petros) Παράγονται τα συμπεράσματα: isa(petros, albatros) και isa(petros, bird)

15 Γραφική Αναπαράσταση Εξαγωγής Συμπεράσματος Ανάστροφη Ακολουθία Εκτέλεσης Ερώτηση: isa(jimmy, tiger) has(jimmy,hair) gives(jimmy,milk) 1 isa(jimmy,mammal) eats(jimmy,meat) 3 has(jimmy,black_s isa(jimmy,carnivo has(jimmy,pointed_teeth) has(jimmy,claws) has(jimmy,tawny_ has(jimmy,forward_pointed_eyes) Απάντηση: Yes

Συστήματα Παραγωγής 16 Βάση κανόνων: περιέχει τους κανόνες παραγωγής Χώρος εργασίας (working memory): περιέχει γεγονότα Αρχικά δεδομένα (data) ή ενδιάμεσα συμπεράσματα (partial conclusions) Στοιχείατηςμνήμηςεργασίας(working memory elements) Μηχανισμός ελέγχου (control ή scheduler) και επίλυσης συγκρούσεων (conflict resolution): εκτέλεση των κανόνων βάσει στρατηγικής επίλυσης συγκρούσεων (conflict resolution strategy) Χώρος Εργασίας Γεγονότα Βάση Κανόνων Κανόνας που πυροδοτείται Μηχανισμός Ελέγχου και Επίλυσης Συγκρούσεων Κανόνες που ενεργοποιούνται

Επίλυση Συγκρούσεων 17 Ο κανόνας ενεργοποιείται (triggers) όταν ικανοποιούνται οι συνθήκες του Όταν πυροδοτείται (fires) ο κανόνας, τότε εφαρμόζονται/εκτελούνται οι ενέργειές του Σύνολο σύγκρουσης (conflict set): Το σύνολο των κανόνων που ενεργοποιούνται Ο μηχανισμός ελέγχου καθορίζει ποιος κανόνας θα πυροδοτηθεί Στρατηγικές επίλυσης συγκρούσεων: Τυχαία (random). Διάταξης (ordering). Επιλογή του πρόσφατου (recency). Επιλογή του πιο ειδικού (specificity). Αποφυγή επανάληψης (refractoriness). Ανάλυση μέσων-σκοπών (means-ends analysis) Μετα-έλεγχος (μετα-κανόνες)

Στρατηγικές Επίλυσης Συγκρούσεων (1/4) 18 Τυχαία (random) Επιλέγεται ένας κανόνας στην τύχη. Συνήθως δεν υπάρχει στα συστήματα κανόνων παραγωγής Aν υπάρχει δεν είναι πραγματικά τυχαία η επιλογή Είναι απροσδιόριστη - εξαρτάται από τις λεπτομέρειες της υλοποίησης Διάταξη (ordering) Επιλέγεται ο κανόνας που είναι πρώτος στη σειρά ή έχει μεγαλύτερη προτεραιότητα βάσει κάποιου αριθμητικού μεγέθους Αποφυγή επανάληψης (refractoriness) Δεν επιλέγεται ο ίδιος κανόνας με τα ίδια δεδομένα για δεύτερη συνεχόμενη φορά Αποφεύγονται άσκοπες ή ατέρμονες επαναλήψεις Παράδειγμα: Υπάρχουν τα γεγονότα Α, Β και οι κανόνες: 1: if Α then C 2: if Β then D Αν εκτελεστεί πρώτα ο 1, μετά θα εκτελεστεί ο 2 Ο 1 δε θα εκτελεστεί ξανά, αν και εξακολουθεί να είναι ενεργοποιημένος

Στρατηγικές Επίλυσης Συγκρούσεων (2/4) 19 Επιλογή του πρόσφατου (recency) Επιλέγεται ο κανόνας που ενεργοποιείται από τα πιο πρόσφατα δεδομένα που προστέθηκαν στο χώρο εργασίας Ακολουθείται μία χρονικά συνεπής πορεία σκέψης, ηοποία είναι επικεντρωμένη και δε διασκορπάται σε διάφορα σημεία Παράδειγμα: Υπάρχουν τα γεγονότα Α, Β και οι κανόνες: 1: if A then C 2: if B then D 3: if C then E Έστω ότι εκτελείται πρώτα ο 1 Μετά θα εκτελεστεί ο 3 (όχι ο 2) γιατί το C είναι πιο πρόσφατο από το B

Στρατηγικές Επίλυσης Συγκρούσεων (3/4) 20 Επιλογή του πιο ειδικού (specificity) Επιλέγεται ο κανόνας που είναι πιο ειδικός από τους άλλους Η συνθήκη του εκφράζεται με αναλυτικότερο τρόπο Εξετάζονται πρώτα τα πιο συγκεκριμένα θέματα τα οποία οδηγούν πιθανότατα σε λύση πιο γρήγορα και στη συνέχεια τα πιο γενικά. Παράδειγμα: Υπάρχουν τα γεγονότα Α, Β, C και οι κανόνες 1: if Α and Β and C then D 2: if Α and Β then Ε Θα εκτελεστεί πρώτα ο 1 γιατί έχει πιο πολλές συνθήκες από τον 2.

Στρατηγικές Επίλυσης Συγκρούσεων (4/4) 21 Ανάλυση μέσων-σκοπών (means-ends analysis) Το συνολικό πρόβλημα επιμερίζεται σε απλούστερες διεργασίες (tasks) Kάθε διεργασία υλοποιείται από μία ομάδα κανόνων (cluster) Όταν εκτελείται κάποια διεργασία, τότε οι κανόνες άλλων ομάδων δεν προτιμούνται, παρά μόνο αν δεν υπάρχουν άλλοι ενεργοί κανόνες της ίδιας ομάδας Η αποδεικτική διαδικασία είναι επικεντρωμένη στους τρέχοντες στόχους της. Παράδειγμα: Υπάρχουν τα γεγονότα Α, Β, C, G1, G2 καιοικανόνες 1: if G1 and Α and Β and C then D 2: if G2 and Α and Β then Ε Τα G1, G2 υποδηλώνουν τη διεργασία που ανήκει ο κανόνας Το G2 είναι πιο πρόσφατο από το G1 Θα εκτελεστεί πρώτα ο 2, γιατί ασχολείται με τον πιο τρέχοντα στόχο Ο 1 μπορούσε να έχει προτεραιότητα λόγω άλλης στρατηγικής, (π.χ. specificity)

Μετα-έλεγχος 22 Τα συστήματα παραγωγής εφαρμόζουν μία ή περισσότερες στρατηγικές επίλυσης συγκρούσεων Όταν υπάρχουν πολλές στρατηγικές, πρέπει να υπάρχει προτεραιότητα μεταξύ τους Μετα-έλεγχος (meta-control): καθορίζει ποια στρατηγική θα εφαρμοστεί, πού και πότε Απλά συστήματα: σταθερή προτεραιότητα Χαμηλότερη τιμή στην τυχαία επιλογή Σύνθετα συστήματα: η προτεραιότητα αλλάζει δυναμικά (at run-time) Mετα-κανόνες (meta-rules): κανόνες που καθορίζουν τη σειρά εκτέλεσης άλλων κανόνων

Κύκλος Λειτουργίας Συστήματος Παραγωγής 23 Έως ότου δεν μπορεί να εκτελεστεί κανένας κανόνας επανέλαβε: 1. Βρες όλους του κανόνες που οπλίζουν και σχημάτισε το σύνολο συγκρούσεων. 2. Σύμφωνα με το μηχανισμό επίλυσης συγκρούσεων, διάλεξε ένα κανόνα. 3. Πυροδότησε τον κανόνα που διάλεξες στο βήμα 2. Στα συστήματα παραγωγής υπάρχει ορθή ακολουθία εκτέλεσης κανόνων Εξαγωγή συμπερασμάτων: Δεν έχει νόημα Οι κανόνες παραγωγής αναφέρονται σε ενέργειες που εκτελούνται και όχι σε συμπεράσματα Η λειτουργία των κανόνων παραγωγής "παραπέμπει" στη συνεπαγωγική συλλογιστική Υιοθέτηση μιας ειδικής ενέργειας από κάτι που ισχύει γενικά Ταίριασμα των κανόνων που περιέχουν μεταβλητές με δεδομένα στη μνήμη εργασίας που περιέχουν σταθερές

Παράδειγμα Κίνησης Ρομπότ 24 Ρομπότ κινείται σε χώρο με εμπόδια Στόχος: Να αποφύγει τα εμπόδια και όταν βρει κάποιο αντικείμενο, να στείλει ένα μήνυμα και να σταματήσει robot_at(6,4) direction(e) choice(w) choice(s) choice(n) choice(e) obstacle_at(7,4) obstacle_at(6,8) obstacle_at(7,7)... object_at(4,7)...

Παρατηρήσεις 25 Μνήμη εργασίας: θέση ρομπότ: robot_at(x,y) κατεύθυνση προς την οποία κινείται: direction(d), D {e, w, n, s} θέση εμποδίων: obstacle_at(x,y) θέση αντικειμένων: object_at(x,y) επιλογή κατεύθυνσης: choice(d), D {e, w, n, s} Ενέργειες κανόνων: addwm: βάλε κάτι στη μνήμη εργασίας delwm: σβήσε κάτι από τη μνήμη εργασίας output: εκτύπωσε ένα μήνυμα στην οθόνη αριθμητικές εκφράσεις.

Κανόνες Κίνησης Ρομπότ 26 1: detect_object: if robot_at(x,y) and object_at(x,y) then output( object is found ). 2: move_west: if robot_at(x,y) and direction(w) then delwm(robot_at(x,y)) and NX=X-1 and addwm(robot_at(nx,y)). 3: move_east: if robot_at(x,y) and direction(e) then delwm(robot_at(x,y)) and NX=X+1 and addwm(robot_at(nx,y)). 4: move_north: if robot_at(x,y) and direction(n) then delwm(robot_at(x,y)) and NY=Y+1 and addwm(robot_at(x,ny)). 5: move_south: if robot_at(x,y) and direction(s) then delwm(robot_at(x,y)) and NY=Y-1 and addwm(robot_at(x,ny)). 6: avoid_obstacle_south: if robot_at(x,y) and NY=Y-1 and obstacle_at(x,ny) and direction(s) and choice(nd) then delwm(direction(s)) and addwm(direction(nd)). 7: avoid_obstacle_west: if robot_at(x,y) and NX=X-1 and obstacle_at(nx,y) and direction(w) and choice(nd) then delwm(direction(w)) and addwm(direction(nd)). 8: avoid_obstacle_north: if robot_at(x,y) and NY=Y+1 and obstacle_at(x,ny) and direction(n) and choice(nd) then delwm(direction(n)) and addwm(direction(nd)). 9: avoid_obstacle_east: if robot_at(x,y) and NX=X+1 and obstacle_at(nx,y) and direction(e) and choice(nd) then delwm(direction(e)) and addwm(direction(nd)). MOVE Change Direction

Στρατηγική Επίλυσης Κίνησης Ρομπότ 27 Αποφυγή Επανάληψης (ΑΕ) Βοηθά να μην κολλήσει το ρομπότ σε εμπόδιο, επιλέγοντας συνεχώς την κατεύθυνση προς την οποία βρίσκεται το εμπόδιο Επιλογή του πιο Ειδικού (ΕΕ) Δίνει προτεραιότητα στην αποφυγή εμποδίων (κανόνες 6-9) Τυχαία Επιλογή (ΤΕ) Το ρομπότ επιλέγει τυχαία μία από τις 4 κατευθύνσεις

Παρακολούθηση Εκτέλεσης (1/3) 28 Κύκλος Μνήμη Εργασίας 1 robot_at(6,4) direction(e) choice(w) choice(n) choice(s) choice(e) obstacle_at(7,4) obstacle_at(6,8)... object_at(4,7)... 2 robot_at(6,4) direction(n)... 3 robot_at(6,5) direction(n)... Σύνολο Συγκρούσεων {3, 9 (ND=w), 9 (ND=n), 9 (ND=s), 9 (ND=e)} Στρατηγική ΕΕ ΤΕ Κανόνες που οπλίζουν απο τα δεδομένα της Μνήμης Εργασίας. O (3) από το direction(e) και ο (9) από το direction(e) και από το obstacle(7,4) Κανόνας που πυροδοτεί 9:avoid_obstacle_east (ND=n) {4} - 4: move_north {4} - 4: move_north Επιλέγεται ένας (9), με choice(n)

Παρακολούθηση Εκτέλεσης (2/3) 29 Κύκλος Μνήμη Εργασίας 4 robot_at(6,6) direction(n)... 5 robot_at(6,7) direction(n)... obstacle_at(6,8)... 6 robot_at(6,7) direction(n)... obstacle_at(6,8)... 7 robot_at(6,7) direction(e)... obstacle_at(7,7)... Σύνολο Συγκρούσεων Στρατηγική Κανόνας που πυροδοτεί {4} - 4: move_north {4, 8 (ND=w), 8 (ND=n), 8 (ND=s), 8 (ND=e)} {4, 8 (ND=w), 8 (ND=n), 8 (ND=s), 8 (ND=e)} {3, 9 (ND=w), 9 (ND=n), 9 (ND=s), 9 (ND=e)} EE TE AE EE TE EE TE 8:avoid_obstacle_north (ND=n) 8:avoid_obstacle_north (ND=e) 9: avoid_obstacle_east (ND=w)

Παρακολούθηση Εκτέλεσης (3/3) 30 Κύκλος Μνήμη Εργασίας 8 robot_at(6,7) direction(w)... 9 robot_at(5,7) direction(w)... 10 robot_at(4,7) direction(w) object_at(4,7)... Σύνολο Συγκρούσεων Στρατηγική Κανόνας που πυροδοτεί {2} - 2: move_west {2} - 2: move_west {1,2} EE TE 1: detect_object

Λογικός Προγραμματισμός 31

Prolog 32 Υπάρχουν τρεις βασικές δηλώσεις: τα γεγονότα (facts), οι ερωτήσεις (queries) και οι κανόνες (rules). Υπάρχει μια μοναδική δομή δεδομένων: ο λογικός όρος (logical term) ή απλά όρος.

Δομές Δεδομένων στην Prolog 33 Λογικοί Όροι Όροι Σύνθετοι Όροι (Δομές) Constants Variables Atoms Numbers

Γεγονότα 34 Το πιο απλό είδος της δήλωσης ονομάζεται γεγονός (fact). Τα γεγονότα είναι ένα μέσο καθορισμού μιας σχέσης που ισχύει ανάμεσα στα αντικείμενα. Ένα παράδειγμα είναι: father(abraham,isaac). Αυτό το γεγονός λέει ότι ο Abraham είναι ο πατέρας του Ιsaac, ή ότι ο συσχετισμός πατέρας (father) ισχύει ανάμεσα στις μονάδες, οι οποίες ονομάζονται abraham και isaac. Άλλο ένα όνομα για μια σχέση είναι το κατηγόρημα (predicate). Τα ονόματα των μονάδων είναι γνωστά ως άτομα (atoms). Το κατηγόρημα father έχει 2 ορίσματα. Δηλ. father/2.

Ερωτήσεις 35 Η δεύτερη μορφή μιας δήλωσης στον λογικό προγραμματισμό είναι η ερώτηση (query). Οι ερωτήσεις είναι το μέσο απόδοσης πληροφοριών από ένα λογικό πρόγραμμα. Με μια ερώτηση, ρωτάμε αν ισχύει κάποιος συσχετισμός ανάμεσα σε αντικείμενα. Για παράδειγμα η ερώτηση father(abraham,isaac)? ρωτάει, εάν η σχέση πατέρας (father) ισχύει ανάμεσα στον abraham και στον isaac. Συζευκτική ερώτηση είναι μια σύζευξη στόχων που εκφράζονται σε μια ερώτηση, για παράδειγμα father(terach,x), father(x,y)? ή γενικά, Q1,..., Qn?.

Κανόνες 36 Αυτό μας φέρνει στην τρίτη και πιο σημαντική δήλωση στον λογικό προγραμματισμό, ο κανόνας (rule), ο οποίος μας καθιστά ικανούς στο να καθορίσουμε νέες σχέσεις στους όρους των υφιστάμενων σχέσεων. Ο Χ είναι εγγονός του Υ αν ο Χ είναι παιδί κάποιου Ζκαιο/η Ζ είναι παιδί του Υ. grandchild (X,Y) :- child (X,Z), child (Z,Y). head (κεφαλή) body (σώμα)

Κανόνες και Συζεύξεις 37 A man is happy if he is rich and famous might translate to: happy(person):- man(person), rich(person), famous(person). The, indicates the conjunction and is roughly equivalent to the ^ of predicate calculus. Therefore, read, as and. In this single clause, the logical variable Person refers to the same object throughout. By the way, we might have chosen any name for the logical variable other than Person. It is common practice to name a logical variable in some way that reminds you of what kind of entity is being handled.

Κανόνες και Διαζεύξεις 38 Someone is happy if they are healthy, wealthy or wise, translates to: happy(person):- healthy(person). happy(person):- wealthy(person). happy(person):- wise(person). Note how we have had to rewrite the original informal statement into something like: Someone is happy if they are healthy OR Someone is happy if they are wealthy OR Someone is happy if they are wise

Παράδειγμα 39 related (X,X). related (X,Y) :- married (X,Y). related (X,Y) :- child (X,Z), related (Z,Y). related (X,Y) :- child (Z,X), related (Z,Y).

Λογικές Μεταβλητές και Κανόνες 40 The scope rule for Prolog is that two uses of an identical name for a logical variable only refer to the same object if the uses are within a single clause. Therefore in: happy(x):- healthy(x). wise(x):- old(x). the two references to X in the first clause do not refer to the same object as the references to X in the second clause. Do not assume that the word logical is redundant. It is used to distinguish between the nature of the variable as used in predicate calculus and the variable used in imperative languages like BASIC, FORTRAN and so on. In those languages, a variable name indicates a storage location which may `contain' different values at different moments in the execution of the program. The logical variable cannot be overwritten with a new value.

Στρατηγική Αναζήτησης στην Prolog 41 «Κατά βάθος» Program Database woman(jean). man(fred). woman(jane). woman(joan). woman(pat).?- woman(jane). Prolog searches through the set of clauses from top to bottom. First, Prolog examines woman(jean) and finds that woman(jane) does not match. Also, it is obvious that the next clause man(fred). doesn't match either. Prolog then comes to look at the third clause and it finds what we want.

Παράδειγμα 42 Program database woman(jean). man(fred). wealthy(fred). happy(person):-?- happy(jean). no woman(person), wealthy(person). Why? Prolog tries to match: happy(jean) against happy(person)

43 We call this matching process unification. What happens here is that the logical variable Person gets bound to the atom jean. You could paraphrase bound" as is temporarily identified with". To solve our problem, Prolog must set up two subgoals. But we must make sure that, since Person is a logical variable, that everywhere in the rule that Person occurs we will replace Person by jean. We now have something equivalent to: happy(jean):- woman(jean), wealthy(jean). So the two subgoals are: woman(jean) wealthy(jean)

44 Here we come to our next problem. In which order should Prolog try to solve these subgoals? The answer is that the standard way to choose the subgoal to work on first is again based on the way we read (in the west)! We try to solve the subgoal woman(jean) and then the subgoal wealthy(jean). There is only one possible match for woman(jean): our subgoal is successful. However, we are not finished until we can find out if wealthy(jean). There is a possible match but we cannot unify wealthy(fred) with wealthy(jean) (However, Prolog is not finished yet. Once we reach wealthy(person) with Person/jean and it fails we move back (backtracking) to the goal woman(person) and break the binding for Person (because this is where we made the binding Person/jean). We now start going from left to right again.)

Κανόνες και Αβεβαιότητα 45

Συντελεστές Βεβαιότητας (Certainty Factors) (1/2) 46 Αριθμητικές τιμές που εκφράζουν τη βεβαιότητα για την αλήθεια μιας πρότασης ή γεγονότος. Πρωτο-εισήχθησαν στο έμπειρο σύστημα MYCIN if γεγονός then υποθετικό συμπέρασμα με βεβαιότητα CF Παράδειγμα: if πυρετός then γρίπη CF 0.8 Παίρνουν τιμές στο διάστημα [-1, +1] 1 : απόλυτη βεβαιότητα για το ψευδές της πρότασης. +1 : απόλυτη βεβαιότητα για την αλήθεια της πρότασης. 0 : άγνοια. Τιμές βεβαιότητας και στην τιμή του γεγονότος του κανόνα: Παράδειγμα: if πυρετός CF1 0.7 then γρίπη CF 0.8 τελική βεβαιότητα κανόνα: 0.7x0.8=0.56 Αν υπάρχουν περισσότερα από ένα γεγονότα στο αριστερό τμήμα του κανόνα τα οποία συνδέονται με AND (ή OR) τότε ως συντελεστής βεβαιότητας του αριστερού τμήματος θεωρείται η μικρότερη (ή η μεγαλύτερη) τιμή CF που εμφανίζεται

Συντελεστές Βεβαιότητας (Certainty Factors) (2/2) 47 Αν δύο διαφορετικοί κανόνες συνάγουν το ίδιο υποθετικό συμπέρασμα με βεβαιότητες CFp και CFn, τότε η συνολική βεβαιότητα είναι: Αν CFp και CFn > 0, τότε: CF = CFp+CFn (1-CFp) = CFp+CFn CFn CFp Αν CFp και CFn < 0, τότε: CF = CFp+CFn (1+CFp) = CFp+CFn+CFn CFp Αν CFp και CFn ετερόσημα, τότε: CFp + CFn CF = 1 min( CFp, CF ) n Παράδειγμα:if πυρετός then γρίπη CF 0.8 if βήχας then γρίπη CF 0.5 Συμπερασματικά: Αντί για συχνότητες εμφάνισης γεγονότων που πρέπει να μετρηθούν, χρησιμοποιούνται συντελεστές βεβαιότητας που έχουν εκτιμηθεί από ειδικούς. Οι υπολογισμοί κατά το συνδυασμό βεβαιοτήτων είναι απλούστεροι, λόγω της παραδοχής της ανεξαρτησίας των γεγονότων. Πρέπει να αποφεύγεται η ταυτόχρονη χρήση κανόνων που αναστρέφουν τη σχέση αιτίας-αποτελέσματος. Π.χ. if A then B και if Β then Α

Παράδειγμα 48 Έστω ότι δύο κανόνες οδηγούν στο ίδιο υποθετικό συμπέρασμα Β, κάτω όμως από διαφορετικές παραδοχές, δηλαδή: if Α then Β CF 0.8 if C AND D AND E then B CF 0.6 Αν ο χρήστης εισάγει τα δεδομένα A, C, D και E με βεβαιότητες: CF(A)=0.5, CF(C)=0.9, CF(D)=0.7 και CF(E)=0.5 τότε: H ενεργοποίηση του πρώτου κανόνα δίνει: CFp(B)=0.5 * 0.8 =0.4 H ενεργοποίηση του δεύτερου κανόνα δίνει: CFn(B)=0.6 * min(0.9, 0.7, 0.5) = 0.6 * 0.5 = 0.3 Επειδή τα CFp και CFn είναι και τα δύο θετικά, η συνολική βεβαιότητα του υποθετικού συμπεράσματος Β θα είναι: CF(B) = 0.4 + 0.3 - (0.4 x 0.3) = 0.58

Προσέγγιση Dempster-Shafer (D-S) (1/2) 49 Δεν απαιτείται η συλλογή όλων των απλών και των υπό συνθήκη πιθανοτήτων. Λογισμός με αριθμητικές τιμές πεποίθησης (belief) Αν U={A, B, C} πιθανές ασθένειες τότε Pow είναιτοσύνολοτων υποσυνόλων του U: Pow(U) = { {}, {A}, {B}, {C}, {A, B}, {A, C}, {B, C}, {A, B, C} } πιθανές διαγνώσεις. Διαζευγμένες Προτάσεις: {Α, Β} σημαίνει "ασθένεια Α ή Β". Στοιχεία του U που δεν ανήκουν σε ένα στοιχείο του Pow(U), (π.χ. η ασθένεια C στο {Α, Β}), κάνουν σαφή την άρνηση του αντίστοιχου υποθετικού συμπεράσματος. {}: null hypothesis

Προσέγγιση Dempster-Shafer (2/2) Η βασική κατανομή πιθανότητας (basic probability assignment - bpa) είναι μία απεικόνιση: m: Pow(U) [0,1] η οποία αναθέτει μία τιμή πεποίθησης για κάθε στοιχείο του Pow(U) Είναι δηλαδή το μέτρο της πεποίθησης που υπάρχει για το κατά πόσο ισχύει το υποθετικό συμπέρασμα που εκφράζεται με το συγκεκριμένο στοιχείο του U. η πεποίθηση m({a, B})=0.3, δε μοιράζεται στα {Α} και {Β} αλλά αφορά το {Α, Β}. ισχύει m({})=0 X Pow ( ) 1 ( U m X = ) Επειδή θεωρούμε οτι το υποθετικό συμπέρασμα βρίσκεται κάπου μέσα στα στοιχεία του Pow(U) Η συνολική πεποίθηση (belief) ότι ένα στοιχείο του U ανήκει στο Χ καθώς και στα τυχόν υποσύνολα του Χ συμβολίζεται με Bel(X) Bel ( X ) = m( Y ) Y X 50

Κανόνας Dempster-Shafer 51 Αν m1 και m2 δύο ανεξάρτητες εκτιμήσεις (βασικές κατανομές πιθανότητας) που αποδίδουν κάποιο βαθμό πεποίθησης στα στοιχεία του Pow(U), τότε αυτές συνδυάζονται σε μία τρίτη εκτίμηση m3=m1 m2 με τρόπο που ορίζεται με τον κανόνα D-S: m (A) = m m (A) = 3 1 2 A Pow U ) 1 (X) X, Y U : X Y= A 1 2 ( (X) ( Y) m m m m X, Y U : X Y= 1 2 (Y)

Παράδειγμα: Διάγνωση Ασθένειας 52 Έστω U={A, B, C} το σύνολο των δυνατών ασθενειών που μπορεί να διαγνωσθούν. Πιθανές Διαγνώσεις Pow(U)={{}, {A}, {B}, {C}, {A,B}, {A,C}, {B,C}, {A,B,C}} m( {{ }, {A}, {B}, {C}, {A, B}, {A, C}, {B, C}, {A, B, C} } ) = 1 υποδηλώνει τη βεβαιότητα ότι η διάγνωση βρίσκεται κάπου στα στοιχεία του Pow(U) αλλά ελλείψει άλλων ενδείξεων δεν είναι δυνατό να δοθεί ιδιαίτερη βαρύτητα σε κάποιο Έστω ότι γίνεται διαθέσιμη επιπλέον πληροφορία, (π.χ. πραγματοποιούνται ιατρικές εξετάσεις) και προκύπτει ότι η ασθένεια είναι μία από τις A ή Β με βαθμό πίστης 0.7 m1( {Α, Β} ) = 0.7 m1( {{},{A}, {B}, {C}, {A, C}, {B, C}, {A, B, C}} ) = 0.3 Δηλαδή, η έλλειψη πίστης σε ένα από τα υποθετικά συμπεράσματα του Pow(U), ισοδυναμεί αυτόματα με ισόποσο βαθμό πίστης στα υπόλοιπα στοιχεία του Pow(U), χωρίςόμωςναδίνεταιιδιαίτερη προτίμηση σε κάποιο από αυτά. Πώς μπορεί να συνδυαστούν δύο ανεξάρτητες εκτιμήσεις (π.χ. δύο ιατρών) σε μία;

Παράδειγμα: Συνδυασμός Διαγνώσεων 53 Έστω ότι δύο γιατροί εξετάζουν ανεξάρτητα τον ασθενή και δίνουν την εκτίμησή τους m1 και m2 αντίστοιχα, για την αρρώστια από την οποία αυτός πάσχει. Γιατρός 1 Γιατρός 2 Δυνατές περιπτώσεις διάγνωσης m 1 Bel 1 m 2 Bel 2 {Α} 0.05 0.05 0.15 0.15 {Β} 0 0 0 0 {C} 0.05 0.05 0.05 0.05 {A, B} 0.15 0.2 0.05 0.2 {A, C} 0.1 0.2 0.2 0.4 {B, C} 0.05 0.1 0.05 0.1 {A, B, C} 0.6 1 0.5 1 π.χ. Bel1({A,B}) = m1({a,b}) + m1({a}) + m1({b}) = 0.015 + 0.05 + 0 = 0.2

Παράδειγμα: Συνδυασμός Εκτιμήσεων (1/2) 54 m 1 m 3 =m 1 m 2 {Α} {Β} {C} {A,B} {A,C} {B,C} {A,B,C} m 2 0.05 0 0.05 0.15 0.1 0.05 0.6 {Α} 0.15 {Α}.0075 { } 0 { }.0075 {Α}.0225 {Α}.015 { }.0075 {Α}.09 {Β} 0 { }.0 {Β}0 { }.0 {Β}.0 { }.0 {Β}.0 {Β}.0 {C} 0.05 { }.0025 { } 0 {C}.0025 { }.0075 {C}.005 {C}.0025 {C}.03 {A,B} 0.05 {Α}.0025 {Β}0 { }.0025 {Α,B}.0075 {Α}.005 {Β}.0025 {A,B}.03 {A,C} 0.2 {Α}.01 { } 0 {C}.01 {Α}.03 {Α,C}.02 {C}.01 {A,C}.012 {B,C} 0.05 { }.0025 {Β}0 {C}.0025 {Β}.0075 {C}.005 {B,C}.0025 {B,C}.03 {A,B,C } 0.5 {Α}.025 {Β}0 {C}.025 {Α,B}.075 {Α,C}.05 {B,C}.025 {A,B,C}.3

Παράδειγμα: Συνδυασμός Εκτιμήσεων (2/2) 55 Δυνατές περιπτώσεις διάγνωσης m 3 Bel 3 {Α} 0.21 0.21 {Β} {C} {A, B} 0.01 0.09 0.12 0.01 0.09 0.34 Bel ( X ) = m( Y ) Y X {A, C} 0.20 0.50 {B, C} 0.06 0.16 {A, B, C} 0.31 1.00 Η αρχική εκτίμηση ότι η ασθένεια είναι μία από τις Α ή Β αποδυναμώθηκε. η διάγνωση βρίσκεται μάλλον στο σύνολο {A,C} επειδή Bel3({A})>Bel3({C}), αρχίζει να διαφαίνεται ότι η τελική διάγνωση είναι η Α Η παραπάνω συνδυασμένη εκτίμηση μπορεί να συνδυαστεί εκ νέου με μια άλλη εκτίμηση (π.χ. 3ου ιατρού).

Κανόνες και Ασάφεια 56

Ασάφεια (Fuzziness) 57 Έννοια που σχετίζεται με την ποσοτικοποίηση της πληροφορίας και οφείλεται κυρίως σε μη-ακριβή (imprecise) δεδομένα. "Ο Νίκος είναι ψηλός" Το πρόβλημα οφείλεται στην αντίληψη που έχει ο καθένας για λεκτικούς προσδιορισμούς ποσοτικών μεγεθών (σημασιολογική ασάφεια) Εγγενές χαρακτηριστικό της γλώσσας. Ασαφής Λογική (fuzzy logic): υπερσύνολο της κλασικής λογικής χειρίζεται τιμές αληθείας μεταξύ του "απολύτως αληθούς" και του "απολύτως ψευδού". Θεωρία Ασαφών Συνόλων (Fuzzy Set Theory) - Lofti Zadeh '60

Βασικές Έννοιες Ασαφών Συνόλων Ασαφές Σύνολο (fuzzy set) A: ένα σύνολο διατεταγμένων ζευγών (x, ua(x)) όπου x Χ και ua(x) [0,1]). Το σύνολο Χ περιλαμβάνει όλα τα αντικείμενα στα οποία μπορεί να γίνει αναφορά. ua(x): βαθμός αληθείας (degree of truth) - τιμές στο διάστημα [0,1]. ΗσυνάρτησηuΑ ονομάζεταισυνάρτηση συγγένειας (membership function). Προέλευση ua: Υποκειμενικές εκτιμήσεις Προκαθορισμένες (ad hoc) μορφές Συχνότητες εμφανίσεων και πιθανότητες Φυσικές μετρήσεις Διαδικασίες μάθησης και προσαρμογής (νευρωνικά δίκτυα) 58

Αναπαράσταση Ασαφών Συνόλων 59 Αναλυτική έκφρασης της uα Απλούστευση: τμηματικώς γραμμικής απεικόνιση της ua Σύνολο ζευγών της μορφής uα(x)/x Π.χ. ψηλός = {0/1.7, 0/1.75, 0.33/1.8, 0.66/1.85, 1/1.9, 1/1.95} Με ζεύγη της μορφής (x, uα(x)): Π.χ. ψηλός = { (1.7, 0), (1.75, 0), (1.8, 0.33), (1.85, 0.66), (1.9, 1), (1.95, 1) } 1 1 u Α (x) u Α (x) κοντός μεσαίος ψηλός - - - 0 1.6 1.75 1.9 ύψος 0 1.6 1.75 1.8 ύψος

60 Ασαφείς Σχέσεις (1/2) Aσαφή σύνολα ορισμένα σε πεδία αναφοράς ανώτερης διάστασης. Παράδειγμα: R = "x είναι βαρύτερο από y" x X, y Y και R X Y Αναπαράσταση της R, σε μορφή πίνακα = ), ( ), ( ), ( ), ( ), ( ), ( ), ( ), ( ), ( 2 1 2 2 2 1 2 1 2 1 1 1 y x y x y x y x y x y x y x y x y x n m R m R m R n R R R n R R R u u u u u u u u u R L M L L

Ασαφείς Σχέσεις (2/2) 61 Σύνθεση (composition) Ασαφών Σχέσεων: συνδυασμός ασαφών σχέσεων. Σύνθεση max-min (max-min composition) Σύνθεση max-product (max-product composition). Αν R1(x,y) και R2(y,z) είναι δύο ασαφείς σχέσεις ορισμένες στα σύνολα Χ Υ καιυ Ζ αντίστοιχα, τότε η σύνθεσή τους δίνει μία νέα σχέση R1 R2 ορισμένη στο Χ Ζ με συνάρτηση συγγένειας: Σύνθεση max-min: ur1 R2( x, z) = o [ ur1( x, y) ur2( x, y)] y Σύνθεση max-product: u R 1 R2( x, z) = o [ ur1( x, y) ur2( x, y)] y

Ασαφείς Μεταβλητές και Ασαφείς Αριθμοί Ασαφής Μεταβλητή (fuzzy variable): οι τιμές τις ορίζονται με ασαφή σύνολα. Π.χ. τα ασαφή σύνολα {κοντός, μεσαίος, ψηλός} θα μπορούσαν να είναι το πεδίο τιμών της ασαφούς μεταβλητής "ύψος". "ύψος": λεκτική (linguistic) μεταβλητή. Ασαφείς αριθμοί (fuzzy numbers): ασαφή υποσύνολα του συνόλου των πραγματικών αριθμών. Π.χ. "Ασαφές 3" στο σχήμα. μη ασαφείς τιμές: crisp (σαφείς, συγκεκριμένες). 62

Η Αρχή της Επέκτασης (1/2) Επέκταση των εννοιών και των υπολογιστικών τεχνικών των κλασσικών μαθηματικών στο πλαίσιο των ασαφών. συνάρτηση f: ορίζει απεικόνιση του Χ={x1, x2,.., xn} στο Y={y1, y2,.., yn}, έτσι ώστε y1=f(x1), y2=f(x2),.., yn=f(xn). ασαφές σύνολο Α ορισμένο στα στοιχεία του Χ Α = { ua(x1)/x1, ua(x2)/x2,..., ua(xn)/xn } Αν η είσοδος x της συνάρτησης f γίνει ασαφής μέσω του συνόλου Α, τότε τι συμβαίνει με την έξοδο y ; Αρχή Επέκτασης: υπολογισμός ασαφούς συνόλου Β με εφαρμογή της f στο Α. B = f(α) = { ua(x1)/f(x1), ua(x2)/f(x2),..., ua(xn)/f(xn) } δηλαδή, κάθε yi=f(xi) γίνεται ασαφές σε βαθμό ua(xi) πρακτικά, η ub(y) προκύπτει από την ua(x) όπου το x αντικαθίσταται με την έκφραση που προκύπτει για αυτό από την επίλυση της f ως προς x 63

Η Αρχή της Επέκτασης (2/2) 64 Ειδικές Περιπτώσεις αν περισσότερα του ενός διαφορετικά x (έστω τα xm και xn) δίνουν μέσω της συνάρτησης f το ίδιο y (έστω το y0), τότε: ub(yο)=ua(xm) ua(xn). η μέγιστη τιμή συγγένειας των xm και xn στο Α επιλέγεται ως βαθμός συγγένειας του y0 στο Β αν για κάποιο yο του Β δεν υπάρχει x0 του Α τέτοιο ώστε yο=f(xο), τότε η τιμή συγγένειας του Β στο yο είναι μηδέν. Γενίκευση σε περισσότερες διαστάσεις: αν υπάρχουν οι μεταβλητές u, v,..., w ορισμένες στα σύνολα U, V,..., W αντίστοιχα m διαφορετικά ασαφή σύνολα A1, A2,.., Am ορισμένα στο U V... W η πολυπαραμετρική συνάρτηση y=f(u,x,...,w) τότε η ασαφοποίηση του χώρου των y, δηλαδή η συνάρτηση συγγένειας του συνόλου Β, ορίζεται ως εξής: u B ( y) = U V... W [ ua1( u) ua2( v)... uam( w)]/ f ( u, y,..., w)

Παράδειγμα Χρήσης Αρχής Επέκτασης (1/2) 65 Πρόσθεση των αριθμών Α:"ασαφές 3" και Β:"ασαφές 7" Α: "ασαφές 3" = { 0/1, 0.5/2, 1/3, 0.5/4, 0/5 } Β: "ασαφές 7" = { 0/5, 0.5/6, 1/7, 0.5/8, 0/9 } Κατασκευάζεται ο πίνακας: Α Β y=5 0 0 0 0.5 0 1 0 0.5 0 0 x=1 x=2 x=3 x=4 x=5 y=6 0.5 0 0.5 0.5 0.5 1 0.5 0.5 0.5 0 y=7 1 0 1 0.5 1 1 1 0.5 1 0 y=8 0.5 0 0.5 0.5 0.5 1 0.5 0.5 0.5 0 y=9 0 0 0 0.5 0 1 0 0.5 0 0

Παράδειγμα Χρήσης Αρχής Επέκτασης (2/2) 66 u ( z) = [ u A( x) ub ( y)]/( x y) z = x + y C = A+ B + Έστω z=9. Υπάρχουν δύο συνδυασμοί x και y που μας δίνουν άθροισμα 9. αρχή της επέκτασης: ua+β(9) =max(min(ua(4), ub(5)), min(ua(3), ub(6)), min(ua(2), ub(7)), min(ua(1), ub(8))) = max(min(0.5, 0), min(1, 0.5), min(0.5, 1), min(0, 0.5)) = max( 0, 0.5, 0.5, 0) = 0.5 Άρα: ο βαθμός συγγένειας του z=9 στο ασαφές σύνολο C=A+B είναι 0.5. όμοια για τα υπόλοιπα στοιχεία του πίνακα, οπότε προκύπτει: ua+β(z) = { 0/8, 0.5/9, 1/10, 0.5/11, 0/12 }

67 1 1 u A (x) u B (x) 0 1 2 3 4 5 6 7 8 9 101112 0 1 2 3 4 5 6 7 8 9 101112 1 u A+B (x) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Ασαφείς Προτάσεις και Ασαφείς Κανόνες 68 Ασαφής πρόταση είναι αυτή που θέτει μια τιμή σε μια ασαφή μεταβλητή. Ασαφής κανόνας (fuzzy rule): είναι μία υπό συνθήκη έκφραση που συσχετίζει δύο ή περισσότερες ασαφείς προτάσεις. "Εάν η ταχύτητα είναι μέτρια τότε η πίεση στα φρένα να είναι μέτρια" Η αναλυτική περιγραφή ενός ασαφούς κανόνα if-then είναι μία ασαφής σχέση R(x,y) που ονομάζεται σχέση συνεπαγωγής (implication relation). Γενικήτηςμορφήτηςσχέσης(συνάρτησης) συνεπαγωγής: R(x,y) u(x,y)=φ( ua(x), ub(y) ) φ: τελεστής συνεπαγωγής (implication operator)

Μερικοί Ασαφείς Τελεστές Συνεπαγωγής 69 Ονομασία Tελεστή φ m : Zadeh Max-Min φ c : Mandani Min φ p : Larsen Product φ α : Arithmetic φ b : Boolean Αναλυτική Έκφραση του φ[ua(x),ub(y)] (u A (x) u B (y)) (1- u A (x)) u A (x) u B (y) u A (x) u B (y) 1 (1-u A (x) + u B (y)) (1-u A (x)) u B (y))

Συλλογιστικές Διαδικασίας GMP και GMT Γενική μορφή προβλημάτων κατά τη συλλογιστική με ασαφείς κανόνες: if x is A then y is B x is A' y is Β' (?) μέσω της συλλογιστικής διαδικασίας GMP (Generalized Modus Ponens - GMP): Β'=A'oR(x,y) if x is A then y is B x is A' (?) y is Β' μέσω της συλλογιστικής διαδικασίας GMΤ (Generalized Modus Tollens - GMT): A'=R(x,y)oB' Η σχέση συνεπαγωγής R(x,y) που έχει επιλεγεί να χρησιμοποιηθεί, πρέπει να συνδυαστεί (σύνθεση) με την κατά περίπτωση γνωστή παράμετρο (Α' ή Β') ώστε να υπολογιστεί η άγνωστη παράμετρος. 70

Σύνοψη Ασαφούς Συλλογιστικής Διαδικασίας 71 Με βάση έναν ασαφή κανόνα της μορφής: "if x is A then y is B" καιέστωσυλλογιστικήδιαδικασίαgmp (δηλαδή γνωστό το Α' ως τιμή του x και ζητούμενο το B' ως τιμή του y), τα ασαφή σύνολα Α και Β συνδυάζονται με κάποιον από τους τελεστές συνεπαγωγής και παράγουν τη σχέση συνεπαγωγής R(x,y). Από την R(x,y) μέσω σύνθεσης (έστω max-min σύνθεση) με το Α' προκύπτει η άγνωστη ποσότητα Β': Β'=A'oR(x,y)

Ασαφής Συλλογιστική 72 Εξαγωγή συμπερασμάτων με χρήση ασαφών κανόνων. Τέσσερα στάδια: Υπολογισμός της συνάρτησης συνεπαγωγής για κάθε εμπλεκόμενο κανόνα. Παραγωγή επιμέρους αποτελεσμάτων μέσω κάποιας συλλογιστικής διαδικασίας. Συνάθροιση των επιμέρους αποτελεσμάτων. Αποσαφήνιση αποτελεσμάτων.

73 Παράδειγμα Προβλήματος Ασαφούς Συλλογιστικής (1/2) Έστω σύστημα που ρυθμίζει τη δόση D μιαςφαρμακευτικήςουσίαςπουπρέπεινα χορηγηθεί σε ασθενή, με βάση τη θερμοκρασία του T. Έστω ότι το σύστημα βασίζεται στους εξής δύο ασαφείς κανόνες: Κ1: if T is HIGH then D is HIGH Κ2: if T is LOW then D is LOW Δίνονται επίσης τα ασαφή σύνολα HIGH και LOW για τα μεγέθη Τ και D: TLOW = { 0.2/37, 1/37.5, 0.5/38, 0.2/38.5, 0/39, 0/39.5, 0/40 } THIGH = { 0/37, 0/37.5, 0.2/38, 0.5/38.5, 0.8/39, 1/39.5, 1/40 } DLOW = { 1/0, 0.8/2, 0.5/5, 0.2/8, 0/10 } DHIGH = { 0/0, 0.2/2, 0.5/5, 0.8/8, 1/10 } Αν Τ'=38.5, να υπολογιστεί η τιμή του D' με συλλογιστική διαδικασία GMP.

74 Παράδειγμα Προβλήματος Ασαφούς Συλλογιστικής (2/2)

Βήμα Α1: Υπολογισμός συνάρτησης συνεπαγωγής 75 Μέθοδος MIN 2 κανόνες: δύο τελεστές συνεπαγωγής, οι RK1 και RK2. Χρησιμοποιείται ο τελεστής συνεπαγωγής Mandani min (ή απλά MIN). Κ1: if T is HIGH then D is HIGH Κ2: if T is LOW then D is LOW Έστω ο Κ1. Κατασκευάζεται ο πίνακας αριστερά: Κάθε κελί του εσωτερικού πίνακα περιέχει το min(uthigh, udhigh) για τα Τ και D της γραμμής και στήλης στην οποία βρίσκεται. Όμοια προκύπτει και η RK2(TLOW,DLOW) για τον κανόνα Κ2 (πίνακας δεξιά) Γενίκευση: αν Ν εκφράσεις στο if τμήμα τότε προκύπτει πίνακας Ν+1 διαστάσεων. R K1 D 0 2 5 8 10 T 0 0.2 0.5 0.8 1 37.0 0 0 0 0 0 0 37.5 0 0 0 0 0 0 38.0 0.2 0 0.2 0.2 0.2 0.2 38.5 0.5 0 0.2 0.5 0.5 0.5 39.0 0.8 0 0.2 0.5 0.8 0.8 39.5 1 0 0.2 0.5 0.8 1 40.0 1 0 0.2 0.5 0.8 1 R Κ2 D 0 2 5 8 10 T 1 0.8 0.5 0.2 0 37.0 0.2 0.2 0.2 0.2 0.2 0 37.5 1 1 0.8 0.5 0.2 0 38.0 0.5 0.5 0.5 0.5 0.2 0 38.5 0.2 0.2 0.2 0.2 0.2 0 39.0 0 0 0 0 0 0 39.5 0 0 0 0 0 0 40.0 0 0 0 0 0 0

76 Βήμα Α2: Παραγωγή επιμέρους αποτελεσμάτων (1/2) D'Κ1 = { 0/0, 0.2/2, 0.5/5, 0.5/8, 0.5/10 } Με εφαρμογή της συλλογιστικής διαδικασίας GMP: Κανόνας Κ1: D'K1=Τ'oRK1(THIGH,DHIGH) Κανόνας Κ2: D'K2=Τ'oRK2(TLOW,DLOW) Απαιτείται η γραφή της θερμοκρασίας Τ'=38.5 σε μορφή ασαφούς συνόλου, δηλαδή: Τ' = 38.5 = { 0/37, 0/37.5, 0/38, 1/38.5, 0/39, 0/39.5, 0/40 } Χρησιμοποιείται η μέθοδος σύνθεσης (o) max-min (η συνηθέστερηπερίπτωση). Τεχνική όμοια με πολλαπλασιασμό πινάκων: χρησιμοποιείται min αντί πολλαπλασιασμού και max αντί πρόσθεσης. 1οςπίνακαςτοασαφέςσύνολοΤ' (1x7) και 2ος ο αριστερά του βήματος Α1 (7x5) Tο αποτέλεσμα θα είναι ένας πίνακας 1x5 που θα αποτελεί και την ποσότητα D'K1. T D 0 2 5 8 10 37 0 0 0 0 0 37.5 0 0 0 0 0 D' K1 = [0/37, 0/37.5, 0/38, 1/38.5, 0/39, 0/39.5, 0/40] o 38 0 0.2 0.2 0.2 0.2 38.5 0 0.2 0.5 0.5 0.5 39 0 0.2 0.5 0.8 0.8 39.5 0 0.2 0.5 0.8 1 40 0 0.2 0.5 0.8 1

77 Βήμα Α2: Παραγωγή επιμέρους αποτελεσμάτων (2/2) Όμοια, ο κανόνας Κ2 δίνει: D'Κ2 = { 0.2/0, 0.2/2, 0.2/5, 0.2/8, 0/10 } D'Κ1 (αριστερά) και D'Κ2 (δεξιά).

Βήμα Α3: Συνάθροιση αποτελεσμάτων 78 Μέθοδος MAX Υπολογίζει τη συνδυασμένη έξοδο των κανόνων παίρνοντας τη μέγιστη τιμή συγγένειας από τις παραμέτρους εξόδου κάθε κανόνα, σημείο προς σημείο (pointwise maximum - maxp/w). Δεδομένου ότι έχει υπολογιστεί: D1'Κ1 = { 0/0, 0.2/2, 0.5/5, 0.5/8, 0.5/10 } D1'Κ2 = { 0.2/0, 0.2/2, 0.2/5, 0.2/8, 0/10 } ησυνάθροισήτουςκατάmax δίνει D1'= {max(0,0.2)/0, max(0.2,0.2)/2, max(0.5,0.2)/5, max(0.5,0.2)/8, max(0.5,0)/10} = = { 0.2/0, 0.2/2, 0.5/5, 0.5/8, 0.5/10 }

Βήμα Α4: Αποσαφήνιση Μέθοδος αποσαφήνισης MAXIMUM διακριτή τιμή: μέγιστητιμήσυγγένειαςτουτελικού αποτελέσματος. με average-of-maxima αποσαφήνιση: D1= (5+8+10)/3=7.7 79

Βήμα Β1: Υπολογισμός συνάρτησης συνεπαγωγής 80 Μέθοδος PRODUCT δύο κανόνες: δύο τελεστές συνεπαγωγής, οι RK1 και RK2. Έστω ο τελεστής συνεπαγωγής Larsen Product (ή απλάproduct). Κ1: if T is HIGH then D is HIGH Κ2: if T is LOW then D is LOW Κανόνας Κ1. Κατασκευάζεται ο πίνακας αριστερά: Κάθε κελί του εσωτερικού πίνακα (σχέση συνεπαγωγής RK1) περιέχει το (uthigh udhigh) γιατατκαιd τηςγραμμήςκαιστήληςστηνοποία βρίσκεται. Όμοια προκύπτει και η RK2(TLOW,DLOW) για τον κανόνα Κ2 (πίνακας δεξιά) R K1 D 0 2 5 8 10 T 0 0.2 0.5 0.8 1 37 0 0 0 0 0 0 37.5 0 0 0 0 0 0 38 0.2 0 0.04 0.1 0.16 0.2 38.5 0.5 0 0.1 0.25 0.4 0.5 39 0.8 0 0.16 0.4 0.64 0.8 39.5 1 0 0.2 0.5 0.8 1 40 1 0 0.2 0.5 0.8 1 R Κ2 D 0 2 5 8 10 T 1 0.8 0.5 0.2 0 37 0.2 0.2 0.16 0.1 0.04 0 37.5 1 1 0.8 0.5 0.2 0 38 0.5 0.5 0.4 0.25 0.1 0 38.5 0.2 0.2 0.16 0.1 0.04 0 39 0 0 0 0 0 0 39.5 0 0 0 0 0 0 40 0 0 0 0 0 0

81 Βήμα Β2: Παραγωγή επιμέρους αποτελεσμάτων (1/2) Με εφαρμογή της συλλογιστικής διαδικασίας GMP: Κανόνας Κ1: D'K1=Τ'oRK1(THIGH,DHIGH) Κανόνας Κ2: D'K2=Τ'oRK2(TLOW,DLOW) Απαιτείται η γραφή της θερμοκρασίας Τ'=38.5 σε μορφή ασαφούς συνόλου: Τ' = 38.5 = { 0/37, 0/37.5, 0/38, 1/38.5, 0/39, 0/39.5, 0/40 } Χρησιμοποιείται η μέθοδος σύνθεσης (o) max-min (η συνηθέστερηπερίπτωση). 1οςπίνακαςτοασαφέςσύνολοΤ' (1x7) και 2οςοεσωτερικόςτουβήματοςΒ1 (7x5) Tο αποτέλεσμα θα είναι ένας πίνακας 1x5 που θα αποτελεί και την ποσότητα D'K1. T D 0 2 5 8 10 37 0 0 0 0 0 37.5 0 0 0 0 0 D' K1 = [0/37, 0/37.5, 0/38, 1/38.5, 0/39, 0/39.5, 0/40] o 38 0 0.04 0.1 0.16 0.2 38.5 0 0.1 0.25 0.4 0.5 39 0 0.16 0.4 0.64 0.8 39.5 0 0.2 0.5 0.8 1 40 0 0.2 0.5 0.8 1 D'Κ1 = { 0/0, 0.1/2, 0.25/5, 0.4/8, 0.5/10 }

82 Βήμα Β2: Παραγωγή επιμέρους αποτελεσμάτων (2/2) Όμοια προκύπτει ότι ο κανόνας Κ2 δίνει:d'κ2 = { 0.2/0, 0.16/2, 0.1/5, 0.04/8, 0/10 } Γραφική απεικόνιση των D'Κ1 (αριστερά) και D'Κ2 (δεξιά).

Βήμα Β3: Συνάθροιση αποτελεσμάτων 83 Μέθοδος SUM Υπολογίζει τη συνδυασμένη έξοδο των κανόνων παίρνοντας τo άθροισμα των τιμών συγγένειας των παραμέτρων εξόδου κάθε κανόνα, σημείο προς σημείο (pointwise sum - sump/w). Δεδομένου ότι έχει υπολογιστεί: D2'Κ1 = { 0/0, 0.1/2, 0.25/5, 0.4/8, 0.5/10 } D2'Κ2 = { 0.2/0, 0.16/2, 0.1/5, 0.04/8, 0/10 }...η συνάθροισή τους κατά MAX δίνει... D2'= { (0+0.2)/0, (0.1+0.16)/2, (0.25+0.1)/5, (0.4+0.04)/8, (0.5+0)/10} = { 0.2/0, 0.26/2, 0.35/5, 0.44/8, 0.5/10 }

Βήμα Β4: Αποσαφήνιση 84 Μέθοδος αποσαφήνισης CENDROID Η διακριτή τιμή είναι αυτή που προκύπτει από το κέντρο βάρους της τελικής συνάρτησης συγγένειας για την ασαφή παράμετρο εξόδου. Το κέντρο βάρους επιφάνειας που ορίζεται από μία t2 συνάρτηση f(t): σχέση (1) t f ( t) dt t1 t κβ = t1 f ( t) dt t2 Για διακριτού συνόλου αναφοράς: διακριτό άθροισμα με δειγματοληψία Ν σημείων (σχ.2). N i i= 1 κβ = N t t i= 1 u u OUT OUT ( t ) i i ( t )

85 Με CENDROID αποσαφήνιση στα αποτελέσματα της συνάθροισης SUM, προκύπτει: t 5 t ( t ( t ) ) 0 0.2 + 2 0.26 + 5 0.35 + 8 0.44 + 10 0.2 + 0.26 + 0.35 + 0.44 + 0.5 0.5 i D 2' i i = 1 D 2 ' = = = 5 i = 1 u u D 2' i 6.2

Λήψη Αποφάσεων στο Σημασιολογικό Ιστό 86

Towards a Semantic Web 87 The current Web represents information using natural language (English, Hungarian, Chinese, ) graphics, multimedia, page layout Humans can process this easily can deduce facts from partial information can create mental associations are used to various sensory information (well, sort of people with disabilities may have serious problems on the Web with rich media!)

Towards a Semantic Web 88 Tasks often require to combine data on the Web: hotel and travel information may come from different sites searches in different digital libraries etc. Again, humans combine these information easily even if different terminologies are used!

However 89 However: machines are ignorant! partial information is unusable difficult to make sense from, e.g., an image drawing analogies automatically is difficult difficult to combine information automatically is <foo:creator> same as <bar:author>?

Example: automatic airline reservation 90 Your automatic airline reservation knows about your preferences builds up knowledge base using your past can combine the local knowledge with remote services: airline preferences dietary requirements calendaring etc It communicates with remote information

Example: data(base) integration 91 Databases are very different in structure, in content Lots of applications require managing several databases after company mergers combination of administrative data for e-government biochemical, genetic, pharmaceutical research etc. Most of these data are accessible from the Web (though not necessarily public yet)

And the problem is real 92

Example: digital libraries 93 It means catalogues on the Web librarians have known how to do that for centuries goal is to have this on the Web, World-wide extend it to multimedia data, too But it is more: software agents should also be librarians! help you in finding the right publications

Example: semantics of Web Services 94 Web services technology is great But if services are ubiquitous, searching issue comes up, for example: find me the best differential equation solver check if it can be combined with the XYZ plotter service It is necessary to characterize the service not only in terms of input and output parameters but also in terms of its semantics

What is needed? 95 (Some) data should be available for machines for further processing Data should be possibly combined, merged on a Web scale Sometimes, data may describe other data but sometimes the data is to be exchanged by itself, like my calendar or my travel preferences Machines may also need to reason about that data

In short: we need a Web of Data! 96

In what follows 97 We will use a simplistic example to introduce the main Semantic Web concepts We take, as an example area, data integration

The rough structure of data integration 98 1.Map the various data onto an abstract data representation make the data independent of its internal representation 2.Merge the resulting representations 3.Start making queries on the whole! queries not possible on the individual data sets

A simplified book store data (dataset A ) Dataset A : RDBMS Table : Books ID Author Title Publisher Year ISBN0-00-651409-X id_xyz The Glass Palace id_qpr 2000 99 Table : Authors ID Name Home Page id_xyz Ghosh, Amitav http://www.amitavghosh.com Table : Publishers ID id_qpr Publ. Name Harpers Collins City London

1 st : export your data as a set of relations 100

Another book store data (dataset F ) 101 A B C D E 1 ID Titre Auteur Traducteur Original ISBN0 2020386682 Le Palais A7 A8 ISBN-0-00-651409-X des miroirs 2 3 4 5 6 7 8 Dataset F : Excel file Nom Ghosh, Amitav Besse, Christianne

2 nd : export your second set of data 102

3 rd : start merging your data 103

3 rd : merge identical resources 104

Start making queries 105 User of data F can now ask queries like: give me the title of the original This information is not in the dataset F but can be retrieved by merging with dataset A!

However, more can be achieved 106 We feel that a:author and f:auteur should be the same But an automatic merge does not know that!

3 rd revisited: use the extra knowledge 107 Add some extra information to the merged data: 1) a:author same as f:auteur 2) both identify a Person, a term that a community (foaf:person) may have already defined: a Person is uniquely identified by his/her name and, say, homepage it can be used as a category for certain type of resources

Start making richer queries! 108 User of dataset F can now query: give me the home page of the original s author The information is not in datasets F or A but was made available by: merging datasets A and datasets F adding three simple extra statements as an extra glue

Combine with different datasets 109 Via, e.g., the Person, the dataset can be combined with other sources For example, data in Wikipedia can be extracted using dedicated tools

Merge with Wikipedia data 110

Merge with Wikipedia data 111

Merge with Wikipedia data 112

Is that surprising? 113 It may look like it but, in fact, it should not be What happened via automatic means is done every day by Web users! The difference: a bit of extra rigour so that machines could do this, too

What did we do? 114

It could become even more powerful 115 We could add extra knowledge to the merged datasets e.g., a full classification of various types of library data geographical information etc. This is where ontologies come in ontologies can be relatively simple and small, or huge, or anything in between Even more powerful queries can be asked as a result

The abstraction pays off because 116 the graph representation is independent of the exact structures a change in local database schema s, XHTML structures, etc, do not affect the whole schema independence new data, new connections can be added seamlessly The network effect Through URI-s we can link any data to any data The network effect is extended to the (Web) data Mashup on steroids become possible

So where is the Semantic Web? 117 The Semantic Web provides technologies to make such integration possible! Hopefully you get a full picture at the end of the tutorial

The Basis: RDF 118

RDF triples 119 Let us begin to formalize what we did! we connected the data but a simple connection is not enough data should be named somehow hence the RDF Triples: a labelled connection between two resources

RDF triples (cont.) 120 An RDF Triple (s,p,o) is such that: s, p are URI-s, ie, resources on the Web; o is a URI or a literal s, p, and o stand for : subject, property or predicate, and object here is the complete triple: (<http:// isbn 6682>, <http:// /original>, <http:// isbn 409X>) RDF is a general model for such triples (with machine readable formats like RDF/XML, Turtle, N3, RXR, ) RDF triples are also referred to as triplets, or statements

RDF triples (cont.) 121 Resources can use any URI; it can denote an element within an XML file on the Web, not only a full resource, e.g.: http://www.example.org/file.xml#element(home) http://www.example.org/file.html#home http://www.example.org/file2.xml#xpath1(//q[@a=b]) RDF triples form a directed, labelled graph (the best way to think about them!)

RDF/XML Document example 122 <?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:si="http://www.w3schools.com/rdf/"> <rdf:description rdf:about="http://www.w3schools.com"> <si:title>w3schools</si:title> <si:author>jan Egil Refsnes</si:author> </rdf:description> </rdf:rdf> <rdf:rdf> is the root element of an RDF document. - defines the XML document to be an RDF document. - contains a reference to the RDF namespace.

XML Elements 123 Τα «πράγματα» στα οποία αναφέρεται το XML κείμενο Π.χ. Βιβλία, συγγραφείς, εκδότες Ένα element αποτελείται από: an opening tag the content a closing tag <lecturer>david Billington</lecturer>

XML Elements (2) 124 Υπάρχει σχεδόν πλήρης ελευθερία επιλογής Tag names Ο πρώτος χαρακτήρας πρέπει να είναι γράμμα, underscore, ή colon Κανέναόνομαδεπρέπειναξεκινάμετολεκτικό xml ή συνδυασμούς αυτού Π.χ. Xml, xml

Περιεχόμενο XML Elements 125 Το περιεχόμενο μπορεί να είναι κείμενο, άλλα elements, ή τίποτα <lecturer> <name>david Billington</name> <phone> +61 7 3875 507 </phone> </lecturer> Στην XML κάποιοιχαρακτήρεςείναιδεσμευμένοικαιδενμπορούννα τοποθετηθούν στο περιεχόμενο ενός κειμένου παρά μόνον με ειδικό τρόπο: ο χαρακτήρας & μπορεί να εισαχθεί ως & ο χαρακτήρας < μπορεί να εισαχθεί ως < ο χαρακτήρας > μπορεί να εισαχθεί ως > ο χαρακτήρας μπορεί να εισαχθεί ως " ο χαρακτήρας μπορεί να εισαχθεί ως &apos;