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

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

Tυπική αναπαράσταση γνώσης

Οι φορμαλισμοί τυπικής αναπαράστασης γνώσης και συλλογιστικής χαρακτηρίζονται από τρία βασικά στοιχεία: τη σύνταξη (syntax), τη σημασιολογία (semantics) και τη συλλογιστική (reasoning).

Η σύνταξη καθορίζει τα είδη των ορθών εκφράσεων της γλώσσας και τον τρόπο διατύπωσής τους. Όπως ακριβώς στη φυσική γλώσσα το συντακτικό καθορίζει τις εκφράσεις που μπορούν να σχηματιστούν από τις λέξεις (προτάσεις κλπ.), έτσι και στις τυπικές γλώσσες αναπαράστασης γνώσης η σύνταξη καθορίζει τον τρόπο με τον οποίο τα σύμβολα μπορούν να συνδεθούν μεταξύ τους για να σχηματίσουν καλά ορισμένες φόρμουλες (well-defined formulas) ή απλά φόρμουλες. Συστατικά στοιχεία μιας φόρμουλας είναι συνήθως τα μη λογικά σύμβολα (non-logical symbols), δηλαδή τα ονόματα των στοιχείων της γνώσης, και τα λογικά σύμβολα (logical symbols), τα οποία συνδέουν μεταξύ τους, με απολύτως καθορισμένο τρόπο, τα μη λογικά για την παραγωγή προτάσεων.

Για παράδειγμα, για την περιγραφή κινηματογραφικών ταινιών, μη λογικά σύμβολα μπορούν να είναι τα Movie, Director, hasDirector, WoodyAllen κλπ.:

Movie(Manhattan),   (1)

hasDirector(Manhattan, WoodyAllen),   (2)

x.∃y.Movie(x)⇒hasDirector(x, y).  (3)

Στις φόρμουλες (1), (2) και (3) τα μη λογικά σύμβολα

Movie, Director, hasDirector, WoodyAllen

συνδέονται με τα λογικά σύμβολα

(,  ), ∀, ∃, ⇒

και αναπαριστούν ενδιαφέρουσα γνώση από νοηματική άποψη.

Γενικά, το φυσικό νόημα (natural meaning) ή απλά νόημα μιας φόρμουλας καθορίζεται από τη σημασιολογία. Συγκεκριμένα, μέσω της σημασιολογίας καθορίζεται το νόημα των μη λογικών συμβόλων, καθώς και ο τρόπος με τον οποίο τα λογικά σύμβολα συνδέουν τα μη λογικά. Για παράδειγμα, η σημασιολογία του δυαδικού τελεστή είναι η εξής: αν ισχύει η υπόθεση, ισχύει το συμπέρασμα. Στη φόρμουλα (3), αν το x είναι Movie, τότε υπάρχει κάποιο y, τέτοιο ώστε hasDirector(x, y). Φυσικά, η φόρμουλα γίνεται πλήρως κατανοητή μόνο αν γνωρίζουμε το νόημα των συμβόλων Movie και hasDirector. Εδώ, η ορθογραφία και η γνώση της αγγλικής γλώσσας βοηθούν στον καθορισμό του νοήματός τους. Σε κάθε περίπτωση όμως, ο φορμαλισμός αναπαράστασης γνώσης καθορίζει τo νόημα των λογικών συμβόλων, ενώ ο χρήστης είναι υπεύθυνος για τον καθορισμό του νοήματος των μη λογικών συμβόλων.

Η συλλογιστική είναι μια διαδικασία επεξεργασίας και ανάλυσης της γνώσης με στόχο την εξαγωγή συμπερασμάτων. Για παράδειγμα, αν γνωρίζουμε ότι

Director(WoodyAllen)  (4)

και

x.Director(x)⇒Creator(x),  (5)

μπορούμε να συμπεράνουμε ότι

Creator(WoodyAllen).  (6)

Είναι σημαντικό ότι το συμπέρασμα (6) μπορεί να προκύψει ακόμα και αν δεν γνωρίζουμε το νόημα των μη λογικών συμβόλων Director, Creator και WoodyAllen. H παραπάνω διαδικασία συλλογιστικής στηρίζεται σε έναν συλλογιστικό κανόνα της μορφής

(A ∧ (A ⇒ B)) ⇒ B,   (7)

ο οποίος ονομάζεται τρόπος του θέτειν (modus ponens).

Υπάρχουν πολλοί κανόνες συλλογιστικής και πολλοί τρόποι ανάλυσης και επεξεργασίας της γνώσης, ανάλογα με τον φορμαλισμό αναπαράστασης. Με βάση τους κανόνες αυτούς, στόχος ενός συστήματος αυτόματης συλλογιστικής είναι να επεξεργάζεται τα αξιώματα της γνώσης και να παράγει νέα αξιώματα που δεν είναι ρητά δηλωμένα, παρότι ισχύουν. Για παράδειγμα, το (6) ισχύει όταν ισχύουν τα (4) και (5). Δυστυχώς, όπως θα δούμε και στη συνέχεια, όσο πιο εκφραστικός είναι ο φορμαλισμός (δηλαδή όσο πιο πολλά και πλούσιας σημασιολογίας είναι τα λογικά σύμβολα), τόσο πιο δύσκολος είναι ο στόχος της ανάπτυξης ενός συστήματος συλλογιστικής. Για τους περισσότερους φορμαλισμούς αναπαράστασης γνώσης το πρόβλημα είναι γενικά πολύ υψηλής πολυπλοκότητας.

Παράδειγμα (1): H διαδικτυακή υπηρεσία tainiognosia έχει στόχο την ενημέρωση γύρω από τις κινηματογραφικές ταινίες και τη σύσταση κινηματογραφικών ταινιών με αυτοματισμούς που στηρίζονται σε σύγχρονες τεχνολογίες τεχνητής νοημοσύνης, και συγκεκριμένα σε τεχνολογίες αναπαράστασης γνώσης και συλλογιστικής.

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

Drama(TheJudge),
hasTheme(TheJudge, ManVsHimShelf),
hasActor(TheJudge, RobertDuvall),
hasDirector(TheJudge, DavidDobkin),
Awarded(TheJudge)
που αφορούν μια συγκεκριμένη ταινία ή αξιώματα της μορφής

x.Drama(x)⇒Movie(x),
x.Awarded(x)⇒WellKnown(x),
x.∃y.Movie(x)⇒hasDirector(x, y)

που αφορούν κατηγορίες ταινιών.

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

Προτασιακή λογική

Εισαγωγή

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

Από τις παραπάνω προτάσεις είναι κατανοητό ότι η πρώτη και η δεύτερη μπορούν να ελεγχθούν για την ισχύ τους, δίνοντάς μας κάποια πληροφορία για τον κόσμο (ανεξάρτητα από το αν είναι αληθείς ή ψευδείς), ενώ η τρίτη αποτελεί μια διατύπωση (ερώτηση) που δεν αποτελεί γνώση, καθώς δεν διατυπώνει συγκεκριμένη πληροφορία για τον κόσμο (δεν μπορεί να εκτιμηθεί αν είναι αληθής ή ψευδής). Η τέταρτη πρόταση αποτελεί μια δυσκολότερη περίπτωση, καθώς μπορεί να εκτιμηθεί σε κάποιο βαθμό αν είναι αληθής ή ψευδής: ενώ γενικά ισχύει, δεν ισχύει πάντα (ενώ συνήθως ο Woody Allen σκηνοθετεί κωμωδίες, έχει σκηνοθετήσει και κάποιες ταινίες που δεν είναι κωμωδίες). Το πρόβλημα αυτό οφείλεται στην ασάφεια ή/και την αβεβαιότητα που χαρακτηρίζει τη φυσική γλώσσα.

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

Προτάσεις

Ας προχωρήσουμε τώρα στην τυπική περιγραφή της σύνταξης της προτασιακής λογικής.

Ορισμός (1): Ατομική πρόταση (atomic proposition) είναι μια δήλωση (συμβολοσειρά) η οποία ισχύει ή δεν ισχύει, ανεξάρτητα από τις άλλες δηλώσεις.

Πολλές φορές είναι βολικό, για καθαρά τεχνικούς λόγους, να αναπαριστούμε τις προτάσεις με απλά σύμβολα, όπως p, q, r κλπ., χρησιμοποιώντας αν είναι απαραίτητο δείκτες. Στην περίπτωση αυτή, το μόνο που χάνουμε είναι τη δυνατότητα να κατανοήσει κάποιος άνθρωπος το νόημα της πρότασης (ένα υπολογιστικό σύστημα δεν το αντιλαμβάνεται ούτως ή άλλως). Στην περίπτωση αυτή, τα σύμβολα ονομάζονται προτασιακές μεταβλητές (propositional variables) (απλά για να θυμόμαστε ότι το νόημα της πρότασης δεν μπορεί να καθοριστεί με ανάλυση του συμβόλου). Η σύνδεση των προτασιακών μεταβλητών με τις προτάσεις δηλώνεται ως εξής:

p: TheJudge − IsA − Drama,
q: WoodyAllen − IsA − Director.  (8)

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

Έστω τώρα οι εξής προτάσεις:

p1: Manhattan − IsA − Comedy,
p2: Manhattan − IsNotA − Comedy,
p3: Manhattan − IsA − Movie,
p4: WoodyAllen − directs − Comedies,
p5: WoodyAllen − hasDirected − Manhattan.

Από το φυσικό τους νόημα παρατηρούμε ότι αν η p1 είναι αληθής, τότε η p3 είναι αληθής και η p2 δεν είναι αληθής, ενώ πάντα ισχύει η p1 ή η p2. Επίσης, αν οι p4 και p5 είναι αληθείς, τότε και η p1 είναι αληθής. Τα παραπάνω μπορούν να γραφούν τυπικά, με τη μορφή προτάσεων, ως εξής:

p6: p1 ⇒ p3,
p7: p1 ⇒ ¬p2,
p8: p1 ∨ p2,
p9: p4 ∧ p5 ⇒ p1,

όπου ¬, , , είναι σύμβολα που αναπαριστούν τυπικά το νόημα των λογικών «ΟΧΙ», «ΚΑΙ», «Ή» και «ΣΥΝΕΠΑΓΕΤΑΙ», αντίστοιχα. Τα σύμβολα αυτά ονομάζονται λογικοί σύνδεσμοι (logical connectives) και χρησιμοποιούνται για τον σχηματισμό σύνθετων προτάσεων.

Ορισμός (2): Σύνθετη πρόταση (complex proposition) ή απλά πρόταση είναι μια δήλωση p που σχηματίζεται ως εξής:

p: a ∣ ¬p1 ∣ p1 ∧ p2 ∣ p1 ∨ p2 ∣ p1 ⇒ p2,   (9)

όπου a μια ατομική πρόταση, p1 και p2 σύνθετες προτάσεις, ¬, , , λογικοί σύνδεσμοι (το σύμβολο στον αναδρομικό ορισμό (9) σημαίνει ότι η p μπορεί να πάρει εναλλακτικά μια από αυτές τις μορφές). Ένα πεπερασμένο σύνολο προτάσεων ονομάζεται βάση γνώσης (knowledge base). Το σύνολο των προτασιακών μεταβλητών (και γενικά των ονομάτων των ατομικών προτάσεων) που χρησιμοποιούνται στις προτάσεις μιας βάσης γνώσης 𝒦 ονομάζεται υπογραφή (signature) της βάσης γνώσης και συμβολίζεται με sig(𝒦).

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

p: p1 ∧ (p1 ⇒ (¬p1 ∨ p2)) ⇒ p2,   (10)

q: (p1 ∧ p2)⇒(p3 ∨ p4).  (11)

Δεν είναι δύσκολο να δούμε ότι με βάση τον ορισμό (2) ισχύει ότι

sig(p)={p1, p2},
sig(q)={p1, p2, p3, p4}.

Συνεπώς, αν 𝒦 είναι η βάση γνώσης που αποτελείται από τις p και q, τότε ισχύει ότι sig(𝒦)={p1, p2, p3, p4}.

Αποτιμήσεις

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

Ορισμός: Έστω p μια πρόταση. Αποτίμηση (valuation) της p είναι μια απεικόνιση της p στο σύνολο των τιμών αληθείας και συμβολίζεται με val(p). Τυπικά, γράφουμε

val(p)=T ή val(p)=F)

και εννοούμε ότι η πρόταση p είναι αληθής (ή ψευδής, αντίστοιχα).

Με δεδομένη την αποτίμηση των απλών προτάσεων, μπορούμε να αποτιμήσουμε τις σύνθετες χρησιμοποιώντας τους πίνακες αληθείας (truth tables), οι οποίοι αποδίδουν τυπικά το νόημα των λογικών τελεστών (διαισθητικά το νόημά τους είναι προφανές).

Πίνακας (1): Πίνακας αληθείας λογικών συνδέσμων.
val(p  val(q  val(¬p  val(p ∧ q  val(p ∨ q  val(p ⇒ q)
F F T F F T
F T T F T T
T F F F T F
T T F T T T

Παράδειγμα (2): Ας προσπαθήσουμε να αποτιμήσουμε την πρόταση (10), αν γνωρίζουμε ότι val(p1)=T και val(p2)=F. Αφού val(p1)=T, από την 4η γραμμή και 3η στήλη του Πίνακα (1) έχουμε val(¬p1)=F, και επειδή val(p2)=F, από τη 2η γραμμή και 5η στήλη έχουμε val(¬p1 ∨ p2)=F. Παρομοίως, από την 4η γραμμή και 6η στήλη, έχουμε val(p1 ⇒ (¬p1 ∨ p2)) = F, από την 4η γραμμή και 4η στήλη val(p1 ∧ (p1 ⇒ (¬p1 ∨ p2)))=F και τελικά, από την 1η γραμμή και 6η στήλη έχουμε val(p1 ∧ (p1 ⇒ (¬p1 ∨ p2)) ⇒ p2)=Τ.

Από τα παραπάνω φαίνεται ότι για να αποτιμηθεί μια σύνθετη πρόταση και κατ’ επέκταση μια βάση γνώσης είναι απαραίτητο να έχουν αποτιμηθεί όλες οι ατομικές προτάσεις της υπογραφής της. Αν παρατηρήσουμε, όμως, προσεκτικά την πρόταση (10) θα δούμε ότι, ανεξάρτητα από τις αποτιμήσεις των p1 και p2, αυτή είναι πάντα αληθής (γιατί;). Ένα θέμα, λοιπόν, που προκύπτει είναι το εξής: ακόμα κι αν δεν έχουν αποτιμηθεί όλες οι ατομικές προτάσεις που απαρτίζουν μια σύνθετη πρόταση, μπορούμε να εξαγάγουμε κάποιο συμπέρασμα για την αλήθεια της απλά και μόνο από τη δομή της;

Για να μελετήσουμε αυτό το πρόβλημα βασιζόμαστε στο γεγονός ότι η αποτίμηση μιας οποιασδήποτε πρότασης μπορεί να πάρει δύο τιμές: T ή F. Επομένως, μπορούμε να μελετήσουμε όλες τις πιθανές αποτιμήσεις για τις ατομικές προτάσεις της υπογραφής της σύνθετης πρότασης και να δούμε, σε καθεμία από τις περιπτώσεις αυτές, ποια είναι η αποτίμηση της σύνθετης πρότασης με βάση τους πίνακες αληθείας.

Ορισμός: Έστω p μια σύνθετη πρόταση με sig(p)={p1, p2, ..., pn}. Συνάρτηση αληθείας (truth function), fp, της p είναι μια απεικόνιση των αποτιμήσεων των p1, p2,..., pn στην αποτίμηση της p. Τυπικά γράφουμε:

val(p)=fp(val(p1),val(p2),...,val(pn)).  (12)

Προφανώς, η μορφή της fp εξαρτάται από τη δομή της p, δηλαδή από το είδος των λογικών συνδέσμων που χρησιμοποιούνται στον ορισμό της p και από τον τρόπο με τον οποίο συνδέουν τις εμπλεκόμενες προτάσεις.

Ερμηνείες

Ορισμός: Έστω p μια πρόταση. Ονομάζουμε ερμηνεία (interpretation) της p μια απεικόνιση

ℐ : sig(p)→{T, F}

που αντιστοιχίζει κάθε p′∈sig(p) σε μια τιμή αληθείας.

Αντίστοιχα, έστω 𝒦 μια βάση γνώσης. Ερμηνεία της 𝒦 είναι μια απεικόνιση

ℐ : sig(𝒦)→{T, F}.

Προφανώς, κάθε ερμηνεία της p (ή μιας βάσης γνώσης που περιέχει την p) καθορίζει ένα όρισμα της fp και συνεπώς μία αποτίμηση για την p. Επομένως, εφόσον κάθε ατομική πρόταση μπορεί να ερμηνευτεί με δύο τιμές αληθείας ( T ή F), και μέσω της fp, κάθε σύνθετη πρόταση, μπορεί να έχει (ανάλογα με τις ατομικές προτάσεις που εμπλέκει) διαφορετικές αποτιμήσεις για τους διαφορετικούς συνδυασμούς ερμηνειών των ατομικών προτάσειων, κάθε βάση γνώσης μπορεί να έχει συνδυαστικά πολλές ερμηνείες.

Παράδειγμα (3): Η 1 = {p1 → T, p2 → F, p3 → F, p4 → T} είναι μια ερμηνεία της βάσης γνώσης που αποτελείται από τις προτάσεις (10) και (11). Για την ερμηνεία αυτή έχουμε val(p)=fp(T, F)=T, όπως φαίνεται και από το Παράδειγμα (2). Επίσης, έχουμε val(q)=fq(T, F, F, T)=T (γιατί;). Αν για την ίδια βάση γνώσης θεωρήσουμε την ερμηνεία 2 = {p1 → T, p2 → T, p3 → F, p4 → F}, δεν είναι δύσκολο να δούμε ότι val(p)=fp(T, Τ)=T, αλλά val(q)=fq(T, T, F, F)=F.

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

Ορισμός: Θα λέμε ότι μια ερμηνεία ικανοποιεί (satisfies) την p αν και μόνο αν είναι ερμηνεία της και fp = T για τα ορίσματα της fp που καθορίζονται στην . Στην περίπτωση αυτή θα λέμε ότι η είναι μοντέλο (model) της p και θα γράφουμε ℐ ⊨ p.

Έστω 𝒦 μια βάση γνώσης. Θα λέμε ότι μια ερμηνεία ικανοποιεί την 𝒦 αν και μόνο αν η είναι ερμηνεία της 𝒦 και ικανοποιεί κάθε πρόταση p ∈ sig(𝒦). Στην περίπτωση αυτή θα λέμε ότι η είναι μοντέλο (model) της 𝒦 και θα γράφουμε ℐ ⊨ 𝒦.

Στο Παράδειγμα (3), τόσο η 1 όσο και 2 ικανοποιούν την p, αλλά μόνο η 1 ικανοποιεί την q. Συνεπώς, η 1 ικανοποιεί τη βάση γνώσης που αποτελείται από τις προτάσεις (10) και (11), αφού ικανοποιεί τόσο την p όσο και την q, ενώ δεν ισχύει το ίδιο για την 2, η οποία ικανοποιεί μόνο την p. Άρα μόνο η 1 είναι μοντέλο της βάσης γνώσης 𝒦.

Ορισμός (3): Μια πρόταση p ονομάζεται ταυτολογία (tautology) αν και μόνο την ικανοποιεί κάθε ερμηνεία της.

Μια πρόταση p ονομάζεται συνεπής (consistent) αν και μόνο αν υπάρχει τουλάχιστον μία ερμηνεία που ικανοποιεί την p, αλλιώς ονομάζεται ασυνεπής (inconsistent proposition) ή αντίφαση (clash).

Αντίστοιχα, μια βάση γνώσης 𝒦 ονομάζεται συνεπής αν και μόνο αν υπάρχει τουλάχιστον μία ερμηνεία που ικανοποιεί την 𝒦, αλλιώς ονομάζεται ασυνεπής.

Ο Ορισμός (3) εισάγει κάποια πρώτα, ενδιαφέροντα προβλήματα:

Ορισμός (4): Έστω p και q προτάσεις. Θα λέμε ότι η p συνεπάγεται λογικά (logically entails) ή απλά συνεπάγεται την q αν και μόνο αν κάθε ερμηνεία που ικανοποιεί την p ικανοποιεί και την q. Θα λέμε ότι οι p και q είναι λογικά ισοδύναμες (logically equivalent) ή απλά ισοδύναμες αν και μόνο αν ικανοποιούνται στις ίδιες ερμηνείες.

Έστω 𝒦 μια βάση γνώσης και p μια πρόταση. Θα λέμε ότι η 𝒦 συνεπάγεται την p αν και μόνο αν κάθε ερμηνεία που ικανοποιεί την 𝒦 ικανοποιεί και την p.

Θα λέμε ότι οι προτάσεις που διατυπώνονται σε μια βάση γνώσης αποτελούν τη ρητή (explicit) γνώση, ενώ όλες όσες συνεπάγονται από αυτή αποτελούν την υπονοούμενη (implicit) γνώση.

Ο Ορισμός (4) εισάγει τα παρακάτω προβλήματα:

Αυτόματη συλλογιστική με έλεγχο ερμηνειών

Η διαδικασία που περιγράφεται στα παραδείγματα (2) και (3) προδιαγράφει έναν τρόπο μεθοδικής επίλυσης των παραπάνω προβλημάτων συλλογιστικής, της ανάπτυξης, δηλαδή, ενός αλγόριθμου αυτόματης συλλογιστικής (automated reasoning). Για παράδειγμα, ένας αλγόριθμος που επιλύει το πρόβλημα της συνέπειας μιας πρότασης, δηλαδή της ικανοποιησιμότητάς της από μια ερμηνεία, είναι ο Αλγόριθμος (1). Τυπικά, ο Αλγόριθμος (1) δέχεται στην είσοδό του μια πρόταση p και απαντά YES εάν η πρόταση είναι ικανοποιήσιμη από κάποια ερμηνεία, δηλαδή εάν είναι συνεπής. Αν δεν είναι, απαντά NO. Η λειτουργία του είναι σχετικά προφανής. Εξετάζει όλες τις ερμηνείες της πρότασης p και για καθεμία από αυτές (γραμμή (2)) ελέγχει αν η ερμηνεία ικανοποιεί την πρόταση. Αν την ικανοποιεί επιστρέφει YES (συνθήκη της γραμμής (3)). Αλλιώς, αν έχει εξετάσει όλες τις ερμηνείες και καμία δεν ικανοποιεί την p, επιστρέφει NO.

Παράδειγμα (4): Έστω ότι θέλουμε να ελέγξουμε την ικανοποιησιμότητα της πρότασης p : p1 ∧ (p1 ⇒ (¬p1 ∨ p2)) ⇒ p2 με τον Αλγόριθμο (1), εκτελώντας την PL-SAT(p). Στη γραμμή (1) θα υπολογιστεί το σύνολο E που περιέχει τις εξής ερμηνείες:

1 = {p1 → T, p2 → T},
2 = {p1 → T, p2 → F},
3 = {p1 → F, p2 → T},
4 = {p1 → F, p2 → F}.

Στη συνέχεια θα εκτελεστεί ο βρόχος της γραμμής (2) για την πρώτη ερμηνεία, την 1, για την οποία δεν είναι δύσκολο να δούμε (με διαδικασία αντίστοιχη του Παραδείγματος (3)) ότι ικανοποιεί την p (ικανοποιείται η συνθήκη της γραμμής (3)). Άρα ο αλγόριθμος τερματίζει στη γραμμή (4), επιστρέφοντας YES.

Για την ανάλυση του Αλγορίθμου (1) (όπως και για την ανάλυση οποιουδήποτε αλγορίθμου) θα εξετάσουμε δύο ιδιότητες: την αποτελεσματικότητα (effectiveness) και την απόδοση (efficiency). Γενικά, ένας αλγόριθμος είναι αποτελεσματικός όταν επιλύει σωστά και πάντα το πρόβλημα που του δίνεται. Συνεπώς, η αποτελεσματικότητα σχετίζεται με δύο βασικά στοιχεία: την ορθότητα (soundness) και την πληρότητα (completeness). O Αλγόριθμος (1) είναι ορθός όταν το κριτήριο για να απαντήσει YES (γραμμή (3)) ικανοποιείται τότε η πρόταση p είναι ικανοποιήσιμη. Αντίστροφα, είναι πλήρης όταν η ικανοποιησιμότητα της πρότασης p συνεπάγεται ότι το κριτήριο για να απαντήσει YES (γραμμή (3)) θα ικανοποιηθεί. Όσον αφορά την απόδοση, η ανάλυση των αλγορίθμων μελετά την πολυπλοκότητα (complexity) ενός αλγορίθμου, προσπαθώντας να προσδιορίσει το χρόνο και τη μνήμη που απαιτείται για την εκτέλεσή του στη χειρότερη περίπτωση, στη μέση περίπτωση κλπ. Τα μεγέθη αυτά μπορεί να σχετίζονται με το μέγεθος του προβλήματος (στη συγκεκριμένη περίπτωση, για παράδειγμα, με το μέγεθος της πρότασης) λογαριθμικά, γραμμικά, πολυωνυμικά, εκθετικά κλπ.

Αλγόριθμος (1): PL − SAT(p)

Είσοδος: Μια πρόταση p.

E:= το σύνολο των ερμηνειών της p      (1)

for all ℐ ∈ E      (2)

if η ικανοποιεί την p      (3)

return YES      (4)

end if

return NO

Αν εξετάσουμε την αποτελεσματικότητα του Αλγορίθμου (1), αν και δεν είναι προφανές, δεν είναι δύσκολο να αποδείξουμε ότι είναι ορθός και πλήρης. Αν εξετάσουμε την απόδοση του Αλγορίθμου (1), παρατηρούμε ότι η συνθήκη της γραμμής (3) δεν είναι δύσκολο να ελεγχθεί με βάση τους πίνακες αληθείας. Στην περίπτωση, όμως, που η πρόταση που εξετάζεται δεν είναι ικανοποιήσιμη, θα πρέπει να εξεταστούν όλες οι δυνατές ερμηνείες της για να τερματίσει ο Αλγόριθμος (1). Έστω #sig(p)=k, όπου #(⋅) η πληθικότητα (cardinality) ενός συνόλου, δηλαδή το πλήθος των στοιχείων του. Προφανώς, οι διαφορετικές ερμηνείες είναι συνολικά 2k, εφόσον κάθε ατομική πρόταση μπορεί να αποτιμηθεί σε δύο τιμές ( T ή F) (γιατί;). Συνεπώς, ο Αλγόριθμος (1), ο οποίος είναι πιθανό να εξετάσει όλες τις ερμηνείες, δεν είναι αποδοτικός (efficient), αφού μπορεί να εκτελέσει 2k ελέγχους. Αν δούμε προσεκτικά τον Αλγόριθμο (1), θα διαπιστώσουμε ότι, στη γενική αυτή περιγραφή που δίνουμε, η διαδικασία με την οποία επιλέγονται οι ερμηνείες που θα εξεταστούν στη γραμμή (3) δεν καθορίζεται, αν και είναι κρίσιμη για την απόδοσή του. Πράγματι, αν βρεθεί μια ερμηνεία που ικανοποιεί την p, ο αλγόριθμος τερματίζει (συνεπώς δεν θα ελέγξει άλλες ερμηνείες). Με βάση τον τρόπο διερεύνησης του χώρου των ερμηνειών, μπορούν να προταθούν πολλές βελτιστοποιήσεις του αλγορίθμου, που οδηγούν, ανάλογα με την εφαρμογή, σε σχετικά αποδοτικές υλοποιήσεις. Σε κάθε περίπτωση, όμως, ο Αλγόριθμος (1) παραμένει ένας όχι και τόσο αποδοτικός αλγόριθμος, αφού, στη χειρότερη περίπτωση, μπορεί να εκτελέσει 2k ελέγχους. Τέλος, ο Αλγόριθμος (1) φαίνεται να επιλύει κι άλλα προβλήματα συλλογιστικής. Δεν είναι δύσκολο να δούμε ότι μπορεί να τροποποιηθεί, ώστε να επιλύσει και το πρόβλημα του ελέγχου αν η p είναι ταυτολογία, καθώς και του ελέγχου αν μια βάση γνώσης 𝒦 είναι συνεπής (πώς;).

Όσον αφορά το πρόβλημα της συνεπαγωγής μιας πρότασης από μια βάση γνώσης, αυτό επιλύεται με παρόμοιο τρόπο. Ο Αλγόριθμος (2) επιλύει το συγκεκριμένο πρόβλημα. Δέχεται στην είσοδό του μια βάση γνώσης 𝒦 και μια πρόταση p, με sig(p)⊆sig(𝒦), και απαντά YES αν 𝒦 ⊨ p ή NO αν 𝒦¬⊨p. Εξετάζει όλες τις ερμηνείες της βάσης γνώσης 𝒦 και για καθεμία από αυτές (γραμμή (2)) εξετάζει αν η ερμηνεία ικανοποιεί τη βάση γνώσης και την πρόταση. Αν ικανοποιεί τη βάση γνώσης και όχι την πρόταση, επιστρέφει NO (συνθήκη της γραμμής (3)). Αλλιώς, αν έχει εξετάσει όλες τις ερμηνείες και για καμία δεν ίσχυε η συνθήκη της γραμμής (3), επιστρέφει YES. Η συνθήκη της γραμμής (3) εξετάζεται με βάση τους πίνακες αληθείας (στην περίπτωση που η βάση γνώσης είναι μεγάλη, ο έλεγχος αυτός ίσως έχει υψηλό κόστος).

Αλγόριθμος (2): PL − ENTAIL(𝒦, p)

Είσοδος: Μια βάση γνώσης 𝒦 και μια πρόταση p με sig(p)⊆sig(𝒦).

E:= το σύνολο των ερμηνειών της 𝒦      (1)

for all ℐ ∈ E      (2)

if η ικανοποιεί την 𝒦 και δεν ικανοποιεί την p      (3)

return NO

end if

return YES      (4)

Παράδειγμα (5): Έστω ότι θέλουμε να ελέγξουμε αν η βάση γνώσης 𝒦 = {p1 ∨ p2, ¬p1 ∨ p2} συνεπάγεται την πρόταση p2 με τον Αλγόριθμο (2), εκτελώντας την PL-ENTAIL(𝒦, p). Αρχικά, στη γραμμή (1) θα υπολογιστεί το σύνολο E που περιέχει τις ερμηνείες της 𝒦 (οι οποίες είναι και ερμηνείες της p2):

1 = {p1 → T, p2 → T},
2 = {p1 → T, p2 → F},
3 = {p1 → F, p2 → T},
4 = {p1 → F, p2 → F}.

Στη συνέχεια εκτελείται ο βρόχος της γραμμής (2). Για την ερμηνεία 1 έχουμε 1 ⊨ p1 ∨ p2 και 1 ⊨ ¬p1 ∨ p2, συνεπώς 1 ⊨ 𝒦. Επιπλέον, έχουμε 1 ⊨ p2, συνεπώς η συνθήκη της γραμμής (3) δεν ισχύει και ο βρόχος εκτελείται ξανά από τη γραμμή (2) για την ερμηνεία 2, για την οποία έχουμε 2 ⊨ p1 ∨ p2 και 2¬⊨¬p1 ∨ p2, συνεπώς 2¬⊨𝒦 και 2¬⊨p2. Συνεπώς, πάλι δεν ισχύει η συνθήκη της γραμμής (3) και ο βρόχος εκτελείται ξανά από τη γραμμή (2) για την ερμηνεία 3 κλπ. Δεν είναι δύσκολο να δούμε ότι με αυτόν τον τρόπο η συνθήκη της γραμμής (3) δεν ισχύει για καμία ερμηνεία, επομένως ο έλεγχος θα φτάσει στη γραμμή (4), οπότε ο αλγόριθμος θα επιστρέψει YES.

Όσον αφορά την απόδοση του Αλγορίθμου (2), το ερώτημα είναι πόσες φορές εκτελείται o έλεγχος της γραμμής (3). Προφανώς, θα εκτελεστεί τόσες φορές όσες είναι οι διαφορετικές ερμηνείες της 𝒦. Όπως και στην περίπτωση του Αλγορίθμου (1), αν #sig(𝒦)=k, οι διαφορετικές ερμηνείες είναι συνολικά 2k, εφόσον κάθε ατομική πρόταση μπορεί να αποτιμηθεί σε δύο τιμές ( T ή F) (γιατί;). Επομένως, βλέπουμε ότι ούτε ο Αλγόριθμος (2) είναι ιδιαίτερα αποδοτικός, διότι για να απαντήσει 𝒦 ⊨ p, θα εξετάσει 2k φορές τη συνθήκη (3). Φυσικά, ο τρόπος αυτός είναι αρκετά απλοϊκός και μπορεί να βελτιστοποιηθεί. Για παράδειγμα, μπορεί να μην αποτιμά την p όταν η 𝒦 δεν ικανοποιείται σε μια ερμηνεία ή να μην ελέγχει όλες τις προτάσεις της 𝒦 αν μια από αυτές είναι ψευδής.

Επιπλέον, μπορούμε να παρατηρήσουμε ότι το πρόβλημα της συνεπαγωγής μιας πρότασης p από μια βάση γνώσης 𝒦 (που επιλύεται από τον Αλγόριθμο (2)) μπορεί να αναχθεί στο πρόβλημα της συνέπειας της βάσης γνώσης 𝒦 ∪ {¬p}, που επιλύεται από τον Αλγόριθμο (1), με κάποιες τροποποιήσεις ώστε να δουλεύει με ένα σύνολο προτάσεων και όχι μόνο για μία πρόταση. Συγκεκριμένα, δεν είναι δύσκολο να αποδείξουμε ότι μια βάση γνώσης 𝒦 συνεπάγεται την πρόταση p αν και μόνο αν η βάση γνώσης 𝒦 ∪ {¬p} είναι ασυνεπής (γιατί;).

Αυτόματη συλλογιστική με εξαγωγή συμπερασμάτων

Ο Αλγόριθμος (2) στηρίζεται στον έλεγχο της ικανοποιησιμότητας της βάσης γνώσης από τις διάφορες ερμηνείες με χρήση των πινάκων αληθείας. Όταν μια βάση γνώσης έχει μεγάλη υπογραφή, τότε η μέθοδος αυτή είναι δύσκολο να εφαρμοστεί. Αν, για παράδειγμα, μια βάση γνώσης έχει υπογραφή με πληθικότητα 200 (χρησιμοποιούνται, δηλαδή, 200 μη λογικά σύμβολα στις προτάσεις της), μπορεί να χρειαστεί να ελεγχθούν 2200 ερμηνείες. Πολλές φορές, όμως, από την ίδια τη δομή των προτάσεων, μπορούμε πολύ εύκολα να διαπιστώσουμε αν είναι ταυτολογίες ή αντιφάσεις. Για παράδειγμα, υπάρχουν κάποιες προφανείς ταυτολογίες, όπως οι p ⇒ p, p ∨ ¬p κλπ., και αντίστοιχα προφανείς αντιφάσεις όπως οι (p ⇒ ¬p)∧(¬p ⇒ p), p ∧ ¬p κλπ.

Για να εντοπίζουμε τέτοιες αντιφάσεις, αλλά και γενικά για να επεξεργαζόμαστε δομικά τις προτάσεις, είναι χρήσιμο να μεθοδεύσουμε τον μετασχηματισμό μιας πρότασης σε μια ισοδύναμή της, η οποία να έχει συγκεκριμένη μορφή και της οποίας την επεξεργασία να μπορούμε να τυποποιήσουμε.

Ορισμός (5): Έστω p μια πρόταση. Θα λέμε ότι η p είναι σε κανονική συζευκτική μορφή (ΚΣΜ, conjunctive normal form), όταν p : p1 ∧ p2 ∧ ⋯ ∧ pn, με pi : q1 ∨ q2 ∨ ⋯ ∨ qm και qi: a ∣ ¬a, όπου a ατομική πρόταση.

Με βάση τον ορισμό (5), μια πρόταση είναι σε ΚΣΜ αν είναι σύζευξη διαζεύξεων ατομικών προτάσεων ή αρνήσεων ατομικών προτάσεων. Για παράδειγμα, η πρόταση p1 ∧ (p2 ∨ ¬p3) είναι σε ΚΣΜ, ενώ η πρόταση p1 ∧ ¬(¬p2 ∧ p3) δεν είναι. Δεν είναι δύσκολο να δούμε ότι οι δύο παραπάνω προτάσεις είναι ισοδύναμες. Πράγματι, αν p και q είναι δύο προτάσεις, ισχύει πάντα ότι ¬(¬p)≡p, όπως και ότι ¬(p ∧ q)≡¬p ∨ ¬q. Εφαρμόζοντας τις ισοδυναμίες αυτές στις παραπάνω προτάσεις εξάγουμε το συμπέρασμα ότι p1 ∧ (p2 ∨ ¬p3)≡p1 ∧ ¬(¬p2 ∧ p3).

Η διαδικασία που περιγράφεται στον Πίνακα (2) διασφαλίζει τη μετατροπή μιας πρότασης σε ΚΣΜ.

Πίνακας (2): Διαδικασία μετατροπής σε ΚΣΜ.
ΒΗΜΑ 1   Αντικατάστησε τις συναπαγωγές χρησιμοποιώντας τη σχέση
(p ⇒ q)≡(¬p ∨ q).
ΒΗΜΑ 2   Μετακίνησε την άρνηση μπροστά από τις ατομικές προτάσεις εφαρμόζοντας επαναληπτικά τις σχέσεις
¬(p ∧ q)≡(¬p ∨ ¬q),
¬(p ∨ q)≡(¬p ∧ ¬q),
(¬¬p)≡p.
ΒΗΜΑ 3   Επιμέρισε τις διαζεύξεις με βάση τις σχέσεις
(p ∨ (q ∧ r)) ≡ ((q ∧ r)∨p)≡((p ∨ q)∧(p ∨ r)).
ΒΗΜΑ 4   Απλοποίησε με βάση τις σχέσεις
(p ∨ p)≡p,
(p ∧ p)≡p.

Για τις προτάσεις που είναι σε ΚΣΜ χρησιμοποιείται συχνά ένας ευκολότερος συμβολισμός. Χρησιμοποιούμε τα «[» και «]» για να συμβολίσουμε το πεπερασμένο σύνολο των στοιχείων των διαζεύξεων και, αντίστοιχα, τα «{» και «}» για να συμβολίσουμε το πεπερασμένο σύνολο των στοιχείων των συζεύξεων. Μάλιστα, θα ονομάζουμε προτασιακό (clausal) κάθε πρόταση που είναι ένα πεπερασμένο σύνολο διαζεύξεων. Για παράδειγμα, η πρόταση (p ∨ ¬q ∨ r)∧(q ∨ ¬r) γράφεται ως εξής: {[p, ¬q, r],[q, ¬r]}. Στο παράδειγμα αυτό, τα [p, ¬q, r] και [q, ¬r] είναι προτασιακά. Είναι προφανές (λόγω της αντιμεταθετικότητας του τελεστή της διάζευξης, αλλά και της σύζευξης), ότι η σειρά των ατομικών προτάσεων σε μια σύζευξη δεν παίζει ρόλο, ούτε και η σειρά των συζεύξεων σε ένα προτασιακό.

Για να δούμε αν μια πρόταση είναι προφανής ταυτολογία, αρκεί να ελέγξουμε αν κάθε προτασιακό της είναι της μορφής [a, ¬a, ...], όπου p μια ατομική πρόταση. Αντίστοιχα, για να δούμε αν είναι προφανής αντίφαση, αρκεί να ελέγξουμε αν περιέχει δύο προτασιακά [a] και a].

Παράδειγμα: Έστω ότι θέλουμε να υπολογίσουμε την ΚΣΜ της πρότασης p : p1 ∧ (p1 ⇒ (¬p1 ∨ p2)) ⇒ p2, με βάση τη διαδικασία που περιγράφηκε παραπάνω. Εφαρμόζοντας το Βήμα 1, έχουμε διαδοχικά:

p1 ∧ (p1 ⇒ (¬p1 ∨ p2)) ⇒ p2
p1 ∧ (¬p1 ∨ (¬p1 ∨ p2)) ⇒ p2
¬(p1 ∧ (¬p1 ∨ (¬p1 ∨ p2)))∨p2.

Εφαρμόζοντας το Βήμα 2, έχουμε διαδοχικά:

¬(p1 ∧ (¬p1 ∨ (¬p1 ∨ p2)))∨p2
¬p1 ∨ ¬(¬p1 ∨ (¬p1 ∨ p2)) ∨ p2
¬p1 ∨ (¬(¬p1)∧¬(¬p1 ∨ p2)) ∨ p2
¬p1 ∨ (p1 ∧ (¬(¬p1)∧¬p2)) ∨ p2
¬p1 ∨ (p1 ∧ (p1 ∧ ¬p2)) ∨ p2.

Στη συνέχεια, εφαρμόζοντας το Βήμα 3, έχουμε διαδοχικά:

¬p1 ∨ (p1 ∧ (p1 ∧ ¬p2)) ∨ p2
((¬p1 ∨ p1)∧(¬p1 ∨ (p1 ∧ ¬p2)))∨p2
((¬p1 ∨ p1)∧(¬p1 ∨ p1)∧(¬p1 ∨ ¬p2)) ∨ p2
p1 ∨ p1 ∨ p2)∧(¬p1 ∨ p1 ∨ p2)∧(¬p1 ∨ ¬p2 ∨ p2)

και επειδή το Βήμα 4 δεν εφαρμόζεται, η βάση γνώσης τελικά γράφεται ως εξής:

{[¬p1, p1, p2],[¬p1, p1, p2],[¬p1, ¬p2, p2]}.

Δεν είναι δύσκολο να δούμε ότι και τα τρία προτασιακά της πρότασης είναι προφανείς ταυτολογίες (γιατί;), συνεπώς και μόνο από την μετατροπή της πρότασης σε ΚΣΜ, επιλύουμε το συγκεκριμένο πρόβλημα συλλογιστικής.

Για να επεκτείνουμε τα αποτελέσματά μας σε βάσεις γνώσης, αρκεί να θεωρήσουμε κάθε βάση γνώσης ως ένα σύνολο προτασιακών, και συγκεκριμένα την ένωση όλων των προτασιακών των προτάσεών της (γιατί;). Επομένως, στη συνέχεια μπορούμε να θεωρούμε τόσο τις προτάσεις όσο και τις γνώσεις ως σύνολα προτασιακών.

Παράδειγμα (6): Έστω η βάση γνώσης

𝒦 = {[p1, p2],[¬p1, p2],[¬p2]}.

Όπως είδαμε και από το Παράδειγμα (5), τα προτασιακά [p1, p2] και p1, p2] συνεπάγονται το προτασιακό [p2]. Επομένως θα μπορούσαμε να προσθέσουμε στη βάση γνώσης 𝒦 το [p2], χωρίς ουσιαστικά η 𝒦 να τροποποιηθεί. Έτσι, λοιπόν, η 𝒦 είναι ισοδύναμη με την

𝒦′={[p1, p2],[¬p1, p2],[¬p2],[p2]}, 

η οποία περιέχει μια προφανή αντίφαση. Συνεπώς, η 𝒦 είναι ασυνεπής.

Το Παράδειγμα (6) καταδεικνύει με απλό τρόπο την ιδέα ενός τρόπου εξαγωγής υπονοούμενης γνώσης. Στη συνέχεια, θα παρουσιάσουμε την τυποποίηση και εφαρμογή μιας αυτόματης διαδικασίας συλλογιστικής που στηρίζεται σε αυτόν τον τρόπο. Έστω, τώρα, ότι μελετάμε το πρόβλημα της συνεπαγωγής μιας πρότασης από μια βάση γνώσης. Όπως είδαμε προηγουμένως, μπορούμε να αναγάγουμε το συγκεκριμένο πρόβλημα σε αυτό του ελέγχου της συνέπειας της βάσης γνώσης 𝒦 ∪ {¬p}. Για να είναι η 𝒦 ∪ {¬p} ασυνεπής θα πρέπει είτε κάποια πρότασή της να είναι αντίφαση είτε να συνεπάγεται την αντίφαση. Το ερώτημα που προκύπτει είναι με ποιον τρόπο μπορούμε να παράγουμε αποτελεσματικά συνεπαγωγές της βάσης γνώσης και να ελέγχουμε αν αυτές είναι προφανείς αντιφάσεις. Για τον σκοπό αυτό χρησιμοποιούνται οι κανόνες συλλογιστικής (inference rules). Οι κανόνες αυτοί χρησιμοποιούν συνήθως δύο προτάσεις της βάσης γνώσης για να παραγάγουν μια νέα πρόταση.

Ορισμός (6): Έστω p και q δύο προτασιακά και έστω ότι το p περιέχει την ατομική πρόταση a και το q περιέχει την ¬a, δηλαδή έστω ότι p : p′∪{a} και q : q′∪{¬a}. Θα λέμε ότι από τα p και q συμπεραίνουμε (infer) το προτασιακό p′∪q. Θα λέμε, επίσης, ότι το p′∪q είναι αναλυθέν (resolvent) των p και q και θα γράφουμε p, q ⊢ p′∪q.

Έστω 𝒦 μια βάση γνώσης και r ένα προτασιακό. Θα λέμε ότι το r είναι αναλυθέν της 𝒦, αν και μόνο αν υπάρχουν δύο προτασιακά της 𝒦 των οποίων είναι αναλυθέν το r. Επίσης, θα λέμε ότι το r παράγεται αναλυτικά από την 𝒦 και θα γράφουμε 𝒦 ⊢ r, αν υπάρχει μια ακολουθία προτασιασκών p1, p2, ..., pn, με pn ≡ r, όπου όλα τα pi είναι είτε προτασιακά της 𝒦 είτε αναλυθέντα δύο προηγούμενων προτασιακών της ακολουθίας.

Ο παραπάνω κανόνας συλλογιστικής ονομάζεται κανόνας της ανάλυσης (resolution rule).

Παράδειγμα (7): Δεν είναι δύσκολο να δούμε ότι στο Παράδειγμα (6) εφαρμόζεται ο κανόνας της ανάλυσης στα προτασιακά [p1, p2] και p1, p2], αφού το πρώτο περιέχει την p1 και το δεύτερο την ¬p1. Δηλαδή ισχύει ότι {[p1, p2],[¬p1, p2]} ⊢ [p2, p2]≡[p2].

Είναι προφανές ότι ο τρόπος εφαρμογής του κανόνα της ανάλυσης σε μια βάση γνώσης δεν είναι μοναδικός. Το ερώτημα είναι αν μια οργανωμένη εφαρμογή του μπορεί να μας οδηγήσει σε ένα σύστημα αυτόματης συλλογιστικής. Ο Αλγόριθμος (3) τυποποιεί μια τέτοια διαδικασία. Δέχεται στην είσοδό του μια βάση γνώσης 𝒦 και μια πρόταση p, και απαντά YES αν 𝒦 ⊨ p ή NO αν 𝒦¬⊨p. Αρχικά, στη γραμμή (1), προσθέτει στη βάση γνώσης την ¬p (για να ανιχνεύσει πιθανή αντίφαση). Στη συνέχεια επαναλαμβάνει την εξής διαδικασία: Ελέγχει αν από την 𝒦 παράγεται, με τον κανόνα της ανάλυσης, κάποιο προτασιακό q το οποίο δεν υπάρχει ήδη σε αυτή (γραμμή (2)). Αν υπάρχει, ελέγχει αν αυτό το q είναι προφανής αντίφαση. Αν είναι, τότε ο αλγόριθμος τερματίζει επιστρέφοντας YES. Αν δεν είναι, προσθέτει το q στη βάση γνώσης (γραμμή (4)) και επαναλαμβάνει τη διαδικασία μέχρι να μην υπάρχει άλλο τέτοιο q. Αν ο βρόχος τερματίσει επειδή δεν ισχύει η συνθήκη της γραμμής (2), ο αλγόριθμος επιστρέφει NO στη γραμμή (5).

Αλγόριθμος (3): PL − RES(𝒦, p)

Είσοδος: Μια βάση γνώσης 𝒦 σε ΚΣΜ και μια πρόταση p σε ΚΣΜ.

𝒦′:=𝒦 ∪ {¬p}      (1)

𝒦 := 𝒦′

if υπάρχει q με 𝒦 ⊢ q, όπου q ∉ 𝒦      (2)

if q προφανής αντίφαση      (3)

return YES

end if

𝒦′:=𝒦 ∪ {q}     (4)

end if

return NO      (5)

H παραπάνω διαδικασία έχει πρακτικό νόημα όταν η βάση γνώσης 𝒦 είναι συνεπής, αλλιώς ο Αλγόριθμος (3) θα επιστρέφει πάντα YES (γιατί;), κάτι το οποίο είναι φυσικά σωστό σαν αποτέλεσμα, αλλά δεν έχει μεγάλο πρακτικό ενδιαφέρον.

Ένα σημαντικό ζήτημα είναι το αν ο Αλγόριθμος (3) είναι αποτελεσματικός, δηλαδή ορθός και πλήρης. Για την ορθότητα, αρκεί να αποδείξουμε ότι όταν στην 𝒦′ περιέχεται το κενό προτασιακό (δηλαδή έχει προφανή αντίφαση), τότε θα ισχύει ότι 𝒦 ⊨ p. Δεδομένου ότι, όπως αποδεικνύεται εύκολα, ο κανόνας της ανάλυσης προσθέτει πάντα υπονοούμενη γνώση, δεν είναι δύσκολο να το αποδείξουμε. Για την πληρότητα, αρκεί να αποδείξουμε ότι αν ισχύει ότι 𝒦 ⊨ p, τότε κάποια στιγμή θα προστεθεί στην 𝒦′ το κενό προτασιακό. Η απόδειξη αυτή είναι δυσκολότερη και μπορεί να γίνει με επαγωγή στο μέγεθος της υπογραφής της γνώσης.

Συνεπώς, ο Αλγόριθμος (3) είναι αποτελεσματικός. Το ζήτημα τώρα είναι πόσο αποδοτικός είναι, δηλαδή πόσο γρήγορη είναι η εκτέλεσή του. Όπως είναι αναμενόμενο, έχει αποδειχθεί ότι είναι εκθετικού χρόνου, όπως και ο Αλγόριθμος (1). Αυτό σημαίνει ότι όσες βελτιστοποιήσεις και να γίνουν (έχουν προταθεί πολλές και σημαντικές), στη χειρότερη περίπτωση μπορεί να ακολουθήσει εκθετικά πολλά βήματα, γεγονός που περιορίζει τη δυνατότητα πρακτικής εφαρμογής του. Παρόλα αυτά, δεδομένης της πολυπλοκότητας του προβλήματος που επιλύει και των βελτιστοποιήσεων που έχουν προταθεί, αποτελεί έναν από τους (πρακτικά) αποδοτικότερους αλγόριθμους επίλυσης του προβλήματος της συλλογιστικής στην προτασιακή λογική.

Λογική πρώτης τάξης

Εισαγωγή

Έστω οι παρακάτω προτάσεις που διατυπώνονται σε προτασιακή λογική:

p1: Manhattan − IsA − Comedy,
p2: All − Comedies − Are − Movies.

Το φυσικό νόημά τους είναι απλό. Η p1 δηλώνει ότι η ταινία Manhattan είναι κωμωδία και η p2 ότι κάθε κωμωδία είναι ταινία. Είναι προφανές ότι από τις p1 και p2 έπεται ότι το Manhattan είναι ταινία, δηλαδή, τυπικά:

p: Manhattan − IsA − Movie.

Το πρόβλημα είναι ότι το προφανές αυτό συμπέρασμα δεν μπορεί να προκύψει με τις διαδικασίες αυτόματης συλλογιστικής που περιγράψαμε παραπάνω. Ο λόγος είναι ότι οι προτάσεις p1 και p2 δεν μπορούν να συνδυαστούν χωρίς να αναλυθούν τα συμβολικά ονόματά τους, ώστε το Comedy που υπάρχει στην p1 να συνδεθεί με το Comedy που υπάρχει στην p2. Κάτι τέτοιο δεν είναι δυνατό, αφού γνωρίζουμε ότι βασική υπόθεση της προτασιακής λογικής είναι ότι το νόημα των ατομικών προτάσεων δεν αναλύεται περισσότερο, είναι δηλαδή αληθείς ή ψευδείς χωρίς η τιμή αληθείας τους να εξαρτάται από άλλες τιμές αληθείας.

Ένας τρόπος αντιμετώπισης του προβλήματος είναι να θεωρήσουμε ότι περιγράφουμε τις ιδιότητες της ταινίας Manhattan και να συνδέσουμε κάποιες ιδιότητες με άλλες. Έτσι, μπορούμε να γράψουμε σε προτασιακή λογική:

p1: Comedy,
p2: Movie,
p3: p1′⇒p2

και να εφαρμόσουμε το παραπάνω σχήμα στο Manhattan. Φυσικά, με τον τρόπο αυτό η γνώση που περιγράφεται σε προτασιακή λογική δεν είναι αρκετή για να παραγάγουμε το συμπέρασμα, αφού θα πρέπει να θυμόμαστε ότι η ιδιότητα αυτή αφορά το Manhattan και όχι κάποιο άλλο Movie. Επιπλέον, δεν μπορούν να αντιμετωπιστούν πιο σύνθετα προβλήματα συλλογιστικής, όπως για παράδειγμα αυτό που προκύπτει από τις παρακάτω προτάσεις:

q1: Manhattan − IsA − Movie,
q2: All − Movies − have − Directors,
q3: Manhattan − has − Director.

Από τις q1 και q2 μπορούμε να συμπεράνουμε ότι υπάρχει κάποιος σκηνοθέτης της ταινίας Manhattan, δηλαδή μπορούμε να συμπεράνουμε αυτό που λέει η q3. Όμως η πληροφορία αυτή που εξάγεται ως συμπέρασμα της γνώσης δεν αφορά (με βάση την παραπάνω λογική) το Manhattan, αλλά κάποιο άλλο αντικείμενο του κόσμου, το οποίο πιθανώς να μην έχει καταγραφεί στην υπάρχουσα γνώση (στην περίπτωση αυτή, τον σκηνοθέτη της ταινίας).

Για την αναπαράσταση σύνθετης γνώσης όπως η παραπάνω με τυπικό τρόπο και την εξαγωγή συμπερασμάτων στο πλαίσιο μιας τυπικής, λογικής διαδικασίας, απαιτείται ένας επεκτεταμένος, πιο σύνθετος (από την προτασιακή λογική) φορμαλισμός αναπαράστασης γνώσης. Συγκεκριμένα, αυτός θα πρέπει να συνδυάζει δύο βασικά στοιχεία. Τη δυνατότητα αναφοράς στα αντικείμενα του κόσμου και τη δυνατότητα περιγραφής των ιδιοτήτων των αντικειμένων και των μεταξύ τους σχέσεων. Στη συνέχεια, θα περιγράψουμε συνοπτικά έναν φορμαλισμό της μορφής αυτής, τη λογική πρώτης τάξης, ΛΠΤ (first-order logic, FOL).

Όροι

Ένα βασικό στοιχείο της λογικής πρώτης τάξης είναι η δυνατότητα αναφοράς στα αντικείμενα του κόσμου τα οποία μπορούν, γενικά, να είναι απτά (concrete) ή αφηρημένα (abstract). Για παράδειγμα, ο Woody Allen είναι ένα απτό αντικείμενο, ενώ η τιμή 96 min (ως διάρκεια μιας ταινίας) είναι αφηρημένο. Η αναφορά στα αντικείμενα γίνεται μέσω των όρων.

Ορισμός (7): Σταθερά (constant) είναι ένα μη λογικό σύμβολο (συμβολοσειρά) που χρησιμοποιείται ως προσδιοριστικό (όνομα) ενός συγκεκριμένου αντικειμένου.

Παραδείγματα σταθερών είναι τα

movie35, manhattan, woodyAllen, 96min.

Δεν είναι απαραίτητο κάθε αντικείμενο να έχει μόνο ένα όνομα, άρα περισσότερες από μια σταθερές μπορούν, γενικά, να αναφέρονται στο ίδιο αντικείμενο. Προφανώς, όμως, κάθε σταθερά πρέπει να προσδιορίζει ένα μοναδικό αντικείμενο, για να μπορεί η αναφορά να αποτιμάται. Κατά σύμβαση, για τις σταθερές χρησιμοποιούνται συμβολοσειρές που αρχίζουν με πεζό γράμμα και προσδιορίζουν όσο γίνεται καλύτερα την ταυτότητα του αντικειμένου (όποτε αυτή είναι γνωστή).

Εκτός από τα ονόματα των αντικειμένων, πολλές φορές είναι χρήσιμο να διατυπώνονται αναφορές σε αντικείμενα που δεν προσδιορίζονται συγκεκριμένα. Για παράδειγμα, είναι χρήσιμο να μπορούμε να αναφερθούμε σε όλες τις ταινίες, όταν θέλουμε, ας πούμε, να διατυπώσουμε τη γνώση ότι όλες οι ταινίες έχουν κάποιον σκηνοθέτη. Για τον σκοπό αυτό χρησιμοποιούνται οι μεταβλητές.

Ορισμός (8): Μεταβλητή (variable) είναι ένα μη λογικό σύμβολο (συμβολοσειρά) που χρησιμοποιείται για την αναφορά σε ένα οποιοδήποτε αντικείμενο του κόσμου.

Κατά σύμβαση, για τις μεταβλητές χρησιμοποιούνται τα σύμβολα x, y, z κλπ., ίσως και με δείκτες, δηλαδή x1, y3 αν κρίνεται απαραίτητο (για παράδειγμα αν χρειάζονται αρκετές μεταβλητές στη γνώση που διατυπώνεται).

Οι σταθερές και οι μεταβλητές αποτελούν απλούς όρους (simple terms). Αν αντιστοιχίσουμε τα παραπάνω με το φορμαλισμό των μαθηματικών, για παράδειγμα με τους φυσικούς αριθμούς, θα λέγαμε ότι οι σταθερές είναι τα ονόματα των φυσικών αριθμών, το 1, το 47 κλπ., ενώ οι μεταβλητές χρησιμοποιούνται για να συμβολίσουν οποιονδήποτε φυσικό αριθμό (στη συνέχεια θα δούμε ότι μπορούμε να περιορίσουμε την εμβέλεια των μεταβλητών διατυπώνοντας ιδιότητες, για παράδειγμα όλοι οι πρώτοι αριθμοί). Για να διευκολύνεται όμως η μελέτη των αριθμών και να διατυπώνεται περίπλοκη γνώση, ορίζονται πιο σύνθετες αναφορές στους φυσικούς αριθμούς, όπως για παράδειγμα το 3 + 5. Είναι σαφές ότι το 3 + 5 προσδιορίζει το 8, αρκεί φυσικά να γνωρίζουμε ότι 3 + 5 = 8. Για τον σκοπό αυτό ορίζονται οι πράξεις, οι τελεστές ή, γενικότερα, οι συναρτήσεις, οι οποίες προσδιορίζουν έναν αριθμό έμμεσα, μέσω του προσδιορισμού άλλων. Στο παραπάνω παράδειγμα η συνάρτηση συμβολίζεται με +. Μάλιστα, θα μπορούσαμε να δούμε το + και σαν μια (γνωστή) συνάρτηση plus(x, y) κάποιας γλώσσας προγραμματισμού που επιστρέφει μια τιμή στην έξοδο όταν δέχεται δύο τιμές στην είσοδο, καθορίζοντας έτσι κάποιο αντικείμενο του κόσμου (αριθμό στη συγκεκριμένη περίπτωση). Στο πλαίσιο της αριθμητικής χρησιμοποιούνται για τον σκοπό αυτό σύνθετες, αναδρομικές αναφορές, όπως η 3 + 5 ⋅ (9 − x), η οποία σε ένα προγραμματιστικό περιβάλλον θα μπορούσε να γραφεί ως μια κλήση plus(3, times(5, minus(9, x))). Αντίστοιχα, στη λογική πρώτης τάξης ορίζονται οι σύνθετοι όροι (complex terms), με χρήση των συναρτήσεων.

Ορισμός (9): Όρος (term) είναι μια έκφραση της μορφής f(t1, t2, ..., tn), όπου t1, t2, ..., tn όροι και f ένα μη λογικό σύμβολο (συμβολοσειρά) που χρησιμοποιείται για τον προσδιορισμό μιας συνάρτησης, ορισμένης στον χώρο των αντικειμένων. Θα λέμε ότι ένας όρος είναι τάξης n, όταν έχει n ορίσματα.

Η αναδρομικότητα του Ορισμού (9) επιτρέπει την αναπαράσταση ιδιαίτερα σύνθετων όρων με βάση τις συναρτήσεις που ορίζονται, όπως ακριβώς γίνεται και στο πλαίσιο της αριθμητικής που είδαμε προηγουμένως.

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

Κατά σύμβαση, οι συναρτήσεις συμβολίζονται με συμβολοσειρές που αρχίζουν με πεζό γράμμα και αποδίδουν όσο γίνεται καλύτερα τη συσχέτιση των αντικειμένων που αναπαριστούν (ή το όνομα του αντικειμένου αν είναι συναρτήσεις τάξης 0, δηλαδή σταθερές). Για παράδειγμα, με

runningTime(movie35)

συμβολίζουμε τη διάρκεια της ταινίας με κωδικό movie35, με

title(movie35)

συμβολίζουμε τον τίτλο της, με

firstMovie(woodyAllen)

την πρώτη ταινία του Woody Allen (την ταινία με τίτλο «What’s New Pussycat?»), ενώ με

runningTime(x)

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

runningTime(firstMovie(woodyAllen)), 

που προσδιορίζει τη διάρκεια της πρώτης ταινίας του Woody Allen (στη συγκεκριμένη περίπτωση το 108min).

Κατηγορήματα, φόρμουλες και βάση γνώσης

Αφού είδαμε το πλούσιο λεξιλόγιο της ΛΠΤ που χρησιμοποιείται για την αναφορά στα αντικείμενα του κόσμου, στη συνέχεια θα μελετήσουμε τον τρόπο διατύπωσης εκφράσεων που αναπαριστούν τις σχέσεις μεταξύ των αντικειμένων στα οποία αναφερόμαστε.

Ορισμός (10): Ατομική φόρμουλα ή ατομική έκφραση (atomic formula ή atomic expression) ή απλά άτομο (atom) είναι μια δήλωση της μορφής

p(t1, t2, ..., tn)  (13)

ή της μορφής

t1 ≈ t2,   (14)

όπου t1, t2, ..., tn όροι και p ένα μη λογικό σύμβολο (συμβολοσειρά) που ονομάζεται κατηγόρημα (predicate). Στην περίπτωση αυτή λέμε ότι το κατηγόρημα p είναι τάξης n.

Τα άτομα είναι επέκταση των ατομικών προτάσεων της προτασιακής λογικής. Αναπαριστούν δηλώσεις που είναι αληθείς ή ψευδείς, μόνο που στην περίπτωση της λογικής πρώτης τάξης είναι αληθείς ή ψευδείς για συγκεκριμένα αντικείμενα του κόσμου, που προσδιορίζονται από τους όρους. Συγκεκριμένα, το άτομο (13) αναπαριστά μια σχέση των αντικειμένων t1, t2, ..., tn (αυτή που καθορίζεται από το p), ενώ το άτομο (14) δηλώνει ότι οι όροι t1 και t2 προσδιορίζουν το ίδιο αντικείμενο. Προφανώς, αν n = 0 τα άτομα ταυτίζονται με τις ατομικές προτάσεις της προτασιακής λογικής (βλ. Ορισμό (1)).

Παραδείγματα ατόμων λογικής πρώτης τάξης είναι τα ακόλουθα:

Comedy( movie35),
hasDirector( movie35, woodyAllen),
title(movie35)≈manhattan,
Long(runningTime(movie35)).  (15)

Με τα παραπάνω άτομα δηλώνουμε ότι η ταινία με κωδικό movie35 είναι κωμωδία, την έχει σκηνοθετήσει ο Woody Allen, ο τίτλος της είναι Manhattan και είναι μεγάλου μήκους. Κατά σύμβαση, ως ονόματα κατηγορημάτων χρησιμοποιούμε συμβολοσειρές που αρχίζουν με κεφαλαίο γράμμα.

Ορισμός (11): Κάθε άτομο είναι φόρμουλα ή έκφραση (formula ή expression). Έστω α και β δύο εκφράσεις. Τότε, οι δηλώσεις της μορφής

¬α,
α ∧ β,
α ∨ β,
α ⇒ β,
x.α,
x.α,

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

Στη συνέχεια, θα συμβολίζουμε με var(p) το σύνολο των μεταβλητών που χρησιμοποιούνται στη διατύπωση της φόρμουλας p.

Με βάση τον αναδρομικό Ορισμό (11) μπορούν να αναπαρασταθούν περίπλοκες συσχετίσεις των αντικειμένων του κόσμου, με χρήση των λογικών συμβόλων ¬, , , και .

Για παράδειγμα, μπορούμε να δηλώσουμε τα εξής:

¬Thriller(movie35),
x.hasDirector(x, woodyAllen)⇒Comedy(x),
x.∃y.Movie(x)⇒(hasDirector(x, y)∧Director(y)).  (16)

Από τις παραπάνω, η πρώτη έκφραση δηλώνει ότι η ταινία με κωδικό movie35 δεν είναι θρίλερ, η δεύτερη ότι κάθε ταινία που έχει σκηνοθετήσει ο Woody Allen είναι κωμωδία και η τρίτη ότι όλες οι ταινίες έχουν σκηνοθετηθεί από κάποιον σκηνοθέτη.

Ορισμός (12): Βάση γνώσης ή απλά γνώση είναι ένα πεπερασμένο σύνολο από εκφράσεις. Κάθε έκφραση μιας βάσης γνώσης ονομάζεται και αξίωμα (axiom).

Το σύνολο των μη λογικών συμβόλων, δηλαδή των σταθερών, των συναρτήσεων και των κατηγορημάτων που χρησιμοποιούνται στα αξιώματα μιας βάσης γνώσης 𝒦 ονομάζεται υπογραφή της βάσης γνώσης και συμβολίζεται με sig(𝒦).

Παράδειγμα (8): Έστω η γνώση 𝒦 = {A1, A2, ..., A11}, όπου:

A1. Comedy(movie35),
A2. hasDirector(movie35, woodyAllen),
A3. title(movie35)≈manhattan,
A4. runningTime(movie35)≈96min,
A5. Long(runningTime(movie35)),
A6. ¬Thriller(movie35),
A7. x.Comedy(x)⇒Movie(x),
A8. x.Comedy(x)⇒¬Thriller(x),
A9. x.hasDirector(x, woodyAllen)⇒Comedy(x),
A10. x.Movie(x)∧Long(runningTime(x)) ⇒ FeatureFilm(x),
A11. x.∃y.Movie(x)⇒(hasDirector(x, y)∧Director(y)).  (17)

Με βάση τον ορισμό (12), η υπογραφή της είναι

sig(𝒦)= {movie35, manhattan, woodyAllen, 96min,
runningTime, title,
Movie, Long, Comedy, Thriller, Director,
hasDirector}.

Η υπογραφή αποτελείται, δηλαδή, από το σύνολο όλων των μη λογικών συμβόλων που εμφανίζονται στα αξιώματα της γνώσης (στην πρώτη γραμμή εμφανίζονται οι σταθερές, στη δεύτερη οι συναρτήσεις, στην τρίτη τα κατηγορήματα τάξης 1 και στην τέταρτη τα κατηγορήματα τάξης 2). Τα αξιώματα μιας βάσης γνώσης δίνουν πληροφορίες για συγκεκριμένα αντικείμενα του κόσμου (όπως τα A1 έως A6 της γνώσης (17)) ή για όλα τα αντικείμενα του κόσμου, όταν περιέχουν όρους με μεταβλητές (όπως τα A7 έως A11 της γνώσης (17)).

Ερμηνείες και μοντέλα

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

Για παράδειγμα, το αξίωμα

Comedy(movie35)

δηλώνει ότι το αντικείμενο movie35 (όποιο και αν είναι) είναι τύπου Comedy (ότι και αν σημαίνει «Comedy»). Επίσης, το αξίωμα

x.∃y.Movie(x)⇒(hasDirector(x, y)∧Director(y))

δηλώνει ότι για κάθε αντικείμενο του κόσμου που είναι τύπου Movie (ότι και αν σημαίνει «Movie») πρέπει να υπάρχει κάποιο άλλο αντικείμενο τύπου Director (ότι και αν σημαίνει «Director») με το οποίο να σχετίζονται μέσω της σχέσης hasDirector (ότι και αν σημαίνει «hasDirector»). Το φυσικό νόημα των παραπάνω αποδίδεται τυπικά από τις ερμηνείες, οι οποίες αποτελούν μαθηματικές δομές που βρίσκονται σε αντιστοιχία με τα αξιώματα της γνώσης.

Ορισμός (13): Έστω 𝒦 μια γνώση σε ΛΠΤ. Ερμηνεία της γνώσης είναι ένα ζεύγος Δ,ℐ⟩, όπου Δ ένα μη κενό (πιθανώς άπειρο) σύνολο αντικειμένων που ονομάζεται πεδίο (domain) και μια απεικόνιση που ονομάζεται αντιστοίχιση ερμηνείας (interpretation mapping) και ερμηνεύει τα μη λογικά σύμβολα της 𝒦 με δομές στοιχείων του Δ ως εξής:

Παράδειγμα (9): Έστω η γνώση 𝒦 του Παραδείγματος (8). Η παρακάτω δομή 𝒥1 = ⟨Δ,ℐ⟩ είναι μια ερμηνεία της 𝒦:

Δ = {a, b, c, d},
movie35 = {a},
woodyAllen = {b},
manhattan = {c},
96min = {d},
runningTime = {a → d},
title = {a → c},
Movie = {a},
Comedy = {a},
Thriller = {},
FeatureFilm = {a},
Long = {d},
Director = {b},
hasDirector = {(a, b)}.  (18)

Παρατηρούμε ότι η σταθερά movie35, αντιστοιχίζεται μέσω της ερμηνείας στο αντικείμενο a του πεδίου, η σταθερά woodyAllen στο αντικείμενο b, η σταθερά manhattan στο αντικείμενο c και η σταθερά 96min στο αντικείμενο d. Φυσικά, το πεδίο Δ θα μπορούσε να περιέχει και άλλα αντικείμενα, τα οποία να μην είναι απαραίτητα εικόνες κάποιας σταθεράς. Επίσης, θα μπορούσαν να αντιστοιχούν στο ίδιο αντικείμενο περισσότερες από μία σταθερές. Για παράδειγμα η δομή 𝒥2 = ⟨Δ,ℐ⟩, με

Δ = {a},
movie35 = {a},
woodyAllen = {a},
manhattan = {a},
96min = {a},
runningTime = {a → a},
title = {a → a},
Movie = {a},
Comedy = {a},
Thriller = {},
FeatureFilm = {a},
Long = {a},
Director = {a},
hasDirector = {(a, a)}  (19)

είναι επίσης ερμηνεία της γνώσης 𝒦. Στην περίπτωση αυτή είναι προφανές ότι, με βάση αυτό που καταλαβαίνουμε από τη γνώση 𝒦, η 𝒥2 δεν είναι διαισθητικά σωστή, καθώς στον κόσμο που αντιλαμβανόμαστε πως περιγράφει η γνώση δεν είναι δυνατόν, για παράδειγμα, μια ταινία και ο σκηνοθέτης της να είναι το ίδιο αντικείμενο! Αυτό που πρέπει να σκεφτούμε, όμως, είναι ότι η γνώση 𝒦 δεν αποτυπώνει όλους τους περιορισμούς του κόσμου, παρά μόνο 11 απλά αξιώματα, κι έτσι είναι λογικό διάφορες ερμηνείες της να μην είναι διαισθητικά σωστές. Για παράδειγμα, κανένα αξίωμα της γνώσης 𝒦 δεν δηλώνει ρητά ότι x.Movie(x)⇒¬Director(x).

Επιπλέον, και η παρακάτω δομή 𝒥3 = ⟨Δ,ℐ⟩ είναι ερμηνεία της γνώσης 𝒦:

Δ = {a, b, c, d, e},
movie35 = {a},
woodyAllen = {b},
manhattan = {c},
96min = {d},
runningTime = {a → d},
title = {a → c},
Movie = {a},
Comedy = {a},
Thriller = {a},
FeatureFilm = {a},
Long = {d},
Director = {b, e},
hasDirector = {(a, e)}.  (20)

Η ερμηνεία 𝒥3 είναι παρόμοια με την 𝒥1, έχει όμως σημαντικές διαφορές. Καταρχήν, υπάρχει ένα ακόμη αντικείμενο στο πεδίο Δ, το e, το οποίο, μάλιστα, αν και δεν αναφέρεται άμεσα στη γνώση (δεν αποτελεί ερμηνεία κάποιας σταθεράς), αντιστοιχεί στον σκηνοθέτη της movie35, όπως φαίνεται από το (a, e)∈hasDirector, αφού movie35 = {a}. Μάλιστα, η συνθήκη αυτή ικανοποιεί το αξίωμα A11 της γνώσης 𝒦 (σε συνδυασμό με το e ∈ Director), το οποίο διατυπώνει ότι κάθε ταινία έχει έναν σκηνοθέτη. Από την άλλη πλευρά, όμως, τα a ∈ Comedy και a ∈ Thriller έρχονται σε αντίθεση με το αξίωμα A8 της 𝒦, το οποίο διατυπώνει το γεγονός ότι δεν μπορεί μια ταινία να είναι ταυτόχρονα θρίλερ και κωμωδία.

Από το Παράδειγμα (9) γίνεται σαφές ότι μπορούν να υπάρχουν πολλές ερμηνείες μιας γνώσης 𝒦. Επίσης, παρατηρούμε ότι τα αξιώματα της γνώσης μπορεί να ικανοποιούνται ή όχι από κάποια ερμηνεία, όπως ακριβώς και στην περίπτωση της προτασιακής λογικής, όπου οι σύνθετες προτάσεις είναι αληθείς ή ψευδείς για κάποιες ερμηνείες. Για τον σκοπό αυτό απαιτείται ένας τυπικός φορμαλισμός, στο πλαίσιο του οποίου να καθορίζεται η αλήθεια των αξιωμάτων μιας γνώσης.

Ορισμός (14): Έστω 𝒦 μια γνώση, Δ,ℐ⟩ μια ερμηνεία της και t ένας όρος που χρησιμοποιείται σε κάποιο αξίωμα της 𝒦. Έστω, επίσης, var(t) το σύνολο των μεταβλητών του όρου t.

Θα καλούμε ανάθεση μεταβλητών (variable assignment), μ(t), του όρου t μια απεικόνιση των μεταβλητών του t σε στοιχεία του Δ, δηλαδή

μ(t): var(t)→Δ.

Θα καλούμε σημασία (denotation), σμ(t), του όρου t για την ανάθεση μεταβλητών μ(t) ένα αντικείμενο του Δ που προσδιορίζεται αναδρομικά ως εξής:

Για λόγους απλότητας του συμβολισμού, όταν η ανάθεση μεταβλητών μ είναι ξεκάθαρη, ο δείκτης στον συμβολισμό της σημασίας ενός όρου σμ(t) παραλείπεται και η σημασία συμβολίζεται απλά με σ(t).

Παράδειγμα (10): Έστω η γνώση 𝒦 του Παραδείγματος (8) και η ερμηνεία 𝒥1 της 𝒦 που δίνεται στο Παράδειγμα (9).

Για τον όρο t: runningTime(movie35) που αναφέρεται στο Αξίωμα A5 της 𝒦 έχουμε

σ(t)=runningTime(σ(movie35))

και επειδή σ(movie35)=movie35 = a και runningTime(a)=d, τελικά έχουμε σ(t)=d.

Επίσης, για τον όρο t: runningTime(x) που αναφέρεται στο Αξίωμα A10 και την ανάθεση μεταβλητών μ(x)=a, έχουμε

σμ(t)=runningTime(σμ(x))

και επειδή σμ(x)=a και runningTime(a)=d, τελικά έχουμε σμ(t)=d.

Ορισμός (15): Έστω 𝒦 μια γνώση και 𝒥 = ⟨Δ,ℐ⟩ μια ερμηνεία της. Έστω, επίσης, var(𝒦) το σύνολο των μεταβλητών της 𝒦 (με την παραδοχή ότι όλες οι μεταβλητές που εμφανίζονται σε όλους τους όρους όλων των αξιωμάτων έχουν μοναδικά ονόματα). Με βάση τα παρακάτω αναδρομικά κριτήρια, θα λέμε ότι η 𝒥 ικανοποιεί, για την ανάθεση μεταβλητών μ : var(𝒦)→Δ, ένα αξίωμα α της 𝒦 και θα γράφουμε 𝒥, μ ⊨ α αν ισχύουν τα ακόλουθα:

Αν υπάρχει μια ανάθεση μεταβλητών μ για την οποία η ερμηνεία 𝒥 ικανοποιεί όλα τα αξιώματα της γνώσης 𝒦, θα λέμε ότι η 𝒥 είναι μοντέλο της 𝒦.

Παράδειγμα (11): Έστω η γνώση 𝒦 του Παραδείγματος (8) και η ερμηνεία 𝒥1 της 𝒦 που δίνεται στο Παράδειγμα (9). Θα εξετάσουμε αν η ερμηνεία 𝒥1 είναι μοντέλο της 𝒦 σύμφωνα με τον Ορισμό (15), δηλαδή αν ικανοποιεί όλα τα αξιώματα της γνώσης. Εξαντλητικά, για κάθε αξίωμα έχουμε:

Από τα παραπάνω γίνεται σαφές ότι στην ερμηνεία 𝒥1 ικανοποιούνται όλα τα αξιώματα της γνώσης 𝒦 και συνεπώς, με βάση τον Ορισμό (15), η 𝒥1 είναι μοντέλο της γνώσης 𝒦.

Με παρόμοιο τρόπο μπορούμε να αποδείξουμε ότι και η ερμηνεία 𝒥2 του Παραδείγματος (9) είναι μοντέλο της γνώσης 𝒦.

Τέλος, δεν είναι δύσκολο να δούμε ότι η ερμηνεία 𝒥3 του Παραδείγματος (9) δεν είναι μοντέλο της γνώσης 𝒦. Πράγματι, παρατηρούμε ότι a ∈ ComedyI και a ∈ ThrillerI, επομένως το Αξίωμα A8 δεν ικανοποιείται στην 𝒥3.

Στη συνέχεια, θα δώσουμε κάποιους επιπλέον χαρακτηρισμούς για τα αξιώματα και τις γνώσεις, με βάση τις ερμηνείες τους (αντίστοιχα με την προτασιακή λογική).

Ορισμός (16): Μια έκφραση α ονομάζεται ταυτολογία αν και μόνο αν την ικανοποιεί κάθε ερμηνεία της και συνεπής (consistent) αν και μόνο αν υπάρχει τουλάχιστον μία ερμηνεία που την ικανοποιεί· αλλιώς ονομάζεται ασυνεπής (inconsistent) ή αντίφαση.

Αντίστοιχα, μια βάση γνώσης 𝒦 ονομάζεται συνεπής αν και μόνο αν υπάρχει τουλάχιστον μία ερμηνεία που την ικανοποιεί, αλλιώς ονομάζεται ασυνεπής.

Έστω 𝒦 μια βάση γνώσης και α μια έκφραση. Θα λέμε ότι η 𝒦 συνεπάγεται λογικά την α αν και μόνο κάθε ερμηνεία που ικανοποιεί την 𝒦 ικανοποιεί και την α.

Δεδομένης μιας βάσης γνώσης 𝒦 και μιας φόρμουλας p, ο Ορισμός (16) εισάγει τα εξής προβλήματα συλλογιστικής:

Παράδειγμα (12): Για τη γνώση 𝒦 του Παραδείγματος (8) θα αποδείξουμε ότι η έκφραση FeatureFilm(movie35) είναι λογικό συμπέρασμα της 𝒦.

Έστω Δ,ℐ⟩ ένα (τυχαίο) μοντέλο της 𝒦, έστω o1 ∈ Δ τέτοιο ώστε movie35I = {o1} και έστω o2 ∈ Δ τέτοιο ώστε runningTime(o1)=o2. Τότε, από το Αξίωμα A5 έχουμε ότι o2 ∈ Long, και επειδή ισχύει ότι o1 ∈ Movie, με βάση το Αξίωμα A10 θα ισχύει ότι o1 ∈ FeatureFilm. Συνεπώς, κάθε μοντέλο της 𝒦 θα ικανοποιεί το FeatureFilm(movie35).

Αυτόματη συλλογιστική

Στην παράγραφο αυτή θα παρουσιάσουμε έναν από τους σημαντικότερους αλγόριθμους συλλογιστικής για τη λογική πρώτης τάξης, ο οποίος αποτελεί επέκταση του Αλγορίθμου (3), του αλγόριθμου της ανάλυσης για την προτασιακή λογική. Συγκεκριμένα, ο αλγόριθμος καθορίζει μια μεθοδική παραγωγή λογικών συμπερασμάτων της γνώσης, μέχρι να εντοπιστεί (ή όχι) αντίφαση. Για τον σκοπό αυτό, επεκτείνεται αρχικά η διαδικασία μετατροπής σε κανονική συζευκτική μορφή, έτσι ώστε όλα τα αξιώματα της γνώσης να έχουν συγκεκριμένη μορφή.

Ορισμός (17): Θα καλούμε μια φόρμουλα λεκτικό (literal) αν και μόνο αν είτε είναι άτομο (οπότε θα καλείται θετικό λεκτικό) είτε είναι της μορφής ¬a, όπου a άτομο (οπότε θα καλείται αρνητικό λεκτικό). Έστω λ ένα λεκτικό. Συμπλήρωμα (complement), !λ, του λ είναι το λεκτικό ¬a, αν το λ είναι το a, ή το a, αν το λ είναι το ¬a.

Ορισμός (18): Έστω p μια φόρμουλα. Θα λέμε ότι η p είναι σε κανονική συζευκτική μορφή, ΚΣΜ, αν p : p1 ∧ p2 ∧ ⋯ ∧ pn, με pi (i ∈ ℕn):q1 ∨ q2 ∨ ⋯ ∨ qmi και qj (j ∈ ℕmi) λεκτικά.

Από τον Ορισμό (18) παρατηρούμε ότι για τη μετατροπή μιας φόρμουλας ΛΠΤ σε ΚΣΜ θα πρέπει να αφαιρεθούν όλοι οι ποσοδείκτες, καθολικοί και υπαρξιακοί. Για την αφαίρεση των καθολικών ποσοδεικτών στηριζόμαστε στην εξής παρατήρηση: αν μια φόρμουλα έχει στην αρχή έναν καθολικό ποσοδείκτη μπορούμε να τον αφαιρέσουμε χωρίς να επηρεάσουμε τις ερμηνείες της πρότασης. Στην περίπτωση αυτή η μεταβλητή του ποσοδείκτη λέγεται ελεύθερη μεταβλητή (free variable) και έχει εμβέλεια όλο το Δ. Ετσι, λοιπόν, για να αφαιρεθούν οι καθολικοί ποσοδείκτες θα πρέπει να μεταφερθούν στην αρχή της φόρμουλας.

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

x.Director(x).  (21)

Η έκφραση (21) δηλώνει ότι στον κόσμο υπάρχει τουλάχιστον ένα αντικείμενο που είναι Director. Ένα τέχνασμα είναι να το ονομάσουμε με μια νέα σταθερά. Στο αντικείμενο αυτό δεν αποκλείεται φυσικά να αναφέρεται και κάποια άλλη σταθερά της γνώσης, αλλά αυτό δεν δημιουργεί κάποιο πρόβλημα. Έτσι, η έκφραση (21) θα μπορούσε να πάρει τη μορφή

Director(c),  (22)

όπου c είναι μια συγκεκριμένη σταθερά, που ονομάζεται σταθερά Skolem (Skolem constant), από τον μαθηματικό που επινόησε την ιδέα αυτή. Αν εφαρμόσουμε την τεχνική αυτή στην έκφραση

x.∃y.Movie(x)⇒(hasDirector(x, y)∧Director(y))  (23)

εισάγοντας την σταθερά c, η έκφραση (23) γίνεται:

x.Movie(x)⇒(hasDirector(x, c)∧Director(c)).  (24)

Παρατηρούμε ότι οι εκφράσεις (23) και (24) δεν φαίνεται να έχουν το ίδιο φυσικό νόημα. Πράγματι, η έκφραση (23) σημαίνει ότι κάθε ταινία έχει σκηνοθετηθεί από κάποιον σκηνοθέτη (όχι απαραίτητα όλες οι ταινίες από τον ίδιο), ενώ η έκφραση (24) σημαίνει ότι κάθε ταινία έχει σκηνοθετηθεί από τον σκηνοθέτη c. Το πρόβλημα προκύπτει διότι στην έκφραση (23) ο υπαρξιακός ποσοδείκτης βρίσκεται στην εμβέλεια του καθολικού, με αποτέλεσμα να υπάρχει εξάρτηση μεταξύ της μεταβλητής y και της μεταβλητής x, η οποία χάνεται με την εισαγωγή της σταθεράς.

Ένα αντίστοιχο τέχνασμα που θα μπορούσε να εφαρμοστεί στην περίπτωση αυτή είναι η αντικατάσταση της μεταβλητής y του υπαρξιακού ποσοδείκτη, όχι απλά από μια σταθερά c αλλά από μια συνάρτηση f(x) (όπου f ένα νέο συναρτησιακό σύμβολο), που να αποτυπώνει την εξάρτηση της y από τη x. Η συνάρτηση αυτή ονομάζεται συνάρτηση Skolem (Skolem function). Φυσικά, αν κάποιος υπαρξιακός ποσοδείκτης βρίσκεται στην εμβέλεια περισσότερων του ενός καθολικών, τότε η συνάρτηση θα είναι τάξης μεγαλύτερης από ένα, αποτυπώνοντας όλες τις εξαρτήσεις. Η διαδικασία αφαίρεσης των υπαρξιακών ποσοδεικτών που περιγράψαμε παραπάνω καλείται skolemisation.

Στον Πίνακα (3) περιγράφεται μια διαδικασία μετατροπής μιας φόρμουλας σε ΚΣΜ. Είναι, γενικά, παρόμοια με την αντίστοιχη διαδικασία μετατροπής μιας πρότασης (προτασιακής λογικής) σε ΚΣΜ, αλλά κάποια από τα βήματα επεκτείνονται, ενώ εισάγονται και κάποια επιπλέον. Συγκεκριμένα, στο Βήμα 2 χρησιμοποιούνται δύο νέες σχέσεις για τη μετακίνηση της άρνησης στο εσωτερικό, όταν βρίσκεται μπροστά από ποσοδείκτη. Επίσης, τα Βήματα 3, 4 και 5 οδηγούν στη διαγραφή όλων των ποσοδεικτών. Τέλος, παρατηρούμε ότι τα Βήματα 1, 6 και 7 είναι όμοια με τα αντίστοιχα της προτασιακής λογικής, απλώς γενικεύονται για να εφαρμόζονται σε φόρμουλες και όχι απλά σε προτάσεις.

Παράδειγμα: Θα περιγράψουμε τη μετατροπή σε ΚΣΜ, με βάση τη διαδικασία που περιγράφηκε παραπάνω, του αξιώματος A11 της γνώσης 𝒦 του παραδείγματος (8), δηλαδή της φόρμουλας

x.∃y.Movie(x)⇒(hasDirector(x, y)∧Director(y)).  (25)

Στο Βήμα 1 της διαδικασίας, η (25) γίνεται:

x.∃y.¬Movie(x)∨(hasDirector(x, y)∧Director(y)).  (26)

Τα Βήματα 2 και 3 δεν μεταβάλλουν τη φόρμουλα (26), ενώ στο Βήμα 4 η φόρμουλα μετατρέπεται στην

x.¬Movie(x)∨(hasDirector(x, f(x)) ∧ Director(f(x))),  (27)

όπου f είναι μια συνάρτηση Skolem τάξης 1, που εισάγεται διότι ο υπαρξιακός ποσοδείκτης που αναφέρεται στο y είναι δεσμευμένος από τον καθολικό ποσοδείκτη που αναφέρεται στο x.

Στη συνέχεια, στο Βήμα 5 απλά σβήνεται ο καθολικός ποσοδείκτης, αφού βρίσκεται στην αρχή της φόρμουλας, και επομένως η (27) γίνεται:

¬Movie(x)∨(hasDirector(x, f(x)) ∧ Director(f(x)))  (28)

και τέλος, στο Βήμα 6, η (28) γίνεται:

(¬Movie(x)∨hasDirector(x, f(x)))∧(¬Movie(x)∨Director(f(x))).  (29)

Το Βήμα 7 δεν εφαρμόζεται και η (29) γράφεται απλούστερα ως εξής:

{[¬Movie(x),hasDirector(x, f(x))],[¬Movie(x),Director(f(x))]}.  (30)

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

Πίνακας (3): Διαδικασία μετατροπής σε ΚΣΜ.
ΒΗΜΑ 1   Αντικατάστησε τις συναπαγωγές χρησιμοποιώντας τη σχέση
  (p ⇒ q)≡(¬p ∨ q).
ΒΗΜΑ 2   Μετακίνησε την άρνηση μπροστά από ατομικές προτάσεις εφαρμόζοντας επαναληπτικά τις σχέσεις
  ¬(p ∧ q)≡(¬p ∨ ¬q),
  ¬(p ∨ q)≡(¬p ∧ ¬q),
  ¬(∀x.q)≡(¬∃xq),
  ¬(∃x.q)≡(¬∀xq),
  (¬¬p)≡p.
ΒΗΜΑ 3   Δώσε μοναδικά ονόματα σε όλες τις μεταβλητές που εμφανίζονται στη φόρμουλα.
ΒΗΜΑ 4   Αφαίρεσε όλους τους υπαρξιακούς ποσοδείκτες, εισάγοντας μοναδικές σταθερές ή συναρτήσεις Skolem (διαδικασία skolemisation).
ΒΗΜΑ 5   Μετακίνησε τους καθολικούς ποσοδείκτες εκτός του πεδίου των και , εφαρμόζοντας επαναληπτικά τις σχέσεις
  (p ∧ (∀x.q)) ≡ ((∀x.q)∧p)≡(∀x.(p ∧ q)),
  (p ∨ (∀x.q)) ≡ ((∀x.q)∨p)≡(∀x.(p ∨ q))
και στη συνέχεια διέγραψέ τους.
ΒΗΜΑ 6   Επιμέρισε τις διαζεύξεις με βάση τις σχέσεις
  (p ∨ (q ∧ r)) ≡ ((q ∧ r)∨p)≡((p ∨ q)∧(p ∨ r)).
ΒΗΜΑ 7   Απλοποίησε με βάση τις σχέσεις
  (p ∨ p)≡p,
  (p ∧ p)≡p.

Ορισμός (19): Έστω 𝒦 μια βάση γνώσης. Θα καλούμε αντικατάσταση μεταβλητών (variable substitution) κάθε απεικόνιση από μεταβλητές της 𝒦 σε όρους που σχηματίζονται από το sig(𝒦).

Έστω p μια φόρμουλα της 𝒦, με var(p)={x1, ..., xn}, και β μια αντικατάσταση μεταβλητών της p (αντικατάσταση μεταβλητών της p) που ορίζεται ως εξής:

β : x1 → t1, ..., xn → tn.

Θα συμβολίζουμε με p/β τη φόρμουλα που προκύπτει από την p αν αντικαταστήσουμε κάθε μεταβλητή της xi με τον αντίστοιχο όρο ti = β(xi), i ∈ ℕn.

Παράδειγμα: Έστω οι φόρμουλες

[p(x, f(x)), q(y)]

και

[p(c, z),q(d)].

Για την αντικατάσταση μεταβλητών

β : x → c, z → f(c),y → d,

οι φόρμουλες ταυτίζονται και μετατρέπονται στην

[p(c, f(c)), q(d)].

Ορισμός (20): Έστω p και q δύο φόρμουλες. Θα λέμε ότι οι p και q ενοποιούνται (unify) αν και μόνο αν υπάρχει αντικατάσταση μεταβλητών β, τέτοια ώστε

p/β ≡ q/β.

Στην περίπτωση αυτή η αντικατάσταση β λέγεται ενοποιητής (unifier) των p και q.

Παράδειγμα: Έστω οι φόρμουλες

[p(x, f(x))]  (31)

και

p(c, z),r(y)].  (32)

Για την αντικατάσταση μεταβλητών

β : x → c, z → f(c)

οι φόρμουλες μετατρέπονται στις

[p(c, f(c))]  (33)

και

p(c, f(c)), r(y)],   (34)

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

[r(y)].  (35)

Δεν είναι δύσκολο να δούμε ότι η φόρμουλα (35) είναι λογικό συμπέρασμα των (33) και (34).

Έστω δύο φόρμουλες p και q που βρίσκονται σε ΚΣΜ και β μια αντικατάσταση μεταβλητών για την οποία η p/β περιέχει το λεκτικό λ, είναι δηλαδή της μορφής [p′,λ], και η q/β περιέχει το συμπλήρωμα του λ, είναι δηλαδή της μορφής [q′,!λ], όπου p και q δύο σύνολα λεκτικών (πιθανώς κενά). Στην περίπτωση αυτή δεν είναι δύσκολο να αποδειχθεί ότι η πρόταση r = [p′,q′] είναι λογικό συμπέρασμα των p και q. Αντίστοιχα με τον Ορισμό (6) για την προτασιακή λογική, στην περίπτωση αυτή θα λέμε ότι από τις φόρμουλες p και q συμπεραίνουμε την r, η οποία είναι αναλυθέν τους, και θα γράφουμε p, q ⊢ r.

Έστω 𝒦 μια γνώση και r μια πρόταση. Θα λέμε ότι η p είναι αναλυθέν της 𝒦, αν και μόνο αν υπάρχουν δύο αξιώματα της 𝒦 αναλυθέν των οποίων είναι η p. Επίσης, θα λέμε ότι η p παράγεται αναλυτικά από την 𝒦 και θα γράφουμε 𝒦 ⊢ p, αν υπάρχει μια ακολουθία αξιωμάτων p1, p2, ..., pn, με pn ≡ p, όπου όλα τα pi είναι είτε αξιώματα της 𝒦 είτε αναλυθέντα προηγούμενων αξιωμάτων της ακολουθίας.

Αλγόριθμος (4): FOL − RES(𝒦, p)

Είσοδος: Μια γνώση 𝒦 σε ΚΣΜ και μια φόρμουλα p σε ΚΣΜ με sig(p)⊆sig(𝒦).

𝒦′:=𝒦 ∪ {¬p}      (1)

𝒦 := 𝒦′

if υπάρχει q με 𝒦 ⊢ q, όπου q ∉ 𝒦      (2)

if q = [ ]      (3)

return YES

end if

𝒦′:=𝒦 ∪ {q}      (4)

end if

return NO      (5)

Ο Αλγόριθμος (4) εφαρμόζει τον κανόνα της ανάλυσης εξαντλητικά, όπως ακριβώς συμβαίνει και με τον Αλγόριθμο (3) για την προτασιακή λογική. Δέχεται στην είσοδό του μια γνώση 𝒦 και μια φόρμουλα p (και οι δύο σε ΚΣΜ) και απαντά YES αν 𝒦 ⊨ p ή NO αν 𝒦¬⊨p. Συνοπτικά, προσθέτει στη γνώση την ¬p, ελέγχει αν από την 𝒦 παράγεται με τον κανόνα της ανάλυσης κάποια νέα φόρμουλα q, την οποία και προσθέτει στην 𝒦 (γραμμή (2)). Αν η q είναι κενή (θεωρούμε ότι η γνώση δεν περιέχει την κενή φόρμουλα, δηλαδή δεν περιέχει από την αρχή προφανή αντίφαση), τότε ο αλγόριθμος τερματίζει επιστρέφοντας YES. Επαναλαμβάνει την ίδια διαδικασία μέχρι να μην μπορεί να προστεθεί νέα γνώση μέσω του κανόνα της ανάλυσης, οπότε επιστρέφει NO στη γραμμή (5).

Σε μια πρώτη ανάγνωση, ο Αλγόριθμος (4) φαίνεται αρχικά πανομοιότυπος με τον αντίστοιχο (για την προτασιακή λογική) Αλγόριθμο (3), έχει όμως σημαντικές διαφορές. Η κυριότερη βρίσκεται στη γραμμή (2), και πιο συγκεκριμένα στον τρόπο με τον οποίο υπολογίζεται η πρόταση q, η οποία υποβάλλεται σε έλεγχο για το αν είναι προφανής αντίφαση και, σε περίπτωση που δεν είναι, προστίθεται στην 𝒦. Στο σημείο αυτό εμπλέκεται μια αντικατάσταση μεταβλητών, με βάση την οποία γίνεται η εφαρμογή του κανόνα της ανάλυσης σε ένα λεκτικό της μιας φόρμουλας και του συμπληρωματικού του σε μια άλλη. Η αντικατάσταση αυτή μπορεί να εισαγάγει νέους όρους, οι οποίοι είναι γενικά δυνατόν να οδηγήσουν σε νέες εφαρμογές του κανόνα της ανάλυσης μεταξύ των ίδιων φορμουλών. Συνεπώς, δεν είναι καθόλου προφανές ότι ο αλγόριθμος θα τερματίσει, κι έτσι είναι αμφίβολη ακόμα και η αποτελεσματικότητά του, όχι μόνο η απόδοσή του.

Παράδειγμα: Στο παράδειγμα αυτό θα εφαρμόσουμε τον Αλγόριθμο (4) για να ελέγξουμε αν η φόρμουλα

FeatureFilm(movie35)  (36)

αποτελεί συμπέρασμα της γνώσης 𝒦 του παραδείγματος (8).

Για να εφαρμοστεί ο αλγόριθμος πρέπει να μετατρέψουμε σε ΚΣΜ τόσο τη γνώση όσο και τη φόρμουλα που θα υποβάλουμε σε έλεγχο για το αν αποτελεί συμπέρασμα της γνώσης. Η φόρμουλα (36) είναι ουσιαστικά σε ΚΣΜ και μπορεί να γραφεί ως εξής:

{[FeatureFilm(movie35)]}.  (37)

Επίσης, δεν είναι δύσκολο να δούμε ότι με βάση τη διαδικασία που περιγράφηκε παραπάνω η γνώση 𝒦 μπορεί να μετατραπεί σε ΚΣΜ με την εξής μορφή:

A1. [Comedy(movie35)],
A2. [hasDirector(movie35, woodyAllen)],
A3. [title(movie35)≈manhattan],
A4. [runningTime(movie35)≈96min],
A5. [Long(runningTime(movie35))],
A6. [¬Thriller(movie35)],
A7. [¬Comedy(x),Movie(x)],
A8. [¬Comedy(x),¬Thriller(x)],
A9. [¬hasDirector(x, woodyAllen),Comedy(x)],
A10. [¬Movie(x),¬Long(runningTime(x)), FeatureFilm(x)],
A11. {[¬Movie(x),hasDirector(x, f(x))],[¬Movie(x),Director(f(x))]}.  (38)

Με την εντολή της γραμμής (1) του αλγορίθμου προστίθεται στην παραπάνω γνώση 𝒦 η φόρμουλα

{[¬FeatureFilm(movie35)]}.  (39)

Στη συνέχεια εκτελείται ο έλεγχος της γραμμής (2) και επιλέγεται ως q το

{[Movie(movie35)]}  (40)

ως αναλυθέν των αξιωμάτων A1 και A7 της γνώσης (στην περίπτωση αυτή θα μπορούσαν να επιλεγούν και άλλα· χωρίς όμως βλάβη της γενικότητας επιλέγουμε τα συγκεκριμένα αξιώματα).

Επειδή η φόρμουλα δεν είναι αντίφαση (η κενή λίστα, στη συγκεκριμένη μορφή), η συνθήκη της γραμμής (3) δεν ισχύει, οπότε η φόρμουλα (40) προστίθεται στην 𝒦 (γραμμή (4)) και ο βρόχος εκτελείται ξανά από τη γραμμή (2), οπότε επιλέγεται η φόρμουλα

{[¬Movie(movie35),FeatureFilm(movie35)]},  (41)

η οποία προστίθεται, με αντίστοιχο τρόπο στη γνώση, ως αναλυθέν των A5 και A10. Με παρόμοια διαδικασία, προστίθεται η

{[FeatureFilm(movie35)]}  (42)

ως αναλυθέν των (40) και (41). Τέλος, προστίθεται, ως αναλυθέν των (39) και (42), η φόρμουλα

{[]},

δηλαδή η αντίφαση. Έτσι, η συνθήκη της γραμμής (3) ικανοποιείται και ο αλγόριθμος επιστρέφει YES. Συνεπώς, η φόρμουλα (37) είναι λογικό συμπέρασμα της γνώσης 𝒦.

Ανάλυση αλγορίθμων αυτόματης συλλογιστικής

Από τον ορισμό των ερμηνειών μιας γνώσης λογικής πρώτης τάξης είναι φανερό ότι μια γνώση είναι δυνατό να έχει άπειρες ερμηνείες, ίσως και άπειρα μοντέλα. Το γεγονός αυτό φαίνεται λογικό, δεδομένου ότι δεν περιορίζεται ο αριθμός των αντικειμένων του πεδίου της ερμηνείας, και επομένως —σε αντίθεση με την προτασιακή λογική, στο πλαίσιο της οποίας μπορούν να οριστούν μόνο δύο ερμηνείες για κάθε πρόταση (αληθής ή ψευδής)— για κάθε κατηγόρημα μπορεί να έχει δύο ερμηνείες, για κάθε διαφορετικό σύνολο αντικειμένων (ανάλογα με την τάξη του). Ένα επιπλέον ζήτημα που προκύπτει είναι αν μπορεί να υπάρχει κάποιο άπειρο μοντέλο ή, ακόμα περισσότερο, αν μια γνώση ΛΠΤ μπορεί να έχει μόνο άπειρα μοντέλα. Το ζήτημα αυτό είναι σημαντικό, καθώς είναι προφανές ότι αν μια γνώση έχει μόνο άπειρα μοντέλα, δυσκολεύει το πρόβλημα της ανάπτυξης συστημάτων αυτόματης συλλογιστικής που στηρίζονται στην κατασκευή μοντέλων.

Παράδειγμα (13): Έστω η γνώση

𝒦 = {A1 : ∀x.p(x)⇒∃y.p(y)∧r(x, y),A2 : p(c)}, 

η οποία έχει δύο αξιώματα. Το πρώτο (A1) δηλώνει ότι όλα τα x που έχουν την ιδιότητα p σχετίζονται μέσω της r με κάποιο y που είναι και αυτό p, ενώ το δεύτερο (A2) δηλώνει ότι υπάρχει κάποιο c το οποίο είναι p (ένα παράδειγμα τέτοιου αξιώματος είναι το «όποιος είναι άνθρωπος, έχει πατέρα κάποιον άνθρωπο»). Δεν είναι δύσκολο να δούμε ότι η ερμηνεία

Δ = {a},
c = {a},
p = {a},
r = {(a, a)}  (43)

είναι μοντέλο της γνώσης 𝒦. Αν όμως προσθέσουμε σε αυτή τα αξιώματα

A3: xr(x, a),
A4: x.∀y.∀z.r(y, x)∧r(z, x)⇒(y ≈ z),
η ερμηνεία (43) παύει να είναι μοντέλο, διότι δεν ικανοποιείται το αξίωμα A3.

Είναι ενδιαφέρον ότι η συγκεκριμένη γνώση δεν μπορεί να έχει πεπερασμένο μοντέλο. Πράγματι, έστω J = <Δ, ℐ> μια ερμηνεία της γνώσης με

Δ = {a1, a2, ..., an}

και έστω, χωρίς βλάβη της γενικότητας, ότι

c = {a1}.

Προφανώς, λόγω του αξιώματος A2, θα ισχύει ότι

a1 ∈ p

και συνεπώς, λόγω του αξιώματος A2, θα πρέπει να υπάρχει στοιχείο του Δ, διαφορετικό από το a1 λόγω του αξιώματος A3, έστω, χωρίς βλάβη της γενικότητας, το a2, τέτοιο ώστε

(a1, a2)∈r

και επιπλέον

a2 ∈ p.

Προφανώς, αφού a2 ∈ p λόγω του αξιώματος A2, θα υπάρχει κάποιο στοιχείο του Δ, διαφορετικό από το a2 λόγω του αξιώματος A3 και διαφορετικό του a1 λόγω του αξιώματος A4, έστω, χωρίς βλάβη της γενικότητας, το a3, τέτοιο ώστε

(a2, a3)∈r

και επιπλέον

a3 ∈ p.

Η διαδικασία συνεχίζεται μέχρι το an, για το οποίο όμως, λόγω των αξιωμάτων A3 και A4, δεν είναι δυνατόν να υπάρχει κάποιο στοιχείο του a ∈ Δ για το οποίο να ισχύει

(an, a)∈r.

Άρα δεν μπορεί να ισχύει το αξίωμα A3, και επομένως η J δεν είναι μοντέλο της γνώσης.

Στην περίπτωση αυτή, δεν είναι δύσκολο να δούμε ότι η ερμηνεία

Δ = {a1, a2, ...},
c = {a1},
p = {a1, a2, ...},
r = {(a, a1),(a1, a2),(a2, a3),...}  (44)

είναι μοντέλο της γνώσης. Συνεπώς, η παραπάνω γνώση, παρότι δεν έχει πεπερασμένο μοντέλο, έχει (τουλάχιστον ένα) άπειρο.

Το γεγονός ότι μια γνώση έχει μόνο άπειρο μοντέλο δεν συνεπάγεται απαραίτητα ότι αλγόριθμοι που στηρίζονται στην παραγωγή λογικών συμπερασμάτων (και τον έλεγχο αντιφάσεων) δεν θα τερματίζουν. Στη συνέχεια (Παράδειγμα (14)), θα αναλύσουμε την εκτέλεση του Αλγορίθμου (4) για τον έλεγχο της συνέπειας της γνώσης του Παραδείγματος (13).

Παράδειγμα (14): Έστω, αρχικά, η γνώση που αποτελείται από τα αξιώματα A1 και A2 του Παραδείγματος (13), η οποία γράφεται σε ΚΣΜ ως εξής:

𝒦 = {[¬p(x),p(f(x)], [¬p(x),r(x, f(x)], [p(c)]},

όπου f μια συνάρτηση Skolem που προκύπτει από τη διαγραφή του υπαρξιακού ποσοδείκτη.

Για τον έλεγχο της ασυνέπειας της γνώσης δεν απαιτείται να προσθέσουμε κάποιο αξίωμα· αρκεί να εκτελέσουμε τον Αλγόριθμο (4), παραλείποντας το βήμα (1).

Από την 1η και 3η διάζευξη της γνώσης και για την ανάθεση

θ : x/c,

προκύπτει το αναλυθέν

q1 : [p(f(c)], 

ενώ από τη 2η και την 3η διάζευξη προκύπτει το αναλυθέν

q2 : [r(c, f(c)].

Τα αναλυθέντα αυτά (χωρίς να έχει ιδιαίτερη σημασία η σειρά με την οποία παράγονται) προστίθενται στη γνώση. Στη συνέχεια, ο βρόχος (2) μπορεί να εκτελεστεί για την ανάθεση

θ : x/f(c)

που έχει ως αποτέλεσμα την πρόσθεση του αξιώματος

q3 : [p(f(f(c))].

Με παρόμοιο τρόπο, προστίθενται τα [p(f(f(f(c)))], [p(f(f(f(f(c))))], ... κλπ, χωρίς να προστίθεται η κενή πρόταση (δεν θα μπορούσε άλλωστε αφού η γνώση είναι συνεπής). Συνεπώς, ο έλεγχος (2) επιτυχγάνει πάντα, οδηγώντας στον ατέρμονο βρόχο και παράγοντας άπειρα συμπεράσματα. Οπότε, η διαδικασία δεν τερματίζει.

Δεν είναι δύσκολο να δούμε ότι παρόμοιο πρόβλημα παρατηρείται και στην περίπτωση της γνώσης του Παραδείγματος (13) που περιέχει και τα τέσσερα αξιώματα.

Παρατηρώντας προσεκτικά το Παράδειγμα (14), θα μπορούσε κάποιος να σκεφτεί ότι η επαναληπτική διαδικασία του βρόχου παρουσιάζει κάποιου είδους περιοδικότητα (προσθέτει τα ίδια αξιώματα για την εικόνα της συνάρτησης, την εικόνα της εικόνας της συνάρτησης κλπ.). Έτσι, θα μπορούσε να προστεθεί κάποιος επιπλέον έλεγχος (στον υπάρχοντα της γραμμής (2) του Αλγορίθμου (4)), ο οποίος πιθανώς να διαπιστώνει ότι η παραγωγή νέων αξιωμάτων δεν πρόκειται να οδηγήσει σε αντίφαση και να τερματίσει. Στην περίπτωση αυτή θα απαντήσει ότι η γνώση είναι συνεπής, επομένως πρέπει να είμαστε σίγουροι ότι δεν μπορεί να παραχθεί αντίφαση. Το ερώτημα είναι αν θα μπορούσε μια τέτοιου είδους τεχνική (που συνήθως αναφέρεται ως μπλοκάρισμα (blocking)) να διασφαλίσει τον τερματισμό του αλγορίθμου, χωρίς να επηρεάσει την ορθότητά του. Ας δούμε ένα παράδειγμα από το πεδίο της αριθμητικής, μέσω του οποίου θα διαπιστώσουμε ότι, δυστυχώς, κάτι τέτοιο δεν είναι δυνατό να γίνει.

Παράδειγμα (15): Έστω η συνάρτηση succ(x) που δίνει τον επόμενο φυσικό αριθμό του x (πρακτικά, θα μπορούσαμε να έχουμε τις εικόνες όλων των x υλοποιώντας προγραμματιστικά την απλή πράξη succ(x)=x + 1). Με βάση τη συνάρτηση succ, έχουμε την παρακάτω γνώση:

𝒦 = {∀x.∀y.LessThan(succ(x),y)⇒LessThan(x, y)},   (45)

η οποία δηλώνει ότι αν ο επόμενος του x είναι μικρότερος από τον y, τότε και ο x είναι μικρότερος από τον y (που προφανώς ισχύει).

Με βάση την παραπάνω γνώση, θέλουμε να ελέγξουμε αν ισχύει το εξής:

LessThan(1, 10).  (46)

Να σημειώσουμε ότι ενώ (διαισθητικά) γνωρίζουμε ότι το 1 είναι μικρότερο από το 10, συνεπώς το παραπάνω ισχύει, με βάση τη γνώση που έχουμε δεν ισχύει. Και φυσικά, δεν υπάρχει κάποιος άλλος τρόπος για να το αποδείξουμε με τον αλγόριθμο της ανάλυσης, από το να χρησιμοποιήσουμε το αξίωμα (45). Εισάγοντας την άρνηση της (46) στη γνώση και μετασχηματίζοντας σε κανονική μορφή, έχουμε:

𝒦 = {[¬LessThan(succ(x),y),LessThan(x, y)], [¬LessThan(1, 10)]}.  (47)

O αλγόριθμος, από την 1η και την 3η διάζευξη για τον ενοποιητή

x/1, y/10,

παράγει το

[¬LessThan(2, 10)],   (48)

το οποίο αναλύεται με την 1η διάζευξη μέσω του ενοποιητή

x/2, y/10

και παράγεται το

[¬LessThan(3, 10)].  (49)

Είναι προφανές ότι η διαδικασία συνεχίζεται επ’ άπειρον, παράγοντας τα λογικά συμπεράσματα

[¬LessThan(4, 10)], ..., [¬LessThan(10, 10)], [¬LessThan(11, 10)], ...  (50)

Συνεπώς, ο αλγόριθμος δεν τερματίζει (εφόσον δεν υπάρχει αντίφαση).

Το ερώτημα είναι αν μπορούμε να σταματήσουμε στην περίπτωση αυτή την εκτέλεση του αλγορίθμου. Η απάντηση είναι όχι. Αν, για παράδειγμα, είχαμε επιπλέον στη γνώση μας το αξίωμα

LessThan(9, 10),  (51)

τότε το αξίωμα θα μπορούσε να αποδειχθεί (θα υπήρχε αντίφαση όταν θα παραγόταν το συμπέρασμα ¬LessThan(9, 10)) και ο αλγόριθμος θα μπορούσε να σταματήσει σε κάποιο βήμα (θα σταματούσε σίγουρα;). Αυτό, όμως, δεν μπορούμε να το γνωρίζουμε από πριν, έτσι κάθε τεχνική μπλοκαρίσματος, θα οδηγούσε σε μη ορθό αλγόριθμο.

Δυστυχώς, έχει αποδειχθεί ότι το Παράδειγμα (15) είναι χαρακτηριστικό και αναδεικνύει ένα σημαντικό πρόβλημα από το οποίο υποφέρουν οι αλγόριθμοι αυτόματης συλλογιστικής για την ΛΠΤ: δεν μπορεί να κατασκευαστεί ορθός και πλήρης αλγόριθμος για το πρόβλημα του ελέγχου της συνέπειας μιας βάσης γνώσης ΛΠΤ. Πιο συγκεκριμένα, έχει αποδειχθεί ότι όταν μια γνώση είναι ασυνεπής (γεγονός φυσικά που δεν μπορούμε να γνωρίζουμε, αφού αυτό ελέγχουμε), τότε σε συγκεκριμένες περιπτώσεις (που δεν μπορούμε να γνωρίζουμε), οποιοσδήποτε αλγόριθμος αυτόματης συλλογιστικής δεν θα τερμάτιζε. Αντίθετα, μπορούν να κατασκευαστούν αλγόριθμοι που να τερματίζουν όταν η γνώση είναι συνεπής. Για αυτόν τον λόγο, λέγεται ότι η ΛΠΤ είναι ημι-αποφάνσιμη (semi-decidable).

Ο Αλγόριθμος (4), με αρκετές βελτιώσεις που έχουν προταθεί στη βιβλιογραφία, αποτελεί ένας από τους καλύτερους αλγόριθμους συλλογιστικής για την ΛΠΤ, υποφέροντας φυσικά από το πρόβλημα του πιθανού μη τερματισμού. Για τον σκοπό αυτό έχουν προταθεί πολλοί ακόμα αλγόριθμοι, όπως είναι μια επέκταση του αλγόριθμου SAT που μελετήθηκε στο πλαίσιο της προτασιακής λογικής (Αλγόριθμος (1)). Όλοι, όμως, οι αλγόριθμοι αυτοί (όπως και ο αλγόριθμος της ανάλυσης) υποφέρουν από το πρόβλημα που παρατηρήσαμε στα προηγούμενα παραδείγματα και οφείλεται κυρίως στον απειρισμό των όρων που μπορούν να χρησιμοποιηθούν από τη γλώσσα για την αναφορά στα άτομα του κόσμου. Το συγκεκριμένο πρόβλημα έχει μελετηθεί αναλυτικά στη βιβλιογραφία και έχει αποδειχθεί ότι είναι πολύ δύσκολο να μειωθεί κάπως η εκφραστικότητα της ΛΠΤ, ώστε να αποφευχθεί.

Η αιτία του απειρισμού των αναφορών έχει αποδειχθεί ότι οφείλεται στον αναδρομικό ορισμό των όρων. Πράγματι, αρκεί μια σταθερά και μια συνάρτηση για να απειριστούν οι όροι. Έστω c μια σταθερά και f μια συνάρτηση. Τότε, οι όροι που μπορούν να διατυπωθούν (χωρίς τη χρήση μεταβλητών) είναι οι

c, f(c),f(f(c)), f(f(f(c))),...  (52)

Το σύνολο των όρων αυτών (των όρων δηλαδή χωρίς μεταβλητές) καλείται βάση Herbrand (Herbrand base), από το όνομα του ερευνητή που πρώτος μελέτησε το συγκεκριμένο θέμα. Ο απειρισμός της βάσης Herbrand, μέσω των συναρτήσεων, είναι άμεσα συνυφασμένος με την πλούσια εκφραστικότητα της ΛΠΤ, η οποία στηρίζεται στις αναφορές στα αντικείμενα του κόσμου μέσω των όρων. Αξίζει στο σημείο αυτό να παρατηρήσουμε ότι ακόμα και γνώσεις στην υπογραφή των οποίων δεν υπάρχουν συναρτήσεις, μπορούν να εμπλουτιστούν με συναρτήσεις μέσω της διαδικασίας απαλοιφής των υπαρξιακών ποσοδεικτών κατά την απαραίτητη διαδικασία μετατροπής των αξιωμάτων σε ΚΣΜ.

Παράδειγμα (16): Έστω η γνώση 𝒦 = {A1, A2, A3, A4}, με

A1: Comedy(movieA),
A2: ¬Comedy(movieC),
A3: UserRelated(movieA, movieB),
A4: UserRelated(movieB, movieC),  (53)

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

x.∃y.Comedy(x)∧¬Comedy(y)∧UserRelated(x, y).  (54)

Τα παραπάνω αξιώματα δηλώνουν ότι το movieA είναι κωμωδία, ενώ το movieC δεν είναι κωμωδία, και επίσης ότι, με βάση τις προτιμήσεις των χρηστών (αυτή είναι η φυσική ερμηνεία του κατηγορήματος UserRelated), από το movieA μπορεί να συσταθεί το movieΒ και από το movieΒ το movieC. Ζητείται να αποδείξουμε ότι με βάση τη γνώση 𝒦 υπάρχει κάποια ταινία που είναι κωμωδία και από την οποία μπορούμε να συστήσουμε μια ταινία που δεν είναι κωμωδία.

Από μια πρώτη ανάγνωση της γνώσης 𝒦, το αξίωμα (54) φαίνεται να μην ισχύει, διότι ενώ οι μόνες ταινίες που ρητά σχετίζονται είναι οι

(movieA, movieB),(movieB, movieC),

δεν ισχύει για κανένα από τα δύο ζευγάρια ότι η πρώτη είναι κωμωδία και η δεύτερη δεν είναι κωμωδία.

Για να προχωρήσουμε στη χρήση του Αλγορίθμου (4) μετασχηματίζουμε τη γνώση σε ΚΣΜ, προσθέτοντας και την άρνηση της (54). Έτσι, έχουμε:

𝒦′={ [Comedy(movieA)], [¬Comedy(movieC)],
[UserRelated(movieA, movieB)], [UserRelated(movieB, movieC)],
[¬Comedy(x),Comedy(y),¬UserRelated(x, y)]}.

Από την 4η και την 5η διάζευξη, για τον ενοποιητή

x/movieB, y/movieC,

παράγουμε το συμπέρασμα

[¬Comedy(movieB),Comedy(movieC)],   (55)

ενώ από 3η και την 5η διάζευξη, για τον ενοποιητή

x/movieA, y/movieB,

παράγουμε το συμπέρασμα

[¬Comedy(movieA),Comedy(movieB)].  (56)

Στη συνέχεια, από τη 2η σύζευξη και την (55), παράγουμε το

[¬Comedy(movieΒ)]  (57)

ενώ, αντίστοιχα, από την 1η διάζευξη και την (56), παράγουμε το

[Comedy(movieΒ)]  (58)

Τέλος, από τα (57) και (58) παράγουμε την αντίφαση.

Επομένως, αποδείξαμε ότι η (54) ισχύει! Το γεγονός αυτό έρχεται σε αντίθεση με αυτό που συμπεράναμε σε πρώτη ανάγνωση. Πράγματι, αν σκεφτούμε καλύτερα φαίνεται σωστό, διότι το movieΒ ή θα είναι κωμωδία ή δεν θα είναι κωμωδία. Αν είναι, τότε η (54) ισχύει για τα movieΒ και movieC, ενώ αν δεν είναι ισχύει για τα movieA και movieB, δηλαδή ισχύει σε κάθε περίπτωση.

Το Παράδειγμα (16) είναι χαρακτηριστικό, διότι αναδεικνύει τη σημαντική αξία, αλλά και την υπολογιστική πολυπλοκότητα της αυτόματης συλλογιστικής. Εφόσον κάθε γεγονός ή θα ισχύει ή δεν θα ισχύει, μπορούμε να προχωρήσουμε υποθετικά τη συλλογιστική, ακόμα και για τα γεγονότα την αλήθεια των οποίων δεν γνωρίζουμε (εξετάζοντας και τις δύο περιπτώσεις), κι έτσι να οδηγηθούμε πιθανώς σε άλλα γεγονότα τα οποία ισχύουν σε κάθε περίπτωση. Προφανώς, με τον τρόπο αυτό θα ελέγξουμε συνδυαστικά πολλά ενδεχόμενα (αυτή είναι και μια σημαντική πηγή πολυπλοκότητας), αλλά ενδεχομένως να καταλήξουμε σε αδιαμφισβήτητα συμπεράσματα που δεν είναι καθόλου προφανή εκ πρώτης όψεως. Περιορίζοντας την εκφραστικότητα της γλώσσας αναπαράστασης γνώσης, ελέγχουμε την υπολογιστική πολυπλοκότητα της αυτόματης συλλογιστικής, περιορίζουμε όμως ταυτόχρονα την αναπαριστασιμότητα του φορμαλισμού και την αξία των συμπερασμάτων που εξάγονται (ανάλογα φυσικά και με τη γνώση που έχει αναπαρασταθεί).

Βιβλιογραφικές σημειώσεις

Βιβλιογραφία

[1] H.B. Enderton. A mathematical introduction to logic. Academic Press, 1972.

[2] E. Mendelson. Introduction to Mathematical Logic, Fourth Edition. Discrete Mathematics and Its Applications. Taylor Francis, 1997.

[3] John W. Lloyd. Foundations of Logic Programming. Springer, 1988.

[4] R.J. Brachman and H.J. Levesque. Knowledge Representation and Reasoning. The Morgan Kaufmann Series in Artificial Intelligence Series. Morgan Kaufmann, 2004.

[5] Michael R. Genesereth and Nils J. Nilsson. Logical Foundations of Artificial Intelligence. Morgan Kaufmann, Los Altos, CA, 1987.

[6] M. Fitting. First-Order Logic and Automated Theorem Proving. Monographs in Computer Science. Springer New York, 2012.

[7] John Alan Robinson and Andrei Voronkov, editors. Handbook of Automated Reasoning (in 2 volumes). Elsevier and MIT Press, 2001.

[8] Carla P. Gomes, Henry Kautz, Ashish Sabharwal, Bart Selman. Satisfiability Solvers. In Frank Van Harmelen, Vladimir Lifschitz, Bruce Porter, Handbook of knowledge representation, pp. 89–134. Elsevier, 2008.

[9] Stephen Cook. The Complexity of Theorem-Proving Procedures. Proceedings of the 3rd Annual ACM Symposium on Theory of Computing, pp. 151–158, 1971.

[10] David Mitchell, Bart Selman, and Hector J. Levesque. Hard and easy distributions of SAT problems. In Proceedings of the Tenth National Conference on Artificial Intelligence, San Jose, CA, pages 459–465. AAAI Press, 1992.

[11] Rina Dechter. Constraint Processing. Morgan Kaufmann, San Francisco, 2003.

[12] Alexander Leitsch. The Resolution Calculus. Texts in Theoretical Computer Science. Springer-Verlag, Berlin, 1997.

[13] Leo Bachmair and Harald Ganzinger. Resolution Theorem Proving. In John Alan Robinson and Andrei Voronkov, editors. Handbook of Automated Reasoning (in 2 volumes), Elsevier and MIT Press, 2001.

[14] John Alan Robinson. A machine-oriented logic based on the Resolution principle. Journal of the Association for Computing Machinery, 12(1):23–41, 1965.

[15] Armin Haken. The intractability of Resolution. Theoretical Computer Science, 39:297–308, 1985.

Οντολογίες και περιγραφικές λογικές

Εισαγωγή

Σε πολλές περιπτώσεις είναι χρήσιμη η αναπαράσταση της γνώσης με τη μορφή κατηγοριών αντικειμένων. Ξεκινώντας από τον καθορισμό των αντικειμένων, μέσω της απόδοσης ονομάτων, είναι χρήσιμο να μελετήσουμε τις ιδιότητές τους και να περιγράψουμε τον τρόπο με τον οποίο σχετίζονται μεταξύ τους και καθορίζουν τα χαρακτηριστικά των αντικειμένων. Με τον τρόπο αυτό, είναι χρήσιμο η αναπαράσταση της γνώσης του πεδίου ενδιαφέροντος να κωδικοποιεί και να ενσωματώνει τις παρακάτω (διαισθητικές) σημασιολογικές παρατηρήσεις:

Περιγραφές που διατυπώνουν πληροφορίες αυτού του τύπου για ένα συγκεκριμένο πεδίο ονομάζονται συνήθως ορολογικές, ενώ οι αντίστοιχες γνώσεις που αναπτύσσονται ονομάζονται ορολογίες ή οντολογίες. Η σημασιολογική ερμηνεία και η λογική ανάλυση των οντολογιών, με βάση τις παραπάνω παρατηρήσεις, χρησιμοποιείται συνήθως για να μπορέσουμε να προσεγγίσουμε προβλήματα όπως το αν κάποια κατηγορία είναι γενικότερη από κάποια άλλη (π.χ. είναι συγγραφείς οι σεναριογράφοι;), αν κάποιο συγκεκριμένο αντικείμενο ανήκει σε μια κατηγορία (π.χ. είναι ο Woody Allen πολυβραβευμένος σκηνοθέτης;) κλπ. Δεν είναι δύσκολο να δούμε ότι η μοντελοποίηση του πεδίου ενδιαφέροντος που υιοθετείται κατά την οντολογική αναπαράσταση γνώσης είναι αντικειμενοστρεφής. Συγκεκριμένα, τα άτομα (απτά ή αφηρημένα αντικείμενα) αποτελούν τα βασικά στοιχεία του κόσμου. Οι ιδιότητές τους περιγράφονται με τη βοήθεια των κατηγοριών και των ταξινομήσεών τους σε αυτές, αλλά και των συσχετίσεων μεταξύ τους.

Στη βιβλιογραφία έχουν προταθεί και αναπτυχθεί αρκετοί αντικειμενοστρεφείς φορμαλισμοί αναπαράστασης γνώσης (όπως τα σημασιολογικά δίκτυα (semantic networks), τα πλαίσια (frames) κλπ.), οι περισσότεροι, όμως, από αυτούς δεν ενσωματώνουν στοιχεία της μαθηματικής λογικής για την τυπική μελέτη και ανάλυση των περιορισμών που διατυπώνονται. Συνεπώς, περιορίζονται στην τυπική αναπαράσταση της μοντελοποίησης του κόσμου, όχι απαραίτητα με στόχο την ανάπτυξη συστημάτων αυτόματης συλλογιστικής (για παράδειγμα, τόσο τα σημασιολογικά δίκτυα όσο και τα πλαίσια χρησιμοποιούνται ως φορμαλισμοί μοντελοποίησης συστημάτων λογισμικού κατά τη διαδικασία ανάπτυξης λογισμικού). Τα τελευταία χρόνια, ειδικά με την ανάπτυξη του Παγκόσμιου Ιστού, έχει καταγραφεί η ανάγκη για την ανάπτυξη φορμαλισμών αναπαράστασης, διαχείρισης και χρήσης οντολογικής γνώσης που να υποστηρίζονται από διαδικασίες αυτόματης συλλογιστικής οι οποίες να μπορούν να εφαρμοστούν σε πρακτικά προβλήματα. Στο πλαίσιο αυτό, έχουν προταθεί και μελετηθεί οι περιγραφικές λογικές (Description Logics), ένας τυπικός φορμαλισμός αναπαράστασης γνώσης με βάση τον οποίο οι μηχανικοί γνώσης αναπτύσσουν ορολογίες που υποστηρίζονται από αλγόριθμους συλλογιστικής με καλά υπολογιστικά χαρακτηριστικά.

Τυπικές ορολογικές περιγραφές

Περιγραφές ατόμων

Το πρώτο βήμα κατά την ανάπτυξη τυπικών ορολογικών περιγραφών είναι η ταυτοποίηση και θεμελίωση της αναφοράς στα άτομα (individuals), τα στοιχεία, δηλαδή, του κόσμου που περιγράφουμε.

Για τον σκοπό αυτό, αντιστοιχίζουμε τα άτομα σε συμβολοσειρές (ονόματα), οι οποίες αποτελούν συντακτικούς προσδιοριστές που δίνουν τη δυνατότητα τυπικής, μονοσήμαντης αναφοράς σε αυτά. Για να είναι, όμως, η αναφορά μονοσήμαντη (στοιχείο απαραίτητο στις τυπικές περιγραφές), κάθε όνομα πρέπει να αντιστοιχεί σε ένα μόνο άτομο. Αντιθέτως, τα άτομα δεν είναι απαραίτητο να έχουν μοναδικά ονόματα. Η δέσμευση για την ισχύ του συγκεκριμένου περιορισμού ονομάζεται υπόθεση μοναδικού ονόματος (unique name assumption, UNA). Η υπόθεση αυτή, αν και απλοποιεί αρκετά τη διαδικασία αναφοράς, σε πολλές περιπτώσεις είναι περιοριστική. Δεν είναι ρεαλιστικό, για παράδειγμα, να υποθέσουμε ότι στον Παγκόσμιο Ιστό θα υπάρχει μοναδικό όνομα (μοναδικός προσδιοριστής) για την Αθήνα, ο οποίος θα χρησιμοποιείται σε όλες τις αναφορές σε αυτή (για παράδειγμα σε όλες τις ιστοσελίδες του Παγκόσμιου Ιστού), ή ότι το όνομα woodyAllen και το όνομα allanStewartKoenigsberg (το πραγματικό όνομα του Woody Allen) αναφέρονται, υποχρεωτικά, σε διαφορετικά αντικείμενα του κόσμου.

Από την άλλη πλευρά, αν δεχθούμε ότι δεν ισχύει η υπόθεση μοναδικού ονόματος, είναι πολύ χρήσιμο να μπορούμε να δηλώσουμε ότι δύο ονόματα αναφέρονται στο ίδιο άτομο. Τυπικά, αυτό θα μπορούσε δηλωθεί με την έκφραση

woodyAllen ≈ allanStewartKoenigsberg,   (59)

η οποία ονομάζεται ισότητα ατόμων (individual equality).

Αντίστοιχα, θα ήταν χρήσιμο να μπορούμε να δηλώσουμε ότι τα άτομα στα οποία αναφέρονται τα ονόματα woodyAllen και francisFordCoppola είναι διαφορετικά (αν και είναι διαισθητικά προφανές). Τυπικά, χρησιμοποιούμε την έκφραση

woodyAllen¬≈francisFordCoppola,   (60)

η οποία ονομάζεται ανισότητα ατόμων (individual inequality).

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

Director(woodyAllen),  (61)

στην οποία το όνομα Director χρησιμοποιείται για τον καθορισμό της έννοιας (concept) σκηνοθέτης. Αυτό σημαίνει ότι το άτομο woodyAllen έχει όλα τα χαρακτηριστικά της έννοιας Director. Στη περίπτωση αυτή θα λέμε ότι το άτομο woodyAllen είναι στιγμιότυπο (instance) της έννοιας Director.

Με παρόμοιο τρόπο αναπαριστούμε τις σχέσεις που έχουν τα άτομα μεταξύ τους. Για παράδειγμα, δηλώνουμε τυπικά ότι το άτομο woodyAllen είναι σκηνοθέτης του ατόμου manhattan μέσω της έκφρασης

isDirector(woodyAllen, manhattan)  (62)

στην οποία το όνομα isDirector χρησιμοποιείται για τον καθορισμό της σχέσης (relation) είναι-σκηνοθέτης-του, όπου το πρώτο όρισμα είναι σκηνοθέτης του δεύτερου ορίσματος. Στις περιγραφικές λογικές (που αποτελούν τυπικό αντικειμενοστρεφές μοντέλο αναπαράστασης γνώσης) οι σχέσεις χρησιμοποιούνται για να περιγράψουν ιδιότητες των ατόμων που εμπλέκουν άλλα άτομα και είναι πάντα δυαδικές (έχουν δύο ορίσματα). Για αυτόν τον λόγο αναφέρονται και ως ρόλοι (roles).

Η περιγραφή των ατόμων μέσω δηλώσεων της μορφής (61) και (62) είναι παρόμοια με την αναπαράσταση που χρησιμοποιείται στις βάσεις δεδομένων. Μια προφανής διαφορά είναι ότι στην περίπτωση των περιγραφικών λογικών δηλώνεται ρητά (explicitly) και η σχέση των ονομάτων (μέσω των (59) και (60)). Από την άλλη πλευρά, στα σχεσιακά μοντέλα βάσεων δεδομένων μπορούν να αναπαρασταθούν σχέσεις με περισσότερα από δύο ορίσματα. Η σημαντικότερη όμως διαφορά τους προκύπτει από τη σημασιολογική ερμηνεία των δηλώσεων (61) και (62), και θα τη δούμε αναλυτικά στη συνέχεια, όταν θα περιγράψουμε την τυπική σημασιολογία (formal semantics) των περιγραφικών λογικών.

Περιγραφές κατηγοριών

Οι κατηγορίες στις οποίες ταξινομούνται τα άτομα ονοματίζονται με τη χρήση συμβολοσειρών (όπως είδαμε και προηγουμένως) και αντιστοιχούν σε μια συγκεκριμένη ιδιότητα, την οποία εξετάζουμε για να δούμε αν κάποιο άτομο είναι μέλος αυτής της κατηγορίας ή όχι. Η ιδιότητα αυτή μπορεί να είναι, διαισθητικά, από απλή έως και ιδιαίτερα περίπλοκη, ανάλογα με την έννοια που αντιστοιχεί στη συγκεκριμένη κατηγορία.

Επιπλέον, κάποιες από τις ιδιότητες αυτές μπορεί να σχετίζονται. Για παράδειγμα η ιδιότητα που καθορίζει την κατηγορία των δημιουργών και την αντίστοιχη έννοια Creator είναι γενικότερη από την ιδιότητα που καθορίζει την κατηγορία των σκηνοθετών, αφού όλοι οι σκηνοθέτες είναι δημιουργοί. Σε αυτή την περίπτωση, θα λέμε ότι η έννοια Director είναι υποέννοια της έννοιας Creator. Τυπικά, γράφουμε

Director ⊑ Creator,   (63)

υπονοώντας ότι κάθε άτομο το οποίο είναι Director είναι Creator. Στην περίπτωση αυτή, λέμε ότι η έννοια Director υπάγεται (subsumed) στην έννοια Creator.

Μπορούμε, επίσης, να δηλώσουμε ότι δύο έννοιες είναι ξένες μεταξύ τους, αν οι ιδιότητές τους καθορίζουν κατηγορίες ατόμων που είναι ξένες μεταξύ τους. Για παράδειγμα, οι έννοιες Director και Movie είναι ξένες μεταξύ τους, γιατί κανένα άτομο του κόσμου δεν μπορεί να είναι ταυτόχρονα σκηνοθέτης και ταινία. Τυπικά, δηλώνουμε ότι

Director ≠ Movie  (64)

και λέμε ότι οι έννοιες Director και Movie είναι ξένες (disjoint).

Δύο έννοιες είναι δυνατόν να ταυτίζονται, αν οι ιδιότητές τους καθορίζουν πάντα το ίδιο σύνολο ατόμων. Για παράδειγμα, οι έννοιες Film και Movie ταυτίζονται στο πεδίο του κινηματογράφου, διότι τα στιγμιότυπα των φιλμ είναι και ταινίες και αντίστροφα (οι λέξεις φιλμ και ταινία είναι συνώνυμες, διότι ιστορικά το υλικό καταγραφής της κινούμενης εικόνας στον κινηματογράφο ήταν το φιλμ —παρότι τα τελευταία χρόνια με τη χρήση των ψηφιακών μέσων αυτό δεν ισχύει πλέον, η ισοδυναμία αυτή έχει επικρατήσει). Η παραπάνω δήλωση γράφεται τυπικά ως εξής:

Movie ≡ Film.

Η ισοδυναμία εννοιών δεν περιορίζεται μόνο στα συνώνυμα. Για παράδειγμα, οι έννοιες Movie και ShortFilmOrFeatureFilm επίσης ταυτίζονται, γιατί διαισθητικά τα στιγμιότυπα των ταινιών είναι ταινίες μικρού μήκους ή ταινίες μεγάλου μήκους και αντίστροφα. Τυπικά, δηλώνουμε ότι

Movie ≡ ShortFilmOrFeatureFilm  (65)

και λέμε ότι οι έννοιες Movie και ShortFilmOrFeatureFilm είναι ισοδύναμες (equivalent).

Στη σχέση (65) παρατηρούμε ότι η έννοια ShortFilmOrFeatureFilm έχει ένα περίπλοκο όνομα, το οποίο ουσιαστικά υποδηλώνει ότι τα στιγμιότυπα της έννοιας είναι ταινίες μικρού μήκους ή ταινίες μεγάλου μήκους. Παρατηρούμε ότι, ενώ τα επίθετα που χρησιμοποιούνται στα ονόματα («μικρό» και «μεγάλο») χαρακτηρίζουν τη συγκεκριμένη περίπτωση, περιγράφοντας τις συγκεκριμένες ιδιότητες, το «ή» είναι ένας σύνδεσμος που χρησιμοποιείται με τον ίδιο τρόπο σε πολλά ονόματα· είναι ένας σύνδεσμος που η σημασιολογία του είναι λογική. Ένας τρόπος για να εμπλουτιστεί η γλώσσα αναπαράστασης είναι η χρήση τυπικών (λογικών) συνδέσμων για την περιγραφή της σχέσης που κρύβεται στη συμβολοσειρά του ονόματος.

Στην περίπτωση της (65), μπορούμε, πιο τυπικά, να δηλώσουμε ότι

Movie ≡ ShortFilm ⊔ FeatureFilm,   (66)

όπου το σύμβολο χρησιμοποιείται για να δηλώσει τη διάζευξη (disjunction) των εννοιών ShortFilm και FeatureFilm.

Σύμβολα αυτού του τύπου ονομάζονται κατασκευαστές (constructors) και συνδέουν τις ιδιότητες των κατηγοριών των ατόμων που περιγράφονται από τις επιμέρους έννοιες. Στη συνέχεια θα περιγράψουμε τους βασικούς κατασκευαστές που χρησιμοποιούνται στην ανάπτυξη ορολογιών.

Η σύζευξη (conjunction) δύο εννοιών προσδιορίζει την κατηγορία των ατόμων που έχουν τις ιδιότητες και των δύο εννοιών. Για παράδειγμα, μια ταινία μεγάλου μήκους αποτελεί ουσιαστικά μια ταινία με μεγάλη διάρκεια. Τυπικά, λέμε ότι η έννοια FeatureFilm είναι η σύζευξη της έννοιας Film και της έννοιας LongFilm (στο πεδίο του κινηματογράφου, ένα φιλμ λέγεται μακρύ, αν είναι μακρύτερο από 1600 μέτρα, δηλαδή αν η ταινία που αποθηκεύει είναι διάρκειας μεγαλύτερης από 40 λεπτά) και γράφουμε

FeatureFilm ≡ Film ⊓ LongFilm,   (67)

όπου είναι το σύμβολο της σύζευξης.

Η άρνηση (negation) μιας έννοιας προσδιορίζει την κατηγορία των ατόμων που δεν έχουν την ιδιότητα της έννοιας. Για παράδειγμα, μπορούμε να χρησιμοποιήσουμε την άρνηση για να δηλώσουμε ότι μια ταινία που δεν είναι μικρού μήκους είναι μεγάλου μήκους. Τυπικά, λέμε ότι η έννοια FeatureFilm είναι η σύζευξη της έννοιας Film και της άρνησης της έννοιας ShortFilm και γράφουμε

FeatureFilm ≡ Film ⊓ ¬ShortFilm,   (68)

όπου ¬ είναι το σύμβολο της σύζευξης.

Είναι σημαντικό να τονίσουμε ότι, αν ο ορισμός της έννοιας FeatureFilm δινόταν από τη σχέση

FeatureFilm ≡ ¬ShortFilm,

τότε ουσιαστικά θα δηλώναμε ότι κάθε άτομο του κόσμου που δεν είναι στιγμιότυπο της έννοιας ShortFilm (ακόμα και ο Woody Allen για παράδειγμα) είναι στιγμιότυπο της έννοιας FeatureFilm. Η σύζευξη με την έννοια Film στη σχέση (68) αποκλείει την παρερμηνεία αυτή.

Σε πολλές περιπτώσεις είναι χρήσιμο να ορίζουμε κατηγορίες ατόμων από τις σχέσεις τους με άλλα άτομα. Για παράδειγμα, μπορούμε να δηλώσουμε ότι ένα άτομο είναι στιγμιότυπο της έννοιας σκηνοθέτης αν έχει σκηνοθετήσει τουλάχιστον μία ταινία (σχετίζεται δηλαδή, κατά κάποιον τρόπο, με κάποιο άλλο άτομο του κόσμου). Τυπικά, ορίζουμε την έννοια Director από την ύπαρξη στιγμιοτύπου του ρόλου isDirector ως εξής:

Director ≡ ∃isDirector.Movie,   (69)

όπου είναι το σύμβολο του υπαρξιακού ποσοδείκτη (existential quantifier). Στην περίπτωση αυτή χρησιμοποιούμε την έννοια Movie για να προσδιορίσουμε με ακρίβεια ότι θα λέμε σκηνοθέτη μόνο όποιον έχει σκηνοθετήσει κάποια ταινία (αποφεύγοντας έτσι πιθανά λάθη στον ορισμό στιγμιοτύπων της σχέσης isDirector).

Παρόμοια χρησιμοποιείται ο καθολικός ποσοδείκτης (universal quantifier) για να δηλώσουμε ότι κάποια άτομα σχετίζονται μόνο με άτομα μιας συγκεκριμένης κατηγορίας, μέσω μιας συγκεκριμένης σχέσης. Για παράδειγμα, δηλώνουμε ότι τις ταινίες τις σκηνοθετούν σκηνοθέτες. Τυπικά, γράφουμε

Movie ⊑ ∀hasDirector.Director,   (70)

εννοώντας ότι αν τα στιγμιότυπα της έννοιας Movie συνδέονται με κάποιο άτομο μέσω της σχέσης hasDirector, το άτομο αυτό θα είναι στιγμιότυπο της έννοιας Director.

Δηλώσεις της μορφής (69) περιγράφουν κατηγορίες ατόμων τα οποία σχετίζονται τουλάχιστον με ένα άτομο, μέσω μιας συγκεκριμένης σχέσης. Σε ορισμένες περιπτώσεις είναι χρήσιμο να προσδιορίσουμε με μεγαλύτερη ακρίβεια τον αριθμό των ατόμων με τα οποία σχετίζονται τα άτομα αυτά. Για παράδειγμα, μπορούμε να ορίσουμε τους πολυβραβευμένους σκηνοθέτες ως τους σκηνοθέτες εκείνους που έχουν βραβευθεί περισσότερες από δύο φορές. Τυπικά, δηλώνουμε ότι

MultiAwardWinning ≡ ≥3hasAward,   (71)

όπου με συμβολίζουμε τον περιορισμό ελάχιστης πληθικότητας (least number restriction). Τονίζουμε ότι το όνομα

≥3hasAward

αναφέρεται σε μια έννοια, συγκεκριμένα στην έννοια εκείνη όλα τα στιγμιότυπα της οποίας σχετίζονται μέσω του ρόλου hasAward με τουλάχιστον 3 διαφορετικά άτομα.

Αντίστοιχα ορίζεται ο περιορισμός μέγιστης πληθικότητας (greatest number restriction) μέσω του συμβόλου . Στη σχέση (71) παρατηρούμε ότι προσδιορίζεται ο αριθμός των βραβείων ενός σκηνοθέτη, χωρίς να καθορίζεται η κατηγορία στην οποία ανήκουν τα βραβεία αυτά. Θα μπορούσαμε να προσδιορίσουμε (όπως και στη σχέση (69)) ότι τα βραβεία που θα μετρήσουμε είναι σημαντικά. Αυτό μπορεί να δηλωθεί ως εξής:

MultiAwardWinning ≡ ≥3hasAward.MajorAward,   (72)

όπου με την έννοια MajorAward αναφερόμαστε στα σημαντικά βραβεία. Στην περίπτωση αυτή θα λέμε ότι έχουμε έναν περιορισμό ελάχιστης πληθικότητας με εξειδίκευση (qualified number restriction). Αντίστοιχα ορίζεται και ο περιορισμός μέγιστης πληθικότητας με εξειδίκευση.

Στη δήλωση (70) παρατηρούμε ότι περιορίζουμε την ιδιότητα της σχέσης hasDirector να λαμβάνει τιμές από την κατηγορία που ορίζει η έννοια Director μόνο για τα στιγμιότυπα της έννοιας Movie, ενώ κάτι τέτοιο ισχύει για όλα τα άτομα του κόσμου που ανήκουν στο πεδίο της hasDirector (για παράδειγμα τις τηλεοπτικές εκπομπές, τις θεατρικές παραστάσεις, κλπ.). Για να το ορίσουμε αυτό, θα έπρεπε να αναφερθούμε σε όλα τα άτομα του κόσμου, δηλαδή να ορίσουμε μια έννοια που έχει στιγμιότυπα όλα τα άτομα του κόσμου, σε όλες τις ορολογίες. Η έννοια αυτή συμβολίζεται με τον τελεστή (την ονομάζουμε Top). Στο προηγούμενο παράδειγμα θα δηλώναμε ότι

⊤ ⊑ ∀hasDirector.Director.  (73)

Με αντίστοιχο τρόπο ορίζεται η έννοια που δεν μπορεί να έχει στιγμιότυπα σε κανέναν κόσμο, δηλαδή κανένα άτομο δεν μπορεί να ικανοποιεί την ιδιότητα ορισμού της κατηγορίας που ορίζουν. Τη συμβολίζουμε με τον τελεστή και την ονομάζουμε Bottom. Η έννοια αυτή θα μπορούσε για παράδειγμα να χρησιμοποιηθεί σε δηλώσεις του τύπου

FeatureFilm ⊓ ShortFilm ⊑ ⊥,   (74)

με την οποία δηλώνεται ότι αν ένα άτομο είναι στιγμιότυπο της έννοιας FeatureFilm και, ταυτόχρονα, στιγμιότυπο της έννοιας ShortFilm, τότε είναι και στιγμιότυπο της έννοιας Bottom, γεγονός αδύνατο.

Συνεπώς οι έννοιες FeatureFilm και ShortFilm δεν μπορούν να έχουν κοινό στιγμιότυπο, άρα οι κατηγορίες ατόμων που ορίζουν είναι ξένες μεταξύ τους. Η δήλωση αυτή θα μπορούσε να γίνει και ως εξής:

FeatureFilm ≠ ShortFilm.

Ολοκληρώνοντας τη μελέτη των κατασκευαστών εννοιών, θα δούμε μια ειδική κατηγορία ατόμων που ορίζεται από τα ίδια τα μέλη της. Έστω, για παράδειγμα, ότι θέλουμε να περιγράψουμε την προέλευση των ταινιών. Πιο συγκεκριμένα, ας ξεκινήσουμε από την ήπειρο προέλευσής τους. Είναι προφανές ότι τα μοναδικά στιγμιότυπα της έννοιας Continent είναι τα asia, africa, america, antarctica, europe και australia. Για να διασφαλίσουμε τον περιορισμό αυτό, μπορούμε να δηλώσουμε ότι

Continent ≡ {asia}⊔⋯⊔ {australia},  (75)

συμπεριλαμβάνοντας και τις έξι ηπείρους. Στην περίπτωση αυτή, με {asia} συμβολίζουμε την έννοια που έχει μόνο ένα στιγμιότυπο, το άτομο asia (αντίστοιχα και για τις υπόλοιπες ηπείρους). Η έννοια αυτή ονομάζεται ονοματική (nominal).

Δεν είναι δύσκολο να δούμε ότι η εκφραστική δυνατότητα που δίνεται από τη χρήση των ονοματικών εννοιών μπορεί να χρησιμοποιηθεί και για τον ορισμό ισχυρισμών εννοιών. Πράγματι, θα μπορούσαμε να πούμε ότι η δήλωση

{asia}⊑Continent

είναι ισοδύναμη με τον ισχυρισμό

Continent(asia).

Φυσικά, οι παραπάνω δεν αποτελούν το μόνο παράδειγμα εκφράσεων με το ίδιο νόημα (οι οποίες λέγονται και ταυτόσημες). Συνήθως, αντίστοιχα παραδείγματα προκύπτουν από τη συντακτική ισοδυναμία των εκφράσεων, την οποία θα μελετήσουμε τυπικά σε επόμενο κεφάλαιο, αφού οριστεί τυπικά η σημασιολογία των περιγραφικών λογικών.

Περιγραφές σχέσεων

Στην προηγούμενη παράγραφο είδαμε τον τρόπο με τον οποίο οι σχέσεις χρησιμοποιούνται για τον ορισμό των κατηγοριών ατόμων. Πολλές φορές είναι χρήσιμο να μπορούμε να δηλώσουμε περιορισμούς που αφορούν τις σχέσεις. Για παράδειγμα, παρατηρούμε ότι όποτε ένα άτομο σχετίζεται με κάποιο άλλο μέσω της σχέσης hasDirector, σχετίζεται με το ίδιο άτομο μέσω της hasCreator. Μπορούμε να δηλώσουμε τυπικά τον συγκεκριμένο περιορισμό, μέσω της εξής έκφρασης:

hasDirector ⊑ hasCreator.  (76)

Σε αυτήν την περίπτωση λέμε ότι ο ρόλος hasDirector είναι υπορόλος (subrole) του ρόλου hasCreator.

Επιπλέον, είναι χρήσιμο να εκφράζονται δηλώσεις στις οποίες αντιστρέφονται οι ρόλοι μιας σχέσης. Για παράδειγμα, όταν ένας σκηνοθέτης a έχει σκηνοθετήσει μια ταινία b, τότε η ταινία b έχει σκηνοθετηθεί από τον a. Η δήλωση αυτή μπορεί να γίνει τυπικά μέσω της έκφρασης

isDirector ⊑ hasDirector.  (77)

Χρησιμοποιούμε το σύμβολο ( ⋅ ) για να δηλώσουμε τη συσχέτιση των ρόλων hasDirector και isDirector, και λέμε ότι οι ρόλοι αυτοί είναι ανάστροφοι (inverse). Προφανώς, σε πολλές περιπτώσεις δεν είναι προφανές από τα ονόματα των ρόλων ότι είναι ανάστροφοι (όπως για παράδειγμα οι ρόλοι hasParent και hasChild).

Πιο περίπλοκες συσχετίσεις ορίζονται μεταξύ περισσότερων από δύο ρόλους. Για παράδειγμα, μπορούμε να δηλώσουμε ότι αν κάποιος σκηνοθέτης έχει σκηνοθετήσει μια ταινία στην οποία έχει παίξει κάποιος ηθοποιός, τότε ο σκηνοθέτης έχει συνεργαστεί με τον συγκεκριμένο ηθοποιό. Τυπικά:

isDirector ∘ hasActor ⊑ hasCollaboration,   (78)

όπου με το σύμβολο εκφράζουμε τη σύνθεση ρόλων (role composition).

Τέλος, είναι σημαντικό να μπορούμε να δηλώσουμε τις ιδιότητες που έχουν πολλές φορές οι σχέσεις. Για παράδειγμα, η σχέση hasPart είναι μεταβατική: αν μια ταινία έχει μέρος της μια σκηνή, που έχει μέρος της ένα πλάνο, τότε η ταινία έχει μέρος της το πλάνο. Η δήλωση αυτή γίνεται τυπικά ως εξής:

trans(hasPart),  (79)

όπου με το σύμβολο trans συμβολίζουμε τη μεταβατικότητα (transitivity). Παρόμοια ορίζονται και άλλες ιδιότητες, όπως η συμμετρικότητα (symmetry) (μέσω της οποίας μπορούμε να δηλώσουμε ότι τα άτομα σχετίζονται με μία συγκεκριμένη σχέση σε ζεύγη χωρίς να έχει σημασία η φορά), η ανακλαστικότητα (reflexivity) (μέσω της οποίας μπορούμε να δηλώσουμε ότι κάθε άτομο σχετίζεται με τον εαυτό του με τη συγκεκριμένη σχέση) κλπ.

Σύνταξη περιγραφικών λογικών

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

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

Τα μη λογικά σύμβολα που χρησιμοποιούνται στη σύνταξη μιας γνώσης προσδιορίζουν τις απλές αναφορές στα στοιχεία του κόσμου, δηλαδή στα άτομα, τις έννοιες (κατηγορίες ατόμων) και τους ρόλους (σχέσεις μεταξύ των ατόμων). Έστω IN, CN, RN ένα σύνολο ονομάτων για τα άτομα, τις έννοιες και τους ρόλους του κόσμου, αντίστοιχα. Κατά σύμβαση και για λόγους κατανόησης, θα χρησιμοποιούμε συμβολοσειρές που ξεκινούν με πεζό λατινικό γράμμα για τα ονόματα των ατόμων και των ρόλων, και συμβολοσειρές που ξεκινούν με κεφαλαίο γράμμα για τα ονόματα των εννοιών.

Ορισμός (21): Θα ονομάζουμε ισχυρισμό ισότητας ατόμων (individual equality assertion) κάθε δήλωση της μορφής

a ≈ b,   (80)

όπου a, b ∈ IN άτομα του κόσμου.

Παρόμοια, θα ονομάζουμε ισχυρισμό ανισότητας ατόμων (individual inequality assertion) κάθε δήλωση της μορφής

a¬≈b,   (81)

όπου a, b ∈ IN άτομα του κόσμου.

Θα ονομάζουμε ισχυρισμό έννοιας (concept assertion) κάθε δήλωση της μορφής

A(a),  (82)

όπου A ∈ CN ένα όνομα έννοιας και a ∈ IN ένα όνομα ατόμου του κόσμου. Στην περίπτωση αυτή θα λέμε ότι το a είναι στιγμιότυπο της έννοιας A.

Αντίστοιχα, θα ονομάζουμε ισχυρισμό ρόλου (role assertion) κάθε δήλωση της μορφής

r(a, b),  (83)

όπου r ∈ RN ένα όνομα ρόλου και a, b ∈ IN δύο ονόματα ατόμων του κόσμου. Στην περίπτωση αυτή θα λέμε ότι το ζεύγος (a, b) είναι στιγμιότυπο του ρόλου r.

Ένα σύνολο από ισχυρισμούς ισότητας ή ανισότητας στιγμιοτύπων, ισχυρισμούς εννοιών και ισχυρισμούς ρόλων ονομάζεται σώμα ισχυρισμών (assertion box, ABox). Το σύνολο των ονομάτων που χρησιμοποιούνται στους ισχυρισμούς ενός ABox 𝒜 ονομάζεται υπογραφή του ABox και συμβολίζεται με Sig(𝒜).

Παράδειγμα (17): Το σύνολο ισχυρισμών 𝒜 = {α1, α2, α3, α4, α5, α6, α7}, όπου

α1. Comedy(movie35),
α2. hasDirector(movie35, woodyAllen),
α3. hasTitle(movie35, manhattan),
α4. hasRunningTime(movie35, 96min),
α5. LongRunningTime(96min),
α6. woodyAllen ≈ allanStewartKoenigsberg,
α7. woodyAllen¬≈francisFordCoppola,   (84)

αποτελεί ένα σώμα ισχυρισμών με υπογραφή

Sig(𝒜)= {movie35, manhattan, 96min,
  woodyAllen, allanStewartKoenigsberg, francisFordCoppola,
  Comedy, LongRunningTime,
  hasDirector, hasRunningTime, hasTitle}.

Το αξίωμα α6 αποτελεί ισχυρισμό ισότητας ατόμων, το αξίωμα α7 ισχυρισμό ανισότητας ατόμων, τα αξιώματα α1 και α5 αποτελούν ισχυρισμούς εννοιών, ενώ τα α2, α3 και α4 αποτελούν ισχυρισμούς ρόλων.

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

Ορισμός (22): Κάθε όνομα ρόλου είναι μια ονοματική έκφραση (ή απλά έκφραση) ρόλου (role expression). Έστω r, s ονοματικές εκφράσεις ρόλων. Οι εκφράσεις

r,   (85)

r ∘ s  (86)

που ορίζονται αναδρομικά με τη βοήθεια των λογικών τελεστών και είναι ονοματικές εκφράσεις ρόλου. Επιπλέον, χρησιμοποιούμε το σύμβολο U για να ονομάσουμε τον καθολικό ρόλο (universal role), ο οποίος είναι ρόλος.

Θα καλούμε ατομική ονοματική έκφραση ρόλου (atomic role expression) κάθε όνομα του RN, ενώ κάθε άλλη ονοματική έκφραση ρόλου θα λέγεται σύνθετη (complex).

Θα καλούμε κατασκευαστή ανάστροφου ρόλου (inverse role constructor) τον λογικό τελεστή που ορίζεται από την (85), ενώ, αντίστοιχα, θα καλούμε κατασκευαστή σύνθεσης ρόλων (role composition constructor) τον λογικό τελεστή που ορίζεται από την (86).

Καταχρηστικά, πολλές φορές λέμε ατομικός ρόλος ή σύνθετος ρόλος για να αναφερθούμε στις ατομικές ή τις σύνθετες εκφράσεις ρόλου, αντίστοιχα, συγχέοντας, για λόγους απλότητας, τους ρόλους με τα ονόματά τους. Σε κάθε περίπτωση, δεν θα πρέπει να ξεχνάμε ότι πολλά διαφορετικά ονόματα, όπως και πολλές διαφορετικές ονοματικές εκφράσεις ρόλων, μπορούν, πιθανώς, να προσδιορίζουν τον ίδιο ρόλο.

Ορισμός (23): Κάθε όνομα έννοιας είναι μια ονοματική έκφραση (ή απλά έκφραση) έννοιας (concept expression). Έστω C, D ονοματικές εκφράσεις εννοιών, r ονοματική έκφραση ρόλου, a όνομα ατόμου και n φυσικός αριθμός. Ονοματικές εκφράσεις έννοιας είναι και οι εκφράσεις που ορίζονται, αναδρομικά, ως εξής:

¬C,   (87)

C ⊓ D,   (88)

C ⊔ D,   (89)

r.C,   (90)

r.C,   (91)

nr.C,   (92)

nr.C,   (93)

{a},  (94)

με τη βοήθεια των λογικών τελεστών ¬, , , , , n, n, {}. Επιπλέον, ορίζονται ως ονοματικές εκφράσεις εννοιών και οι (ή αλλιώς Top) και (ή αλλιώς Bottom), καθώς και η Self, η οποία όμως μπορεί να χρησιμοποιείται μόνο ως περιορισμός ενός υπαρξιακού ποσοδείκτη.

Θα καλούμε ατομική ονοματική έκφραση έννοιας (atomic concept expression) κάθε όνομα του CN, ενώ κάθε άλλη ονοματική έκφραση έννοιας θα λέγεται σύνθετη (complex).

Θα καλούμε κατασκευαστές εννοιών (concept constructors) τα λογικά σύμβολα που ορίζονται από τις (87)–(94), με ονόματα: άρνηση, τομή (conjunction), ένωση (disjunction), υπάρχει (existential), για κάθε (universal), αριθμητικός περιορισμός το-λιγότερο (at-least number restriction), αριθμητικός περιορισμός το-πολύ (at-most number restriction), ονοματική έννοια (αντίστοιχα) .

Όπως και στην περίπτωση των ρόλων, έτσι και στην περίπτωση των εννοιών, πολλές φορές χρησιμοποιούμε καταχρηστικά τον όρο ατομική έννοια ή σύνθετη έννοια για να αναφερθούμε στις ατομικές ή τις σύνθετες εκφράσεις εννοιών.

Ορισμός (24): Έστω IN, CN και RN ένα σύνολο ονομάτων ατόμων, εννοιών και ρόλων αντίστοιχα, και έστω C, D (πιθανώς σύνθετες) έννοιες που εμπλέκουν τα ονόματα των συνόλων αυτών.

Θα ονομάζουμε αξίωμα υπαγωγής εννοιών (concept subsumption axiom) κάθε δήλωση της μορφής

C ⊑ D.  (95)

Παρόμοια, θα ονομάζουμε αξίωμα ισοδυναμίας εννοιών (concept equivalence axiom) κάθε δήλωση της μορφής

C ≡ D.  (96)

Αντίστοιχα, θα ονομάζουμε αξίωμα υπαγωγής ρόλων (role subsumption axiom) κάθε δήλωση της μορφής

r ⊑ s.  (97)

Τέλος, θα ονομάζουμε αξίωμα ισοδυναμίας ρόλων (role equivalence axiom) κάθε δήλωση της μορφής

r ≡ s.  (98)

Θα καλούμε σώμα ορολογίας (terminological box, TBox) ή οντολογία (ontology) ένα σύνολο από αξιώματα υπαγωγής και ισοδυναμίας εννοιών και ρόλων. Το σύνολο των ονομάτων που χρησιμοποιούνται στα αξιώματα ενός TBox 𝒯 ονομάζεται υπογραφή του 𝒯 και συμβολίζεται με Sig(𝒯).

Παράδειγμα (18): Το σύνολο αξιωμάτων 𝒯 = {τ1, τ2, ..., τ14}, όπου

τ1. Director ⊑ Creator,
τ2. Movie ≡ Film,
τ3. Director ⊓ Movie ⊑ ⊥,
τ4. Movie ≡ ShortFilm ⊔ FeatureFilm,
τ5. FeatureFilm ≡ Film ⊓ LongFilm,
τ6. FeatureFilm ≡ Film ⊓ ¬ShortFilm,
τ7. Director ≡ ∃isDirector.Movie,
τ8. Movie ⊑ ∀hasDirector.Director,
τ9. MultiAwardWinning ≡ ≥3hasAward.MajorAward,
τ10. ⊤ ⊑ ∀hasDirector.Director,
τ11. hasDirector ⊑ hasCreator,
τ12. isDirector ≡ hasDirector,
τ13. hasCollaboration ⊑ isDirector ∘ hasActor,
τ14. hasPart ∘ hasPart ⊑ hasPart  (99)

αποτελεί ένα σώμα ορολογίας με υπογραφή

Sig(𝒯)= {Director, Creator, Movie, Film, ShortFilm, FeatureFilm,
  LongFilm, MultiAwardWinning, MajorAward,
  isDirector, hasDirector, hasAward, hasCreator,
  hasCollaboration, hasActor, hasRunningTime, hasPart}.

Τα αξιώματα τ1, τ3, τ8 και τ10 αποτελούν αξιώματα υπαγωγής εννοιών, τα αξιώματα τ2, τ4τ7 και τ9 αποτελούν αξιώματα ισοδυναμίας εννοιών, τα τ11, τ13, τ14 αποτελούν αξιώματα υπαγωγής ρόλων, ενώ το τ12 αποτελεί αξίωμα ισοδυναμίας ρόλων.

Ορισμός (25): Έστω IN, CN και RN ένα σύνολο ονομάτων ατόμων, εννοιών και ρόλων, αντίστοιχα. Θα ονομάζουμε βάση γνώσης ή απλά γνώση 𝒦 μια δυάδα 𝒦 = ⟨𝒯,𝒜⟩, όπου 𝒯 ένα σώμα ορολογίας και 𝒜 ένα σώμα ισχυρισμών, με Sig(𝒯),Sig(𝒜)⊆IN ∪ CN ∪ RN. Θα ονομάζουμε υπογραφή, Sig(𝒦), της 𝒦 το σύνολο Sig(𝒯)∪Sig(𝒜).

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

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

Στο πλαίσιο αυτό έχουν μελετηθεί οικογένειες περιγραφικών λογικών που χρησιμοποιούν υποσύνολα κατασκευαστών εννοιών και ρόλων, διασφαλίζοντας τη δυνατότητα ανάπτυξης συστημάτων αυτόματης συλλογιστικής με επιθυμητά υπολογιστικά χαρακτηριστικά. Για τον σκοπό αυτό και για την απλοποίηση της αναφοράς, οι κατασκευαστές συμβολίζονται με απλούστερο τρόπο, ονοματίζοντας αντίστοιχα τις περιγραφικές λογικές στις οποίες χρησιμοποιούνται. Συγκεκριμένα, από τους κατασκευαστές εννοιών, η ένωση συμβολίζεται με 𝒰, η άρνηση με 𝒞 (από το complement), το υπάρχει με (από το exists), το για κάθε με (από το for-all), οι περιορισμοί πληθικότητας με 𝒩 (από το number restriction), ενώ αν περιορίζονται και τα συσχετιζόμενα άτομα συμβολίζονται με 𝒬 (από το qualified number restriction), και οι ονοματικές έννοιες με 𝒪 (από το one-of). Για τη σύζευξη δεν υπάρχει κάποιο ιδιαίτερο όνομα, γιατί συνήθως δεν αυξάνει την πολυπλοκότητα, οπότε θεωρούμε ότι χρησιμοποιείται σε όλες τις περιγραφικές λογικές. Αντίστοιχα, για τους κατασκευαστές ρόλων, ο κατασκευαστής ανάστροφου ρόλου συμβολίζεται με και ο κατασκευαστής σύνθεσης ρόλων με , ενώ αν εκτός από αξιώματα υπαγωγής εννοιών μπορούμε να ορίσουμε και αξιώματα υπαγωγής ρόλων (τα οποία καλούνται επίσης και αξιώματα ιεραρχίας ρόλων) προσθέτουμε στο όνομα της γλώσσας το σύμβολο .

Με βάση τα παραπάνω έχουν οριστεί αρκετές περιγραφικές λογικές. Μια ευρέως διαδεδομένη περιγραφική λογική, που έχει μελετηθεί αρκετά, είναι η 𝒜ℒ𝒞. Στην 𝒜ℒ𝒞 μπορούν να χρησιμοποιηθούν οι κατασκευαστές εννοιών τομή, ένωση, υπάρχει, για κάθε και άρνηση, όπως ορίζονται από τις (88), (89), (90), (91) και (87), αντίστοιχα, ενώ δεν χρησιμοποιούνται κατασκευαστές ρόλων. Το όνομά της προκύπτει από την περιγραφική λογική 𝒜ℒ (attributive language) στην οποία χρησιμοποιούνται οι ίδιοι κατασκευαστές, με κάποιους περιορισμούς. Συγκεκριμένα, η άρνηση μπορεί να χρησιμοποιηθεί μόνο μπροστά από ατομικές έννοιες, ενώ το υπάρχει μπορεί να ορίσει την ύπαρξη σχέσης χωρίς, όμως, να περιορίζει το σχετιζόμενο άτομο (μπορούμε να χρησιμοποιήσουμε το r.C μόνο αν C ≡ ⊤, δηλαδή μπορούμε να γράψουμε μόνο r.⊤).

Μια άμεση επέκταση της 𝒜ℒ𝒞 είναι η περιγραφική λογική 𝒮, η οποία δίνει επιπλέον τη δυνατότητα ορισμού μεταβατικών ρόλων μέσω της περιορισμένης χρήσης της σύνθεσης (όπως για παράδειγμα στο αξίωμα τ14 του Παραδείγματος (18)). Συμβολίζεται με 𝒮 σε μια προσπάθεια συντομογραφίας (για να χρησιμοποιούνται μικρότερα ονόματα). Με παρόμοιο τρόπο έχουν οριστεί και μελετηθεί πολλές περιγραφικές λογικές, όπως οι 𝒮ℐ, 𝒮ℋℐ, 𝒮ℋℐ𝒩, 𝒮ℋ𝒪ℐ𝒩, 𝒮ℋ𝒪ℐ𝒬, 𝒮ℛ𝒪ℐ𝒬 κλπ., τα ονόματα των οποίων προκύπτουν από τις συντομογραφίες των κατασκευαστών. Για παράδειγμα, στην 𝒮ℛ𝒪ℐ𝒬 χρησιμοποιούνται κατασκευαστές εννοιών ένωσης, τομής, συμπληρώματος, υπάρχει, για κάθε, περιορισμοί πληθικότητας με εξειδίκευση (𝒬), ονοματικές έννοιες (𝒪), ανάστροφοι ρόλοι () και σύνθεση ρόλων (). Η 𝒮ℛ𝒪ℐ𝒬 αποτελεί, μάλιστα, τη βάση για τον ορισμό του προτύπου αναπαράστασης οντολογιών στον Παγκόσμιο Ιστό, της OWL (Web Ontology Language). Σε επόμενη ενότητα, κατά τη μελέτη των συστημάτων αυτόματης συλλογιστικής, θα αναλύσουμε τόσο τις εκφραστικές περιγραφικές λογικές, όσο και βατά υποσύνολά τους, που διασφαλίζουν την ανάπτυξη αποδοτικών συστημάτων.

Σημασιολογία περιγραφικών λογικών

Η πιο σημαντική πρακτική χρήση των οντολογιών βασίζεται στην αυτοματοποίηση της διαδικασίας παραγωγής συμπερασμάτων. Συγκεκριμένα, η περιγραφή των ιδιοτήτων των αντικειμένων του κόσμου και η ταξινόμησή τους σε κατηγορίες (που αναπαρίσταται στο σώμα ισχυρισμών), σε συνδυασμό με την περιγραφή των σχέσεων που έχουν οι κατηγορίες αυτές (έννοιες), που δίνεται στο σώμα ορολογίας, δίνει τη δυνατότητα για επιπλέον ταξινομήσεις των αντικειμένων, αλλά και την εξαγωγή επιπλέον συσχετίσεων μεταξύ των εννοιών. Για παράδειγμα, γνωρίζοντας ότι ένα αντικείμενο a είναι τύπου Director και, επιπλέον, γνωρίζοντας ότι όσα αντικείμενα είναι τύπου Director είναι και τύπου Creator, μπορούμε να βγάλουμε το συμπέρασμα ότι το a είναι και τύπου Creator. Παρότι το παράδειγμα αυτό είναι απλό, θα δούμε στη συνέχεια ότι πολλές φορές, ανάλογα με την πολυπλοκότητα της γνώσης που διατυπώνεται, εξάγονται πολύ χρήσιμα συμπεράσματα, μέσω διαδικασιών που μπορούν να αυτοματοποιηθούν και να υποστηριχθούν από αλγορίθμους υπολογισμού. Για να μπορέσουν οι παραπάνω ιδέες να υλοποιηθούν στην πράξη, είναι απαραίτητη η τυπική ερμηνεία των εκφράσεων μιας βάσης γνώσης.

Ορισμός (26): Έστω 𝒦 = ⟨𝒜,𝒯⟩ μια βάση γνώσης περιγραφικής λογικής με υπογραφή Sig(𝒦)⊆IN ∪ CN ∪ RN, όπου IN, CN, RN σύνολα ονομάτων ατόμων, εννοιών και ρόλων, αντίστοιχα. Ερμηνεία της γνώσης είναι ένα ζεύγος 𝒥 = ⟨Δ,ℐ⟩, όπου Δ ένα μη κενό (πιθανώς άπειρο) σύνολο αντικειμένων που ονομάζεται πεδίο και μια απεικόνιση που ονομάζεται αντιστοίχιση ερμηνείας και ερμηνεύει τα μη λογικά σύμβολα της 𝒦 με δομές στοιχείων του Δ ως εξής:

Θα λέμε ότι η ερμηνεία 𝒥 της γνώσης 𝒦, ικανοποιεί:

Θα λέμε ότι η ερμηνεία 𝒥 ικανοποιεί το σώμα ισχυρισμών 𝒜 αν και μόνο αν ικανοποιεί όλους τους ισχυρισμούς του. Στην περίπτωση αυτή θα λέμε ότι η 𝒥 είναι μοντέλο του 𝒜.

Αντίστοιχα, θα λέμε ότι η ερμηνεία 𝒥 της γνώσης 𝒦 ικανοποιεί (satisfies):

Θα λέμε ότι η ερμηνεία 𝒥 ικανοποιεί το σώμα ορολογίας 𝒯 αν και μόνο αν ικανοποιεί όλα τα αξιώματά του. Στην περίπτωση αυτή θα λέμε ότι η 𝒥 είναι μοντέλο του 𝒯. Επιπλέον, αν C είναι μια έννοια του 𝒯, θα λέμε ότι η C ικανοποιείται στην 𝒥 αν και μόνο αν η ερμηνεία της C είναι μη κενή.

Τέλος, θα λέμε ότι η ερμηνεία 𝒥 ικανοποιεί τη γνώση 𝒦, αν και μόνο αν είναι μοντέλο τόσο του σώματος ισχυρισμών όσο και του σώματος ορολογίας της. Στην περίπτωση αυτή θα λέμε ότι είναι μοντέλο (model) της γνώσης 𝒦. Αν υπάρχει κάποιο μοντέλο για τη γνώση, θα λέμε ότι είναι ικανοποιήσιμη (satisfiable).

Πίνακας (4): Σημασιολογία κατασκευαστών σύνθετων εννοιών και ρόλων.
Κατασκευαστής           Σύνταξη           Σημασιολογία
Top      Δ
Bottom      ∅
Άρνηση ¬C      Δ \ C
Τομή C ⊓ D      C ∩ D
Ένωση C ⊔ D      C ∪ D
Υπάρχει r.C      {x | ∃y τέτοιο ώστε r(x, y)}
Για κάθε r.C      {x | ∀y με r(x, y) ισχύει C(y)}
Τουλάχιστον n n.C      {x  | ∃y1, ..., yn με yi ≠ yj, r(x, yi),i, j ∈ ℕn}
Το πολύ n n.C      {x | ¬∃y1, ..., yn + 1 με yi ≠ yj, r(x, yi),i, j ∈ ℕn + 1}
Ανακλαστικότητα r.Self      {x | ισχύει r(x, x)}
Ονοματική έννοια {a}      a
Καθολικός ρόλος U      Δ × Δ
Ανάστροφος ρόλος r      {(x, y) | ισχύει  r(y, x)}
Σύνθεση ρόλων r ∘ s      {(x, y) |∃z τέτοιο ώστε r(x, z) και s(z, y)}

Όπως φαίνεται από τον Ορισμό (26), η ερμηνεία είναι ένα πεπερασμένο σύνολο από (πιθανώς άπειρα) σύνολα. Το πρώτο σύνολο (που λέγεται και πεδίο της ερμηνείας) είναι το σύνολο των αντικειμένων του κόσμου, είτε αυτά έχουν ονόματα είτε όχι. Επιπλέον, για καθένα από τα ονοματισμένα άτομα του κόσμου ορίζεται η αντιστοίχισή του με τα αντικείμενα του πεδίου της ερμηνείας. Επίσης, για καθεμία από τις ατομικές έννοιες δίνεται το σύνολο των στοιχείων που αντιστοιχούν στα στιγμιότυπά της. Τέλος, για καθέναν από τους ατομικούς ρόλους, δίνεται το σύνολο των δυάδων στοιχείων του πεδίου που αντιστοιχούν σε στιγμιότυπα του ρόλου. Παρατηρούμε, επομένως, ότι στην αναπαράσταση των ερμηνειών, το επίκεντρο είναι τα στοιχεία της σύνταξης της γνώσης (άτομα, έννοιες, ρόλοι), για τα οποία δίνονται τα στοιχεία του πεδίου με τα οποία ερμηνεύονται.

Μια αναπαράσταση των ερμηνειών, ισοδύναμη με την αναπαράσταση σε μορφή συνόλων, είναι η μορφή γράφου. Συγκεκριμένα, οι κόμβοι του γράφου αναπαριστούν τα στοιχεία του πεδίου Δ, δηλαδή τα αντικείμενα της ερμηνείας, με τις αντίστοιχες ετικέτες τους να αναπαριστούν όλες τις ιδιότητες των αντικειμένων, δηλαδή τόσο τα ονόματα των ατόμων που αντιστοιχούν στα αντικείμενα αυτά, όσο και τις έννοιες των οποίων τα στιγμιότυπα απεικονίζουν. Οι ακμές των γράφων αναπαριστούν τις σχέσεις μεταξύ των ατόμων. Συγκεκριμένα, η ύπαρξη μίας ακμής σημαίνει ότι τα άτομα που ερμηνεύονται ως τα αντικείμενα που αντιστοιχούν στους κόμβους, σχετίζονται με έναν ή περισσότερους ρόλους. Οι ετικέτες των ακμών αναπαριστούν τους ρόλους αυτούς. Δηλαδή, αν a, b είναι δύο άτομα για τα οποία ισχύει C(a) και r(a, b), τότε ο γράφος

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

Δ = {x, y},
a = {x},
b = {y},
C = {x},
r = {(x, y)}.

Στη συγκεκριμένη περίπτωση, τα δύο αντικείμενα της ερμηνείας είναι τα x και y, τα οποία αντιστοιχούν στους κόμβους του γράφου. Η ετικέτα του κόμβου x περιέχει δύο στοιχεία, το a και το C, επειδή ισχύει ότι x ∈ a και x ∈ C. Αντίστοιχα, ο κόμβος y έχει στην ετικέτα του το b, διότι y ∈ b. Επιπλέον, υπάρχει η ακμή (x, y), διότι (x, y)∈r και για το λόγο αυτό το r ανήκει στην ετικέτα της ακμής αυτής.

Η αναπαράσταση σε μορφή γράφου δίνει, σε πολλές περιπτώσεις, μια πιο εύληπτη απεικόνιση των μοντέλων από αυτή της μορφής συνόλου (ειδικά σε περιπτώσεις που τα άτομα είναι λίγα και η ορολογία μεγάλη). Προφανώς, οι δύο παραπάνω μορφές αναπαράστασης των ερμηνειών είναι ισοδύναμες και δεν είναι δύσκολη η μετατροπή από τη μια μορφή στην άλλη.

Πίνακας (5): Σημασιολογία ισχυρισμών και αξιωμάτων.
Αξίωμα           Σύνταξη           Συνθήκη μοντέλου
Στιγμιότυπο έννοιας C(a)      a ∈ C
Στιγμιότυπο ρόλου r(a, b)      (a, b)∈r
Ισότητα ατόμων a ≈ b      a = b
Ανισότητα ατόμων a¬≈b      a ≠ b
Υπαγωγή εννοιών C ⊑ D      C ⊆ D
Ισοδυναμία εννοιών C ≡ D      C = D
Υπαγωγή ρόλων r ⊑ s      r ⊆ s
Ισοδυναμία ρόλων r ≡ s      r = s

Παράδειγμα (19): Έστω 𝒜 το ABox που ορίζεται στο Παράδειγμα (17). Δεν είναι δύσκολο να δούμε ότι η ερμηνεία

Δ = {x, y, z, w},
movie35 = {x},
woodyAllen = {y},
allanStewartKoenigsberg = {y},
96min = {z},
manhattan = {w},
francisFordCoppola = {v},
Comedy = {x},
LongRunningTime = {z},
hasDirector = {(x, y)},
hasRunningTime = {(x, z)},
hasTitle = {(x, w)}  (100)

είναι μοντέλο του 𝒜, καθώς με βάση τη σημασιολογία του Ορισμού (26) ισχύουν σε αυτήν όλοι οι ισχυρισμοί α1α7. Πράγματι, το α1 ισχύει, αφού movie35 = x και x ∈ Comedy. Tο α2 ισχύει, επειδή movie35 = x, woodyAllen = {y} και (x, y)∈hasDirector. Tο α3 ισχύει διότι movie35 = x, manhattan = {w} και (x, w)∈hasTitle. Το α4 ισχύει, αφού movie35 = {x}, 96min = {z} και (x, z)∈hasRunningTime. Το α5 ισχύει διότι 96min = z, z ∈ LongRunningTime = {x}. Το α6 ισχύει διότι woodyAllen = {y}, allanStewartKoenigsberg = {y} και y = y. Τέλος, το α7 ισχύει, επειδή woodyAllen = {y}, francisFordCoppola = {v} και y ≠ v.

Το μοντέλο (100) σε μορφή γράφου είναι το εξής:

x = {movie35, Comedy}
y = {woodyAllen, allanStewartKoenigsberg}
z = {96min, LongRunningTime}
w = {manhattan}
v = {francisFordCoppola}
(x, y) = {hasDirector}
(x, z) = {hasRunningTime}
(x, w) = {hasTitle}

O καθορισμός του νοήματος των βάσεων γνώσης, όπως θεμελιώνεται από τον Ορισμό (26), παρουσιάζει πολλά ενδιαφέροντα σημεία. Ένα σημαντικό σημείο είναι ότι, σε αντίθεση με τις συνήθεις ερμηνείες των βάσεων δεδομένων, δεν είναι απαραίτητο όλα τα στοιχεία του πεδίου της ερμηνείας να αντιστοιχούν σε ονοματισμένα άτομα. Αυτό έχει σαν αποτέλεσμα στιγμιότυπα των εννοιών να μην είναι μόνο τα άτομα που αναφέρονται ρητά στη βάση γνώσης, με κάποιο όνομα της υπογραφής της βάσης γνώσης, συγκεκριμένα του IN, αλλά και άτομα των οποίων η ύπαρξη είτε υπονοείται από κάποιο αξίωμα είτε, γενικά, δεν αποκλείεται από τα αξιώματα της βάσης γνώσης. Το χαρακτηριστικό αυτό της σημασιολογίας των περιγραφικών λογικών είναι βασικό στοιχείο της σημασιολογίας ανοικτού κόσμου και μπορεί να οδηγήσει σε πολύ ενδιαφέροντα συμπεράσματα για την υπονοούμενη γνώση, όπως φαίνεται και στο Παράδειγμα (20).

Παράδειγμα (20): Έστω η γνώση 𝒦 = ⟨𝒯,𝒜⟩, με

𝒯 = {MultiAwardWinning ≡ ≥3hasAward},  (101)

𝒜= {hasAward(manhattan, baftaBestFilm1980),
  hasAward(manhattan, baftaBestScreenplay1980)}.  (102)

Το ερώτημα στην περίπτωση αυτή είναι αν ισχύει ότι

MultiAwardWinning(manhattan).  (103)

Σε μια πρώτη ανάγνωση, φαίνεται ότι ο ισχυρισμός (103) δεν είναι αληθής, καθώς για να ήταν θα έπρεπε το manhattan να έχει τρία βραβεία, όπως υποδεικνύει το αξίωμα (101). Από το ABox 𝒜 όμως, φαίνεται ότι έχει μόνο δύο (βλ. Εξίσωση (102)).

Από την άλλη πλευρά, όμως, το γεγονός ότι γνωρίζουμε ότι η ταινία έχει βραβευθεί δύο φορές, δεν σημαίνει ότι δεν θα μπορούσε να έχει βραβευθεί και περισσότερες. Συνεπώς, ενώ (προφανώς) ο ισχυρισμός (103) δεν είναι λογικό συμπέρασμα της γνώσης 𝒦, δεν μπορούμε να πούμε ότι η γνώση 𝒦 ∪ {MultiAwardWinning(manhattan)} είναι ασυνεπής. Πράγματι, η ερμηνεία

Δ = {x, y, z},
manhattan = {x},
baftaBestFilm1980 = {y},
baftaBestScreenplay1980 = {z},
hasAward = {(x, y),(x, z)},
MultiAwardWinning = {},  (104)

η οποία σε μορφή γράφου απεικονίζεται ως εξής:

x = {manhattan}
y = {baftaBestFilm1980}
z = {baftaBestScreenplay1980}
(x, y) = {hasAward}
(x, z) = {hasAward},

αποτελεί μοντέλο της γνώσης 𝒦, όπως άλλωστε και η ερμηνεία

Δ = {x, y, z, w},
manhattan = {x},
baftaBestFilm1980 = {y},
baftaBestScreenplay1980 = {z},
hasAward = {(x, y),(x, z),(x, w)},
MultiAwardWinning = {x},  (105)

η οποία σε μορφή γράφου απεικονίζεται ως εξής:

x = {manhattan,
  MultiAwardWinning}
y = {baftaBestFilm1980}
z = {baftaBestScreenplay1980}
w = {}
(x, y) = {hasAward}
(x, z) = {hasAward}
(x, w) = {hasAward}

Η διαφορά των ερμηνειών (104) και (105) είναι ότι στην (105) υπάρχει ένα ακόμη αντικείμενο, το w, το οποίο δεν είναι ονοματισμένο και το οποίο συνδέεται με το x (το αντικείμενο που αποτελεί ερμηνεία του manhattan), μέσω της hasAward. Επομένως, στην ερμηνεία αυτή ικανοποιείται ο ισχυρισμός MultiAwardWinning( manhattan). Δηλαδή βλέπουμε ότι στο μοντέλο (104) της γνώσης 𝒦 ο ισχυρισμός MultiAwardWinning( manhattan) δεν ισχύει, ενώ στο μοντέλο (105) ισχύει.

Ένα άλλο ενδιαφέρον σημείο της σημασιολογίας των περιγραφικών λογικών είναι η εγκυρότητα ερμηνειών που αντιστοιχίζουν διαφορετικά ονοματισμένα στιγμιότυπα στο ίδιο αντικείμενο. Το γεγονός αυτό είναι δυνατό να επηρεάσει την ικανοποιησιμότητα κάποιων εννοιών, μέσω του ορισμού μοντέλων που δεν θα μπορούσαν να υπάρχουν σε άλλη περίπτωση, όπως φαίνεται στο Παράδειγμα (21).

Παράδειγμα (21): Έστω η γνώση 𝒦 = ⟨𝒯,𝒜⟩, με

𝒯 = {AcademyAwardBestDirector ⊑ ≤1hasAward},  (106)

𝒜= {hasAward(woodyAllen, academyAwardBestDirector1978),
  hasAward(allanStewartKoenigsberg, academyAwardBestDirector1978)
  AcademyAwardBestDirector(academyAwardBestDirector1978).  (107)

Το ερώτημα σε αυτήν την περίπτωση είναι αν είναι συνεπής η γνώση 𝒦. Σε μια πρώτη ανάγνωση, το αξίωμα (106) φαίνεται να μην ισχύει, διότι από το ABox 𝒜 της Εξίσωσης (107) φαίνεται ότι το academyAwardBestDirector1978, ενώ είναι AcademyAwardBestDirector, το έχουν κερδίσει δύο άτομα. Δεν είναι δύσκολο, όμως να δούμε ότι η ερμηνεία

Δ = {x, y},
woodyAllen = {x},
allanStewartKoenigsberg = {x},
academyAwardBestDirector1978 = {y},
hasAward = {(x, y)},
AcademyAwardBestDirector = {y},  (108)

που σε μορφή γράφου έχει ως εξής:

a = {woodyAllen, allanStewartKoenigsberg}
b = {academyAwardBestDirector1978,
  AcademyAwardBestDirector}
(x, y) = {hasAward}

αποτελεί μοντέλο της γνώσης 𝒦. Πράγματι, με βάση τη θεωρία δεν αποκλείεται να υπάρχουν δύο διαφορετικές αναφορές σε κάποιο στιγμιότυπο μιας έννοιας, δηλαδή κάποιο αντικείμενο να έχει περισσότερα από ένα ονόματα. Στη συγκεκριμένη περίπτωση, στην ερμηνεία (108), τόσο το woodyAllen όσο και το allanStewartKoenigsberg ερμηνεύονται ως το ίδιο αντικείμενο, το x.

Παράδειγμα (22): Συνεχίζοντας το Παράδειγμα (19), εκτός από τους ισχυρισμούς του Παραδείγματος (17), θεωρούμε, επιπλέον, την ορολογία που ορίζεται με τα αξιώματα τ1τ14 του Παραδείγματος (18).

Στην ερμηνεία (100), αν θεωρήσουμε ότι οι ερμηνείες όλων των στοιχείων της υπογραφής της γνώσης που δεν ερμηνεύονται άμεσα στην (100) είναι κενά σύνολα, παρατηρούμε ότι:

Περιγραφικές λογικές και λογική πρώτης τάξης

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

Εκτός από τη διαφορά αυτή, μια ακόμη σημαντική διαφορά που παρατηρούμε είναι ότι, ενώ στη λογική πρώτης τάξης μπορούν να ορίζονται κατηγορήματα τάξης n ≥ 3, δηλαδή σχέσεις μεταξύ n-άδων ατόμων, στις περιγραφικές λογικές οι σχέσεις περιορίζονται στα κατηγορήματα τάξης 1 (έννοιες) και 2 (ρόλοι). Το γεγονός αυτό είναι αναμενόμενο, καθώς βασικός στόχος των οντολογιών είναι η τυπική, αναλυτική περιγραφή των κατηγοριών των ατόμων. Επομένως, περιγράφονται οι βασικές ιδιότητές τους (μέσω των εννοιών) και κατά την περιγραφή αυτή περιγράφονται ιδιότητες που προκύπτουν από τις σχέσεις τους με άλλα άτομα (ρόλοι). Στο πλαίσιο αυτό, παρότι σε ορισμένες περιπτώσεις θα ήταν χρήσιμο, αποφεύγεται η χρήση κατηγορημάτων μεγαλύτερης τάξης.

Στη συνέχεια θα περιγράψουμε τον τρόπο με τον οποίο μπορούμε να μετατρέψουμε σε μορφή αξιωμάτων λογικής πρώτης τάξης κάθε δήλωση ενός σώματος ορολογίας ή ισχυρισμών που χρησιμοποιεί τους τελεστές που περιγράφονται στους Ορισμούς (22), (23), (21) και (24), με τη σημασιολογία που καθορίζεται από τον Ορισμό (26) και τους Πίνακες (4) και (5). Η αντιστοίχιση τόσο των κατασκευαστών όσο και των αξιωμάτων φαίνεται στον Πίνακα (6). Αρχικά, περιγράφεται η μετατροπή των κατασκευαστών εννοιών, όπου θεωρείται ότι χρησιμοποιούνται κατηγορήματα πρώτης τάξης για τις αντίστοιχες έννοιες με τα ίδια ονόματα. Στο πρώτο μπλοκ γραμμών του Πίνακα (6) δίνεται η αντιστοίχιση αυτή, με βάση την παραδοχή ότι η μεταβλητή x αναφέρεται σε όλα εκείνα τα άτομα που είναι C. Για παράδειγμα, τα στιγμιότυπα της έννοιας C ⊓ D (πρώτη στήλη) είναι όλα εκείνα τα x (χρησιμοποιούμε τη μεταβλητή x για να αναφερθούμε στα στιγμιότυπα) για τα οποία η δήλωση C(x)∧D(x) (δεύτερη στήλη) είναι αληθής. Για να αναπαραστήσουμε τα και που χρησιμοποιούνται στις περιγραφικές λογικές, δεσμεύουμε τα ονόματα Top και Bottom, ως ονόματα κατηγορημάτων τάξης 1 που αληθεύουν για όλα ή για κανένα από τα στοιχεία, αντίστοιχα.

Πίνακας (6): Αντιστοιχία περιγραφικών λογικών και λογικής πρώτης τάξης.
Σύνταξη ΠΛ           Σύνταξη ΛΠΤ
     Top(x)
     Bottom(x)
¬C      ¬C(x)
C ⊓ D      C(x)∧D(x)
C ⊔ D      C(x)∨D(x)
r.C      ∃y.(r(x,y)∧C(y))
r.C      ∀y.(r(x,y)⇒C(y))
n.C      ∃y1.⋯∃yn.(y1¬≈y2 ∧ ⋯ ∧ y1¬≈yn ∧ ⋯ ∧  yn − 1¬≈yn
      ∧ r(x, y1)∧⋯∧r(x, yn))
n.C      ¬{∃y1.⋯∃yn + 1.(y1¬≈y2 ∧ ⋯ ∧ y1¬≈yn + 1 ∧ ⋯ ∧  yn¬≈yn + 1
      ∧ r(x, y1)∧⋯∧r(x, yn + 1))}
r.Self      r(x, x)
{a}      x ≈ a
U      U(x, y)
r      r(y, x)
r ∘ s      ∃z.(r(x,z)∧s(z,y))
C(a)      C(a)
r(a, b)      r(a, b)
a ≈ b      a ≈ b
a¬≈b      a¬≈b
C ⊑ D      ∀x.(C(x)⇒D(x))
C ≡ D      ∀x.(C(x)⇔D(x))
r ⊑ s      ∀x.∀y.(r(x,y)⇒s(x,y))
r ≡ s      ∀x.∀y.(r(x, y)⇔s(x, y))

Με αντίστοιχο τρόπο μετατρέπουμε τους ρόλους σε κατηγορήματα τάξης 2 με τα ίδια ονόματα (όπως φαίνεται στο δεύτερο μπλοκ γραμμών του Πίνακα (6)), θεωρώντας, πλέον, δύο μεταβλητές x και y για να αναφερθούμε στα ζεύγη στιγμιοτύπων. Για παράδειγμα, στην τρίτη γραμμή του δεύτερου μπλοκ του Πίνακα (6), βλέπουμε ότι τα στιγμιότυπα της σύνθεσης ρόλων r ∘ s της πρώτης στήλης είναι όλα εκείνα τα ζεύγη (x, y) για τα οποία είναι αληθής η δήλωση z.(r(x,z)∧s(z,y)). Επιπλέον, χρησιμοποιούμε (ως λογικό σύμβολο) το όνομα U για να αναπαραστήσουμε το κατηγόρημα τάξης 2 που αληθεύει για κάθε ζεύγος ατόμων του κόσμου.

Τέλος, τα δύο τελευταία μπλοκ γραμμών του Πίνακα (6) περιγράφουν την αντιστοίχιση των ισχυρισμών εννοιών, των ισχυρισμών ρόλων και των ορολογικών αξιωμάτων. Ενώ οι ισχυρισμοί του ABox δεν διαφέρουν καθόλου στη σύνταξη (όπως φαίνεται στο τρίτο μπλοκ γραμμών), τα ορολογικά αξιώματα του TBox μετατρέπονται σε δηλώσεις που ξεκινούν με καθολικούς ποσοδείκτες. Για παράδειγμα, τα αξιώματα υπαγωγής εννοιών της μορφής C ⊑ D μετατρέπονται σε αξιώματα της μορφής x.(C(x)⇒D(x)), τα οποία δηλώνουν ότι κάθε άτομο του κόσμου (στο οποίο αναφέρεται η μεταβλητή x) που ικανοποιεί το κατηγόρημα C θα ικανοποιεί και το κατηγόρημα D.

Παράδειγμα (23): Το σύνολο αξιωμάτων 𝒯 = {τ1, τ2, ..., τ14} του Παραδείγματος (18) γίνεται:

τ1 x.(Director(x)⇒Creator(x)),
τ2 x.(Movie(x)⇔Film(x)),
τ3 x.((Director(x)∧Movie(x)) ⇒ Bottom(x)),
τ4 x.(Movie(x)⇔(ShortFilm(x)∨FeatureFilm(x))),
τ5 x.(FeatureFilm(x)⇔(Film(x)∧LongFilm(y))),
τ6 x.(FeatureFilm(x)⇔(Film ∧ ¬ShortFilm(x))),
τ7 x.(Director(x)⇔(∃y.isDirector(x, y)∧Movie(y))),
τ8 x.(Movie(x)⇒(∀y.hasDirector(x, y)⇒Director(y))),
τ9 x.(MultiAwardWinning(x)⇔(∃y1.∃y2.∃y3.((y1¬≈y2 ∧ y1¬≈y3 ∧ y2¬≈y3)∧
(hasAward(x, y1)∧hasAward(x, y2)∧hasAward(x, y3))∧
(MajorAward(y1)∧MajorAward(y2)∧MajorAward(y3)))),
τ10 x.(Top(x)⇒(∀y.hasDirector(x, y)⇒Director(y))),
τ11 x.∀y.(hasDirector(x, y)⇒hasCreator(x, y)),
τ12 x.∀y.(isDirector(x, y)⇔hasDirector(y, x)),
τ13 x.∀y.(∃z.hasCollaboration(x, y)⇒(isDirector(x, z)∧hasActor(z, y))),
τ14 x.∀y.(∃z.(hasPart(x,z)∧hasPart(z,y)) ⇒ hasPart(x, y)).  (109)

Βιβλιογραφικές σημειώσεις

Βιβλιογραφία

[1] M. R. Quillian. Semantic memory. In Marvin Minsky, editor, Semantic Information Processing, chapter 4, pages 227–270. MIT Press, 1968.

[2] M. Minsky. A framework for representing knowledge. Artificial intelligence memo, A.I. Laboratory, Massachusetts Institute of Technology, Cambridge, MA, USA, 1974.

[3] R. J. Brachman and H. J. Levesque, editors. Readings in Knowledge Representation. Morgan Kaufmann, San Francisco, 1985.

[4] M. Schmidt-Schauß and G. Smolka. Attributive concept descriptions with complements. Journal of Artificial Intelligence, 48:1–26, 1991.

[5] S. Rudolph. Foundations of Description Logics. In Reasoning Web: Semantic Technologies for the Web of Data, 7th International Summer School, volume 6848 of Lecture Notes in Computer Science, pages 76–136. Springer, 2011.

[6] M. Krötzsch, F. Simančík, I. Horrocks. A Description Logic Primer. CoRR abs/1201.4089. 2012.

[7] F. Baader. Description Logics. In Reasoning Web: Semantic Technologies for Information Systems, 5th International Summer School, volume 5689 of Lecture Notes in Computer Science, pages 1–39. Springer, 2009.

[8] R.J. Brachman and H.J. Levesque. Knowledge Representation and Reasoning. The Morgan Kaufmann Series in Artificial Intelligence Series. Morgan Kaufmann, 2004.

[9] F. Baader, D. Calvanese, D. L. McGuinness, D. Nardi, P. F. Patel-Schneider. . Cambridge University Press, 2nd edition, 2007.

[10] F. van Harmelen, V. Lifschitz, and B. Porter. Handbook of Knowledge Representation. Foundations of Artificial Intelligence. Elsevier Science, 2008.

[11] P. Hitzler, M. Kroetzsch, and S. Rudolph. Foundations of Semantic Web Technologies. Chapman and Hall/CRC, 2009.

[12] S. Staab and R. Studer. Handbook on Ontologies. International Handbooks on Information Systems. Springer, 2010.

[13] P. J. Hayes. The logic of frames. In Dieter Metzing, editor, Frame Conceptions and Text Understanding, pages 46–61. Walter de Gruyter, Berlin, 1979.

[14] A. Borgida. On the relative expressiveness of description logics and predicate logics. Artificial Intelligence, 82(1–2):353–367, 1996.

Αυτόματη συλλογιστική σε οντολογίες

Εισαγωγή

Η οντολογική αναπαράσταση γνώσης δίνει τη δυνατότητα ρητής, τυπικής καταγραφής των ιδιοτήτων των αντικειμένων που επιθυμούμε να περιγράψουμε. Με βάση τις ιδιότητες αυτές, ορίζονται κατηγοριοποιήσεις και συσχετίσεις που οδηγούν στην αυτοματοποιημένη ταξινόμηση, αναγνώριση και εξαγωγή χαρακτηριστικών των αντικειμένων του πεδίου αναφοράς. Για να μπορέσουν οι διαδικασίες αυτές να τυποποιηθούν μεθοδολογικά, είναι απαραίτητο να αναπτυχθούν αλγόριθμοι που να εκτελούνται από υπολογιστικά συστήματα και να έχουν τον εξής στόχο: Δεδομένης της τυπικής περιγραφής μιας κατηγορίας αντικειμένων, η περιγραφή αυτή να εμπλουτιστεί με αυτόματο τρόπο. Δηλαδή, δεδομένου ενός συνόλου ιδιοτήτων που έχουν τα αντικείμενα μιας συγκεκριμένης κατηγορίας (όπως περιγράφεται από τα αξιώματα υπαγωγής της γνώσης), να εξάγονται επιπλέον ιδιότητες οι οποίες χαρακτηρίζουν και αυτές αδιαμφισβήτητα την συγκεκριμένη κατηγορία. Η διαδικασία αυτή, η παραγωγή ασφαλών συμπερασμάτων, υποστηρίζεται από τους αλγόριθμους αυτόματης συλλογιστικής.

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

Ένα σημαντικό πλεονέκτημα των περιγραφικών λογικών και γενικά της οντολογικής αναπαράστασης γνώσης είναι η δυνατότητα τμηματοποίησης της εκφραστικότητας: Ο τρόπος με τον οποίο είναι δομημένη η γλώσσα δίνει τη δυνατότητα εύκολης πρόσθεσης ή αφαίρεσης εκφραστικών δυνατοτήτων, δηλαδή λογικών τελεστών αναπαράστασης σύνθετων εννοιών ή ρόλων. Με τον τρόπο αυτό, ανάλογα με την εφαρμογή, δίνεται η δυνατότητα στον μηχανικό γνώσης να επιλέγει την ακρίβεια της περιγραφής του, πληρώνοντας, αντίστοιχα, το κόστος της πολυπλοκότητας του συστήματος συλλογιστικής. Έτσι, αν υπάρχει ανάγκη για ταχύτητα, χρησιμοποιούνται λιγότερο εκφραστικές γλώσσες, ενώ αν η αναπαράσταση των περιορισμών είναι απαραίτητο να είναι λεπτομερής, θυσιάζεται η ταχύτητα του συστήματος συλλογιστικής.

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

Προβλήματα συλλογιστικής

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

Ορισμός (27): Έστω 𝒦 = ⟨𝒜,𝒯⟩ μια βάση γνώσης (όπου μια περιγραφική λογική) με υπογραφή Sig(𝒦)⊆IN ∪ CN ∪ RN, όπου IN, CN, RN σύνολα ονομάτων ατόμων, εννοιών και ρόλων, αντίστοιχα. Έστω, επίσης, C μια έννοια της γνώσης, α ένας ισχυρισμός με Sig(α)⊆Sig(𝒦) και τ ένα αξίωμα με Sig(τ)⊆Sig(𝒦).

Ο Ορισμός (27) εισάγει αρκετά ενδιαφέροντα προβλήματα συλλογιστικής. Στη συνέχεια, ορίζουμε τυπικά ένα σύνολο από προβλήματα συλλογιστικής που αφορούν ορολογίες, δηλαδή κάποιο TBox.

Πρόβλημα T1. Έλεγχος ικανοποιησιμότητας έννοιας.
Δίνεται ένα TBox 𝒯 και μια έννοια C με Sig(C)⊆Sig(𝒯). Να ελεγχθεί η ικανοποιησιμότητα της έννοιας C με βάση το 𝒯.

Πρόβλημα T2. Έλεγχος συνεπαγωγής αξιώματος υπαγωγής εννοιών.
Δίνεται ένα TBox 𝒯 και δύο έννοιες C και D με Sig(C)⊆Sig(𝒯) και Sig(D)⊆Sig(𝒯). Να ελεγχθεί αν το αξίωμα C ⊑ D είναι λογικό συμπέρασμα του 𝒯, δηλαδή αν 𝒯 ⊨ C ⊑ D.

Πρόβλημα T3. Έλεγχος συνεπαγωγής αξιώματος ισοδυναμίας εννοιών.
Δίνεται ένα TBox 𝒯 και δύο έννοιες C και D με Sig(C)⊆Sig(𝒯) και Sig(D)⊆Sig(𝒯). Να ελεγχθεί αν το αξίωμα C ≡ D είναι λογικό συμπέρασμα του 𝒯, δηλαδή αν 𝒯 ⊨ C ≡ D.

Πρόβλημα T4. Έλεγχος συνεπαγωγής αξιώματος ξένων εννοιών.
Δίνεται ένα TBox 𝒯 και δύο έννοιες C και D με Sig(C)⊆Sig(𝒯) και Sig(D)⊆Sig(𝒯). Να ελεγχθεί αν το αξίωμα C ≠ D είναι λογικό συμπέρασμα του 𝒯, δηλαδή αν 𝒯 ⊨ C ≠ D.

Δεν είναι δύσκολο να δούμε ότι τα παραπάνω προβλήματα δεν είναι ανεξάρτητα μεταξύ τους και, υπό κάποιες προϋποθέσεις, αν επιλυθεί κάποιο από αυτά, μπορούν να επιλυθούν και τα υπόλοιπα. Πράγματι, αν στη συγκεκριμένη περιγραφική λογική μπορεί να αναπαρασταθεί η έννοια Bottom καθώς και η σύζευξη εννοιών (που συνήθως μπορεί να αναπαρασταθεί στις περισσότερες περιγραφικές λογικές, όπως είδαμε στο προηγούμενο κεφάλαιο), τότε όλα τα προβλήματα μπορούν να αναχθούν σε αυτό του ελέγχου της υπαγωγής εννοιών. Πράγματι, δεν είναι δύσκολο να αποδείξουμε ότι ισχύει η παρακάτω πρόταση.

Πρόταση (1): Δίνεται ένα TBox 𝒯 και δύο έννοιες C και D.

  1. Η έννοια C είναι μη ικανοποιήσιμη στο 𝒯, αν και μόνο αν είναι λογικό συμπέρασμα του 𝒯 ότι η έννοια C υπάγεται στην έννοια Bottom, δηλαδή αν και μόνο αν 𝒯 ⊨ C ⊑ ⊥.

  2. Είναι λογικό συμπέρασμα του 𝒯 ότι οι έννοιες C και D είναι ισοδύναμες, δηλαδή ότι C ≡ D, αν και μόνο αν η έννοια C υπάγεται στην έννοια D και η έννοια D υπάγεται στην έννοια C, δηλαδή αν και μόνο αν 𝒯 ⊨ C ⊑ D και 𝒯 ⊨ D ⊑ C.

  3. Είναι λογικό συμπέρασμα του 𝒯 ότι οι έννοιες C και D είναι ξένες, αν και μόνο αν είναι λογικό συμπέρασμα του 𝒯 ότι η έννοια C ⊓ D υπάγεται στην έννοια Bottom, δηλαδή αν και μόνο αν 𝒯 ⊨ C ⊓ D ⊑ ⊥.

Με βάση την Πρόταση (1), μπορούμε να αναγάγουμε τα Προβλήματα T1, T3 και T4 σε αυτό του ελέγχου συνεπαγωγής ενός αξιώματος από ένα TBox (Πρόβλημα T2). Επιπλέον, σημαντικό ενδιαφέρον από πρακτικής άποψης παρουσιάζει η αναγωγή των Προβλημάτων T2, T3 και T4 στο πρόβλημα του ελέγχου της ικανοποιησιμότητας μιας έννοιας (Πρόβλημα T1). Δεν είναι δύσκολο να δούμε, όμως, ότι η αναγωγή αυτή απαιτεί να μπορεί να αναπαρασταθεί στη συγκεκριμένη περιγραφική λογική η άρνηση μιας έννοιας. Συγκεκριμένα, αποδεικνύεται ότι ισχύει η παρακάτω πρόταση.

Πρόταση (2): Δίνεται ένα TBox 𝒯 και δύο έννοιες C και D.

  1. Είναι λογικό συμπέρασμα του 𝒯 ότι η έννοια C υπάγεται στην έννοια D, αν και μόνο αν η έννοια C ⊓ ¬D είναι μη ικανοποιήσιμη στο 𝒯.

  2. Είναι λογικό συμπέρασμα του 𝒯 ότι oι έννοιες C και D είναι ισοδύναμες, αν και μόνο αν οι έννοιες C ⊓ ¬D και ¬C ⊓ D είναι μη ικανοποιήσιμες στο 𝒯.

  3. Είναι λογικό συμπέρασμα του 𝒯 ότι οι έννοιες C και D είναι ξένες, αν και μόνο αν η έννοια C ⊓ D είναι μη ικανοποιήσιμη στο 𝒯.

Με αντίστοιχο τρόπο ορίζονται προβλήματα συλλογιστικής που εμπλέκουν και σώματα ισχυρισμών, δηλαδή κάποιο ABox. Έστω 𝒦 = ⟨𝒜,𝒯⟩ μια βάση γνώσης περιγραφικής λογικής με υπογραφή Sig(𝒦)⊆IN ∪ CN ∪ RN, όπου IN, CN, RN σύνολα ονομάτων ατόμων, εννοιών και ρόλων, αντίστοιχα. Έστω, επίσης, C μια έννοια της γνώσης και α ένας ισχυρισμός με Sig(α)⊆Sig(𝒦).

Πρόβλημα A1. Συνέπεια ABox.
Να ελεγχθεί αν το ABox 𝒜 είναι συνεπές με βάση το TBox 𝒯.

Πρόβλημα A2. Συνεπαγωγή ισχυρισμού έννοιας.
Έστω ότι ο ισχυρισμός α είναι ισχυρισμός έννοιας, δηλαδή γράφεται ως C(a), όπου a ένα άτομο και C μια έννοια C της γνώσης. Να ελεγχθεί αν o ισχυρισμός C(a) είναι λογικό συμπέρασμα της γνώσης, δηλαδή αν 𝒦 ⊨ C(a).

Πρόβλημα A3. Συνεπαγωγή ισχυρισμού ρόλου.
Έστω ότι ο ισχυρισμός α είναι ισχυρισμός ρόλου, δηλαδή γράφεται ως r(a, b), όπου a, b δύο άτομα και r ένας ρόλος της γνώσης. Να ελεγχθεί αν o ισχυρισμός r(a, b) είναι λογικό συμπέρασμα της γνώσης, δηλαδή αν 𝒦 ⊨ r(a, b).

Όπως και στην περίπτωση των προβλημάτων συλλογιστικής για ορολογίες, τα προβλήματα συλλογιστικής που εμπλέκουν, εκτός από ορολογίες, και σώματα ισχυρισμών μπορούν να μετασχηματιστούν από τη μια μορφή στην άλλη (αρκεί να μπορεί να εκφραστεί η άρνηση μιας έννοιας). Αυτό φαίνεται από την παρακάτω πρόταση, με βάση την οποία υποδεικνύεται ένας τρόπος μετασχηματισμού του Προβλήματος A1 στο A3 και αντίστροφα.

Πρόταση (3): Δίνεται μια βάση γνώσης 𝒦 = ⟨𝒜,𝒯⟩, μια έννοιά της C και ένα άτομο a. O ισχυρισμός C(a) είναι λογικό συμπέρασμα της γνώσης, δηλαδή 𝒦 ⊨ C(a), αν και μόνο αν το σώμα ισχυρισμών 𝒜 ∪ {¬C(a)} είναι ασυνεπές με βάση την ορολογία 𝒯.

Αξίζει να παρατηρήσουμε ότι το Πρόβλημα A2 σπάνια μπορεί να μετασχηματιστεί με αντίστοιχο τρόπο στο Πρόβλημα A3, διότι στις συνήθεις περιγραφικές λογικές συνήθως δεν ορίζεται ο τελεστής της άρνησης ρόλων. Επιπλέον, το πρόβλημα της ικανοποιησιμότητας μιας έννοιας σε ένα TBox μπορεί να μετασχηματιστεί στο πρόβλημα του ελέγχου της συνέπειας ενός ABox, όπως υποδεικνύεται από την παρακάτω πρόταση.

Πρόταση (4): Δίνεται ένα TBox 𝒯 και μια έννοια C του TBox αυτού. Είναι λογικό συμπέρασμα του 𝒯 ότι η έννοια C ικανοποιήσιμη στο 𝒯, αν και μόνο αν το ABox {C(a)}, όπου a ένα νέο όνομα ατόμου είναι συνεπές με βάση το TBox 𝒯.

Με βάση τους μετασχηματισμούς προβλημάτων που μελετήσαμε, οδηγούμαστε στο συμπέρασμα ότι το Πρόβλημα A1 είναι πολύ σημαντικό για τις εκφραστικές περιγραφικές λογικές, διότι τα περισσότερα προβλήματα που ορίσαμε μπορούν να μετασχηματιστούν σε αυτό. Φυσικά, σε περίπτωση που η περιγραφική λογική δεν είναι τόσο εκφραστική ώστε να μπορεί να οριστεί η άρνηση, οι αναγωγές προβλημάτων είναι πολύ περιορισμένες, και συνεπώς είναι απαραίτητο να προτείνονται αυτόματοι αλγόριθμοι που να επιλύουν κάθε πρόβλημα χωριστά.

Από την άλλη πλευρά, είναι σημαντικό ότι η δυσκολία του προβλήματος της συλλογιστικής αυξάνεται ιδιαίτερα σε μια περιγραφική λογική στην οποία μπορεί να διατυπωθεί η άρνηση μιας έννοιας, μέσω του τελεστή ¬. Ενδεικτικό είναι το επόμενο παράδειγμα.

Παράδειγμα (24): Έστω το ABox 𝒜 = {α1, α2, α3, α4, α5α6}, με

α1: Comedy(movieA),
α2: ¬Comedy(movieC),
α3: UserRelated(movieA, movieB),
α4: UserRelated(movieB, movieC),
α5: UserRelated(movieD, movieA),
α6: UserRelated(movieD, movieB).  (110)

Θα εξετάσουμε αν το 𝒜 συνεπάγεται λογικά τον ισχυρισμό

(∃UserRelated.(Comedy ⊓ ∃UserRelated.¬Comedy))(movieD).  (111)

Οι ισχυρισμοί του 𝒜 δηλώνουν ότι το movieA είναι κωμωδία, το movieC δεν είναι κωμωδία, το movieA σχετίζεται με βάση τις προτιμήσεις των χρηστών με το movieΒ (αυτή είναι η φυσική ερμηνεία του κατηγορήματος UserRelated), αντίστοιχα το movieΒ με το movieC, το movieD με το movieA και το movieD με το movieΒ . Ζητείται να αποδείξουμε ότι με βάση τη γνώση αυτή το movieD σχετίζεται με κάποια ταινία που είναι κωμωδία, και αυτή με τη σειρά της σχετίζεται με μια ταινία που δεν είναι κωμωδία.

Από μια πρώτη ανάγνωση του 𝒜, φαίνεται να μην ισχύει το αξίωμα (111), διότι οι μόνες ταινίες με τις οποίες σχετίζεται ρητά η movieD είναι οι movieA και movieB· απ’ αυτές, η movieB δεν αναφέρεται ρητά ότι είναι Comedy, ενώ η movieA, που είναι, σχετίζεται μόνο με την movieB, για την οποία δεν φαίνεται ρητά ότι δεν είναι Comedy.

Ας δούμε, όμως, τυπικά, με βάση τη σημασιολογία των περιγραφικών λογικών, αν ισχύει η (111) ή όχι στο ABox (110).

Έστω, χωρίς βλάβη της γενικότητας, ένα μοντέλο του ABox με Δ = {x, y, z, v}, για το οποίο ισχύει ότι movieA = {x}, movieB = {y}, movieC = {z} και movieD = {v}, για το οποίο, με βάση τους ισχυρισμούς του ABox, θα ισχύει ότι x ∈ Comedy (για να ικανοποιείται ο α1), (x, y)∈UserRelated (για να ικανοποιείται το α3), (y, z)∈UserRelated (για να ικανοποιείται ο α4), (v, x)∈UserRelated (για να ικανοποιείται ο α5) και (v, y)∈UserRelated (για να ικανοποιείται ο α6). Προφανώς, δεν μπορεί να ισχύει ότι z ∈ Comedy, διότι σε αυτήν την περίπτωση η δεν θα ήταν μοντέλο, αφού δεν θα ικανοποιούνταν ο α2.

Παρατηρούμε ότι η ερμηνεία συνεχίζει να είναι μοντέλο αν προσθέσουμε το γεγονός y ∈ Comedy. Αυτό ισχύει, διότι αφενός δεν γνωρίζουμε αν Comedy(movieB) (ώστε να είναι απαραίτητο το y ∈ Comedy) και αφετέρου δεν είναι λογικό συμπέρασμα της γνώσης ότι ¬Comedy(movieB). Συνεπώς, ένα άλλο μοντέλο της γνώσης είναι αυτό στο οποίο ισχύει το y ∈ Comedy. Συνοψίζοντας, διακρίνουμε δύο περιπτώσεις (στην πρώτη περίπτωση ισχύει ότι Comedy(movieB) και στη δεύτερη ότι ¬Comedy(movieB)), οι οποίες οδηγούν σε δύο διαφορετικά μοντέλα (y ∈ Comedy ή y ∉ Comedy, αντίστοιχα), που δίνονται παρακάτω:

Δ = {x, y, z},
movieA = {x},
movieB = {y},
movieC = {z},
movieD = {v},
Comedy = {x},
UserRelated = {(x, y),(y, z),(v, x),(v, y)}  (112)

και

Δ = {x, y, z},
movieA = {x},
movieB = {y},
movieC = {z},
movieD = {v},
Comedy = {x, y},
UserRelated = {(x, y),(y, z),(v, x),(v, y)}.  (113)

Στο μοντέλο (112), παρατηρούμε ότι για το αντικείμενο x ισχύει ότι x ∈ Comedy και επιπλέον (x, y)∈UserRelated με y ∉ Comedy. Επομένως, ισχύει ότι

x ∈ (Comedy ⊓ ∃UserRelated.¬Comedy),

και επειδή (v, x)∈UserRelated ο ισχυρισμός (111) ικανοποιείται.

Αντίστοιχα, στο μοντέλο (113), παρατηρούμε ότι για το αντικείμενο y ισχύει ότι y ∈ Comedy και επιπλέον (y, z)∈UserRelated με z ∉ Comedy. Επομένως, ισχύει ότι

y ∈ (Comedy ⊓ ∃UserRelated.¬Comedy),

και επειδή (v, y)∈UserRelated ο ισχυρισμός (111) ικανοποιείται και πάλι (για διαφορετικό αντικείμενο, αλλά αυτό δεν είναι σημαντικό για το πρόβλημα που εξετάζουμε).

Επομένως, ο ισχυρισμός (111) ικανοποιείται σε κάθε περίπτωση (σε κάθε μοντέλο του (110)) και άρα είναι λογικό συμπέρασμά του.

Αλγόριθμοι δομικής υπαγωγής

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

Το πρώτο πρόβλημα που θα αντιμετωπίσουμε είναι αυτό της υπαγωγής εννοιών στη γλώσσα ℱℒ0, στην οποία για τον σχηματισμό σύνθετων εννοιών, εκτός από ονόματα εννοιών και ονομάτων ρόλων, είναι διαθέσιμοι οι λογικοί τελεστές και . Τυπικά, το πρόβλημα, το οποίο αποτελεί υποπερίπτωση του Προβλήματος T2 (για κενό TBox), διατυπώνεται ως εξής:

Πρόβλημα υπαγωγής εννοιών στην ℱℒ0. Δίνονται δύο ℱℒ0 έννοιες C και D, και ζητείται να ελεγχθεί αν ισχύει η υπαγωγή C ⊑ D.

Τα επόμενα παραδείγματα δείχνουν τον τρόπο με τον οποίο μπορούμε να αντιμετωπίσουμε τυπικά το πρόβλημα.

Παράδειγμα (25): Έστω οι έννοιες C και D που ορίζονται από τα αξιώματα

C ≡ A,

D ≡ A ⊓ B.

Παρατηρούμε ότι ισχύει D ⊑ C, ανεξάρτητα από τις A, B. Πράγματι, με βάση τη σημασιολογία του τελεστή , για κάθε a ∈ D ισχύει ότι a ∈ A ∩ B, επομένως ισχύει ότι a ∈ A. Άρα ισχύει ότι a ∈ C. Διαισθητικά, θα λέγαμε ότι τα στιγμιότυπα της έννοιας D, εκτός από την ιδιότητα που περιγράφεται από την έννοια A (την οποία μοιράζονται με τα στιγμιότυπα της έννοιας C), έχουν και την ιδιότητα που περιγράφεται από την έννοια B.

Παράδειγμα (26): Έστω οι έννοιες C και D που δίνονται από τις σχέσεις

C ≡ ∀r.A,

D ≡ ∀r.(A ⊓ B).

Παρατηρούμε, όπως και στο Παράδειγμα (25), ότι ισχύει D ⊑ C, ανεξάρτητα από τις A, B. Πράγματι, με βάση τη σημασιολογία του τελεστή , αν a ∈ (∀r.(A ⊓ B)), τότε για κάθε b ∈ Δ με (a, b)∈r, ισχύει ότι b ∈ A ∩ B, συνεπώς b ∈ A και άρα a ∈ (∀r.A). Συνεπώς, a ∈ C.

Από τα παραπάνω οδηγούμαστε στις εξής διαισθητικές παρατηρήσεις:

Από τα παραπάνω διαφαίνεται μια στρατηγική που θα μπορούσε να καταστρωθεί για τον έλεγχο της υπαγωγής. Αρχικά, μετασχηματίζουμε τις έννοιες C και D σε ισοδύναμές τους, ώστε να είναι ευκολότερη η σύγκριση των ιδιοτήτων, και στη συνέχεια οργανώνουμε τον τρόπο σύγκρισης των ιδιοτήτων αυτών, με στόχο τον έλεγχο του αν οι ιδιότητες της C είναι υπερσύνολο των ιδιοτήτων της D.

Ορισμός (28): Έστω C μια σύνθετη ℱℒ0 έννοια. Θα λέμε ότι η C είναι σε κανονική μορφή, αν και μόνο αν είναι ατομική έννοια (όνομα έννοιας) ή έννοια της μορφής

A1 ⊓ ⋯ ⊓ An ⊓ ∀r1.B1 ⊓ ⋯ ⊓ ∀rm.Bm,   (114)

όπου τα A1, ..., An είναι ονόματα εννοιών, τα r1, ..., rm είναι ονόματα ρόλων και τα B1, ...Bm είναι ℱℒ0 έννοιες σε κανονική μορφή.

Δεν είναι δύσκολο να δούμε ότι για κάθε σύνθετη ℱℒ0 έννοια μπορεί να βρεθεί μια ισοδύναμή της σε κανονική μορφή, με χρήση των ιδιοτήτων των τελεστών και , όπως οι παρακάτω:

Ταυτοδυναμία τελεστή : A ⊓ A ≡ A.
Αντιμεταθετικότητα τελεστή : A ⊓ B ≡ B ⊓ A.
Προσεταιριστικότητα τελεστή : A ⊓ (B ⊓ C)≡(A ⊓ B)⊓C ≡ A ⊓ B ⊓ C.
Επιμεριστικότητα τελεστή : r.(A ⊓ B)≡∀r.A ⊓ ∀r.B.
Μια τυπική διαδικασία για τη μετατροπή μιας ℱℒ0 έννοιας στην κανονική μορφή του Ορισμού (28), με βάση τις παραπάνω ιδιότητες, φαίνεται στον Πίνακα (7).

Παράδειγμα (27): Έστω η έννοια C που δίνεται από τη σχέση

C ≡ ∀r.∀r.B ⊓ A ⊓ ∀r.(B ⊓ A ⊓ ∀r.A).

Θα εκτελέσουμε τη διαδικασία που περιγράφηκε για τη μετατροπή της έννοιας C σε κανονική μορφή. Το Βήμα 1, δηλαδή η εφαρμογή της προσεταιριστικής ιδιότητας του τελεστή δεν τροποποιεί την έννοια. Μετά το Βήμα 2, η C γράφεται στην εξής ισοδύναμη μορφή:

Πίνακας (7): Διαδικασία μετατροπής μιας ℱℒ0 έννοιας σε κανονική μορφή.
ΒΗΜΑ 1   Εφάρμοσε επαναληπτικά την προσεταιριστική ιδιότητα του τελεστή , ώστε να απλοποιηθούν οι παρενθέσεις.
ΒΗΜΑ 2   Εφάρμοσε επαναληπτικά την αντιμεταθετική ιδιότητα του τελεστή , ώστε να διαχωριστούν οι ατομικές έννοιες και οι ιδιότητες ρόλων και να μετασχηματιστεί η έννοια στη μορφή
A1 ⊓ ⋯ ⊓ An ⊓ ∀r1.B1 ⊓ ⋯ ⊓ ∀rm.Bm,
όπου τα A1, A2, ..., An είναι ονόματα εννοιών, τα r1, r2, ..., rm είναι ονόματα ρόλων και τα B1, ...Bm είναι σύνθετες ℱℒ0 έννοιες (όχι απαραίτητα σε κανονική μορφή).
ΒΗΜΑ 3   Εφάρμοσε την ιδιότητα της ταυτοδυναμίας του τελεστή , ώστε να μετασχηματιστεί η έννοια στη μορφή
A1 ⊓ ⋯ ⊓ An ⊓ ∀r1.B1 ⊓ ⋯ ⊓ ∀rm.Bm,
όπου όλα τα A1, ..., An είναι διαφορετικά μεταξύ τους.
ΒΗΜΑ 4   Εφάρμοσε την ιδιότητα της επιμεριστικότητας του τελεστή (ομαδοποιώντας τα ορίσματα των ρόλων), ώστε να μετασχηματιστεί η έννοια στη μορφή
A1 ⊓ ⋯ ⊓ An′⊓∀r1.B1 ⊓ ⋯ ⊓ ∀rm.Bm,
όπου όλα τα r1, ..., rm είναι διαφορετικά μεταξύ τους.
ΒΗΜΑ 5   Εκτέλεσε αναδρομικά τα Βήματα 1 έως 4 στις έννοιες B1, ..., Bm.

A ⊓ ∀r.∀r.B ⊓ ∀r.(B ⊓ A ⊓ ∀r.A).

Το Βήμα 3 δεν τροποποιεί την έννοια, ενώ μετά το Βήμα 4 αυτή γράφεται ως εξής:

A ⊓ ∀r.(∀r.B ⊓ (B ⊓ A ⊓ ∀r.A)).

Στη συνέχεια, η διαδικασία από το Βήμα 1 επαναλαμβάνεται για την έννοια r.B ⊓ (B ⊓ A ⊓ ∀r.A), που αποτελεί τον περιορισμό του τελεστή r. Μετά το Βήμα 1, αυτή γράφεται στη μορφή

r.B ⊓ B ⊓ A ⊓ ∀r.A.

Μετά το Βήμα 2 γράφεται στη μορφή

B ⊓ A ⊓ ∀r.B ⊓ ∀r.A,

ενώ μετά το Βήμα 4 (το Βήμα 3 δεν τροποποιεί την έννοια) γράφεται ως εξής:

B ⊓ A ⊓ ∀r.(B ⊓ A).

Εφόσον αυτή είναι σε κανονική μορφή, η διαδικασία τερματίζει και τελικά έχουμε

C ≡ A ⊓ ∀r.(B ⊓ A ⊓ ∀r.(B ⊓ A)).

Θα προχωρήσουμε τώρα στην τυπική περιγραφή της διαδικασίας σύγκρισης δύο εννοιών που βρίσκονται σε κανονική μορφή. Οι διαισθητικές παρατηρήσεις που αναφέρθηκαν προηγουμένως και αφορούν την υπαγωγή μιας έννοιας σε μια άλλη, με βάση τη σύγκριση της δομής τους, τυποποιείται ευκολότερα όταν οι δύο έννοιες βρίσκονται σε κανονική μορφή, όπως φαίνεται από το παρακάτω θεώρημα.

Θεώρημα (1): Έστω C, D δύο ℱℒ0 έννοιες σε κανονική μορφή:

C ≡ A1 ⊓ ⋯ ⊓ An ⊓ ∀r1.B1 ⊓ ⋯ ⊓ ∀rm.Bm,   (115)

D ≡ A1 ⊓ ⋯ ⊓ An ⊓ ∀r1.B1 ⊓ ⋯ ⊓ ∀rm.Bm.  (116)

Ισχύει ότι C ⊑ D αν και μόνο αν ισχύουν τα παρακάτω:

  1. Για κάθε i ∈ ℕn υπάρχει j ∈ ℕn τέτοιο ώστε Ai ≡ Aj.

  2. Για κάθε i ∈ ℕm υπάρχει j ∈ ℕm τέτοιο ώστε ri = rj και Bi ⊑ Bj.

Με βάση τη διαδικασία μετατροπής των εννοιών σε κανονική μορφή καθώς και το Θεώρημα (1), περιγράφουμε στη συνέχεια τον Αλγόριθμο (5) (FL − issub), ο οποίος καλείται αλγόριθμος δομικής υπαγωγής (structural subsumption), ακριβώς επειδή ελέγχει την υπαγωγή μιας έννοιας σε μια άλλη με βάση τη δομή των δύο εννοιών.

Αλγόριθμος (5): FL − issub(C, D)

Είσοδος: Δύο ℱℒ0 έννοιες C και D σε κανονική μορφή.

NC := atoms(C)      (1)

ND := atoms(D)      (2)

RC := forall − roles(C)      (3)

RD := forall − roles(D)      (4)

for all A ∈ ND      (5)

if δεν υπάρχει B ∈ NC με B = A      (6)

return NO

end if

for all r ∈ RD      (7)

X := role − restr(C, r)      (8)

Y := role − restr(D, r)      (9)

if δεν ισχύει FL − issub(X, Y)      (10)

return NO

end if

return YES      (11)

Ο Αλγόριθμος (5) λειτουργεί ως εξής: Δέχεται στην είσοδό του δύο ℱℒ0 έννοιες, την έννοια C και την έννοια D, οι οποίες είναι σε κανονική μορφή (χωρίς βλάβη της γενικότητας θεωρούμε ότι είναι της μορφής των εξισώσεων (115) και (116), αντίστοιχα). Αρχικά, χρησιμοποιεί τη συνάρτηση atoms, η οποία δέχεται στην είσοδό της μια ℱℒ0 έννοια σε κανονική μορφή και επιστρέφει το σύνολο των συζευκτικών που είναι ατομικές έννοιες. Για παράδειγμα, η εκτέλεση της atoms για την έννοια C στην γραμμή (1) επιστρέφει το σύνολο {A1, ..., An}, ενώ η εκτέλεσή της για την έννοια D στην γραμμή (2) επιστρέφει το σύνολο {A1, ..., An}.

Στη συνέχεια, χρησιμοποιεί τη συνάρτηση forall − roles, η οποία δέχεται στην είσοδό της μια ℱℒ0 έννοια σε κανονική μορφή και επιστρέφει το σύνολο των ρόλων που χρησιμοποιούνται σε συζευκτικά με κατασκευαστές . Για παράδειγμα, η εκτέλεση της atoms για την έννοια C στην γραμμή (3) επιστρέφει το σύνολο {r1, ..., rm}, ενώ η εκτέλεσή της για την έννοια D στην γραμμή (4) επιστρέφει το σύνολο {r1, ..., rm}.

Από τη γραμμή (5) εκτελείται ένας βρόχος for, ο οποίος ουσιαστικά ελέγχει την 1η συνθήκη του Θεωρήματος (1). Πράγματι, ελέγχει αν κάθε στοιχείο του ND υπάρχει στο NC, αν δηλαδή ισχύει ότι ND ⊆ NC. Ο έλεγχος αυτός γίνεται με τον επαναληπτικό έλεγχο της γραμμής (6). Αν η συνθήκη αυτή δεν ισχύει, τότε ο αλγόριθμος τερματίζει επιστρέφοντας NO, δηλαδή απαντώντας ότι η υπαγωγή C ⊑ D δεν ισχύει.

Στη συνέχεια, από τη γραμμή (7) εκτελείται ένας αντίστοιχος βρόχος for, ο οποίος ελέγχει τη 2η συνθήκη του Θεωρήματος (1). Αρχικά, για κάθε στοιχείο του RD εκτελείται η συνάρτηση role − restr, η οποία δέχεται στην είσοδό της μια ℱℒ0 έννοια C σε κανονική μορφή και έναν ρόλο r και επιστρέφει την (πιθανά σύνθετη) έννοια του περιορισμού r., αν το r. υπάρχει στην C. Αν δεν υπάρχει, η role − restr(C, r) επιστρέφει , αφού θα μπορούσαμε να θεωρήσουμε ότι η C περιέχει το r.⊤, το οποίο έτσι κι αλλιώς είναι ισοδύναμο με το Top (γιατί;). Η εκτέλεσή της role − restr, στη γραμμή (8) επιστρέφει, έστω ένα Bi (i ∈ ℕm) αν r = ri για τον οποίο εκτελείται, σε κάθε βήμα του βρόχου (7), ενώ αντίστοιχα η γραμμή (9) επιστρέφει, έστω ένα Bj (i ∈ ℕm)για κάθε ρόλο αν ισχύει ότι r = rj. Σύμφωνα με τα παραπάνω, αν ο ρόλος r ∈ RD που επιλέγεται στη γραμμή (7), δεν υπάρχει στη C (ή στη D, αντίστοιχα), τότε επιστρέφεται Top.

Ο έλεγχος της 2ης συνθήκης του Θεωρήματος (1) γίνεται στη γραμμή (10), όπου για κάθε κάθε ρόλο r εκτελείται αναδρομικά ο αλγόριθμος FL − issub για τους περιορισμούς του ρόλου r στις C και D, αντίστοιχα. Δηλαδή, σε κάθε Βήμα i του βρόχου for της γραμμής (7), εκτελείται η FL − issub(Bi, Bj), όπου r = ri = rj. Αν η συνθήκη αυτή δεν ισχύει (η εκτέλεση της FL − issub επιστρέψει NO), τότε ο αλγόριθμος τερματίζει επιστρέφοντας NO, δηλαδή απαντώντας ότι η υπαγωγή C ⊑ D δεν ισχύει.

Τέλος, αν ο έλεγχος του αλγορίθμου φτάσει στη γραμμή (11), που σημαίνει ότι οι συνθήκες του Θεωρήματος (1) ικανοποιούνται, ο αλγόριθμος επιστρέφει YES.

Παράδειγμα (28): Έστω οι έννοιες C και D που δίνονται από τις εξής σχέσεις:

C ≡ ∀r.∀r.B ⊓ A ⊓ ∀r.(B ⊓ A ⊓ ∀r.A),

D ≡ ∀r.∀r.A ⊓ A ⊓ ∀r.(B ⊓ A)⊓∀r.B ⊓ ∀r.A,

Θα εφαρμόσουμε τη διαδικασία που περιγράψαμε παραπάνω για να ελέγξουμε αν ισχύει η υπαγωγή C ⊑ D.

Στο Παράδειγμα (27) περιγράφηκε η διαδικασία μετατροπής της έννοιας C σε κανονική μορφή, με βάση την οποία έχουμε ότι

C ≡ A ⊓ ∀r.(B ⊓ A ⊓ ∀r.(B ⊓ A)).  (117)

Αντίστοιχα, εκτελούμε τη διαδικασία για την έννοια D και αυτή μετατρέπεται στην ισοδύναμη μορφή

D ≡ A ⊓ ∀r.(B ⊓ A ⊓ ∀r.A).  (118)

Ακολουθώντας τη διαδικασία σύγκρισης των εννοιών C και D, από τις μορφές των εξισώσεων (117) και (118) αρχικά παρατηρούμε ότι η Ιδιότητα 1 του Θεωρήματος (1) ικανοποιείται, διότι η ατομική έννοια A, η οποία είναι το μοναδικό ατομικό συζευκτικό της έννοιας D, είναι συζευκτικό και της έννοιας C.

Στη συνέχεια, για την ικανοποίηση της Ιδιότητας 2, θα πρέπει να ελεγχθεί η υπαγωγή

B ⊓ A ⊓ ∀r.(B ⊓ A)⊑B ⊓ A ⊓ ∀r.A  (119)

με εφαρμογή παρόμοιας διαδικασίας. Δεν είναι δύσκολο να δούμε ότι η υπαγωγή αυτή ισχύει, αφού και οι δύο έννοιες έχουν ως συζευκτικά τα ίδια άτομα και τους ίδιους ρόλους και επιπλέον ισχύει ότι B ⊓ A ⊑ A. Συνεπώς, ικανοποιούνται οι ιδιότητες του Θεωρήματος (1), άρα ισχύει η υπαγωγή C ⊑ D.

Ας ελέγξουμε τώρα την υπαγωγή C ⊑ D εκτελώντας τον Αλγόριθμο (5), με κλήση της συνάρτησης FL − issub(C, D).

Αρχικά, εκτελούνται οι γραμμές 1-4 και τα σύνολα NC, ND, RC και RD αρχικοποιούνται στις εξής τιμές:

NC = {A},

ND = {A},

RC = {r},

RD = {r}.

Στη συνέχεια, εκτελείται ο βρόχος της γραμμής (5) για το μοναδικό στοιχείο του ND, δηλαδή το A. Επειδή A ∈ NC, δεν ισχύει η συνθήκη του if της γραμμής (6) και επομένως ο έλεγχος προχωρά στον βρόχο for της γραμμής (7), ο οποίος εκτελείται για το μοναδικό στοιχείο του RD, δηλαδή το r. Στην περίπτωση αυτή, η κλήση της role − restr(C, r) που γίνεται στη γραμμή (8) επιστρέφει

X = B ⊓ A ⊓ ∀r.(B ⊓ A).

Αντίστοιχα, από την κλήση της role − restr(D, r) που γίνεται στη γραμμή (8) επιστρέφεται

Y = B ⊓ A ⊓ ∀r.A.

Στη συνέχεια, στη γραμμή (10), γίνεται αναδρομική κλήση της συνάρτησης με τιμές παραμέτρων X και Y, δηλαδή FL − issub(X, Y). Στην περίπτωση αυτή, από τις γραμμές 1-4 έχουμε

NC = {B, A},

ND = {B, A},

RC = {r},

RD = {r}.

Αντίστοιχα με πριν, ο βρόχος της γραμμής (5) εκτελείται δύο φορές (για τα στοιχεία του ND, δηλαδή το A και το B). Επειδή τόσο A ∈ NC όσο και B ∈ NC, η συνθήκη του if της γραμμής (6) δεν ισχύει σε καμία από τις δύο περιπτώσεις και επομένως ο έλεγχος προχωρά στον βρόχο for της γραμμής (7), ο οποίος εκτελείται για το μοναδικό στοιχείο του RD, δηλαδή το r. Στην περίπτωση αυτή, η κλήση της role − restr(C, r) που γίνεται στη γραμμή (8) επιστρέφει

X = B ⊓ A.

Αντίστοιχα, από την κλήση της role − restr(D, r) που γίνεται στη γραμμή (8) επιστρέφεται

Y = A.

Στη συνέχεια, όπως και πριν, στη γραμμή (10) γίνεται αναδρομική κλήση της συνάρτησης με τιμές παραμέτρων X και Y, δηλαδή FL − issub(X, Y), οπότε από τις γραμμές 1-4 έχουμε

NC = {B, A},

ND = {A},

RC = ∅, 

RD = ∅.

Για δεύτερη, αναδρομικά, φορά, εκτελείται ο βρόχος της γραμμής (5) για το μοναδικό στοιχείο του ND, δηλαδή το A. Επειδή A ∈ NC, η συνθήκη του if της γραμμής (6) δεν ισχύει και ο έλεγχος προχωρά στον βρόχο for της γραμμής (7), ο οποίος δεν εκτελείται αυτήν τη φορά διότι το RD είναι κενό.

Επομένως, ο έλεγχος στη δεύτερη αναδρομική κλήση φτάνει στη γραμμή (11), οπότε στην κλήση της πρώτης αναδρομής επιστρέφεται YES. Με αντίστοιχο τρόπο, από τη γραμμή (11) της πρώτης αναδρομής επιστρέφεται στην αρχική συνάρτηση YES, και συνεπώς φτάνουμε στη γραμμή (11) της αρχικής συνάρτησης, η οποία επιστρέφει τελικά YES, γεγονός που επιβεβαιώνει ότι ισχύει η υπαγωγή C ⊑ D.

Οι αλγόριθμοι δομικής υπαγωγής αποδεικνύονται ιδιαίτερα αποτελεσματικοί στην πράξη και παίζουν σημαντικό ρόλο στην ανάπτυξη συστημάτων συλλογιστικής για περιγραφικές λογικές. Αντίστοιχα με τη γλώσσα ℱℒ0, αλγόριθμοι δομικής υπαγωγής έχουν εφαρμοστεί με επιτυχία για τον έλεγχο της υπαγωγής εννοιών στη γλώσσα ℰℒ, η οποία χρησιμοποιείται ευρέως στην ανάπτυξη οντολογιών (ειδικά στην αναπαράσταση ιατρικής οντολογικής γνώσης). Υπενθυμίζουμε ότι στη γλώσσα ℰℒ για τον ορισμό σύνθετων εννοιών χρησιμοποιούνται οι τελεστές και . Λόγω της ομοιότητας των γλωσσών ℱℒ0 και ℰℒ, η μορφή των αλγορίθμων ελέγχου υπαγωγής δεν είναι πολύ διαφορετική από τον Αλγόριθμο (5).

Όσον αφορά την πολυπλοκότητα των αλγορίθμων δομικής υπαγωγής, έχει αποδειχθεί ότι γενικά είναι πολυωνυμικού χρόνου, γεγονός που συνδέεται άμεσα με την επιτυχία τους σε βατές (tractable) περιγραφικές λογικές. Δυστυχώς, δεν είναι πολύ εύκολο να επεκταθούν και σε εκφραστικές περιγραφικές λογικές, ειδικά όταν εμπλέκονται οι τελεστής της άρνησης ή/και της διάζευξης. Σε τέτοιες περιπτώσεις χρησιμοποιούνται περισσότερο οι αλγόριθμοι tableaux που θα μελετήσουμε στη συνέχεια.

Αλγόριθμοι βασισμένοι σε tableau

Συλλογιστική με κατασκευή μοντέλου

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

Η βασική ιδέα είναι ότι τα στιγμιότυπα μιας σύνθετης έννοιας έχουν ένα σύνολο από ιδιότητες που απορρέουν από την έκφρασή της. Κάθε ιδιότητα αποτελεί και έναν περιορισμό, ο οποίος πρέπει να ικανοποιείται. Κάποιοι από τους περιορισμούς αυτούς μπορεί να έρχονται σε σύγκρουση (να δημιουργούν αντιφάσεις) και συνεπώς να μην είναι δυνατό να κατασκευαστεί ερμηνεία με κάποιο στιγμιότυπο της έννοιας. Στόχος της μεθόδου είναι να ελεγχθούν οι περιορισμοί που εμπλέκονται στην έκφραση της σύνθετης έννοιας, συγκεκριμένα να ελεγχθεί αν μπορούν να ικανοποιούνται ταυτόχρονα, ώστε η έννοια της οποίας την ικανοποιησιμότητα ελέγχουμε να μπορεί να έχει μη κενό σύνολο στιγμιοτύπων σε κάποια ερμηνεία.

Θα ξεκινήσουμε την περιγραφή της μεθοδολογίας με ένα ενδεικτικό παράδειγμα, στο οποίο διαφαίνεται η στρατηγική που ακολουθείται στους αλγόριθμους αυτού του τύπου.

Παράδειγμα (29): Έστω ότι καλούμαστε να ελέγξουμε την ισχύ της υπαγωγής

r.A ⊓ ∀r.B ⊑ ∀r.(A ⊓ B).  (120)

Με βάση αυτά που αναφέραμε προηγουμένως, το πρόβλημα (120), το οποίο αποτελεί ένα πρόβλημα υπαγωγής εννοιών, μπορεί να μετασχηματιστεί στο πρόβλημα ελέγχου ικανοποιησιμότητας της εξής έννοιας:

C ≡ ∀r.A ⊓ ∀r.B ⊓ ¬(∀r.(A ⊓ B)).  (121)

Για να ελέγξουμε αν η C είναι ικανοποιήσιμη, θα προσπαθήσουμε να κατασκευάσουμε μια ερμηνεία στην οποία η C να έχει μη κενό σύνολο στιγμιοτύπων (οπότε θα μπορέσουμε να διαπιστώσουμε αν οι περιορισμοί που εμπλέκονται στην έκφρασή της μπορούν να ικανοποιούνται ταυτόχρονα ή αν οδηγούν σε αντιφάσεις). Αρχικά, ξεκινάμε από την μετατροπή της σε μια όσο το δυνατό απλούστερη μορφή, με τη χρήση ταυτολογιών, όπως οι νόμοι De Morgan. Έτσι, τη μετατρέπουμε στην ισοδύναμη μορφή

C ≡ ∀r.A ⊓ ∀r.B ⊓ ∃r.(¬A ⊔ ¬B).  (122)

Το δεύτερο βήμα είναι η προσπάθεια κατασκευής του μοντέλου. Ας θεωρήσουμε ένα πεδίο ερμηνείας Δ με ένα αντικείμενο, έστω x, δηλαδή

Δ = {x},

και ας θεωρήσουμε ότι, με βάση τη συνάρτηση ερμηνείας, το αντικείμενο αυτό αποτελεί στοιχείο της ερμηνείας της έννοιας C, όπως αυτή ορίζεται από την (122), δηλαδή

x ∈ C.

Έτσι, λοιπόν, η ερμηνεία τυπικά γράφεται ως εξής:

Δ = {x},
C = {x},
A = {},
B = {},
r = {}.  (123)

Λόγω της (123), η ερμηνεία της C σε ανεπτυγμένη μορφή γράφεται ως εξής:

x ∈ (∀r.A ⊓ ∀r.B ⊓ ∃r.(¬A ⊔ ¬B)).  (124)

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

x ∈ (∀r.A)  (125)

x ∈ (∀r.B)  (126)

x ∈ (∃r.(¬A ⊔ ¬B)).  (127)

Παρατηρούμε, τώρα, ότι με βάση τη σημασιολογία του κατασκευαστή , η (127) αντίκειται στη συνέπεια της ερμηνείας (123), επομένως αυτή δεν μπορεί να είναι μοντέλο. Πράγματι, ενώ με βάση την (127) το x είναι απαραίτητο να σχετίζεται μέσω του ρόλου r με κάποιο άλλο αντικείμενο, το οποίο μάλιστα πρέπει είτε να μην ανήκει στην ερμηνεία της A είτε να μην ανήκει στην ερμηνεία της B (ή σε καμία από τις δύο), στην ερμηνεία (123) το x δεν σχετίζεται με κανένα αντικείμενο. Επομένως, θα πρέπει να μετασχηματίσουμε την ερμηνεία αυτή, ώστε να μπορεί να είναι μοντέλο, ικανοποιώντας τον περιορισμό (127). Μια ερμηνεία που θα μπορούσε να ικανοποιεί τις σχέσεις αυτές είναι η παρακάτω:

Δ = {x, y},
C = {x},
A = {},
B = {},
r = {(x, y)}.  (128)

Η ερμηνεία (128) αποτελεί ουσιαστικά επέκταση της (123) με ένα επιπλέον στοιχείο, το αντικείμενο y, το οποίο συνδέουμε μέσω του ρόλου r με το x, ώστε να ικανοποιήσουμε την (127).

Δυστυχώς, όμως, ούτε αυτή η ερμηνεία αποτελεί μοντέλο, αφού για αυτή δεν ισχύουν ούτε η (125) ούτε η (126), με βάση την ερμηνεία του κατασκευαστή . Πράγματι, βλέπουμε ότι ενώ το y είναι r-επόμενος του x (δηλαδή ισχύει ότι r(x, y)), δεν είναι στιγμιότυπο ούτε της A ούτε της B. Αντίστοιχα με πριν, για να μπορέσει να είναι μοντέλο η ερμηνεία (128) την επεκτείνουμε ως εξής:

Δ = {x, y},
C = {x},
A = {y},
B = {y},
r = {(x, y)}.  (129)

Στο σημείο αυτό παρατηρούμε ότι η συνθήκη (127) έρχεται πλέον σε αντίθεση με την ερμηνεία (129), διότι το y πρέπει να αποτελεί (ταυτόχρονα) στοιχείο της ερμηνείας της A και της ¬A ή/και της B και της ¬B. Συνεπώς, η (129) δεν μπορεί να αποτελεί μοντέλο της έννοιας C. Μάλιστα, δεν είναι δύσκολο να δούμε ότι αυτό θα συμβαίνει κάθε φορά που θα προσπαθούμε να κατασκευάσουμε μια ερμηνεία για την C. Αυτό σημαίνει ότι η C είναι μη ικανοποιήσιμη, δηλαδή η υπαγωγή ισχύει.

Από το Παράδειγμα (29) διαφαίνεται μια διαδικασία συλλογιστικής που θα μπορούσε να εφαρμοστεί σε εκφραστικές περιγραφικές λογικές για τον έλεγχο της ικανοποιησιμότητας μιας έννοιας C. Συγκεκριμένα, η διαδικασία στηρίζεται στα βήματα που διαισθητικά περιγράφονται παρακάτω:

Είναι προφανές ότι κατά την παραπάνω διαδικασία η μετατροπή της C στην ισοδύναμη μορφή (με αρνήσεις μόνο μπροστά από ατομικές έννοιες, Βήμα 1), καθώς και ο έλεγχος των προφανών αντιφάσεων (Βήμα 3) φαίνονται μάλλον ξεκάθαρες διαδικασίες. Αντιθέτως, το Βήμα 4, δηλαδή η δομική αποσύνθεση της έκφρασης της C και η αντίστοιχη επέκταση της ερμηνείας φαίνεται να παρουσιάζουν μεγαλύτερο ενδιαφέρον.

Πράγματι, όπως είδαμε και στο Παράδειγμα (29), αφενός υπάρχουν πολλοί λογικοί τελεστές και καθένας απαιτεί διαφορετική μεταχείριση, αφετέρου δεν αρκεί ένα πέρασμα, αφού η επέκταση της ερμηνείας που γίνεται σε κάποιο βήμα, με βάση τον περιορισμό που εισάγεται από την ερμηνεία κάποιου συγκεκριμένου λογικού τελεστή, ενδέχεται να επιφέρει μια νέα ανάγκη για επέκταση (που δεν υπήρχε πριν), με βάση τον περιορισμό που εισάγεται από την ερμηνεία κάποιου άλλου λογικού τελεστή. Παράδειγμα αποτελεί η περίπτωση της συνθήκης (125), που ενώ δεν δημιουργούσε πρόβλημα στην ερμηνεία (123), μετά την επέκταση που έγινε για την ικανοποίηση της συνθήκης (127), δηλαδή την επέκταση στην ερμηνεία (128), έπαψε να ικανοποιείται.

Μετατροπή σε κανονική μορφή

Θα ξεκινήσουμε την τυπική ανάλυση της μεθοδολογίας με την περιγραφή μιας διαδικασίας μετατροπής μιας έννοιας σε μια ισοδύναμη μορφή, στην οποία οι αρνήσεις βρίσκονται μόνο μπροστά από ατομικές έννοιες, ώστε να διευκολύνεται ο έλεγχος για προφανείς αντιφάσεις.

Ορισμός (29): Έστω C μια σύνθετη 𝒜ℒ𝒞 έννοια. Θα λέμε ότι η C είναι σε κανονική μορφή άρνησης, KMA (negation normal form), αν και μόνο αν όλοι οι λογικοί τελεστές άρνησης που χρησιμοποιούνται στον ορισμό της έχουν στην εμβέλειά τους μόνο ονόματα εννοιών (ατομικές έννοιες).

Δεν είναι δύσκολο να δούμε ότι η διαδικασία που φαίνεται στον Πίνακα (8) μετατρέπει μια 𝒜ℒ𝒞 έννοια σε μια ισοδύναμή της που βρίσκεται σε κανονική μορφή άρνησης.

Πίνακας (8): Διαδικασία μετατροπής μιας 𝒜ℒ𝒞 έννοιας σε KMA.
ΒΗΜΑ 1   Εφάρμοσε στην έκφραση της έννοιας έναν από τους παρακάτω κανόνες:
¬⊥≡⊤,
¬⊤≡⊥,
¬(A ⊓ B)≡¬A ⊔ ¬B,
¬(A ⊔ B)≡¬A ⊓ ¬B,
¬(∀r.A)≡∃rA,
¬(∃r.A)≡∀rA.
ΒΗΜΑ 2   Έλεγξε αν η έκφραση είναι σε ΚΜΑ. Αν είναι σε ΚΜΑ ή αν δεν εφαρμόστηκε κανένας κανόνας στο Βήμα 1, τερμάτισε, αλλιώς επανάλαβε από το ΒΗΜΑ 1.

Παράδειγμα (30): Έστω ότι καλούμαστε να μετατρέψουμε την έννοια

C ≡ ∀r.A ⊓ ∀r.B ⊓ ¬(∀r.(A ⊓ B))

σε ΚΜΑ εφαρμόζοντας τη διαδικασία του Πίνακα (8).

Παρατηρούμε ότι η μόνη άρνηση βρίσκεται μπροστά από τελεστή, οπότε στο Βήμα 1 της διαδικασίας του Πίνακα (8) θα εκτελεστεί ο κανόνας

¬(∀r.A)≡∃rA

και η έννοια C θα μετατραπεί στην εξής μορφή:

C ≡ ∀r.A ⊓ ∀r.B ⊓ (∃r.¬(A ⊓ B)).

Στη συνέχεια, ο έλεγχος του Βήματος 2 θα βρει ότι η C δεν είναι σε ΚΜΑ, διότι ο τελεστής άρνησης δεν είναι μπροστά από ατομικές έννοιες και συνεπώς ο έλεγχος θα επανέλθει στο Βήμα 1, οπότε θα εφαρμοστεί ο κανόνας

¬(A ⊓ B)≡¬A ⊔ ¬B,

με βάση τον οποίο η έννοια C θα μετατραπεί στη μορφή

C ≡ ∀r.A ⊓ ∀r.B ⊓ (∃r.(¬A ⊔ ¬B)).  (130)

Δεν είναι δύσκολο να δούμε ότι η C, στη μορφή (130), είναι πλέον σε ΚΜΑ, οπότε η διαδικασία θα τερματίσει στο Βήμα 2.

Αναπαράσταση και ικανοποίηση περιορισμών: δομή tableau

Για τον οργανωμένο τρόπο ικανοποίησης των περιορισμών που εισάγονται από τη χρήση των λογικών τελεστών, αλλά και την τυπική αντιμετώπιση του προβλήματος της ταυτόχρονης ικανοποίησής τους, η εκτέλεση του Βήματος 4 στηρίζεται σε μια διαδικασία εφαρμογής κανόνων που ονομάζονται κανόνες tableau (tableau rules) και στηρίζονται στις παρακάτω διαισθητικές παρατηρήσεις, που αποτελούν άμεση συνέπεια της σημασιολογίας των λογικών τελεστών.

Οι παραπάνω παρατηρήσεις αφορούν τη γλώσσα 𝒜ℒ𝒞𝒬. Με αντίστοιχο τρόπο αντιμετωπίζονται τελεστές που χρησιμοποιούνται σε πιο εκφραστικές γλώσσες. Επίσης, οι παραπάνω παρατηρήσεις αποτελούν απλά έκφραση των περιορισμών που πρέπει να ισχύουν ώστε η ερμηνεία που κατασκευάζουμε να είναι μοντέλο, χωρίς να καθορίζουν με ακρίβεια τον τρόπο με τον οποίο η ερμηνεία πρέπει να επεκταθεί, όταν δεν ικανοποιείται κάποιος περιορισμός.

Στη συνέχεια, θα δώσουμε μια τυπική περιγραφή της μεθοδολογίας που υλοποιεί τις παραπάνω ιδέες και στηρίζει σε αυτές μια τυπική αλγοριθμική διαδικασία. Οι αλγόριθμοι αυτοί αναφέρονται συνήθως ως αλγόριθμοι tableau, ακριβώς διότι στηρίζονται σε ένα μητρώο (tableau) αυστηρών κανόνων που εφαρμόζουν επαναληπτικά μέχρι η διαδικασία ή να τελεσφορήσει, καταλήγοντας σε ένα μοντέλο, ή να αποτύχει, αποδεικνύοντας ότι δεν υπάρχει μοντέλο. Για λόγους κατανόησης, θα ξεκινήσουμε την περιγραφή μας από τη γλώσσα 𝒜ℒ𝒞 και στη συνέχεια θα επεκταθούμε σε εκφραστικότερες περιγραφικές λογικές.

Έστω ότι δίνεται μια 𝒜ℒ𝒞 έννοια C σε ΚΜΑ και ζητείται ο έλεγχος της ικανοποιησιμότητάς της. Από το Παράδειγμα (29), και πιο συγκεκριμένα κατά το μετασχηματισμό της ερμηνείας (123) με βάση τον περιορισμό που περιγράφεται από την εξίσωση (127), φαίνεται ότι θα μπορούσαμε να μετασχηματίσουμε την ερμηνεία (123) με περισσότερους από έναν τρόπους, έτσι ώστε να ικανοποιεί τον περιορισμό αυτό. Πράγματι, δεν είναι δύσκολο να δούμε ότι, εκτός από την ερμηνεία (128), τόσο η ερμηνεία

Δ = {x, y},
C = {x},
A = {y},
B = {},
r = {(x, y)},   (131)

όσο και η

Δ = {x, y},
C = {x},
A = {},
B = {y},
r = {(x, y)}  (132)

αποτελούν μετασχηματισμούς της (123) που ικανοποιούν τον περιορισμό που εκφράζεται από την εξίσωση (127). Αν παρατηρήσουμε προσεκτικά, αυτό συμβαίνει λόγω του τελεστή της εξίσωσης (127), που υποδεικνύει ότι το αντικείμενο με το οποίο επεκτείνεται η (123) (στη συγκεκριμένη περίπτωση το y) θα πρέπει ή να μην είναι στιγμιότυπο της A ή να μην είναι στιγμιότυπο της B. Οι ερμηνείες (131) και (132) εκφράζουν, ουσιαστικά, τις δύο εναλλακτικές αυτές περιπτώσεις (ενώ η (128) εκφράζει την περίπτωση που το y δεν ανήκει ούτε στην ερμηνεία της A, ούτε στην ερμηνεία της B). Επιπλέον, από τη συνέχεια του Παραδείγματος (29), παρατηρούμε ότι κατά το μετασχηματισμό με βάση τους περιορισμούς που εκφράζονται από τις εξισώσεις (125) και (126) είναι απαραίτητο να διερευνήσουμε και τις δύο περιπτώσεις για να είμαστε σίγουροι ότι δεν υπάρχει μοντέλο.

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

Για τον σκοπό αυτό χρησιμοποιείται η δομή tableau (tableau structure), που ουσιαστικά είναι ένα πεπερασμένο σύνολο από ABox, συμβολικά 𝒮 = {𝒜1, ..., 𝒜n}, καθένα από τα οποία αναπαριστά όλους τους περιορισμούς που απορρέουν από τη σημασιολογία της έκφρασής της, με βάση και τις εναλλακτικές λύσεις που μπορεί να καλύπτουν τους περιορισμούς.

Για παράδειγμα, η αρχική δομή tableau που σχηματίζουμε για το Παράδειγμα (29) και αντιστοιχεί στην ερμηνεία (123) είναι το

𝒮 = {𝒜},

όπου 𝒜 = {C(x0)}. Στην περίπτωση αυτή, θα μπορούσε κάποιος να πει ότι η ερμηνεία (123) είναι ουσιαστικά μια ερμηνεία του 𝒜 (όπου x = x0). Αξίζει να σημειώσουμε ότι στην περίπτωση αυτή ο καθορισμός της ερμηνείας δεν είναι απαραίτητος, καθώς κατά τον έλεγχο της ικανοποιησιμότητας δεν μας ζητείται να βρούμε κάποια ερμηνεία, αλλά να ελέγξουμε αν υπάρχει ερμηνεία, χωρίς απαραίτητα να την προσδιορίσουμε. Επομένως, αν είμαστε βέβαιοι από τη μορφή που έχει το 𝒮 ότι υπάρχει κάποια ερμηνεία της C, τότε δεν απαιτείται να την κατασκευάσουμε.

Απλοποίηση περιορισμών: κανόνες μετασχηματισμού δομής tableau

Κάθε φορά που δεν ικανοποιείται κάποιος σημασιολογικός περιορισμός (όπως αυτοί που αναφέρθηκαν παραπάνω) σε κάποιο από τα ABox της δομής tableau, αυτή θα πρέπει να μετασχηματιστεί ώστε να μπορέσει να τον ικανοποιήσει. Στη συνέχεια, θα περιγράψουμε τους κανόνες μετασχηματισμού της δομής tableau που σχετίζονται με τη σημασιολογία των λογικών τελεστών. Στον Πίνακα (9) φαίνονται οι τέσσερις κανόνες που χρησιμοποιούνται στην γλώσσα 𝒜ℒ𝒞. Ο κανόνας- ελέγχει αν σε κάποιο από τα ABox του 𝒮 υπάρχει κάποιο άτομο a που είναι στιγμιότυπο μιας έννοιας C ⊓ D και δεν είναι στιγμιότυπο και των δύο εννοιών C και D. Αν αυτό ισχύει, τότε μετασχηματίζει το 𝒮 προσθέτοντας στο 𝒜 στο οποίο βρήκε το άτομο a τους ισχυρισμούς C(a) και D(a) (όποιον από αυτούς δεν υπάρχει).

Ο κανόνας- ελέγχει αν σε κάποιο από τα ABox του 𝒮 υπάρχει κάποιο άτομο a που είναι στιγμιότυπο μιας έννοιας C ⊔ D και δεν είναι στιγμιότυπο τουλάχιστον μίας από τις δύο αυτές έννοιες. Αν αυτό ισχύει, τότε μετασχηματίζει το 𝒮 αφαιρώντας από αυτό το 𝒜 και προσθέτοντας δύο εναλλακτικά ABox, το 𝒜′, το οποίο είναι το ίδιο με το 𝒜 με τον επιπλέον ισχυρισμό C(a), και το 𝒜″, το οποίο είναι το ίδιο με το 𝒜 με τον επιπλέον ισχυρισμό D(a). Με την επέκταση αυτή ικανοποιούμε συντηρητικά τον περιορισμό που δεν ικανοποιείται στο ABox 𝒜, με τις δύο πιθανές περιπτώσεις. Με τον όρο «συντηρητικά» εννοούμε ότι προσθέτουμε μόνο τους απαραίτητους ισχυρισμούς που απαιτούνται για την ικανοποίηση του περιορισμού που παραβιάζεται.

Ο κανόνας- ελέγχει αν σε κάποιο από τα ABox του 𝒮 υπάρχει κάποιο άτομο a που είναι στιγμιότυπο μιας έννοιας r.C και ενώ σχετίζεται με κάποιο άλλο άτομο x, μέσω του ρόλου r, αυτό το x δεν είναι στιγμιότυπο της έννοιας C. Αν αυτό ισχύει, τότε προσθέτει τον ισχυρισμό C(x) στον ABox 𝒜, ικανοποιώντας τον περιορισμό που παραβιάζεται.

Τέλος, ο κανόνας- ελέγχει αν σε κάποιο από τα ABox του 𝒮, έστω στο 𝒜, υπάρχει κάποιο άτομο a που είναι στιγμιότυπο μιας έννοιας r.C και δεν σχετίζεται με κανένα άλλο άτομο το οποίο είναι στιγμιότυπο της έννοιας C. Αν αυτό ισχύει, τότε προσθέτει στο 𝒜 ένα νέο άτομο y (που δεν υπάρχει μέχρι τότε στο 𝒜) και ταυτόχρονα προσθέτει τους ισχυρισμούς r(a, y) και C(y), ικανοποιώντας τον περιορισμό r.C. Είναι σημαντικό να παρατηρήσουμε ότι ο περιορισμός r.C είναι δυνατόν να παραβιάζεται επειδή αν και υπάρχει κάποιο r-παιδί του a, έστω x, αυτό δεν είναι στιγμιότυπο της C. Στην περίπτωση αυτή, δεν προστίθεται ο ισχυρισμός C(x), παρότι θα ικανοποιούσε τον περιορισμό r.C, αλλά προστίθεται ένα νέο άτομο για την κάλυψη του περιορισμού. Αυτό είναι λογικό, διότι αν απαιτήσουμε το συγκεκριμένο άτομο x να είναι στιγμιότυπο της C, κινδυνεύουμε να χάσουμε κάποιο μοντέλο στο οποίο το x δεν είναι C. Δηλαδή και στην περίπτωση αυτή, ο μετασχηματισμός του 𝒮 γίνεται συντηρητικά, ώστε να μην υπάρχει περίπτωση να αποκλείσουμε περισσότερες ερμηνείες από αυτές που αποκλείονται υποχρεωτικά από τους περιορισμούς.

Πίνακας (9): Κανόνες μετασχηματισμού δομής tableau 𝒮.
Κανόνας-
ΑΝ Υπάρχει 𝒜 ∈ 𝒮 τέτοιο ώστε (C ⊓ D)(a)∈𝒜 και C(a)∉𝒜 ή D(a)∉𝒜
TOTE   𝒜 = 𝒜 ∪ {C(a),D(a)}.
Κανόνας-
ΑΝ Υπάρχει 𝒜 ∈ 𝒮 τέτοιο ώστε (C ⊔ D)(a)∈𝒜 και C(a),D(a)∉𝒜
TOTE   𝒮 = (𝒮 \ 𝒜)∪{𝒜′,𝒜″} όπου 𝒜′=𝒜 ∪ {C(a)}, 𝒜″=𝒜 ∪ {D(a)}.
Κανόνας-
ΑΝ Υπάρχει 𝒜 ∈ 𝒮 τέτοιο ώστε (∀r.C)(a)∈𝒜 και υπάρχει x με r(a, x)∈𝒜 και C(x)∉𝒜
TOTE   𝒜 = 𝒜 ∪ {C(x)}.
Κανόνας-
ΑΝ Υπάρχει 𝒜 ∈ 𝒮 τέτοιο ώστε (∃r.C)(a)∈𝒜 και δεν υπάρχει x με r(a, x)∈𝒜 και C(x)∈𝒜
TOTE   𝒜 = 𝒜 ∪ {r(a, y),C(y)}, όπου y ∉ Sig(𝒜).

Παρατηρώντας τους κανόνες του Πίνακα (9), ένα σημαντικό στοιχείο που πρέπει να επισημάνουμε είναι ότι δεν μετασχηματίζουν όλοι οι κανόνες το 𝒮 με τον ίδιο τρόπο. Συγκεκριμένα, ο κανόνας-, όπως και ο κανόνας-, προσθέτουν σε κάποιο Abox μία ή δύο υποθέσεις για κάποιο άτομο που υπάρχει σε αυτό. Από την άλλη πλευρά, ο κανόνας- προσθέτει ένα νέο άτομο στον κόσμο, επεκτείνει, δηλαδή, το ABox 𝒜 στο οποίο παραβιάζεται ο περιορισμός με υποθέσεις για ένα νέο άτομο, το οποίο, φυσικά, σχετίζεται με αυτό για το οποίο παραβιάζεται ο ισχυρισμός. Τέλος, ο κανόνας- επεκτείνει τη δομή 𝒮 προσθέτοντας μια εναλλακτική υπόθεση στο ABox 𝒜, στο οποίο παραβιάζεται ο περιορισμός. Για να το πετύχει αυτό, προσθέτει δύο καινούρια ABox, ένα για καθεμία εναλλακτική. Λόγω της εναλλακτικής αυτής φύσης του, λέμε ότι ο κανόνας- είναι μη ντετερμινιστικός (non-deterministic).

Ένα επιπλέον στοιχείο που αξίζει να παρατηρήσουμε είναι ότι σε μια δομή tableau είναι δυνατόν να μπορούν, πιθανώς, να εφαρμοστούν περισσότεροι του ενός κανόνες του Πίνακα (9). Επίσης, είναι δυνατόν να μην μπορεί να εφαρμοστεί κανείς.

Ορισμός (30): Έστω 𝒮 μια δομή tableau. Θα λέμε ότι το 𝒮 είναι πλήρες (complete) και θα το συμβολίζουμε με 𝒮×, αν και μόνο αν δεν μπορεί να εφαρμοστεί σε αυτό κανένας από τους κανόνες μετασχηματισμού του Πίνακα (9).

Με τρόπο παρόμοιο με τον Ορισμό (30) (και επειδή μια δομή tableau μπορεί να αποτελείται από ένα ABox), θα λέμε ότι ένα ABox είναι πλήρες και θα το συμβολίζουμε με 𝒜×, όταν δεν μπορεί να εφαρμοστεί σε αυτό κανένας από τους κανόνες μετασχηματισμού του Πίνακα (9).

Το τελευταίο στοιχείο της τυπικής διαδικασίας που πρέπει να αναλύσουμε, πριν περάσουμε στην τυπική περιγραφή του αλγορίθμου, είναι ο έλεγχος των αντιφάσεων που πρέπει να λάβει χώρα για να επιβεβαιώσουμε ότι μπορεί να κατασκευαστεί μοντέλο με βάση τα ABox του 𝒮. Η διαδικασία αυτή στηρίζεται στον ορισμό της έννοιας του «ελεύθερου αντιφάσεων» ABox.

Ορισμός (31): Έστω 𝒜× ένα πλήρες ABox. Θα λέμε ότι το 𝒜× είναι ελεύθερο αντιφάσεων (clash-free), αν και μόνο αν δεν περιέχει κανέναν από τους παρακάτω συνδυασμούς ισχυρισμών:

όπου x όνομα ατόμου και A ατομική έννοια του 𝒜×.

Αλγόριθμος tableau

Με βάση τη διαδικασία μετασχηματισμού μιας δομής tableau και τον έλεγχο αντιφάσεων για τη γλώσσα 𝒜ℒ𝒞, μπορεί να αναπτυχθεί ένας αλγόριθμος που ελέγχει την ικανοποιησιμότητα μιας 𝒜ℒ𝒞-έννοιας C, αφού πρώτα αυτή μετασχηματιστεί σε ΚΜΑ. Για τον σκοπό αυτό, περιγράφουμε τον Αλγόριθμο (6) (tableauSAT), ο οποίος καλείται αλγόριθμος tableau (tableau algorithm), ακριβώς επειδή ελέγχει την ικανοποιησιμότητα της έννοιας C με βάση τους κανόνες μετασχηματισμού (tableau) του Πίνακα (9).

Αλγόριθμος (6): tableauSAT(C)

Είσοδος: Μια 𝒜ℒ𝒞-έννοια C σε ΚΜΑ.

𝒮 := {{C(x0)}}      (1)

𝒮′:=𝒮

𝒮 := 𝒮′

𝒮′:=applyRules(𝒮)      (2)

for all 𝒜 ∈ 𝒮      (3)

if clashFree(𝒜)      (4)

return YES

end if

return NO      (5)

Ο Αλγόριθμος (6) λειτουργεί ως εξής: Παίρνει ως είσοδο μια έννοια C και επιστρέφει YES αν η C είναι ικανοποιήσιμη, και NO αν δεν είναι. Στη γραμμή (1) αρχικοποιεί τη δομή tableau 𝒮, εισάγοντας ένα νέο άτομο x0 και προσθέτοντας στο 𝒮 το ABox {C(x0)}.

Στη συνέχεια, ακολουθεί μια επαναληπτική διαδικασία μετασχηματισμού του 𝒮, με βάση τους κανόνες μετασχηματισμού του Πίνακα (9) (γραμμή (2)), μέχρι να μην μπορεί να εφαρμοστεί κανένας κανόνας, δηλαδή το 𝒮 να γίνει πλήρες. Στη φάση αυτή χρησιμοποιεί τη συνάρτηση applyRules(𝒮), η οποία δέχεται στην είσοδό της μια δομή tableau 𝒮 και την επιστρέφει μετασχηματισμένη, έχοντας εφαρμόσει έναν από τους κανόνες του Πίνακα (9) (αν δεν εφαρμόζεται κανένας κανόνας επιστρέφει την ίδια την 𝒮).

Ακολούθως, εκτελεί μια διαδικασία ελέγχου αντιφάσεων των ABox της δομής 𝒮. Συγκεκριμένα, εκτελεί έναν βρόχο for (γραμμή (3)) κατά τον οποίο αναζητείται ένα ABox που να είναι ελεύθερο αντιφάσεων (γραμμή (4)). Για τον σκοπό αυτό χρησιμοποιείται η λογική (boolean) συνάρτηση clashFree(𝒜), η οποία δέχεται στην είσοδό της ένα ABox 𝒜 και επιστρέφει TRUE αν είναι ελεύθερο αντιφάσεων, αλλιώς επιστρέφει FALSE. Έτσι, λοιπόν, στη γραμμή (4) αν το 𝒜 είναι όντως ελεύθερο αντιφάσεων, ικανοποιείται η συνθήκη του if και ο tableauSAT επιστρέφει YES. Αν δεν υπάρχει στο 𝒮 κανένα ελεύθερο αντιφάσεων ABox, τότε ο βρόχος for θα τερματίσει χωρίς να ικανοποιηθεί η συνθήκη του if, ο έλεγχος θα περάσει στη γραμμή (5) και ο tableauSAT επιστρέφει NO.

Παράδειγμα (31): Έστω ότι καλούμαστε να ελέγξουμε την ικανοποιησιμότητα της έννοιας

C ≡ ∀r.A ⊓ ∀r.B ⊓ (∃r.(¬A ⊔ ¬B)), 

η οποία δεν είναι δύσκολο να δούμε ότι είναι σε ΚΜΑ, εκτελώντας τον Αλγόριθμο (6), και συγκεκριμένα εκτελώντας την tableauSAT(C). Μετά την εκτέλεση, ο έλεγχος θα μεταφερθεί στη γραμμή (1), όπου η δομή tableau θα αρχικοποιηθεί στην εξής μορφή:

𝒮0 = {{C(x0)}}.

Στη συνέχεια, ο έλεγχος θα περάσει στον βρόχο repeat που μετασχηματίζει το 𝒮0, οπότε, με εκτέλεση της συνάρτησης applyRules(𝒮0), θα εφαρμοστεί ο κανόνας- (δύο φορές, αφού υπάρχουν τρία συζευκτικά) και το 𝒮0 θα μετασχηματιστεί στο

𝒮1 = {{C(x0),(∀r.A)(x0),(∀r.B)(x0),(∃r.(¬A ⊔ ¬B))(x0)}}.

Αξίζει να παρατηρήσουμε ότι δεν υπάρχει διαδικασία διαγραφής ισχυρισμών από τη δομή, επομένως ισχυρισμοί μόνο προστίθενται. Για παράδειγμα, το 𝒮1 περιέχει τον ισχυρισμό C(x0), από τον οποίο προέκυψαν οι άλλοι τρεις. Να σημειώσουμε ότι οι δείκτες χρησιμοποιούνται για να διασφαλίσουν τα μοναδικά ονόματα που απαιτούνται, τόσο κατά το μετασχηματισμό των δομών tableau, όσο και κατά την εισαγωγή νέων ατόμων στα ABox. Κατά την εκτέλεση του Αλγορίθμου (6) και ανάλογα με την υλοποίηση, τα ονόματα μπορούν να χρησιμοποιούνται με οποιονδήποτε τρόπο, αφού δεν αποτελούν στοιχείο της εξόδου του αλγορίθμου (επιστρέφεται μόνο YES ή NO).

Στο επόμενο βήμα του βρόχου repeat, θα εκτελεστεί η applyRules(𝒮1) και ο κανόνας- θα εφαρμοστεί στον ισχυρισμό (∃r.(¬A ⊔ ¬B))(x0), οπότε το 𝒮1 θα γίνει:

𝒮2 = {{C(x0),(∀r.A)(x0),(∀r.B)(x0),(∃r.(¬A ⊔ ¬B))(x0),
r(x0, x1),(¬A ⊔ ¬B)(x1)}}.

Στη συνέχεια, κατά την εκτέλεση της συνάρτησης applyRules(𝒮2), μπορούν να εφαρμοστούν τρεις κανόνες: ο κανόνας- στον ισχυρισμό A ⊔ ¬B)(x1), αλλά και ο κανόνας- τόσο στον ισχυρισμό (∀r.A)(x0) όσο και στον ισχυρισμό (∀r.B)(x0) (ενώ στο 𝒮1 δεν υπήρχε r-παιδί του x0 και επομένως ο κανόνας- δεν μπορούσε να εφαρμοστεί, μετά την εισαγωγή του ισχυρισμού r(x0, x1) ικανοποιούνται οι προϋποθέσεις για την εφαρμογή του). Χωρίς βλάβη της γενικότητας, ας θεωρήσουμε ότι εφαρμόζεται ο κανόνας- στον ισχυρισμό (∀r.A)(x0), οπότε το 𝒮2 γίνεται:

𝒮3 = {{C(x0),(∀r.A)(x0),(∀r.B)(x0),(∃r.(¬A ⊔ ¬B))(x0),
r(x0, x1),(¬A ⊔ ¬B)(x1),A(x1)}}

και με εκτέλεση, στη συνέχεια, της συνάρτησης applyRules(𝒮3), με εφαρμογή, αντίστοιχα, του κανόνα- στον ισχυρισμό (∀r.B)(x0), το 𝒮3 γίνεται:

𝒮4 = {{C(x0),(∀r.A)(x0),(∀r.B)(x0),(∃r.(¬A ⊔ ¬B))(x0),
r(x0, x1),(¬A ⊔ ¬B)(x1),A(x1),B(x1)}}.

Στο επόμενο βήμα του βρόχου repeat, με εκτέλεση της συνάρτησης applyRules(𝒮4) εφαρμόζεται ο κανόνας- στον ισχυρισμό A ⊔ ¬B)(x1), οπότε το 𝒮4 γίνεται:

𝒮5 = {{C(x0),(∀r.A)(x0),(∀r.B)(x0),(∃r.(¬A ⊔ ¬B))(x0),
r(x0, x1),(¬A ⊔ ¬B)(x1),A(x1),B(x1),¬A(x1)},
 {C(x0),(∀r.A)(x0),(∀r.B)(x0),(∃r.(¬A ⊔ ¬B))(x0),
r(x0, x1),(¬A ⊔ ¬B)(x1),A(x1),B(x1),¬B(x1)}}.

Ο μετασχηματισμός αυτός έγινε με την εναλλακτική προσθήκη των ισχυρισμών ¬A(x1) και ¬B(x1) στο μοναδικό μέχρι τότε ABox του 𝒮. Με τον τρόπο αυτό, δημιουργούνται δύο εναλλακτικά ABox: το

𝒜1 = {C(x0),(∀r.A)(x0),(∀r.B)(x0),(∃r.(¬A ⊔ ¬B))(x0),
r(x0, x1),(¬A ⊔ ¬B)(x1),A(x1),B(x1),¬A(x1)}

και το

𝒜2 = {C(x0),(∀r.A)(x0),(∀r.B)(x0),(∃r.(¬A ⊔ ¬B))(x0),
r(x0, x1),(¬A ⊔ ¬B)(x1),A(x1),B(x1),¬B(x1)}.

Αν παρατηρήσουμε τα 𝒜1 και 𝒜2, θα δούμε ότι η μόνη τους διαφορά είναι ο τελευταίος ισχυρισμός, που προέρχεται από την εφαρμογή του κανόνα-. Επιπλέον, παρατηρούμε ότι στα δύο ABox δεν μπορεί να εφαρμοστεί κανένας άλλος κανόνας από αυτούς του Πίνακα (9), επομένως τα 𝒜1, 𝒜2 είναι πλήρη (με βάση τον Ορισμό (30)), άρα και το 𝒮5 είναι πλήρες. Δηλαδή, η εκτέλεση της συνάρτησης applyRules(𝒮5) θα επιστρέψει το ίδιο το 𝒮5. Συνεπώς, ο βρόχος repeat θα ολοκληρωθεί και ο έλεγχος θα περάσει στον βρόχο for της γραμμής (3) του Αλγορίθμου (6), που ελέγχει τα ABox για αντιφάσεις.

Σε πρώτη φάση, θα ελεγχθεί αν το 𝒜1 είναι ελεύθερο αντιφάσεων, με βάση τον Ορισμό (31) και με εκτέλεση της συνάρτησης clashFree(𝒜1). Το 𝒜1, με βάση τον Ορισμό (31) δεν είναι ελεύθερο αντιφάσεων, οπότε η clashFree(𝒜1) θα επιστρέψει FALSE. Αυτό συμβαίνει, διότι το 𝒜1 περιέχει τους ισχυρισμούς A(x1), ¬A(x1), που συνιστούν αντίφαση. Επομένως, θα εκτελεστεί ξανά ο βρόχος for, αυτή τη φορά για το 𝒜2, και στη γραμμή (4) θα κληθεί η clashFree(𝒜2). Και αυτήν τη φορά υπάρχει στο 𝒜2 μια αντίφαση, που προέρχεται από τους ισχυρισμούς B(x1), ¬B(x1), και συνεπώς η clashFree(𝒜2) θα επιστρέψει FALSE.

Έτσι, ο βρόχος for της γραμμής (3) θα τερματίσει (με αποτυχία να βρει ελεύθερο αντιφάσεων ABox και να τερματίσει με YES στο if της γραμμής (4)). Επομένως, ο έλεγχος θα περάσει στη γραμμή (5), οπότε η tableauSAT(C) θα επιστρέψει NO, δηλαδή θα απαντήσει ότι η έννοια C δεν είναι ικανοποιήσιμη.

Ανάλυση αλγορίθμων tableau

Αναμφίβολα, ο Αλγόριθμος (6) που περιγράφηκε στην προηγούμενη παράγραφο παρουσιάζει αρκετό ενδιαφέρον. Η περιγραφή που δώσαμε αφήνει κάποια σημεία που δεν περιγράφηκαν με λεπτομέρεια, πολλά από τα οποία θα αναλύσουμε στην παράγραφο αυτή. Συγκεκριμένα, θα μελετήσουμε στοιχεία που σχετίζονται κυρίως με τον τερματισμό, την ορθότητα και την πληρότητα του αλγορίθμου, στοιχεία που όπως είδαμε διασφαλίζουν την αξιόπιστη λειτουργία κάθε συστήματος συλλογιστικής.

Παρατηρώντας τον Αλγόριθμο (6), διαπιστώνουμε ότι ουσιαστικά ξεκινά από μια αρχική δομή tableau 𝒮. Αν με Π συμβολίσουμε το σύνολο των δομών tableau (στο οποίο ανήκει και η δομή 𝒮), με την εκτέλεση του βρόχου repeat παράγεται μια ακολουθία μετασχηματισμένων δομών tableau

𝒮n + 1 = K(𝒮n),  (133)

όπου n ∈ ℕ και

K ∈ {K, K, K, K}  (134)

ένας μετασχηματισμός που ορίζεται στο σύνολο Π των δομών tableau και απεικονίζει τη δομή 𝒮n σε μια δομή 𝒮n + 1 που προκύπτει από την 𝒮n με την εφαρμογή ενός από τους κανόνες του Πίνακα (9), δηλαδή με μια κλήση της συνάρτησης applyRules(𝒮n). Όπως ειπώθηκε και προηγουμένως, σε μια μη πλήρη δομή tableau είναι πιθανό να μπορούν να εφαρμοστούν περισσότεροι του ενός κανόνες, επομένως ο μετασχηματισμός K μπορεί να πάρει τις τιμές που ορίζονται από τη σχέση (134), αντιστοιχίζοντας ένα μετασχηματισμό σε κάθε κανόνα. Επιπλέον, καθένας από τους K, K, K, K μπορεί, δυνητικά, να εφαρμοστεί σε όλες τις εμφανίσεις λογικών τελεστών της σύνθετης έκφρασης, δηλαδή το αποτέλεσμα του μετασχηματισμού K, όπως ορίζεται από την (134), δεν είναι μοναδικό και συνεπώς η ακολουθία (133) δεν είναι μοναδική.

Επιπλέον, αυτό που σίγουρα γνωρίζουμε από τον έλεγχο τερματισμού του βρόχου repeat είναι ότι αν τερματίσει η διαδικασία για κάποιο n0, θα ισχύει ότι

𝒮n0 + 1 = 𝒮n0,   (135)

δηλαδή το 𝒮n0 είναι πλήρες. Το μόνο που πρέπει να ελεγχθεί στη συνέχεια είναι αν αυτό το 𝒮n0 περιέχει κάποιο ABox που είναι ελεύθερο αντιφάσεων, κάτι που γίνεται με τον βρόχο for της γραμμής (3).

Τα ερωτήματα που προκύπτουν και συσχετίζουν τη μορφή της ακολουθίας αυτής με τον τερματισμό, την ορθότητα και την πληρότητα του αλγορίθμου είναι τα εξής:

Ερώτημα 1 Είναι η ακολουθία των δομών tableau 𝒮 πεπερασμένη για κάθε επιλογή από την απεικόνιση K (ώστε να διασφαλίζεται ο τερματισμός του βρόχου repeat); Θα φτάσουμε, δηλαδή, σε κάθε περίπτωση σε μια πλήρη δομή tableau, ακολουθώντας τους διαδοχικούς, μη ντετερμινιστικά επιλεγμένους μετασχηματισμούς της γραμμής (2);

Ερώτημα 2 Τερματίζει η διαδικασία ελέγχου του βρόχου for της γραμμής (3), που ελέγχει μια πλήρη δομή tableau για αντιφάσεις;

Ερώτημα 3 Αν το 𝒜 είναι συνεπές, τι μπορούμε να συμπεράνουμε για τη συνέπεια του αρχικού 𝒜, δηλαδή του C(x0), που είναι και το μοναδικό στοιχείο του 𝒮0;

Ερώτημα 4 Αν η ακολουθία μετασχηματισμών τερματίσει σε μια πλήρη δομή tableau 𝒮× και υπάρχει κάποιο ABox 𝒜 ∈ 𝒮× το οποίο ικανοποιεί τη συνθήκη της γραμμής (4), δηλαδή η συνάρτηση clashFree(𝒜) επιστρέφει TRUE, τότε μπορώ να κατασκευάσω μοντέλο για το 𝒜; Είναι, δηλαδή, το 𝒜 συνεπές;

Τα δύο πρώτα ερωτήματα σχετίζονται με τον τερματισμό του αλγορίθμου, το τρίτο με την ορθότητα και το τέταρτο με την πληρότητά του. Για να απαντήσουμε στα ερωτήματα αυτά, θα ξεκινήσουμε από τον ορισμό της συνέπειας μιας δομής tableau, σε επέκταση της συνέπειας ενός ABox.

Ορισμός (32): Έστω 𝒮 = {𝒜1, ..., 𝒜n} μια δομή tableau. Θα λέμε ότι η δομή tableau 𝒮 είναι συνεπής αν και μόνο αν κάποιο από τα 𝒜1, ..., 𝒜n είναι συνεπές.

Θεώρημα (2): Έστω 𝒮1, 𝒮2 δύο οποιαδήποτε στοιχεία της ακολουθίας μετασχηματισμών tableau που ορίζεται από την (133). Το 𝒮1 είναι συνεπές, αν και μόνο αν το 𝒮2 είναι συνεπές.

Το Θεώρημα (2) αποτελεί συνέπεια της μορφής των κανόνων του Πίνακα (9) και απαντά, ουσιαστικά, στο Ερώτημα 3, με τον εξής τρόπο: Αποδεικνύεται ότι ο μετασχηματισμός K της εξίσωσης (134) δεν επηρεάζει τη συνέπεια της δομής tableau. Δηλαδή, αν το πλήρες 𝒮×, στο οποίο καταλήγουμε με μια σειρά από τέτοιους μετασχηματισμούς, είναι συνεπές, τότε και το αρχικό 𝒮0 είναι συνεπές, και αντίστροφα. Επειδή, λοιπόν, 𝒮0 = {C(x0)}, με το Θεώρημα (2) αποδεικνύεται ότι αν το {C(x0)} είναι συνεπές, δηλαδή η C είναι ικανοποιήσιμη, τότε θα καταλήξουμε σε συνεπές 𝒮×, και αντίστροφα. Συνεπώς, το Θεώρημα (2) διασφαλίζει την ορθότητα του Αλγορίθμου (6).

Διασφαλίζει όμως και την πληρότητά του; Το μόνο λεπτό σημείο που μένει να διευκρινίσουμε είναι το εξής. Αν υποθέσουμε ότι ο Αλγόριθμος (6) καταλήξει, μετά την εύρεση ενός πλήρους 𝒮×, να βρει ένα ελεύθερο αντιφάσεων ABox 𝒜 ∈ 𝒮×, τότε είναι συνεπές το 𝒜; Για να είναι αυτό διασφαλισμένο, θα πρέπει να είμαστε σίγουροι ότι ο έλεγχος για προφανείς αντιφάσεις του Ορισμού (31) διασφαλίζει ότι το ABox είναι συνεπές. Δηλαδή, ενώ το Θεώρημα (2) μας λέει ότι η έννοια είναι ικανοποιήσιμη, αν και μόνο αν το 𝒮× είναι συνεπές, ο αλγόριθμος ελέγχει (στη γραμμή (4)) αν αυτό είναι ελεύθερο αντιφάσεων, οπότε μένει να αποδείξουμε την ισοδυναμία των δύο αυτών ιδιοτήτων. Ενώ, δηλαδή, ο απλός έλεγχος αντιφάσεων, γενικά δεν μπορεί (προφανώς) να διασφαλίσει τη συνέπεια ενός ABox (αλλιώς από μόνος θα αποτελούσε τον αλγόριθμο ελέγχου ικανοποιησιμότητας), σε συνδυασμό με την αδυναμία εφαρμογής επιπλέον κανόνων του Πίνακα (9) (την πληρότητα, δηλαδή, του 𝒮×), μπορεί. Αυτό αποδεικνύεται με το επόμενο θεώρημα.

Θεώρημα (3): Κάθε πλήρες και ελεύθερο αντιφάσεων ABox είναι συνεπές.

Η απόδειξη του Θεωρήματος (3) δεν παρουσιάζει σημαντικές δυσκολίες. Στηρίζεται στην κατασκευή ενός μοντέλου, το οποίο ονομάζεται κανονικό μοντέλο (canonical model).

Ορισμός (33): Έστω 𝒜 ένα πλήρες και ελεύθερο αντιφάσεων ABox. Έστω, επίσης, IN, CN, RN τα σύνολα των ονομάτων ατόμων, εννοιών και ρόλων, αντίστοιχα, που χρησιμοποιούνται στο 𝒜. Θα καλούμε κανονικό μοντέλο (canonical model) του 𝒜 την ερμηνεία 𝒥 = ⟨Δ,ℐ⟩, με

Δ = IN,

δηλαδή, aI = a, για κάθε a ∈ IN,

A = {x ∣ A(x)∈𝒜}

για όλες τις ατομικές έννοιες A ∈ CN,

r = {(x, y)∣r(x, y)∈𝒜}

για όλους τους ατομικούς ρόλους r ∈ RN.

Δεν είναι δύσκολο να αποδειχθεί ότι η ερμηνεία που περιγράφεται στον Ορισμό (33) (κανονικό μοντέλο) είναι όντως μοντέλο (η απόδειξη γίνεται με επαγωγή στην έκφραση του ορισμού των εννοιών για όλες τις σύνθετες έννοιες, διαδικασία αντίστροφη αυτής που ακολουθείται από τους κανόνες μετασχηματισμού).

Αφού είδαμε ότι ο Αλγόριθμος (6) είναι ορθός και πλήρης, το ερώτημα το οποίο απομένει να απαντήσουμε είναι αν τερματίζει πάντα (γεγονός που υποθέσαμε για να αποδείξουμε την πληρότητα). Για να το αποδείξουμε, θα απαντήσουμε στα Ερωτήματα 1 και 2 που αναφέρθηκαν προηγουμένως. Το Ερώτημα 2 (τερματισμός της διαδικασίας ελέγχου για προφανείς αντιφάσεις) είναι μάλλον προφανές, διότι η πλήρης δομή tableau είναι πεπερασμένη, οπότε ο βρόχος for θα εκτελεστεί για πεπερασμένο αριθμό φορών, και επειδή το σύνολο των υποθέσεων του κάθε ABox 𝒜 ∈ 𝒮× είναι πεπερασμένο, ακόμα και αν απαιτείται να εξεταστούν όλοι οι συνδυασμοί για να βρεθούν πιθανές αντιφάσεις (σύμφωνα με τον Ορισμό (31)), η διαδικασία θα τερματίσει. Για να απαντήσουμε στο Ερώτημα 1, θα μελετήσουμε πρώτα τη μορφή της δομής tableau, όπως τροποποιείται κατά τη διαδικασία του μετασχηματισμού (δηλαδή τη μορφή των στοιχείων της ακολουθίας (133)).

Λήμμα (1): Έστω 𝒮 ένα στοιχείο της ακολουθίας μετασχηματισμών (133) και έστω 𝒜 ∈ 𝒮. Έστω, επίσης, IN, CN, RN τα σύνολα των ονομάτων ατόμων, εννοιών και ρόλων, αντίστοιχα, που χρησιμοποιούνται στο 𝒜. Για κάθε άτομο x ∈ 𝒜 διαφορετικό του x0, υπάρχει ένα μοναδικό μονοπάτι από το x0 στο x, δηλαδή ένα μοναδικό υποσύνολο

{r1(x0, x1),r2(x1, x2),...,rn − 1(xn − 1, x)}  (136)

του ABox 𝒜, με r1, ..., rn ∈ RN, x1, ..., xn ∈ IN. Δηλαδή το 𝒜 είναι δένδρο. Στην περίπτωση αυτή θα λέμε ότι το x βρίσκεται στο βάθος n του 𝒜.

Σχήμα (1): Δενδρική μορφή του ABox { \ensuremath{\mathcal{A}} }.

Σχήμα (1): Δενδρική μορφή του ABox 𝒜.

Το Σχήμα (1) δείχνει τη μορφή που έχουν τα ABox που δημιουργούνται κατά την εκτέλεση του Αλγορίθμου (6). Σε αντιστοιχία με την αναπαράσταση μοντέλων με γράφους που παρουσιάστηκε στο προηγούμενο κεφάλαιο, κάθε κόμβος αναπαριστά ένα άτομο, η ετικέτα του κόμβου περιλαμβάνει το σύνολο των ισχυρισμών για το άτομο αυτό, και κάθε ακμή που ξεκινά από τον κόμβο αντιστοιχεί σε έναν ρόλο του ατόμου με ένα άλλο άτομο (στην ετικέτα σημειώνεται το όνομα του ρόλου). Για παράδειγμα, ο κόμβος x0 έχει ετικέτα C και δημιουργείται κατά την αρχικοποίηση του ABox 𝒜. Στο Σχήμα (1) φαίνεται (μεταξύ άλλων) και ένα πιθανό μονοπάτι από το x0 στο x3 (σημειώνεται με τους έντονους κόμβους), όπως περιγράφεται από το Λήμμα (1) (για n = 3 στην Εξίσωση (136)). Παρατηρούμε ότι, όπως υποδεικνύει το Λήμμα (1), εφόσον το μονοπάτι είναι μοναδικό, το ABox 𝒜 διατηρεί δενδρική δομή σε όλες τις φάσεις του μετασχηματισμού. Το γεγονός αυτό φαίνεται λογικό, αφού η μοναδική περίπτωση προσθήκης κάποιας ακμής στο γράφο του Σχήματος (1) από κάποιον από τους κανόνες του Πίνακα (9) είναι από τον κανόνα-, ο οποίος, όμως, πάντα προσθέτει κάποιο νέο άτομο, δηλαδή έναν νέο κόμβο. Επομένως, κατά τη διάρκεια εφαρμογής των κανόνων μετασχηματισμού δεν είναι δυνατό να συνδεθούν δύο υπάρχοντες κόμβοι του δέντρου μεταξύ τους.

Το συμπέρασμα του Λήμματος (1), δηλαδή το ότι το ABox 𝒜 έχει δενδρική δομή, είναι πολύ σημαντικό, διότι διασφαλίζει ότι δεν θα υπάρξει κάποιου είδους κύκλος κατά την εφαρμογή των κανόνων. Όμως, δεν διασφαλίζει από μόνο του τον τερματισμό του αλγορίθμου, καθώς για να ισχύει αυτό, θα πρέπει το δένδρο να έχει και πεπερασμένη δομή, η οποία κατά κάποιον τρόπο να φράσσεται από τα στοιχεία της έκφρασης της έννοιας C (η οποία είναι πεπερασμένη). Δηλαδή, θα πρέπει να έχει φραγμένο βάθος, φραγμένο αριθμό παιδιών για κάθε κόμβο και φραγμένο αριθμό στοιχείων σε κάθε ετικέτα κάθε κόμβου, έτσι ώστε, τελικά, να αποδειχθεί ότι όλα τα ABox της ακολουθίας της εξίσωσης (133) έχουν πεπερασμένη δενδρική δομή.

Έστω 𝒮 ένα στοιχείο της ακολουθίας μετασχηματισμών (133), η οποία ξεκινά από το ABox {C(x0)} και έστω 𝒜 ∈ 𝒮 με IN, CN, RN τα σύνολα των ονομάτων ατόμων, εννοιών και ρόλων, αντίστοιχα, που χρησιμοποιούνται στο 𝒜.

Λήμμα (2): Το βάθος κάθε ατόμου x ∈ IN δεν μπορεί να είναι μεγαλύτερο από το μέγιστο βάθος φωλιάσματος ρόλων που υπάρχει στην έκφραση της C.

Λήμμα (3): Ο αριθμός των r-παιδιών (r ∈ RN) ενός κόμβου x ∈ IN δεν μπορεί να είναι μεγαλύτερος από το άθροισμα των τελεστών r που περιέχονται στην έκφραση της C.

Λήμμα (4): Ο αριθμός των ισχυρισμών για κάθε x ∈ IN δεν μπορεί να είναι μεγαλύτερος από το μέγεθος της έκφρασης της C (δηλαδή των διαφορετικών εμφανίσεων κατασκευαστών εννοιών).

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

Θεώρημα (4): Έστω C μια έννοια σε ΚΜΑ. Για κάθε ακολουθία εφαρμογής κανόνων του Πίνακα (9), που αντιστοιχεί σε μια ακολουθία μετασχηματισμών 𝒮n + 1 = K(𝒮n), με 𝒮0 = {C(x0)}, υπάρχει κάποιο n0 τέτοιο ώστε 𝒮n0 + 1 = 𝒮n0.

Παράδειγμα (32): Δίνεται η έννοια

C ≡ ∃r.A ⊓ ∃r.B ⊓ ∀r.(∃r.A ⊓ ∃r.B ⊓ ∀r.(∃r.A ⊓ ∃r.B))  (137)

και ζητείται ο έλεγχος της ικανοποιησιμότητάς της. Για τον σκοπό αυτό, θα εκτελέσουμε τον Αλγόριθμο (6) μέσω της κλήσης tableauSAT(C). Σε πρώτη φάση, γίνεται αρχικοποίηση της δομής tableau και δημιουργείται το ABox

𝒜 = {(∃r.A⊓∃r.B⊓∀r.(∃r.A⊓∃r.B⊓∀r.(∃r.A⊓∃r.B)))(x0)}  (138)

ως μοναδικό στοιχείο της αρχικής δομής tableau 𝒮.

Αρχικά, παρατηρούμε ότι το μέγιστο βάθος φωλιασμάτων ρόλων της έννοιας C είναι 3, όπως φαίνεται από τη σχέση

C ≡ ∃r.A ⊓ ∃r.B ⊓ r.(∃r.A ⊓ ∃r.B ⊓ r.(r.A ⊓ ∃r.B)),   (139)

στην οποία έχουμε σημειώσει με έντονους χαρακτήρες τη αλυσίδα μέγιστου φωλιάσματος ρόλων. Συνεπώς, με βάση το Λήμμα (2), αναμένουμε ότι το μέγιστο βάθος του δένδρου που θα δημιουργηθεί θα είναι 3.

Επίσης, επειδή ο αριθμός των υπαρξιακών ποσοδεικτών στην έκφραση της C είναι 6, όπως φαίνεται από τη σχέση

C ≡ r.A ⊓ r.B ⊓ ∀r.(r.A ⊓ r.B ⊓ ∀r.(r.A ⊓ r.B)),   (140)

στην οποία τους έχουμε σημειώσει με έντονους χαρακτήρες, με βάση το Λήμμα (3), ο μέγιστος αριθμός παιδιών κάθε κόμβου του δένδρου θα είναι 6, (όπως θα δούμε και στη συνέχεια, συνήθως αυτό το άνω φράγμα είναι μεγάλο).

Τέλος, ο αριθμός των υποθέσεων δεν μπορεί να είναι μεγαλύτερος από 26, που είναι το μέγεθος της έκφρασης της C, όπως φαίνεται από τη σχέση (137) (και σε αυτή την περίπτωση θα διαπιστώσουμε ότι το άνω φράγμα είναι πολύ μεγάλο).

Στη Σχήμα (2) φαίνεται η τελική μορφή του ABox 𝒜, που δεν διαφέρει πολύ από αυτή του κανονικού μοντέλου (αρκεί να αντικαταστήσουμε κάθε xi με το xi). Ο κόμβος x0 αντιστοιχεί στον αρχικό ισχυρισμό του ABox της σχέσης (138). Με εφαρμογή των κανόνων- προστίθενται οι ισχυρισμοί

(∃r.A)(x0),  (141)

(∃r.B)(x0),  (142)

(∀r.(∃r.A⊓∃r.B⊓∀r.(∃r.A⊓∃r.B)))(x0)  (143)

και έτσι η ετικέτα του γίνεται

x0 = {∃r.A, ∃r.B, ∀r.(∃r.A ⊓ ∃r.B ⊓ ∀r.(∃r.A ⊓ ∃r.B))}.

Να σημειώσουμε, ότι για λόγους απλότητας, στο Σχήμα (2), δεν εμφανίζουμε στην ετικέτα του κόμβου x0 τον αρχικό ισχυρισμό της σχέσης (138) (όπως θα ήταν απαραίτητο για λόγους πληρότητας). Καταχρηστικά, και αφού προσθέσαμε τους ισχυρισμούς που αντιστοιχούν σε όλα τα συζευκτικά (παρόμοια απλούστευση θα ακολουθήσουμε και σε άλλους κόμβους), εμφανίζουμε μόνο τα συζευκτικά στα οποία βασίζεται η εφαρμογή των επόμενων κανόνων tableau.

Στη συνέχεια, με εφαρμογή του κανόνα- στον ισχυρισμό (141), προστίθεται ο κόμβος x1, με αρχική ετικέτα

x1 = {A},

όπως προκύπτει από τον ισχυρισμό

A(x1).  (144)

Αντίστοιχη διαδικασία ακολουθείται με εφαρμογή του κανόνα- στον ισχυρισμό (142), οπότε δημιουργείται ο κόμβος x2, με αρχική ετικέτα

x2 = {B}

με βάση τον ισχυρισμό

B(x2).  (145)

Στη συνέχεια, με εφαρμογή του κανόνα- στον ισχυρισμό (143), στην ετικέτα του κόμβου x1 προστίθεται η έννοια

r.A ⊓ ∃r.B ⊓ ∀r.(∃r.A ⊓ ∃r.B),  (146)

οπότε με εφαρμογή του κανόνα- η ετικέτα του κόμβου τελικά γίνεται:

x1 = {A, ∃r.A, ∃r.B, ∀r.(∃r.A ⊓ ∃r.B)}.

Αντίστοιχα, στον κόμβο x2 προστίθεται η έννοια (146), οπότε με εφαρμογή του κανόνα- η ετικέτα του κόμβου τελικά γίνεται:

x2 = {B, ∃r.A, ∃r.B, ∀r.(∃r.A ⊓ ∃r.B)}.

Στη συνέχεια, επειδή r.A ∈ ℒx1, με εφαρμογή του κανόνα- θα προστεθεί ένας νέος κόμβος, ο x3, με αρχική ετικέτα

x3 = {A},

η οποία λόγω του ότι r.(∃r.A ⊓ ∃r.B)∈ℒx1, με βάση τον κανόνα-, θα γίνει

x3 = {A, ∃r.A ⊓ ∃r.B}

και τελικά, με βάση τον κανόνα-, θα γίνει

x3 = {A, ∃r.A, ∃r.B}.

Με αντίστοιχο τρόπο, λόγω του ότι r.B ∈ ℒx1, προστίθεται ο κόμβος x4, ο οποίος τελικά αποκτά ετικέτα

x4 = {B, ∃r.A, ∃r.B}.

Ίδια διαδικασία λαμβάνει χώρα και για τον κόμβο x2, με τελικό αποτέλεσμα να προστεθούν οι κόμβοι x5 και x6, με

x5 = {A, ∃r.A, ∃r.B},

x6 = {B, ∃r.A, ∃r.B}.

Στη συνέχεια, με εφαρμογή του κανόνα- στον ισχυρισμό (∃r.A)(x3) θα προστεθεί ένας νέος κόμβος, ο x7, με ετικέτα

x7 = {A}.

Παρόμοια, με εφαρμογή του κανόνα- στον ισχυρισμό (∃r.B)(x3) θα προστεθεί ένας νέος κόμβος, ο x8, με ετικέτα

x8 = {B}.

Αντίστοιχη διαδικασία θα ακολουθηθεί και στους κόμβους x4, x5 και x6, οπότε θα προστεθούν οι κόμβοι x9, x10, x11, x12, x13 και x14, με ετικέτες

x9 = {A},

x10 = {B},

x11 = {A},

x12 = {B},

x13 = {A},

x14 = {B}.

Σε αυτήν τη φάση η διαδικασία εφαρμογής των κανόνων τερματίζεται, και επειδή το ABox 𝒜′, το κανονικό μοντέλο του οποίου φαίνεται στο Σχήμα (2), εκτός από πλήρες είναι και ελεύθερο αντιφάσεων, η έννοια C είναι ικανοποιήσιμη.

Το Παράδειγμα (32) είναι ενδεικτικό για την πολυπλοκότητα του Αλγορίθμου (6), αλλά και γενικά του προβλήματος του ελέγχου της ικανοποιησιμότητας μιας 𝒜ℒ𝒞-έννοιας. Αρχικά, είδαμε (μέσω της μορφής του κανονικού μοντέλου) ότι βασικό χαρακτηριστικό της γλώσσας 𝒜ℒ𝒞 είναι ότι αν υπάρχει μοντέλο, υπάρχει ένα πεπερασμένο δενδρικό μοντέλο. Η ιδιότητα αυτή, η οποία ονομάζεται ιδιότητα πεπερασμένου δενδρικού μοντέλου (finite tree-model property) είναι σημαντική για την πολυπλοκότητα του προβλήματος της συλλογιστικής στη συγκεκριμένη γλώσσα, αλλά και τη δυνατότητα ανάπτυξης πρακτικών συστημάτων συλλογιστικής.

Από την άλλη πλευρά, από το Παράδειγμα (32) βλέπουμε ότι το κανονικό μοντέλο μπορεί να είναι ένα πλήρες δένδρο, δηλαδή να έχει εκθετικά πολλούς κόμβους σε σχέση με το ύψος του, το οποίο είδαμε ότι εξαρτάται από το μέγιστο αριθμό φωλιασμάτων ρόλων (Λήμμα (2)) της έκφρασης της υπό εξέταση έννοιας. Γενικά, θα λέγαμε ότι η εκθετική αυτή εξάρτηση (του μεγέθους της κατασκευής που θα αναπτυχθεί από τον αλγόριθμο από ένα στοιχείο της έκφρασης της υπό εξέταση έννοιας) δεν είναι καλό νέο για την πολυπλοκότητα του αλγορίθμου συλλογιστικής.

Όπως παρατηρούμε από το Παράδειγμα (32), η πλήρης επέκταση του κανονικού μοντέλου στηρίζεται στην ταυτόχρονη χρήση των τελεστών και . Συγκεκριμένα, μέσω της ιδιότητας r σχηματίζονται r-επόμενοι, όπως ο κόμβος x1 είναι r-επόμενος του x0 και κατασκευάζεται από την ιδιότητα r.A του x0. Επιπλέον, αυτοί οι r-επόμενοι κληρονομούν ιδιότητες μέσω τελεστών r. Στην περίπτωση του x2 κληρονομείται, εκτός από την ιδιότητα A που υπάρχει στο r.A, και η ιδιότητα

r.A ⊓ ∃r.B ⊓ ∀r.(∃r.A ⊓ ∃r.B)

από το r.(∃r.A ⊓ ∃r.B ⊓ ∀r.(∃r.A ⊓ ∃r.B)) που υπάρχει στον κόμβο x0. Επομένως κληρονομούνται κι άλλα r, τα οποία δημιουργούν με τη σειρά τους νέους κόμβους, που κληρονομούν από το r νέες ιδιότητες κλπ.

Η πολυπλοκότητα αυτού του τύπου, δηλαδή του εκθετικού μεγέθους των ABox της δομής tableau, ονομάζεται AND-branching και πηγάζει από τη συνύπαρξη των λογικών τελεστών και . Δυστυχώς, όμως, δεν είναι η μοναδική πηγή εκθετικής πολυπλοκότητας.

Δεν είναι δύσκολο να δούμε ότι το μέγεθος της δομής tableau, το πλήθος, δηλαδή, των ABox που περιέχει, μπορεί να γίνει μεγάλο. Πράγματι, ο κανόνας- δημιουργεί δύο εναλλακτικά ABox και, φυσικά, δεν αποκλείεται να εφαρμοστεί σε καθένα από αυτά, με αποτέλεσμα από καθένα από τα δύο εναλλακτικά να δημιουργηθούν άλλα δύο εναλλακτικά κλπ. Με τον τρόπο αυτό μπορεί να δημιουργηθεί ένα πλήρες δυαδικό δένδρο από εναλλακτικά ABox· για να γίνει αυτό αρκεί και μόνο η χρήση του λογικού τελεστή . Αυτή η πηγή πολυπλοκότητας είναι γνωστή και ως OR-branching, και εκτός από την περίπτωση του μπορεί να προκύψει και με οποιονδήποτε τρόπο μπορούν να δημιουργηθούν εναλλακτικοί δρόμοι στη συλλογιστική. Το Παράδειγμα (24) που παρουσιάσαμε σε προηγούμενη παράγραφο δείχνει ότι και μόνο η χρήση της άρνησης οδηγεί, σε πολύ απλές περιπτώσεις, σε συλλογιστική υπό συνθήκη.

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

Σχήμα (2): Κανονικό μοντέλο Παραδείγματος (32).

Σχήμα (2): Κανονικό μοντέλο Παραδείγματος (32).

Επέκταση αλγορίθμων tableau

Οι αλγόριθμοι συλλογιστικής που βασίζονται σε tableau αποδεικνύονται πολύ αποτελεσματικοί στην πράξη για την επίλυση του προβλήματος της συλλογιστικής σε εκφραστικές περιγραφικές λογικές. Είναι σημαντικό ότι ο Αλγόριθμος (6), ο οποίος επιλύει το πρόβλημα της ικανοποιησιμότητας μιας (πιθανώς περίπλοκης) 𝒜ℒ𝒞-έννοιας, μπορεί να επεκταθεί προς δύο κυρίως κατευθύνσεις. Η πρώτη έχει ως στόχο την αντιμετώπιση και άλλων προβλημάτων συλλογιστικής που αφορούν σώματα ισχυρισμών και σώματα ορολογίας, όπως τα προβλήματα συλλογιστικής που αναλύθηκαν στη Παράγραφο Προβλήματα συλλογιστικής. Η δεύτερη έχει ως στόχο τη διαχείριση και άλλων λογικών τελεστών, με αποτέλεσμα να ανεβαίνει το επίπεδο της εκφραστικότητας των γλωσσών στις οποίες μπορούν να εφαρμοστούν με επιτυχία οι αλγόριθμοι συλλογιστικής που βασίζονται σε tableau. Στη συνέχεια θα μελετήσουμε ορισμένες ενδεικτικές επεκτάσεις και προς τις δύο αυτές κατευθύνσεις.

Επιπλέον προβλήματα συλλογιστικής για την 𝒜ℒ𝒞

Ο αλγόριθμος tableau που περιγράφηκε αναλυτικά στις προηγούμενες παραγράφους (Αλγόριθμος (6)) επιλύει μια ειδική περίπτωση ελέγχου ικανοποιησιμότητας μιας έννοιας (Πρόβλημα T1, Παράγραφος Προβλήματα συλλογιστικής), εκείνη όπου το TBox είναι κενό. Στη συνέχεια, θα δούμε αρχικά με ποιον τρόπο μπορούμε να επεκτείνουμε τον Αλγόριθμο (6) ώστε να επιλύει μια ειδική περίπτωση του ελέγχου συνέπειας ABox (Πρόβλημα Α1, Παράγραφος Προβλήματα συλλογιστικής), όπως και πριν στην περίπτωση που το TBox είναι κενό. Ακολούθως, θα δούμε με ποιον τρόπο μπορεί να επεκταθεί ώστε να επιλύει τα αντίστοιχα προβλήματα και για μη κενό TBox και συνεπώς, με βάση όσα είδαμε στην Παράγραφο Προβλήματα συλλογιστικής, για τον μετασχηματισμό προβλημάτων, να επιλύει ένα σημαντικό σύνολο από προβλήματα συλλογιστικής (T1, T2, T3, T4 και A1, A2, A3).

Η επέκταση του Αλγορίθμου (6) για την επίλυση του προβλήματος της συνέπειας ενός ABox (με κενό TBox) φαίνεται να είναι προφανής. Πράγματι, αν παρατηρήσουμε προσεκτικά, το πρώτο βήμα του Αλγορίθμου (6) είναι η δημιουργία της αρχικής δομής tableau 𝒮0, η οποία αποτελείται από το ABox C(x0), όπου x0 ένα νέο άτομο και C η έννοια την ικανοποιησιμότητά της οποίας επιθυμούμε να ελέγξουμε (βλ. γραμμή (1) του Αλγορίθμου (6)). Συνεπώς, έτσι κι αλλιώς, ανάγει το πρόβλημα της ικανοποιησιμότητας μιας έννοιας σε αυτό του ελέγχου της συνέπειας ενός απλού ABox, με βάση τις αναγωγές που μελετήσαμε στην Παράγραφο Προβλήματα συλλογιστικής. Οπότε, μια προφανής ιδέα θα ήταν να αρχικοποιηθεί η δομή 𝒮0 με το ABox 𝒜 του οποίου τη συνέπεια επιθυμούμε να ελέγξουμε. Πράγματι, αποδεικνύεται ότι η επέκταση αυτή δεν επηρεάζει τον τερματισμό, την ορθότητα και την πληρότητα του Αλγορίθμου (6) και συνεπώς μπορεί να χρησιμοποιηθεί είτε για τον έλεγχο της ικανοποιησιμότητας μιας έννοιας είτε για τον έλεγχο της συνέπειας ενός ABox στο πλαίσιο της 𝒜ℒ𝒞.

Η δεύτερη και πολύ σημαντική επέκταση του Αλγορίθμου (6) που θα μελετήσουμε έχει στόχο την επίλυση του προβλήματος της ικανοποιησιμότητας μιας έννοιας C με βάση ένα TBox 𝒯. Από την Παράγραφο Προβλήματα συλλογιστικής, γνωρίζουμε ότι αν επιλυθεί αυτό το πρόβλημα στη γλώσσα 𝒜ℒ𝒞 , τότε μπορούμε να επιλύσουμε μια μεγάλη γκάμα προβλημάτων, με βάση τους μετασχηματισμούς προβλημάτων που μελετήθηκαν στην Παράγραφο Προβλήματα συλλογιστικής.

Βασικός στόχος της επέκτασης είναι η προεπεξεργασία του TBox και η «ενσωμάτωση», κατά κάποιο τρόπο, της πληροφορίας που μας παρέχει στη δομή tableau, ώστε να χρησιμοποιηθεί στη συνέχεια ο Αλγόριθμος (6), κατά τα γνωστά. Η διαδικασία αυτή ονομάζεται απαλοιφή του TBox (TBox elimination). Για τον σκοπό αυτό ακολουθούνται συνήθως δύο στρατηγικές, ανάλογα με τη μορφή που έχει το 𝒯.

Η πρώτη ονομάζεται ξεδίπλωμα (unfolding) και στηρίζεται στην μετατροπή του TBox σε μια ισοδύναμη μορφή, που ονομάζεται επεκτεταμένη μορφή (expanded form). Κάθε TBox που βρίσκεται στην επεκτεταμένη μορφή έχει μόνο αξιώματα της μορφής

A ≡ C,   (147)

όπου A μια ατομική έννοια. Επιπλέον, για κάθε ατομική έννοια A έχει το πολύ ένα αξιώμα της μορφής της εξίσωσης (147) στην οποία η έννοια βρίσκεται στην αριστερή πλευρά.

Για την επέκταση (expansion) ενός TBox, τη μετατροπή του δηλαδή στην επεκτεταμένη μορφή, χρησιμοποιείται η διαδικασία που φαίνεται στον Πίνακα (10), η οποία αν εκτελεστεί επαναληπτικά, καταλήγει (με κάποιες προϋποθέσεις που θα δούμε στη συνέχεια) σε ένα επεκτεταμένο TBox.

Πίνακας (10): Διαδικασία ξεδιπλώματος ορολογίας.
ΒΗΜΑ 1   Μετάτρεψε όλα τα αξιώματα υπαγωγής A ⊑ C, όπου A μια ατομική έννοια, σε αξιώματα ισοδυναμίας A ≡ C ⊓ A, όπου A μια νέα ατομική έννοια.
ΒΗΜΑ 2   Αν στο TBox υπάρχουν δύο αξιώματα A ⊑ C και A ⊑ D, αντικατάστησέ τα με το αξίωμα A ≡ C ⊔ D.
ΒΗΜΑ 3   Αν στο TBox υπάρχει ένα αξίωμα A ⊑ C και στην έκφραση της σύνθετης έννοιας C υπάρχει μια ατομική έννοια B με B ⊑ D, τότε αντικατάστησε στο αξίωμα A ⊑ C κάθε εμφάνιση της B με το D.

Αφού επεκτείνουμε το TBox, η διαδικασία του ξεδιπλώματος είναι σχετικά απλή. Αν σε κάποιο ABox της δομής tableau υπάρχει κάποιος ισχυρισμός A(x) και στο επεκτεταμένο TBox υπάρχει το αξίωμα A ≡ C, τότε προσθέτουμε στο ABox τον ισχυρισμό C(x).

Δυστυχώς, όπως αναφέραμε και προηγουμένως, η παραπάνω διαδικασία της επέκτασης ενός TBox δεν μπορεί να εφαρμοστεί σε κάθε TBox 𝒯. Συγκεκριμένα, εφαρμόζεται μόνο στην περίπτωση που τα αξιώματα του 𝒯 είναι απλά, δηλαδή είναι της μορφής

A ⊑ C,   (148)

όπου A μια ατομική έννοια και C μια (πιθανώς) σύνθετη έννοια, ώστε η γνώση που αφορά μια ατομική έννοια να μπορεί να συμπεριληφθεί σε ένα αξίωμα (μέσω της εφαρμογής του Βήματος 1 της διαδικασίας του Πίνακα (10)). Αν στο TBox υπάρχει κάποιο αξίωμα της μορφής

C ⊑ D,

όπου τόσο το C όσο και το D είναι σύνθετες έννοιες, με βάση τη διαδικασία που περιγράφηκε προηγουμένως δεν είναι δύσκολο να δούμε ότι η πληροφορία που καταγράφει δεν θα μπορέσει να ενσωματωθεί στη δομή tableau, συνεπώς θα επηρεαστεί η ορθότητα του αλγορίθμου.

Μια επιπλέον προϋπόθεση που απαιτείται για να μπορέσει να τερματίσει με επιτυχία η διαδικασία της επέκτασης είναι το TBox 𝒯 να είναι ακυκλικό (acyclic). Διαισθητικά, αυτό σημαίνει ότι στη διαδικασία του Πίνακα (10) δεν θα ξαναπαρουσιαστεί η ίδια η ατομική έννοια κατά το ξεδίπλωμά της (που γίνεται με το Βήμα 3). Δηλαδή, για κάθε αξίωμα A ⊑ C, κατά το ξεδίπλωμα της έννοιας C, που γίνεται στο Βήμα 3, δεν θα παρουσιαστεί το A.

Τυπικά, για να ορίσουμε την ιδιότητα της ακυκλικότητας, εισάγουμε στο σύνολο των ονομάτων εννοιών CN τη σχέση u, με βάση την οποία σχετίζονται δύο ατομικές έννοιες A και B. Συγκεκριμένα u(A, B)=1, αν και μόνο αν υπάρχει κάποιο αξίωμα

A ⊑ C

με B ∈ Sig(C), δηλαδή αν και μόνο αν το B χρησιμοποιείται άμεσα σε κάποιον ορισμό του A. Για να είναι η ορολογία ακυκλική, θα πρέπει για κάθε ατομική έννοια A ∈ CN να ισχύει ότι u′(A, A)=0, όπου u το μεταβατικό κλείσιμο της σχέσης u.

Σε περίπτωση που η ορολογία περιέχει γενικευμένα αξιώματα ή δεν είναι ακυκλική, δεν μπορεί να εφαρμοστεί η μέθοδος του ξεδιπλώματος, διότι δεν μπορεί να μετατραπεί σε ισοδύναμη επεκτεταμένη μορφή. Στις περιπτώσεις αυτές ακολουθείται μια εναλλακτική στρατηγική που ονομάζεται εσωτερίκευση (internalisation).

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

C ⊑ D  (149)

ουσιαστικά υποδηλώνει ότι κάθε άτομο της γνώσης ή δεν θα είναι στιγμιότυπο της έννοιας C ή, αφού θα είναι στιγμιότυπο της έννοιας C, θα είναι και στιγμιότυπο της έννοιας D (σύμφωνα με την (149)). Επομένως, θα μπορούσαμε να λάβουμε υπόψη όλη την πληροφορία που δίνει το αξίωμα, αν ζητούσαμε κάθε άτομο του ABox να είναι στιγμιότυπο της έννοιας ¬C ⊔ D.

Με βάση την παρατήρηση αυτή, κατά τη διαδικασία της εσωτερίκευσης απλά προσθέτουμε για κάθε άτομο a του αρχικού ABox (κατά την αρχικοποίηση της δομής tableau) και για κάθε αξίωμα της μορφής (149) τον εξής ισχυρισμό:

a : ¬C ⊔ D  (150)

Το ίδιο κάνουμε και για κάθε νέο άτομο που προστίθεται σε οποιοδήποτε από τα ABox κατά τη διαδικασία επέκτασης της δομής tableau.

Παράδειγμα (33): Δίνεται η ορολογία 𝒯 = {τ1, τ2, τ3, τ4}, όπου

τ1. ShortFilm ≡ Film ⊓ ∃hasDuration.Short,
τ2. LongFilm ≡ Film ⊓ ¬ShortFilm,
τ3. LongDocumentary ≡ Documentary ⊓ LongFilm,
τ4. Documentary ⊑ Film  (151)

και ζητείται να εξεταστεί αν η έννοια LongDocumentary είναι ικανοποιήσιμη. Προφανώς, το πρόβλημα αυτό αποτελεί ένα πρόβλημα ικανοποιησιμότητας με βάση ένα μη κενό TBox (περίπτωση προβλήματος της μορφής T1).

Για να χρησιμοποιήσουμε τον Αλγόριθμο (6), θα πρέπει να ελέγξουμε αν το ABox

𝒜 = {LongDocumentary(a)}  (152)

είναι συνεπές, όπου a ένα νέο άτομο. Φυσικά, αν θεωρήσουμε το κενό TBox, το 𝒜 είναι συνεπές. Όμως στην περίπτωση αυτή, έχουμε τα αξιώματα (151), τα οποία περιορίζουν τα μοντέλα και θα μπορούσαν να μην επιτρέπουν στην έννοια LongDocumentary να έχει στιγμιότυπα. Για να κάνουμε τον έλεγχο στην περίπτωση αυτή, θα πρέπει να γίνει απαλοιφή του TBox. Η μέθοδος απαλοιφής που θα χρησιμοποιήσουμε είναι το ξεδίπλωμα. Αρχικά, θα εξετάσουμε αν πληρούνται οι προϋποθέσεις για να μπορεί να χρησιμοποιηθεί η μέθοδος του ξεδιπλώματος, στη συνέχεια θα επεκτείνουμε το TBox και με βάση αυτή την επέκταση θα τροποποιήσουμε (αν απαιτείται) το ABox 𝒜, έτσι ώστε να ενσωματώνει την πληροφορία του επεκτεταμένου TBox.

Η πρώτη προϋπόθεση που πρέπει να εξετάσουμε είναι αν τα αξιώματα του TBox 𝒯 είναι απλά. Από την (151) παρατηρούμε ότι το σύνολο των ατομικών εννοιών CN του 𝒯 δίνεται από τη σχέση

CN = {ShortFilm, Film, Short, LongFilm, LongDocumentary, Documentary}.  (153)

Με βάση την (153), δεν είναι δύσκολο να δούμε ότι όλα τα αξιώματα της (151) έχουν στην αριστερή πλευρά τους ατομική έννοια.

Η δεύτερη προϋπόθεση, η απαίτηση, δηλαδή, να είναι η ορολογία ακυκλική, αφορά τις έννοιες

ShortFilm, LongFilm, LongDocumentary, Documentary,

αφού οι έννοιες Film και Short δεν αποτελούν αριστερή πλευρά αξιωμάτων υπαγωγής.

Για την ShortFilm ισχύει ότι

u(ShortFilm, Film)=1

και επίσης

u(ShortFilm, Short)=1.

Επειδή, όμως, για κάθε έννοια x του CN ισχύει ότι

u(Film, x)=0

και

u(Short, x)=0,

για το μεταβατικό κλείσιμο u′ έχουμε

u′(ShortFilm, ShortFilm)=0.

Με παρόμοιο τρόπο, δείχνουμε ότι

u′(LongFilm, LongFilm)=0,

u′(LongDocumentary, LongDocumentary)=0,

u′(Documentary, Documentary)=0.

Επομένως, η ορολογία 𝒯 είναι ακυκλική.

Συνεπώς, επειδή η 𝒯 δεν περιέχει γενικευμένα αξιώματα και είναι ακυκλική, μπορούμε να προχωρήσουμε στην εύρεση της ισοδύναμης επεκτεταμένης μορφής της, με βάση τη μέθοδο του ξεδιπλώματος.

Το πρώτο βήμα είναι να μετατρέψουμε όλα τα αξιώματα υπαγωγής σε αξιώματα ισοδυναμίας. Από την (151) φαίνεται ότι το μόνο αξίωμα υπαγωγής που περιέχει η 𝒯 είναι το τ4, το οποίο τροποποιούμε στο

τ4.   Documentary ≡ Film ⊓ Documentary′.  (154)

Διαισθητικά, καταλαβαίνουμε ότι η έννοια Documentary′ προσθέτει την ιδιότητα που απαιτείται να έχουν τα στιγμιότυπα της έννοιας Film, ώστε να είναι στιγμιότυπα της έννοιας Documentary. Η ιδιότητα Documentary′ στην περίπτωση αυτή θα μπορούσε κανείς να πει ότι περιγράφει τις ταινίες που δεν είναι μυθοπλασίες. Ένα καλύτερο όνομα θα ήταν για την έννοια αυτή το NonFictional, αλλά προφανώς η συμβολοσειρά του ονόματος δεν είναι σημαντική για το σύστημα αυτόματης συλλογιστικής.

Εφόσον τόσο η έννοια Film όσο και η νέα έννοια Documentary′ δεν ορίζονται με αξιώματα ισοδυναμίας, το αξίωμα τ4 βρίσκεται στην επεκτεταμένη μορφή του. Δεν είναι δύσκολο να δούμε ότι το ίδιο ισχύει και για το αξίωμα τ1.

Για να επεκτείνουμε το αξίωμα τ2, θα πρέπει να ξεδιπλώσουμε την έννοια ShortFilm με βάση το αξίωμα τ1. Το ξεδίπλωμα αυτό, μετά τις πράξεις θα μετατρέψει το τ2 στην εξής επεκτεταμένη μορφή:

τ2.   LongFilm ≡ Film ⊓ ∀hasDuration.¬Short  (155)

Με αντίστοιχο τρόπο, το αξίωμα τ3, μετατρέπεται (με χρήση των αξιωμάτων τ3, τ2 και τ4) στην εξής επεκτεταμένη μορφή:

τ3.   LongDocumentary ≡ Film ⊓ Documentary′⊓∀hasDuration.¬Short.  (156)

Συνεπώς το επεκτεταμένο TBox 𝒯 περιέχει τα αξιώματα τ1, τ2, τ3 , τ4, με

τ1. ShortFilm ≡ Film ⊓ ∃hasDuration.Short,
τ2. LongFilm ≡ Film ⊓ ∀hasDuration.¬Short,
τ3. LongDocumentary ≡ Film ⊓ Documentary′⊓∀hasDuration.¬Short,
τ4. Documentary ≡ Film ⊓ Documentary′.  (157)

Τώρα που υπολογίστηκε το επεκτεταμένο TBox, το πρόβλημα που έχουμε να επιλύσουμε, δηλαδή ο έλεγχος της συνέπειας του ABox (152) με βάση το TBox 𝒯, μετατρέπεται στο πρόβλημα του ελέγχου της συνέπειας του ABox

𝒜 = {(Film ⊓ Documentary′⊓∀hasDuration.¬Short)(a)}  (158)

με βάση το κενό TBox. Το πρόβλημα αυτό μπορεί πλέον να επιλυθεί με χρήση του Αλγορίθμου (6).

Από το Παράδειγμα (33) φαίνεται ότι πολλές φορές δεν είναι απαραίτητη η επέκταση όλου του TBox, δεδομένου του προβλήματος που έχουμε να επιλύσουμε. Πράγματι, θα μπορούσαμε, πιο απλά, να ξεκινήσουμε από την έννοια που θέλουμε να ελέγξουμε και να επεκτείνουμε (επαναληπτικά) κάθε έννοια που εμπλέκεται στον ορισμό της, μέχρι να καταλήξουμε σε έννοιες που δεν ορίζονται από αξιώματα. Η τεχνική αυτή ονομάζεται οκνηρό ξεδίπλωμα (lazy unfolding) και αποδεικνύεται ότι είναι ορθή και αποδοτικότερη.

Στη συνέχεια, θα δούμε ένα παράδειγμα στο οποίο δεν είναι δυνατή η χρήση της τεχνικής του ξεδιπλώματος, και συνεπώς είναι απαραίτητο να καταφύγουμε στην τεχνική της εσωτερίκευσης για την απαλοιφή του TBox.

Παράδειγμα (34): Δίνεται η ορολογία 𝒯 = {A ⊑ ∃r.A} και ζητείται να ελεγχθεί η ικανοποιησιμότητα της έννοιας A με βάση την ορολογία 𝒯.

Κατά τα γνωστά, για να χρησιμοποιήσουμε τον Αλγόριθμο (6) θα πρέπει να ελέγξουμε αν το ABox

𝒜 = {A(a)}  (159)

είναι συνεπές, όπου a ένα νέο άτομο. Για να χρησιμοποιηθεί ο αλγόριθμος, θα πρέπει να γίνει απαλοιφή του TBox και αντίστοιχη τροποποίηση του ABox 𝒜.

Αν παρατηρήσουμε προσεκτικά θα δούμε ότι η απαλοιφή δεν είναι δυνατό να γίνει με τη μέθοδο του ξεδιπλώματος, διότι ισχύει u(A, A)=1 και συνεπώς η ορολογία δεν είναι ακυκλική.

Για τον σκοπό αυτό θα χρησιμοποιήσουμε τη μέθοδο της εσωτερίκευσης, εισάγοντας στο ABox για κάθε άτομο x τον ισχυρισμό A ⊔ ∃r.A)(x). Συνεπώς, το 𝒜 επεκτείνεται στο

𝒜′={A(a),(¬A ⊔ ∃r.A)(a)}.

Με βάση τα προηγούμενα, η συνέπεια του ABox 𝒜 μπορεί να ελεγχθεί με χρήση του Αλγορίθμου (6).

Πρέπει να παρατηρήσουμε ότι η χρήση της μεθόδου της εσωτερίκευσης προϋποθέτει ότι στη συνέχεια, κατά την εκτέλεση του Αλγορίθμου (6), αν η δομή tableau επεκταθεί μέσω της πρόσθεσης κάποιου άλλου ατόμου, έστω x, θα πρέπει λόγω της εσωτερίκευσης να προστεθεί αμέσως ο ισχυρισμός

A ⊔ ∃r.A)(x).

Η επιπλέον αυτή επέκταση που γίνεται κατά την εκτέλεση του Αλγορίθμου (6) δημιουργεί κάποιο πρόβλημα τερματισμού. Αυτό μπορεί να φανεί από το Παράδειγμα (34). Πράγματι, ενώ αρχικά φαίνεται ότι η διαδικασία μπορεί να ολοκληρωθεί χωρίς πρόβλημα, αν παρατηρήσουμε προσεκτικά θα δούμε ότι το ABox 𝒜′ θα επεκταθεί με ένα νέο άτομο (με εφαρμογή του κανόνα στο άτομο a), έστω x1, το οποίο θα τεθεί ως στιγμιότυπο της έννοιας A (με βάση τη μέθοδο της εσωτερίκευσης), δηλαδή θα γίνει ως εξής:

𝒜1 = {A(a),(¬A ⊔ ∃r.A)(a),A(x1)}.

Με βάση όμως την εφαρμογή της εσωτερίκευσης, το 𝒜1 θα επεκταθεί, αφού το νέο άτομο x1 πρέπει να είναι στιγμιότυπο της έννοιας ¬A ⊔ ∃r.A. Συνεπώς το 𝒜1 θα επεκταθεί στο

𝒜2 = {A(a),(¬A ⊔ ∃r.A)(a),A(x1),(¬A ⊔ ∃r.A)(x1)}.

Στο σημείο αυτό θα εφαρμοστεί ο κανόνας στο άτομο x1 και θα εισαχθεί ένα νέο άτομο x2 και μάλιστα θα γίνει στιγμιότυπο της έννοιας A, οπότε θα εφαρμοστεί σε αυτό εκ νέου η εσωτερίκευση και θα εισαχθεί ένα νέο άτομο x3 κοκ. Επομένως, ο Αλγόριθμος (6) στην περίπτωση αυτή δεν θα τερματίσει.

Δεν είναι δύσκολο να δούμε ότι το πρόβλημα αυτό οφείλεται στο κυκλικό αξίωμα της ορολογίας (το οποίο επιβάλλει ταυτόχρονα την εισαγωγή ενός νέου ατόμου με την ίδια ιδιότητα). Για να αποφευχθεί το πρόβλημα αυτό, προστίθεται μια νέα συνθήκη τερματισμού στον Αλγόριθμο (6), η οποία ελέγχει αν οι ιδιότητες ενός νέου ατόμου που προστίθεται σε ένα ABox είναι υπερσύνολο των ιδιοτήτων ενός πρόγονού του. Αν συμβεί αυτό, τότε ο αλγόριθμος δεν επεκτείνει περαιτέρω τον κόμβο αυτό (μπλοκάρει, δηλαδή, τον κανόνα που μπορεί να δημιουργήσει απογόνους του). Η τεχνική ονομάζεται μπλοκάρισμα υποσυνόλου (subset blocking) και αποδεικνύεται πολύ αποτελεσματική στην 𝒜ℒ𝒞 (σε πιο εκφραστικές γλώσσες, ενώ εφαρμόζεται η βασική ιδέα απαιτείται να τροποποιηθεί η συνθήκη μπλοκαρίσματος ώστε να καλύψει κάποιες ειδικές περιπτώσεις).

Επεκτάσεις για πολύ εκφραστικές περιγραφικές λογικές

Σημαντικό ενδιαφέρον παρουσιάζει η επέκταση του Αλγορίθμου (6), έτσι ώστε να μπορεί να επιλύει προβλήματα συλλογιστικής σε πολύ εκφραστικές περιγραφικές λογικές, εκφραστικότερες της 𝒜ℒ𝒞. Στην παράγραφο αυτή θα δούμε με ποιον τρόπο αντιμετωπίζονται αυτές οι επεκτάσεις και πώς επιλύονται τα προβλήματα που προκύπτουν, μελετώντας την επέκταση του αλγορίθμου, έτσι ώστε να μπορεί να χρησιμοποιηθεί στην 𝒜ℒ𝒞𝒬. Θα ξεκινήσουμε από την 𝒜ℒ𝒞𝒩, στην οποία υπενθυμίζουμε ότι μπορούμε να χρησιμοποιήσουμε περιορισμούς πληθικότητας, δηλαδή περιορισμούς για τον αριθμό των ατόμων με τα οποία μπορεί να σχετίζονται τα στιγμιότυπα μιας έννοιας, αλλά όχι ταυτόχρονα για τον τύπο τους.

Αξίζει να παρατηρήσουμε ότι ο Αλγόριθμος (6) εφαρμόζει ένα σύνολο από κανόνες, καθένας από τους οποίους αντιστοιχεί σε έναν λογικό τελεστή. Οι κανόνες αυτοί προσθέτουν ισχυρισμούς στη δομή tableau, που γενικά περιορίζουν τα πιθανά μοντέλα και συνεπώς ενδέχεται να οδηγήσουν σε αντιφάσεις. Στη συνέχεια, ελέγχεται η δομή tableau για προφανείς αντιφάσεις (που ορίζονται στη γλώσσα, ανάλογα με τους λογικούς τελεστές που παρέχονται) και αν υπάρχει αντίφαση ο αλγόριθμος τερματίζει, αλλιώς επαναλαμβάνει τη διαδικασία μέχρι να μην μπορεί να εφαρμοστεί κανένας κανόνας.

Είναι, λοιπόν, λογικό να επεκτείνουμε τον αλγόριθμο, επεκτείνοντας το σύνολο των κανόνων που εφαρμόζονται ανάλογα με τους τελεστές που προστίθενται, και επιπλέον να δούμε αν μπορούν να οριστούν νέες αντιφάσεις, με βάση τους νέους τελεστές. Τη λογική αυτή θα ακολουθήσουμε για να προσθέσουμε τον τελεστή απλού περιορισμού πληθικότητας (𝒩) στην 𝒜ℒ𝒞.

Με βάση τα παραπάνω, προσθέτουμε στο σύνολο κανόνων του Αλγορίθμου (6) που φαίνονται στον Πίνακα (9), τους κανόνες που φαίνονται στον Πίνακα (11). Συγκεκριμένα, εισάγουμε δύο νέους κανόνες, τον κανόνα- (τον οποίο συμβολίζουμε με K) και τον κανόνα- (που αντίστοιχα συμβολίζουμε με K) που αντιμετωπίζουν τους λογικούς τελεστές nr και nr, αντίστοιχα.

Συγκεκριμένα, ο κανόνας- εξετάζει αν υπάρχει στη δομή 𝒮 κάποιο ABox στο οποίο υπάρχει ένας ισχυρισμός ( ≥ nr)(a) ο οποίος παραβιάζεται, δηλαδή δεν υπάρχουν τουλάχιστον n διαφορετικά άτομα (σαφώς ορισμένα ότι έχουν διαφορετικές ερμηνείες, μέσω ισχυρισμών ¬≈, όχι απλά διαφορετικά ονόματα) τα οποία να σχετίζονται μέσω της r με το a. Αν ισχύει αυτό, τότε εισάγει n νέα άτομα (νέα ονόματα ατόμων) για τα οποία ισχύει η συνθήκη, είναι, δηλαδή, σαφώς διαφορετικά μεταξύ τους και σχετίζονται μέσω της r με το a. Είναι σημαντικό να παρατηρήσουμε ότι αν υπάρχουν n − k διαφορετικά άτομα (με k < n) δεν προσθέτει k, αλλά n.

Αντίστοιχα, ο κανόνας- εξετάζει αν υπάρχει στη δομή 𝒮 κάποιο ABox στο οποίο υπάρχει ένας ισχυρισμός ( ≤ nr)(a) ο οποίος θα μπορούσε να παραβιάζεται, δηλαδή υπάρχουν n + 1 διαφορετικά άτομα (όχι όμως σαφώς ορισμένα διαφορετικά άτομα, μέσω ισχυρισμών ¬≈, διότι αλλιώς υπάρχει αντίφαση) τα οποία σχετίζονται μέσω της r με το a. Αν ισχύει αυτό, τότε εξισώνει δύο ονόματα ατόμων (τα οποία δεν είναι σαφώς διαφορετικά, δεν αντιστοιχούν, δηλαδή, απαραίτητα σε διαφορετικά άτομα). Είναι σημαντικό να παρατηρήσουμε ότι εξισώνει δύο ονόματα ατόμων, με όλους τους δυνατούς συνδυασμούς, δημιουργώντας εναλλακτικά ABox.

Πίνακας (11): Κανόνες μετασχηματισμού δομής tableau 𝒮 για περιορισμούς πληθικότητας.
Κανόνας-
ΑΝ Υπάρχει 𝒜 ∈ 𝒮 τέτοιο ώστε ( ≥ nr)(a)∈𝒜 και δεν υπάρχουν n διαφορετικά μεταξύ τους άτομα x1, x2, ..., xn τέτοια ώστε r(a, xi) για κάθε i ∈ ℕn, με xi¬≈xj, i, j ∈ ℕn.
TOTE   Πρόσθεσε στο 𝒜 τους ισχυρισμούς r(a, yi), yi¬≈yj, όπου i, j ∈ ℕn και y1, y2, ..., yn νέα άτομα.
Κανόνας-
ΑΝ Υπάρχει 𝒜 ∈ 𝒮 τέτοιο ώστε ( ≤ nr)(a)∈𝒜 και υπάρχουν n + 1 άτομα x1, x2, ..., xn + 1 τέτοια ώστε r(a, xi) για κάθε i ∈ ℕn + 1 και υπάρχουν δύο διαφορετικά άτομα xi και xj για τα οποία υπάρχει στο 𝒜 ο ισχυρισμός xi¬≈xj.
TOTE   Πρόσθεσε στη δομή 𝒮 όλα τα ABox 𝒜ij, όπου i, j ∈ ℕn, i > j και δεν υπάρχει στο 𝒜 ο ισχυρισμός xi¬≈xj, τα οποία είναι τα ίδια με το 𝒜, με επιπλέον τον ισχυρισμό xi ≈ xj.

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

( ≤ nr)(x) και r(x, yi),yi¬≈yj, i, j ∈ ℕn + 1, i < j.  (160)

Η αντίφαση της εξίσωσης (160) πρέπει να προστεθεί στον Ορισμό (31) για τον έλεγχο της ιδιότητας του ελεύθερου αντιφάσεων ABox.

Τέλος, ένα επιπλέον σημείο επέκτασης αφορά τη μετατροπή της γνώσης σε ΚΜΑ που γίνεται μέσω της διαδικασίας του Πίνακα (8). Συγκεκριμένα, στο Βήμα 1 της διαδικασίας προσθέτουμε τους παρακάτω κανόνες:

ώστε ο τελεστής άρνησης να μην βρίσκεται μποστά από σύνθετες έννοιες.

Με βάση όλες τις παραπάνω επεκτάσεις του Αλγορίθμου (6) αποδεικνύεται ότι επιλύεται το πρόβλημα του ελέγχου της ικανοποιησιμότητας μιας 𝒜ℒ𝒞𝒩 έννοιας (με κενό TBox).

Παράδειγμα (35): Δίνεται το ABox

𝒜 = {r(a, a),(∃r.A)(a),(≤1r.⊤)(a),(∀r.∃r.A)(a)}  (161)

και ζητείται ο έλεγχος της συνέπειάς του.

Αρχικά, εφαρμόζεται ο κανόνας-, ο οποίος εισάγει έναν νέο r-επόμενο του α, έστω x1, το οποίο θέτει ως στιγμιότυπο της έννοιας A. Δηλαδή, το 𝒜 μετασχηματίζεται στο

𝒜1 = {r(a, a),(∃r.A)(a),(≤1r.⊤)(a),(∀r.∃r.A)(a),r(a, x1),A(x1)}.  (162)

Στη συνέχεια, εφαρμόζεται ο κανόνας-, ο οποίος εισάγει την υπόθεση (∃r.A)(x1), δηλαδή το 𝒜 γίνεται:

𝒜2 = {r(a, a),(∃r.A)(a),(≤1r.⊤)(a),(∀r.∃r.A)(a),
  r(a, x1),A(x1),(∃r.A)(x1)}.  (163)

Στη φάση αυτή ενεργοποιείται ξανά ο κανόνας-, ο οποίος εισάγει ένα νέο άτομο, έστω x2, το οποίο θέτει ως στιγμιότυπο της έννοιας A. Δηλαδή, το 𝒜2 μετασχηματίζεται στο

𝒜3 = {r(a, a),(∃r.A)(a),(≤1r.⊤)(a),(∀r.∃r.A)(a),
  r(a, x1),A(x1),(∃r.A)(x1),
  r(x1, x2),A(x2)}.  (164)

Επιπλέον, ενεργοποιείται ο κανόνας- στο άτομο a (επειδή συνδέεται με δύο άτομα, το a και το x1). Έτσι τίθεται a = x1 και συνεπώς το 𝒜3 γίνεται:

𝒜4 = {A(a),r(a, a),(∃r.A)(a),(≤1r.⊤)(a),(∀r.∃r.A)(a),r(a, x2),A(x2)}.  (165)

Στη φάση αυτή παρατηρούμε ότι το 𝒜4, όπως δίνεται από την Εξίσωση (165) είναι πανομοιότυπο με το 𝒜1, όπως δίνεται από την Εξίσωση (162). Συγκεκριμένα, η διαφορά που έχουν είναι ότι αντί για x1 έχουμε το x2, και στο 𝒜4 υπάρχει επιπλέον ο ισχυρισμός A(a). Η πρώτη διαφορά είναι μια απλή διαφορά ονόματος και συνεπώς δεν είναι σημαντική. Η δεύτερη διαφορά (προσθήκη του ισχυρισμού A(a)) δεν εμποδίζει την εφαρμογή του κανόνα-, ο οποίος θα οδηγήσει σε επανάληψη της διαδικασίας. Συνεπώς, η ίδια υπακολουθία μετασχηματισμού

𝒜1 → 𝒜2 → 𝒜3 → 𝒜4  (166)

επαναλαμβάνεται χωρίς τερματισμό, εισάγοντας νέα άτομα xi, xi + 1 και εξισώνοντας στη συνέχεια τα xi με το a. Μάλιστα, μετά τη δεύτερη εφαρμογή, τα αντίστοιχα ABox δεν θα έχουν ούτε τη διαφορά του ισχυρισμού A(a), αφού αυτός έχει ήδη προστεθεί από το ABox 𝒜4.

Η διαδικασία αυτή φαίνεται στο Σχήμα (3). Συγκεκριμένα, στο Σχήμα (3)(α) απεικονίζεται σε μορφή γράφου η πρώτη φάση του ABox (αντίστοιχη με την 𝒜1). Αντίστοιχα, στο Σχήμα (3)(β) απεικονίζεται η δεύτερη φάση του ABox (αντίστοιχη με την 𝒜3). Τέλος, στο Σχήμα (3)(γ) απεικονίζεται η τρίτη φάση του ABox (αντίστοιχη με την 𝒜4), η οποία είναι πανομοιότυπη με την πρώτη.

Σχήμα (3): Ακολουθία μετασχηματισμών ABox τύπου yo-yo.

Σχήμα (3): Ακολουθία μετασχηματισμών ABox τύπου yo-yo.

Από το Παράδειγμα (35) φαίνεται ότι υπάρχει συγκεκριμένη ακολουθία εφαρμογής κανόνων για την οποία ο αλγόριθμος tableau, όπως επεκτάθηκε προηγούμενα, δεν τερματίζει. Λόγω της μορφής που έχουν τα μετασχηματισμένα μοντέλα (αυξάνονται και μειώνονται σε μέγεθος), όπως φαίνεται από το Σχήμα (3), η διαδικασία αυτή ονομάζεται στη βιβλιογραφία φαινόμενο yo-yo (yo-yo effect). Ευτυχώς, αποδεικνύεται ότι το συγκεκριμένο πρόβλημα μπορεί εύκολα να αντιμετωπιστεί με τον καθορισμό μιας απλής προτεραιότητας στην εφαρμογή των κανόνων. Συγκεκριμένα, απαιτούμε να εφαρμόζονται κατά προτεραιότητα οι κανόνες που αφορούν τα υπάρχοντα άτομα και στη συνέχεια να εφαρμόζονται οι κανόνες που εισάγουν νέα άτομα.

Με παρόμοιο τρόπο επεκτείνεται ο Αλγόριθμος (6) ώστε να αντιμετωπίσει το πρόβλημα του ελέγχου της ικανοποιησιμότητας μιας 𝒜ℒ𝒞𝒬 έννοιας. Υπενθυμίζουμε ότι στην περίπτωση της γλώσσας 𝒜ℒ𝒞𝒬, με τους περιοριστές πληθικότητας μπορεί να καθοριστεί εκτός από το πλήθος των r-επόμενων ενός ατόμου, ο τύπος τους (με τη χρήση περιορισμών πληθικότητας με εξειδίκευση). Για τον σκοπό αυτό επεκτείνουμε, όπως και πριν, τους κανόνες μετασχηματισμού της δομής tableau που εφαρμόζονται από τον Αλγόριθμο (6), με βάση τον Πίνακα (12), προσθέτοντας τον κανόνα-q και τον κανόνα-q (Kq και Kq, αντίστοιχα).

Πίνακας (12): Κανόνες μετασχηματισμού δομής tableau 𝒮 για περιορισμούς πληθικότητας με εξειδίκευση.
Κανόνας-q
ΑΝ Υπάρχει 𝒜 ∈ 𝒮 τέτοιο ώστε ( ≥ nr.C)(a)∈𝒜 και δεν υπάρχουν n διαφορετικά μεταξύ τους άτομα x1, x2, ..., xn τέτοια ώστε r(a, xi), C(xi) για κάθε i ∈ ℕn, με xi¬≈xj, i, j ∈ ℕn.
TOTE   Πρόσθεσε στο 𝒜 τους ισχυρισμούς r(a, yi), C(yi) yi¬≈yj, όπου i, j ∈ ℕn και y1, y2, ..., yn νέα άτομα.
Κανόνας-q
ΑΝ Υπάρχει 𝒜 ∈ 𝒮 τέτοιο ώστε ( ≤ nr.C)(a)∈𝒜 και υπάρχουν n + 1 άτομα x1, x2, ..., xn + 1 τέτοια ώστε r(a, xi), C(xi) για κάθε i ∈ ℕn + 1 και υπάρχουν δύο διαφορετικά άτομα xi και xj για τα οποία υπάρχει στο 𝒜 ο ισχυρισμός xi¬≈xj.
TOTE   Πρόσθεσε στη δομή 𝒮 όλα τα ABox 𝒜ij, όπου i, j ∈ ℕn, i > j και δεν υπάρχει στο 𝒜 ο ισχυρισμός xi¬≈xj, τα οποία είναι τα ίδια με το 𝒜, με επιπλέον τον ισχυρισμό xi ≈ xj.

Όπως και στην περίπτωση της 𝒜ℒ𝒞𝒩, έτσι και στην περίπτωση της 𝒜ℒ𝒞𝒬, εκτός από την επέκταση των κανόνων, είναι απαραίτητο να επεκτείνουμε και το σύνολο των προφανών αντιφάσεων. Συγκεκριμένα, ελέγχουμε επιπλέον την προφανή αντίφαση

( ≤ nr.C)(x) και r(x, yi),C(yi),yi¬≈yj, i, j ∈ ℕn + 1, i < j,   (167)

την οποία προσθέτουμε στον Ορισμό (31) για τον έλεγχο της ιδιότητας του ελεύθερου αντιφάσεων ABox.

Τέλος, για τη μετατροπή σε ΚΜΑ, όπως και πριν, επεκτείνεται το Βήμα 1 της διαδικασίας του Πίνακα (8) με την προσθήκη των εξής κανόνων:

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

Ενώ μέχρι τώρα η επέκταση φαίνεται όμοια με την περίπτωση της 𝒜ℒ𝒞𝒩, στην περίπτωση της 𝒜ℒ𝒞𝒬 αντιμετωπίζουμε μεγαλύτερα προβλήματα, συγκεκριμένα αντιμετωπίζουμε ένα πρόβλημα ορθότητας του αλγορίθμου σε ορισμένες περιπτώσεις, όπως φαίνεται και από το παρακάτω Παράδειγμα.

Παράδειγμα (36): Δίνεται το ABox

𝒜 = {(≥3r.⊤)(a),(≤1r.A)(a),(≤1rA)(a)}  (168)

και ζητείται ο έλεγχος της συνέπειάς του.

Αρχικά, εφαρμόζεται ο κανόνας-, ο οποίος δημιουργεί τρία νέα, διαφορετικά μεταξύ τους άτομα, έστω x1, x2, x3, τα οποία θέτει ως r-επόμενους του a. Δηλαδή το ABox 𝒜 της (168) μετασχηματίζεται στο

𝒜1 = {(≥3r.⊤)(a),(≤1r.A)(a),(≤1rA)(a),
  r(a, x1),r(a, x2),r(a, x3),
  x1¬≈x2, x1¬≈x3, x2¬≈x3}.  (169)

Στη συνέχεια, ο αλγόριθμος τερματίζει, διότι δεν εφαρμόζεται κανένας κανόνας. Επειδή στο 𝒜1 δεν υπάρχει κάποια προφανής αντίφαση, επιστρέφεται YES, δηλαδή δίνεται η απάντηση ότι το ABox 𝒜 είναι συνεπές. Συνεπώς, με βάση τη θεωρία, από το ελεύθερο και πλήρες αντιφάσεων ABox 𝒜1, μπορούμε να κατασκευάσουμε ένα μοντέλο, το κανονικό μοντέλο

Δ = {a, x1, x2, x3},
A = {},
r = {(a, x1),(a, x2),(a, x3)}.  (170)

Δυστυχώς, όμως, το αποτέλεσμα αυτό δεν είναι ορθό. Πράγματι, παρότι όντως δεν υπάρχει κάποια προφανής αντίφαση στην ερμηνεία (170) και φαίνεται ότι είναι μοντέλο, παρατηρούμε το εξής: Λόγω του ισχυρισμού ( ≥ 1rA)(a) το αντικείμενο a δεν μπορεί να συνδέεται με περισσότερα από ένα στιγμιότυπα του ¬A. Ο ισχυρισμός αυτός δεν ικανοποιείται στην ερμηνεία (170), διότι το a έχει συνολικά 3 r-επόμενους, τα x1, x2, x3, τα οποία αφού δεν ανήκουν στην ερμηνεία του A, σύμφωνα με την (170), ανήκουν στην ερμηνεία του ¬A (σημειώνουμε ότι με βάση τη σημασιολογία των τελεστών, για την ερμηνεία (170) ισχύει ότι A) = {a, x1, x2, x3}). Επομένως, η ερμηνεία (170) δεν είναι μοντέλο.

Το παραπάνω συμπέρασμα από μόνο του δεν θα ήταν προβληματικό, διότι μέχρι τώρα έχουμε δείξει ότι η κανονική ερμηνεία (που σχηματίζεται απλά για την απόδειξη της ορθότητας του αλγορίθμου και δεν επιστρέφεται σαν απάντηση από τον αλγόριθμο) δεν είναι μοντέλο. Δεν έχουμε δείξει ότι ο αλγόριθμος δεν είναι ορθός. Δυστυχώς, όμως, τα πράγματα είναι χειρότερα.

Για να λυθεί το πρόβλημα και να κατασκευάσουμε μοντέλο, θα μπορούσαμε να προσθέσουμε στην ερμηνεία του A δύο από τα x1, x2, x3 (δεν έχει σημασία ποια), να θέσουμε, δηλαδή, έστω τα x1, x2 (χωρίς βλάβη της γενικότητας) ως στιγμιότυπα της A. Στην περίπτωση αυτή, η ερμηνεία (170) γίνεται:

Δ = {a, x1, x2, x3},
A = {x1, x2},
r = {(a, x1),(a, x2),(a, x3)}.  (171)

Παρατηρούμε ότι στην ερμηνεία (171) ο ισχυρισμός ( ≥ 1rA)(a) όντως ικανοποιείται, αφού το άτομο a έχει μόνο έναν r-επόμενο, το x3, το οποίο ανήκει στην ερμηνεία της ¬A. Όμως δεν ικανοποιείται πλέον ο ισχυρισμός ( ≥ 1r.A)(a). Πράγματι, τώρα πλέον υπάρχουν δύο r-επόμενοι του a, οι οποίοι είναι στιγμιότυπα του A (τα άτομα x1, x2).

Δεν είναι δύσκολο να δούμε ότι δεν μπορεί να υπάρχει καμία ερμηνεία που να ικανοποιεί και τους τρεις περιορισμούς του ABox 𝒜 της Σχέσης (168). Διαισθητικά, αυτό είναι προφανές, αφού ο πρώτος περιορισμός απαιτεί να υπάρχουν τουλάχιστον τρεις r-επόμενοι του a, ο δεύτερος επιτρέπει μόνο ένας από αυτούς να είναι A (έστω ο ένας από τους τρεις r-επόμενους), ο τρίτος περιορισμός επιτρέπει μόνο ένας από αυτούς να είναι ¬A (έστω κάποιο από τα άλλα δύο άτομα). Έτσι, απομένει ένας r-επόμενος του a, που με βάση τους τρεις περιορισμούς δεν μπορεί να είναι ούτε A ούτε ¬A. Αυτό όμως δεν γίνεται, διότι κάθε άτομο του κόσμου είναι ή A ή ¬A.

Για την αντιμετώπιση του προβλήματος ορθότητας που προκύπτει κατά την επέκταση του Αλγορίθμου (6) στην 𝒜ℒ𝒞𝒬, εκτός από τους κανόνες του Πίνακα (12) εισάγουμε έναν επιπλέον κανόνα, ο οποίος παρουσιάζεται στον Πίνακα (13). Ο κανόνας αυτός ονομάζεται κανόνας-επιλέγω (και συμβολίζεται με Kchoose).

Πίνακας (13): Κανόνας επιλέγω για την 𝒜ℒ𝒞𝒬.
Κανόνας-επιλέγω
ΑΝ Υπάρχει 𝒜 ∈ 𝒮 τέτοιο ώστε ( ≤ nr.C)(a)∈𝒜 και υπάρχει x τέτοιo ώστε r(a, xi) και δεν υπάρχει ο ισχυρισμός C(x) στο 𝒜.
TOTE   Δημιούργησε δύο εναλλακτικά ABox, το 𝒜′=𝒜 ∪ {C(x)} και το 𝒜″=𝒜 ∪ {(¬C)(x)}.

Δεν είναι δύσκολο να δούμε ότι με την εισαγωγή του κανόνα-επιλέγω το πρόβλημα της ορθότητας αντιμετωπίζεται, αφού εξετάζονται και οι δύο περιπτώσεις (C(x) και C)(x)), μετά από ρητή διατύπωση των αντίστοιχων ισχυρισμών, ώστε να αναδειχθεί η αντίφαση, αν υπάρχει. Στο Παράδειγμα (36), ο κανόνας θα εφαρμοζόταν και θα έθετε διαδοχικά τα x1, x2, x3 ως A ή ¬A και με τον τρόπο αυτό, σε όλα τα εναλλακτικά ABox (πόσα συνολικά;), θα υπήρχε προφανής αντίφαση ή από την υπόθεση ( ≤ 1r.A)(a) ή από την υπόθεση ( ≤ 1rA)(a). Επομένως, θα υπήρχε αντίφαση σε όλα τα ABox και το αποτέλεσμα της εκτέλεσης θα ήταν ορθό.

Βιβλιογραφικές σημειώσεις

Βιβλιογραφία

[1] B. Hollunder, W. Nutt, and M. Schmidt-Schauß. Subsumption algorithms for concept description languages. In ECAI, pages 348–353, 1990.

[2] B. Hollunder and F. Baader. Qualifying number restrictions in concept languages. In Proceedings of the 2nd International Conference on Principles of Knowledge Representation and Reasoning (KR’91). Cambridge, MA, USA, April 22-25, 1991., pages 335–346, 1991.

[3] M. Schmidt-Schauß and G. Smolka. Attributive concept descriptions with complements. Artif. Intell., 48(1):1–26, 1991.

[4] F. Baader. Augmenting concept languages by transitive closure of roles: An alternative to terminological cycles. In Proceedings of the 12th International Joint Conference on Artificial Intelligence. Sydney, Australia, August 24-30, 1991, pages 446–451, 1991.

[5] P. Hanschke. Specifying role interaction in concept languages. In Proceedings of the 3rd International Conference on Principles of Knowledge Representation and Reasoning (KR’92). Cambridge, MA, October 25-29, 1992., pages 318–329, 1992.

[6] Francesco M. Donini, Maurizio Lenzerini, Daniele Nardi, Bernhard Hollunder, Werner Nutt, and Alberto Marchetti-Spaccamela. The complexity of existential quantification in concept languages. Artif. Intell., 53(2-3):309–327, 1992.

[7] Francesco M. Donini, Maurizio Lenzerini, Daniele Nardi, and Werner Nutt. Tractable concept languages. In Description Logics, pages 39–42, 1991.

[8] Francesco M. Donini, Maurizio Lenzerini, Daniele Nardi, and Werner Nutt. The complexity of concept languages. Inf. Comput., 134(1):1–58, 1997.

[9] G. De Giacomo and M. Lenzerini. Tbox and abox reasoning in expressive description logics. In Proceedings of the 1996 International Workshop on Description Logics, November 2-4, 1996, Cambridge, MA, USA, pages 37–48, 1996.

[10] I. Horrocks and U. Sattler. A description logic with transitive and inverse roles and role hierarchies. J. Log. Comput., 9(3):385–410, 1999.

[11] I. Horrocks, U. Sattler, and S. Tobies. Practical reasoning for expressive description logics. In Logic Programming and Automated Reasoning, 6th International Conference, LPAR’99, Tbilisi, Georgia, September 6-10, 1999, Proceedings, pages 161–180, 1999.

[12] I. Horrocks and U. Sattler. A Tableau Decision Procedure for SHOIQ. J. of Automated Reasoning, 39(3):249-276, 2007.

[13] I. Horrocks, O.  Kutz, and U. Sattler. The Even More Irresistible SROIQ. In Proc. of the 10th Int. Conf. on Principles of Knowledge Representation and Reasoning (KR 2006), pages 57-67. AAAI Press, 2006.

[14] D. Tsarkov, I. Horrocks and P. F. Patel-Schneider. Optimizing Terminological Reasoning for Expressive Description Logics. J. of Automated Reasoning, 39(3):277-316, 2007.

[15] I. Horrocks and P. F. Patel-Schneider. Reducing OWL entailment to description logic satisfiability. In Proceedings of International Semantic Web Conference (ISWC2003), pages 17–29, Sundial Resort, Florida, October 2003. Lecture Notes in Computer Science, Vol. 2870. Springer-Verlag, Heidelberg, 2003.

[16] B. Glimm, I. Horrocks, B. Motik, G. Stoilos, and Z. Wang. HermiT: An OWL 2 Reasoner. J. of Automated Reasoning, 53(3):245-269, 2014.

[17] V. Haarslev, K. Hidde, R. Möller, and M. Wessel. The RacerPro knowledge representation and reasoning system. Semantic Web Journal, 3(3):267–277, 2012.

[18] E. Sirin, B. Parsia, B. Cuenca Grau, A. Kalyanpur, Y. Katz. Pellet: A practical OWL-DL reasoner. Journal of Web Semantics, Vol 5, No 2, 2011.

[19] F. M. Donini, M. Lenzerini, D. Nardi, and A. Schaerf. Reasoning in description logics. in Principles of knowledge representation 1, pp. 191 - 236, 1996.

[20] F. Baader and U. Sattler. An overview of tableau algorithms for description logics. Studia Logica, 69(1):5–40, 2001.

[21] B. Motik and U. Sattler. A comparison of reasoning techniques for querying large description logic aboxes. In Logic for Programming, Artificial Intelligence, and Reasoning, 13th International Conference, LPAR 2006, Phnom Penh, Cambodia, November 13-17, 2006, Proceedings, pages 227–241, 2006.

[22] F. Baader, D. Calvanese, D. L. McGuinness, D. Nardi, P. F. Patel-Schneider. . Cambridge University Press, 2nd edition, 2007.

Πρόσβαση σε δεδομένα με χρήση οντολογιών

Εισαγωγή

Οι εφαρμογές που διαχειρίζονται δεδομένα (πολλές φορές πολύ μεγάλου όγκου) καταχωρούν τα δεδομένα σε μορφή που διευκολύνει την αποθήκευση και την άμεση ανάκλησή τους. Για τον σκοπό αυτό χρησιμοποιείται ευρέως η τεχνολογία των βάσεων δεδομένων, μέσω της οποίας προσφέρονται όλες οι απαραίτητες υπηρεσίες διαχείρισης και πρόσβασης, με έμφαση στην ασφαλή και γρήγορη αποθήκευση και ανάκληση των δεδομένων. Τα μοντέλα που χρησιμοποιούνται προσανατολίζονται, συνήθως, στην απλή και άμεση αναφορά σε τμήματα των δεδομένων που σχετίζονται με άμεσες διασυνδέσεις με το φυσικό μέσο αποθήκευσης των υπολογιστικών συστημάτων (δίσκοι κλπ.). Συνεπώς, αποφεύγεται (κυρίως για λόγους ταχύτητας πρόσβασης) η χρήση μοντέλων περιγραφής που δίνουν έμφαση στην αναλυτική περιγραφή των στοιχείων του πεδίου αναφοράς και συνεπώς οδηγούν, συνήθως, σε σύνθετες δομές. Άμεση συνέπεια αυτού είναι ότι η διατύπωση των ερωτημάτων πρόσβασης γίνεται συνήθως σε γλώσσες περιγραφής που βρίσκονται πιο κοντά στον τρόπο αποθήκευσης των δεδομένων και λιγότερο στην ορολογία του πεδίου.

Από την άλλη πλευρά, στις περιπτώσεις όπου οι εφαρμογές απαιτούν άμεση εμπλοκή του τελικού χρήστη στη διαδικασία αναζήτησης πληροφορίας, και συνεπώς η πρόσβαση καθοδηγείται από τον ίδιο τον τελικό χρήστη, αναδεικνύεται η ανάγκη η ανάκληση να γίνεται με όρους κατανοητούς στον χρήστη. Συνεπώς, η διατύπωση των ερωτημάτων πρόσβασης είναι απαραίτητο να γίνεται με όρους οικείους στον τελικό χρήστη. Για παράδειγμα, τα συστήματα αναζήτησης πληροφορίας στον παγκόσμιο ιστό υποστηρίζουν όλο και περισσότερο την αναζήτηση βασισμένη σε έννοιες (concept-based search) σε σχέση με την αναζήτηση βασισμένη σε λέξεις κλειδιά (keyword-based search).

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

Σημασιολογική περιγραφή δεδομένων

Οι οντολογικές αναπαραστάσεις γνώσης που είδαμε σε προηγούμενα κεφάλαια αποτελούν ουσιαστικά σημασιολογικές περιγραφές δεδομένων. Πράγματι, το TBox μιας οντολογίας προσφέρει την ορολογία με βάση την οποία μπορούν να κατηγοριοποιηθούν τα αντικείμενα του κόσμου, και συνεπώς να προσπελαστούν σημασιολογικά από τα συστήματα ανάκτησης δεδομένων. Παράλληλα, το ABox αναπαριστά πληροφορίες για τα αντικείμενα του κόσμου με σημασιολογικό τρόπο, χρησιμοποιώντας την ορολογία του TBox. Επομένως, αυτό που πρέπει να δούμε στο σημείο αυτό είναι με ποιον τρόπο μπορούμε να προσφέρουμε στον χρήστη συστήματα απάντησης ερωτημάτων, δηλαδή συστήματα ανάκτησης από μια οντολογία όλων των ατόμων που έχουν κάποιες συγκεκριμένες ιδιότητες, όσον αφορά τόσο τα χαρακτηριστικά τους όσο και τις συσχετίσεις τους με άλλα άτομα. Το συγκεκριμένο πρόβλημα ονομάζεται απάντηση ερωτημάτων με βάση οντολογίες (ontology-based query answering) και θα μας απασχολήσει ιδιαίτερα στη συνέχεια, όπου θα δούμε ότι δεν αποτελεί τίποτε άλλο από ένα επιπλέον πρόβλημα συλλογιστικής, με ιδιαίτερα όμως χαρακτηριστικά.

Για να μπορέσουν να χρησιμοποιηθούν στην πράξη οι τεχνικές απάντησης ερωτημάτων με βάση οντολογίες, είναι απαραίτητο να μπορούν να αναπτύσσονται και να αποθηκεύονται σε υπολογιστικά συστήματα μεγάλες οντολογικές περιγραφές. Ειδικά στην περίπτωση που ενδιαφερόμαστε για σημασιολογικά δεδομένα, τα οποία είναι πολλές φορές μεγάλου όγκου, είναι απαραίτητο να αναπτύσσονται ρεαλιστικά συστήματα που να στηρίζονται σε αποθήκευση σε δίσκους και συνεπώς να απαιτούν τη χρήση συστημάτων διαχείρισης βάσεων δεδομένων. Για την άμεση αποθήκευση των ισχυρισμών ενός ABox σε δίσκους μπορούν να χρησιμοποιηθούν συστήματα αποθήκευσης τριάδων (triple stores), τα οποία είναι αρκετά διαδεδομένα ειδικά στο πλαίσιο του σημασιολογικού ιστού, και μπορούν να χρησιμοποιηθούν σε εφαρμογές όπου απαιτείται κλιμάκωση (scalability), χρήση, δηλαδή, σε μεγάλο και συνεχώς αυξανόμενο όγκο δεδομένων.

Πρέπει, όμως, να τονίσουμε ότι μεγάλος όγκος της πληροφορίας που είναι διαθέσιμος τόσο στον παγκόσμιο ιστό όσο και σε αυτόνομα συστήματα είναι αποθηκευμένος σε σχεσιακή μορφή (κυρίως σε σχεσιακές βάσεις δεδομένων). Για τον σκοπό αυτό, στο πλαίσιο της ανάπτυξης σημασιολογικών περιγραφών δεδομένων, είναι σημαντικό να δούμε με ποιον τρόπο μπορούν να διασυνδεθούν οντολογικές περιγραφές με σχεσιακές βάσεις δεδομένων. Αυτό μπορεί να γίνει με δύο διαφορετικές προσεγγίσεις. Η πρώτη προσέγγιση αφορά την εξαγωγή των δεδομένων από τη σχεσιακή μορφή και την αποθήκευσή τους σε ένα σύστημα αποθήκευσης τριάδων, δηλαδή τη δημιουργία ενός ABox που περιέχει τις πληροφορίες της βάσης δεδομένων. Η προσέγγιση αυτή ονομάζεται μετασχηματισμός δεδομένων (data transformation). Η δεύτερη προσέγγιση είναι η καταγραφή ενός συνόλου αντιστοιχίσεων μεταξύ του σχήματος της βάσης δεδομένων και της οντολογικής περιγραφής, και στη συνέχεια η μετάφραση όλων των όρων της οντολογίας σε αυτούς της σχεσιακής βάσης, ώστε να μπορούν να χρησιμοποιηθούν οι ώριμες τεχνολογίες ανάκτησης δεδομένων που προσφέρουν τα συστήματα διαχείρισης σχεσιακών βάσεων δεδομένων, ΣΔΣΒΔ (relational database management systems, RDBMS). Έτσι, τα ερωτήματα διατυπώνονται σε όρους της οντολογίας και κατόπιν μεταφράζονται με χρήση των αντιστοιχίσεων σε όρους του σχήματος της βάσης δεδομένων, ώστε να είναι δυνατή η απάντησή τους με χρήση των ΣΔΣΒΔ. Η προσέγγιση αυτή ονομάζεται ολοκλήρωση δεδομένων (data integration).

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

Ορισμός (34): Έστω Δ𝒱 ένα πεδίο τιμών και Δ ένα πεδίο ονομάτων για υποσύνολα των τιμών αυτών. Η n-πλειάδα 𝒟 = <ℳ1, ℳ2, ..., ℳn> είναι μια δομή δεδομένων (data structure) ορισμένη στο Δ𝒱, όπου i ∈ Δ (i ∈ ℕn). Τα 1, 2,...,n καλούντα και πεδία (fields) της δομής.

Ένα διάνυσμα της μορφής v = <v1, v2, ..., vn>, με vi ∈ ℳi (i ∈ ℕn), ονομάζεται εγγραφή (record) της δομής δεδομένων 𝒟.

Το ζεύγος ℬ = <𝒟, 𝒱>, όπου 𝒟 = {𝒟1, 𝒟2, ..., 𝒟m} ένα μη κενό σύνολο δομών δεδομένων και 𝒱 ένα σύνολο εγγραφών για τις δομές αυτές, ονομάζεται βάση δεδομένων (database). Το σύνολο 𝒟 των δομών δεδομένων ονομάζεται σχήμα της βάσης (database schema). Τέλος, το σύνολο 𝒱 των εγγραφών θα λέμε ότι περιέχει τα δεδομένα (data) της βάσης.

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

Παράδειγμα (37): Στον Πίνακα (14) φαίνεται το σχήμα μιας βάσης δεδομένων στην οποία καταγράφονται πληροφορίες για το πεδίο του κινηματογράφου. Συγκεκριμένα, φαίνονται τα ονόματα και τα πεδία των δομών DIRECTORS, MOVIES και AWARDS, οι οποίες καταγράφουν πληροφορίες για τους σκηνοθέτες, τις ταινίες και τα βραβεία, αντίστοιχα, καθώς και των δομών DIRECTOR-OF και AWARDED-WITH, που καταγράφουν πληροφορίες για τις σκηνοθεσίες και τις βραβεύσεις, αντίστοιχα.

Πίνακας (14): Σχήμα βάσης δεδομένων Παραδείγματος (37).
DIRECTORS(DirID, Name, KnownAs, DateOfBirth, PlaceOfBirth, Height, ShortBio, Photo)
MOVIES(MovID, Title, Year, Duration, Genre)
DIRECTOR-OF(DirID, MovID)
AWARDS(AwID, Type, Category)
AWARDED-WITH(DirID, AwID, Year, Type)

Η δομή DIRECTORS αφορά πληροφορίες για τους σκηνοθέτες. Eκτός από κάποιον μοναδικό κωδικό για κάθε εγγραφή (που ονομάζεται πρωτεύον κλειδί (primary key) όταν υπάρχει), καταγράφει πληροφορίες που αφορούν το όνομά τους, την ημερομηνία και τον τόπο γέννησής τους, το ύψος τους, μια φωτογραφία τους και κάποια σύντομα βιογραφικά στοιχεία.

Αντίστοιχα, στη δομή MOVIES καταγράφονται, σε πέντε πεδία της βάσης δεδομένων, πληροφορίες που αφορούν τον τίτλο, την χρονολογία πρώτης έκδοσης, τη διάρκεια και το είδος μιας ταινίας. Επιπλέον, πληροφορίες για κινηματογραφικά βραβεία δίνονται στη δομή AWARDS, σε τρία πεδία που περιγράφουν (εκτός από το κλειδί) το είδος του βραβείου και την κατηγορία βράβευσης.

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

Στον Πίνακα (15) φαίνεται σχηματικά ένα σύνολο από εγγραφές για κάθε δομή της βάσης. Συνολικά, δίνονται τέσσερις διαφορετικές εγγραφές για τη δομή DIRECTORS, τέσσερις διαφορετικές εγγραφές για τη δομή MOVIES, τρεις εγγραφές για τη δομή DIRECTOR-OF και δύο για τη δομή AWARDED-WITH.

Στις εγγραφές αυτές μπορούμε να βρούμε την περιγραφή τεσσάρων σκηνοθετών και τεσσάρων ταινιών, καθώς και τεσσάρων βραβείων. Για παράδειγμα, περιγράφεται η ταινία με τίτλο Manhattan Murder Mystery (φαίνεται από το πεδίο Title της πρώτης εγγραφής της δομής MOVIES), η οποία είναι του είδους Comedy και Mystery (από το πεδίο Genre της πρώτης εγγραφής της δομής MOVIES), έχει διάρκεια 104 λεπτά (από το πεδίο Duration της πρώτης εγγραφής της δομής MOVIES), σκηνοθέτης της είναι ο Woody Allen (από την πρώτη εγγραφή της δομής DIRECTOR- OF και το πεδίο KnownAs της πρώτης εγγραφής της δομής DIRECTORS).

Είναι σημαντικό να παρατηρήσουμε ότι στη βάση δεδομένων καταγράφονται και επιπλέον πληροφορίες οι οποίες είναι δύσκολο να εξαχθούν με αυτοματοποιημένο τρόπο. Για παράδειγμα, στο βιογραφικό ενός σκηνοθέτη, που δίνεται στο πεδίο ShortBio της δομής Director, καταγράφονται πληροφορίες σε μορφή ελεύθερου κειμένου. Απαιτείται, λοιπόν, επιπλέον προσπάθεια για να τυποποιηθούν και να αναπαρασταθούν οι πληροφορίες αυτές σε σημασιολογικά πλούσια μορφή, δηλαδή σε δομημένη μορφή.

Πίνακας (16): Σώμα ορολογίας Παραδείγματος (37).
τ1. Director ⊑ Creator
τ2. Movie ≡ Film
τ3. Director ⊓ Movie ⊑ ⊥
τ4. Movie ≡ ShortFilm ⊔ FeatureFilm
τ5. FeatureFilm ≡ Film ⊓ LongFilm
τ6. FeatureFilm ≡ Film ⊓ ¬ShortFilm
τ7. Director ≡ ∃isDirector.Movie
τ8. Movie ⊑ ∃hasDirector.Director
τ9. MultiAwardWinning ≡ ≥3hasAward.MajorAward
τ10. ⊤ ⊑ ∀hasDirector.Director
τ11. hasDirector ⊑ hasCreator
τ12. isDirector ≡ hasDirector
τ13. Comedy ⊑ ¬Horror
τ14. Thriller ⊑ ActionFilm
τ15. Comedy ⊓ Romance ⊑ RomanticComedy
τ16. MultiAwardWinning ⊑ PopularFilm
τ17. Oscar ≡ AcademyAwardUSA
τ18. Oscar ⊑ MajorAward
τ19. DirectorOfComedy ⊑ Director ⊓ ∃isDirector.Comedy

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

𝒯 = {τ1, τ2, ..., τ19}

περιγράφει έννοιες αντίστοιχες με αυτές που φαίνονται στο σχήμα της βάσης (Πίνακας (14)), όπως για παράδειγμα οι έννοιες Director, Movie, Award, Comedy κλπ., αλλά και επιπλέον έννοιες που σχετίζονται με αυτές, όπως οι έννοιες Creator, Film, FeatureFilm, MajorAward, RomanticComedy κλπ. Αντίστοιχα, ορίζονται ρόλοι που συνδέονται άμεσα με τις σχέσεις που

Πίνακας (15): Βάση δεδομένων Παραδείγματος (37).

Πίνακας (15): Βάση δεδομένων Παραδείγματος (37).

περιγράφονται στο σχήμα της βάσης, όπως οι ρόλοι hasDirector και hasAward, αλλά και επιπλέον ρόλοι που συνδέονται με αυτούς, όπως ο hasCreator. Τέλος, στο σώμα ορολογίας περιγράφονται κάποιοι περιορισμοί που ισχύουν στο συγκεκριμένο πεδίο. Για παράδειγμα, το αξίωμα τ8 δηλώνει ρητά ότι κάθε ταινία έχει σκηνοθέτη, ενώ το αξίωμα τ13 δηλώνει ότι δεν μπορεί κάποια ταινία να είναι ταυτόχρονα κωμωδία και ταινία τρόμου.

Τέλος, στον Πίνακα (17) δίνεται ένα σώμα ισχυρισμών για το πεδίο του κινηματογράφου που περιγράφει πληροφορίες που δίνονται και από τα δεδομένα της βάσης (Πίνακας (15)). Συγκεκριμένα, το σύνολο αξιωμάτων

𝒜 = {α1, α2, ..., α8}

περιγράφει άτομα του κόσμου, όπως για παράδειγμα τα άτομα manhattan, woodyAllen κλπ., και ιδιότητές τους (με βάση τις έννοιες και τους ρόλους του TBox), όπως για παράδειγμα ότι το manhattan είναι τύπου Comedy. Δεν είναι δύσκολο να δούμε ότι αντίστοιχες πληροφορίες δίνονται από τις εγγραφές της βάσης δεδομένων· για παράδειγμα, για το πεδίο Genre της δομής Movies, η πρώτη εγγραφή (από την οποία παίρνουμε πληροφορίες για το άτομο manhattan) περιέχει την τιμή Comedy. Επιπλέον, το ABox περιέχει πληροφορίες για συσχετίσεις μεταξύ των ατόμων. Για παράδειγμα ο ισχυρισμός

hasDirector(manhattan, woodyAllen)

περιγράφει ότι ο Woody Allen είναι σκηνοθέτης της ταινίας Manhattan Murder Mystery. Δεν είναι δύσκολο να δούμε ότι αντίστοιχη πληροφορία περιγράφεται και στη βάση δεδομένων, με πιο σύνθετο τρόπο, από την πρώτη εγγραφή της δομής DIRECTOR- OF. Ωστόσο, στη δομή αυτή δίνονται μόνο κωδικοί εγγραφών, και για να συγκεντρώσουμε όλη την πληροφορία πρέπει να ανατρέξουμε επιπλέον στις αντίστοιχες εγγραφές των δομών DIRECTORS και MOVIES (στην περίπτωση αυτή στις πρώτες εγγραφές).

Πίνακας (17): Σώμα ισχυρισμών Παραδείγματος (37).
α1. Comedy(manhattan)
α2. hasDirector(manhattan, woodyAllen)
α3. hasTitle(manhattan, manhattanMurderMystery)
α4. hasRunningTime(manhattan, 104min)
α5. LongRunningTime(104min)
α6. nominatedFor(manhattan, baftaBestActressSupporting)
α6. hasAward(miaAioniotita, cannesPalmeDor)
α7. woodyAllen ≈ allanStewartKoenigsberg
α8. woodyAllen¬≈akiraKurosawa

Είναι προφανές από το Παράδειγμα (37) ότι η αναπαράσταση της γνώσης του πεδίου με τη χρήση μιας βάσης δεδομένων και τη χρήση μιας οντολογίας παρουσιάζει σημαντικές διαφορές, οι οποίες είναι απαραίτητο να αντιμετωπιστούν ώστε να καταστεί αποτελεσματική η ανάπτυξη σημασιολογικών δεδομένων. Ενώ η αναπαράσταση δεδομένων στο ABox γίνεται με άμεσο τρόπο, αφού τόσο στο TBox όσο και στο ABox χρησιμοποιείται η ίδια ορολογία, για να μπορέσει να συσχετιστεί το TBox με τη βάση δεδομένων, ώστε να οριστεί ένα πλαίσιο σημασιολογικής περιγραφής των δεδομένων της βάσης, απαιτείται η αντιστοίχιση των βασικών αναφορών και αποτιμήσεων. Στο Παράδειγμα (37), από την πρώτη εγγραφή της δομής MOVIES συμπεραίνουμε ότι η ταινία M1, με τίτλο Manhattan Murder Mystery είναι στιγμιότυπο της έννοιας Comedy (που αποτελεί όνομα έννοιας της υπογραφής του TBox που δίνεται στον Πίνακα (16)). Άλλωστε, αυτό καταγράφεται και στο ABox του Πίνακα (17) (Αξίωμα α1):

Comedy(manhattan).  (172)

Για να μπορέσουν να συσχετιστούν τυπικά αυτές οι πληροφορίες θα πρέπει:

  1. Να προσδιοριστούν τα άτομα του κόσμου που καταγράφονται στα δεδομένα της βάσης (το manhattan στη συγκεκριμένη περίπτωση).

  2. Να προσδιοριστούν οι κατηγορίες στις οποίες κατατάσσονται τα αντικείμενα (στη συγκεκριμένη περίπτωση το άτομο Comedy), και στη συνέχεια τα άτομα να καταταγούν στις κατηγορίες με βάση τις πληροφορίες των αντίστοιχων εγγραφών.

Όσον αφορά το πρώτο σημείο, το πρόβλημα που διαπιστώνουμε είναι ότι στις βάσεις δεδομένων δεν καταγράφονται αντικείμενα στα οποία αποδίδονται ιδιότητες, αλλά εγγραφές που αναπαριστούν συγκεκριμένες τιμές, με προκαθορισμένους τύπους δεδομένων. Κάποιες από τις τιμές αυτές είναι κλειδιά που προσδιορίζουν με μοναδικό τρόπο τα αντικείμενα, το ποια είναι αυτά όμως δεν φαίνεται άμεσα από το σχήμα της βάσης. Από την άλλη πλευρά, τα άτομα που περιγράφονται στις οντολογίες (ως στοιχεία ενός ABox), δηλαδή τα στιγμιότυπα των εννοιών, δεν είναι τα αντικείμενα του κόσμου, αλλά αφαιρετικές αναπαραστάσεις των αντικειμένων (που φυσικά ερμηνεύονται ως αντικείμενα, πιθανώς διαφορετικά σε διαφορετικές ερμηνείες). Συνεπώς, δεν είναι πάντα άμεσος ο τρόπος προσδιορισμού του ονόματος του ατόμου από το κλειδί της εγγραφής της βάσης δεδομένων.

Ο προσδιορισμός, λοιπόν, των αντικειμένων καθώς και η αναπαράσταση των αντίστοιχων ατόμων δεν είναι τόσο προφανής στην πράξη. Στο συγκεκριμένο παράδειγμα, θα πρέπει, με βάση τον κωδικό M1 της ταινίας, να προσδιοριστεί ένα άτομο της οντολογίας. Στην περίπτωση αυτή, το άτομο ονομάζεται manhattan, όπως βλέπουμε στο ABox του Πίνακα (17), όνομα που χρησιμοποιεί και στοιχεία από τον τίτλο της ταινίας, η οποία συνήθως προσδιορίζει τις ταινίες. Να σημειώσουμε στο σημείο αυτό ότι αν υπάρχουν δύο ταινίες με διαφορετικό όνομα, τότε θα υπάρξει πρόβλημα με τη χρήση του τίτλου για τον προσδιορισμό του ατόμου (καθώς το όνομα πρέπει να είναι μοναδικό). Από την πλευρά, αν χρησιμοποιηθεί ο κωδικός της βάσης δεδομένων, τότε το όνομα δεν έχει διαισθητική αξία για το χρήστη.

Το πρόβλημα που αντιμετωπίζουμε στο πλαίσιο αυτό προκύπτει από τη διαφορετική μοντελοποίηση των αναφορών στα αντικείμενα του κόσμου στα σχεσιακά (relational) και τα αντικειμοστρεφή (object-oriented) μοντέλα, και στη βιβλιογραφία αναφέρεται ως περιορισμός αναντιστοιχίας (impedance mismatch).

Το δεύτερο βήμα είναι ο καθορισμός των εννοιών με βάση τις οποίες θα γίνει η κατάταξη των ατόμων στις κατηγορίες που προσδιορίζονται από αυτές τις έννοιες. Συγκεκριμένα, απαιτείται η συσχέτιση της ιδιότητας που προσδιορίζεται από μια έννοια του TBox με τις τιμές κάποιου ή κάποιων από τα πεδία των εγγραφών. Στο συγκεκριμένο παράδειγμα, για να μπορέσει να εξαχθεί ο ισχυρισμός (172), θα πρέπει να αναλυθεί η τιμή του πεδίου Genres της πρώτης εγγραφής της δομής MOVIES, και επειδή έχει την τιμή Comedy, Mystery, το αντικείμενο να καταταχθεί στην έννοια Comedy του TBox του Πίνακα (16). Προφανώς, η διαδικασία αυτή απαιτεί σημαντική προσπάθεια για να αυτοματοποιηθεί, διότι εξαρτάται από το πραγματικό νόημα της έννοιας, τον τύπο δεδομένων που αποθηκεύονται στο πεδίο του σχήματος της βάσης δεδομένων, αλλά και τον τρόπο με τον οποίο καταγράφονται τα δεδομένα στη βάση.

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

LongRunningTime(104min)  (173)

από τις εγγραφές της βάσης δεδομένων. Αντίστοιχα, θα μπορούσαμε να σκεφτούμε με ποιον τρόπο θα μπορούσαμε να κατατάξουμε κάποιο βραβείο από τη δομή AWARDS στην έννοια MajorAward.

Τόσο το πρόβλημα του περιορισμού αναντιστοιχίας όσο και αυτό της κατηγοριοποίησης είναι ιδιαίτερα σύνθετα και αυτοματοποιούνται δύσκολα. Στην επόμενη παράγραφο θα δούμε με ποιον τρόπο κάποιος μηχανικός γνώσης μπορεί να αναπαραστήσει τυπικά τέτοιες συσχετίσεις, ώστε στη συνέχεια η ανάκληση δεδομένων με χρήση οντολογιών να μπορεί να αυτοματοποιηθεί, είτε χρησιμοποιείται η προσέγγιση της υλοποίησης της βάσης δεδομένων είτε αυτή της διασύνδεσης.

Να επισημάνουμε, πριν περάσουμε στην τυπική περιγραφή της αντιστοίχισης, ότι υπάρχουν και πολλά ακόμη προβλήματα που προκύπτουν από τον διαφορετικό τρόπο καταγραφής της πληροφορίας στις βάσεις δεδομένων και στις οντολογικές περιγραφές, τα οποία δεν θα μας απασχολήσουν ιδιαίτερα στη συνέχεια. Αξίζει να αναφέρουμε με συντομία το πρόβλημα που προκύπτει από το γεγονός ότι πολλές φορές η γνώση που αποτυπώνεται στις βάσεις δεδομένων δεν είναι πλήρης. Για παράδειγμα, ενώ το αξίωμα τ8 του TBox του Πίνακα (16) δηλώνει ρητά ότι όλες οι ταινίες έχουν σκηνοθετηθεί από κάποιον σκηνοθέτη, δεν είναι δύσκολο να δούμε από τις εγγραφές της δομής DIRECTOR- OF ότι για την ταινία M2 με τίτλο What’s New Pussycat δεν δηλώνεται κάποιος σκηνοθέτης. Το γεγονός αυτό, με βάση τη σημασιολογία των βάσεων δεδομένων, και συγκεκριμένα με βάση την υπόθεση κλειστού κόσμου (close-world assumption) που αποτελεί βασικό στοιχείο της, σημαίνει ότι η ταινία What’s New Pussycat δεν έχει σκηνοθέτη, διότι αν είχε, θα ήταν καταγεγραμμένο στη βάση. Εδώ, λοιπόν, προκύπτει ένα σημαντικό πρόβλημα ασυνέπειας. Για να λυθεί, θεωρούμε (όπως και σε κάθε άλλη περίπτωση που υπάρχει αντίστοιχη σύγκρουση στο πλαίσιο της ανάπτυξης σημασιολογικών δεδομένων) ότι ισχύει η υπόθεση ανοικτού κόσμου (open-world assumption), που είναι βασικό στοιχείο της αναπαράστασης οντολογικής γνώσης, και συμπεραίνουμε ότι υπάρχει κάποιος σκηνοθέτης για την ταινία What’s New Pussycat, αφού αυτό δηλώνει το αξίωμα τ8, αλλά προς το παρόν δεν έχει καταγραφεί και γι’ αυτό δεν υπάρχει αντίστοιχος ισχυρισμός στη γνώση.

Βάσεις σημασιολογικών δεδομένων

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

Αρχικά, θα δούμε με ποιον τρόπο μπορούμε να διατυπώσουμε ερωτήματα σε μια βάση δεδομένων.

Ορισμός (35): Έστω ℬ = <𝒟, 𝒱> μια βάση δεδομένων, όπου 𝒟 = {𝒟1, 𝒟2, ..., 𝒟m} το σχήμα της με 𝒟i = <ℳi1, ℳi2, ..., ℳin> τα πεδία της κάθε δομής, και 𝒱 τα δεδομένα της. Ένα ερώτημα SQL (SQL query) για τη βάση δεδομένων είναι μια έκφραση της μορφής

SELECT fields
FROM structures
WHERE conditions  (174)

όπου structures ένα υποσύνολο στοιχείων του 𝒟 (κάποια από τα 𝒟i), fields ένα υποσύνολο πεδίων των στοιχείων του structures (κάποια από τα ij) και conditions ένα σύνολο συνθηκών για τις τιμές που παίρνουν στις εγγραφές τα στοιχεία των fields.

Απάντηση (answer) στο ερώτημα SQL είναι το σύνολο των διανυσμάτων τιμών για τα πεδία fields από τα αντίστοιχα δεδομένα του 𝒱 που πληρούν τα κριτήρια conditions.

Να σημειώσουμε ότι ο Ορισμός (35) εισάγει μια απλή μορφή ερωτημάτων SQL. Στη θεωρία βάσεων δεδομένων έχουν οριστεί και τα συστήματα διαχείρισης βάσεων δεδομένων χρησιμοποιούν αρκετά πιο σύνθετες γλώσσες διατύπωσης ερωτημάτων, που αποτελούν επεκτάσεις της μορφής (174), και δίνουν τη δυνατότητα έκφρασης πιο στοχευμένης επιλογής διανυσμάτων από το σύνολο των δεδομένων της βάσης. Παρόλα αυτά, η μορφή (174) είναι η βασική μορφή ερωτημάτων και περιλαμβάνει τα βασικά στοιχεία της γλώσσας SQL.

Παράδειγμα (38): Στο πλαίσιο του Παραδείγματος (37), ζητάμε να προσδιορίζουμε όλους τους σκηνοθέτες που έχουν σκηνοθετήσει κωμωδίες. Για τον σκοπό αυτό, μπορούμε να διατυπώσουμε σε SQL το εξής ερώτημα:

SELECT DIRECTORS.KnownAs
FROM DIRECTORS, MOVIES, DIRECTORS-OF
WHERE DIRECTORS.DirID = DIRECTORS-OF.DirID
MOVIES.MovID = DIRECTORS-OF.MovID
MOVIES.Genre=``Comedy"   (175)

Στο ερώτημα (175) εμπλέκονται τρεις δομές δεδομένων του σχήματος της βάσης, όπως φαίνεται από την έκφραση FROM. Συγκεκριμένα, εμπλέκονται οι DIRECTORS, MOVIES και DIRECTORS- OF, από τις οποίες στην απάντηση του ερωτήματος θα επιστραφούν πεδία μόνο από τη δομή DIRECTORS, όπως φαίνεται από την έκφραση SELECT. Για τη δήλωση αυτή χρησιμοποιούμε την έκφραση DIRECTORS.KnownAs, προσθέτοντας την τελεία μεταξύ του ονόματος της δομής και του πεδίου, ώστε να προσδιορίσουμε με ακρίβεια τη δομή στην οποία αναφέρεται το πεδίο. Τέλος, αναφέρονται τρεις συνθήκες που πρέπει να πληρούν οι εγγραφές για να αποτελούν απάντηση στο ερώτημα. Οι δύο πρώτες, δηλαδή η συνθήκη

DIRECTORS.DirID = DIRECTORS−OF.DirID

και η συνθήκη

MOVIES.MovID = DIRECTORS−OF.MovID

διασφαλίζουν ότι θα ελεγχθούν δυάδες εγγραφών των δομών DIRECTORS και MOVIES που σχετίζονται μεταξύ τους μέσω της δομής DIRECTOR- OF· συγκεκριμένα οι τρεις δυάδες <D1, M1>, <D2, M3> και <D4, M4>.

Επιπλέον, η συνθήκη

MOVIES.Genre = Comedy

υπαγορεύει ότι από τις παραπάνω δυάδες, μόνο η <D1, M1> θα μπορούσε να είναι απάντηση στο ερώτημα, διότι η εγγραφή M1 είναι η μόνη για την οποία ισχύει

M1.Genre = Comedy.

Συνεπώς, δεν είναι δύσκολο να δούμε ότι η μοναδική απάντηση στο ερώτημα (175) είναι το πεδίο KnownAs της εγγραφής D1. Τυπικά γράφουμε

ans = {WoodyAllen},

όπου ans είναι το σύνολο απαντήσεων στο ερώτημα (175).

Ορισμός (36): Έστω 𝒦 = ⟨𝒯,𝒜⟩, μια βάση γνώσης, όπου 𝒯 ένα σώμα ορολογίας και 𝒜 ένα σώμα υποθέσεων, με IN, CN και RN το σύνολο των ονομάτων των ατόμων, εννοιών και ρόλων της 𝒦, αντίστοιχα.

Θα καλούμε ατομικό ερώτημα (atomic query) μια έκφραση της μορφής

q1(x)=C(x)  (176)

ή της μορφής

q2(x, y)=r(x, y),  (177)

όπου C ∈ CN ένα όνομα έννοιας, r ∈ RN ένα όνομα ρόλου και x, y μεταβλητές. Να σημειώσουμε ότι τα ατομικά ερωτήματα της μορφής (176), (177) μπορούν να μην εμπλέκουν μόνο μεταβλητές αλλά και σταθερές, δηλαδή κάποια από τα x, y μπορούν να είναι ονόματα ατόμων. Στην περίπτωση που το ερώτημα δεν εμπλέκει καθόλου μεταβλητές θα ονομάζεται ερώτημα αληθοτιμής ή ερώτημα Boole (boolean query).

Θα λέμε ότι η x είναι η μεταβλητή του ατομικού ερωτήματος q1 (αντίστοιχα οι x, y είναι οι μεταβλητές του q2), και θα αναφερόμαστε σε αυτή (αυτές) μέσω της συνάρτησης var. Δηλαδή var(q1)={x} και var(q2)={x, y}.

Θα καλούμε συζευκτικό ερώτημα (conjunctive query) μια έκφραση της μορφής

q(x)={q1, ..., qn},  (178)

όπου qi, i ∈ ℕn, ένα ατομικό ερώτημα της μορφής (176) ή (177). Το διάνυσμα x ονομάζεται διάνυσμα μεταβλητών (variable vector) του q, και κάθε στοιχείο του (δηλαδή κάθε μεταβλητή του q) απαιτείται να περιλαμβάνεται τουλάχιστον σε ένα ατομικό ερώτημα qi.

Το σύνολο των στοιχείων του διανύσματος μεταβλητών του q θα υπολογίζεται από τη συνάρτηση avar(q) και τα στοιχεία του θα ονομάζονται μεταβλητές απάντησης (answer variables) του q. Επιπλέον, κάθε μεταβλητή που εμφανίζεται σε κάποιο από τα ατομικά ερωτήματα του q (δηλαδή κάθε y για το οποίο υπάρχει qi ∈ q με y ∈ var(qi)), αλλά δεν είναι μεταβλητή του q (δηλαδή y ∉ avar(q)) θα ονομάζεται ελεύθερη μεταβλητή (free variable) του q. Το σύνολο των ελεύθερων μεταβλητών θα υπολογίζεται από τη συνάρτηση fvar(q). Αντίστοιχα με τα ατομικά ερωτήματα, στην περίπτωση που το ερώτημα δεν εμπλέκει καθόλου μεταβλητές θα ονομάζεται ερώτημα αληθοτιμής.

Παράδειγμα (39): Στο πλαίσιο του Παραδείγματος (37) και με παρόμοιο τρόπο με αυτόν του Παραδείγματος (38), ζητάμε να βρούμε όλους τους σκηνοθέτες που έχουν σκηνοθετήσει κωμωδίες, μόνο που στην περίπτωση αυτή δεν θεωρούμε ότι έχουμε τη βάση δεδομένων του Πίνακα (15), αλλά το TBox του Πίνακα (16) και το ABox του Πίνακα (17). Για να το επιτύχουμε αυτό, διατυπώνουμε το συζευκτικό ερώτημα

q(x)={Director(x),isDirector(x, y),Comedy(y)},   (179)

το οποίο, όπως βλέπουμε, χρησιμοποιεί όρους του TBox, και συγκεκριμένα εμπλέκει ατομικά ερωτήματα για τις έννοιες Director, Comedy και τον ρόλο isDirector. Στην περίπτωση αυτή, το x είναι η μόνη μεταβλητή απάντησης του συζευκτικού ερωτήματος q, ενώ η y είναι ελεύθερη μεταβλητή. Στην περίπτωση αυτή είναι αναμενόμενο να έχουμε ως απάντηση ένα από τα άτομα του ABox, συγκεκριμένα το άτομο woodyAllen. Αν παρατηρήσουμε, όμως, προσεκτικά θα δούμε ότι αυτό δεν φαίνεται να είναι άμεση συνέπεια των ισχυρισμών του ABox (γιατί;). Στην επόμενη παράγραφο θα μελετήσουμε αναλυτικά το θέμα αυτό και θα δούμε με ποιον τρόπο πρέπει να ορίσουμε τυπικά την απάντηση σε συζευκτικά ερωτήματα, ώστε το άτομο woodyAllen να είναι όντως απάντηση στο ερώτημα.

Ορισμός (37): Έστω μια βάση δεδομένων και 𝒟 = <ℳ1, ℳ2, ..., ℳn> μια δομή της βάσης, όπου i τα πεδία της δομής. Θα καλούμε προσδιοριστικό αντικειμένου (object identifier) μια συνάρτηση id τάξης k που ορίζεται σε καθένα από τα πεδία της δομής και έχει ως τιμή ένα όνομα αντικειμένου obj, όπως φαίνεται από τη σχέση

id(v1, v2, ...vk)=obj,   (180)

όπου v1, v2,...,vk τιμές από k πεδία της δομής 𝒟.

Παράδειγμα (40): Στο πλαίσιο του Παραδείγματος (37) και για τη βάση δεδομένων του Πίνακα (15) ορίζουμε το προσδιοριστικό dir(DIRECTORS.KnowsAs) ως μια συνάρτηση τάξης 1 που στην είσοδό της δέχεται το πεδίο KnownAs της δομής DIRECTORS και στην έξοδο δίνει ονόματα αντικειμένων ως εξής:

dir(WoodyAllen)=woodyAllen.  (181)

Δηλαδή το προσδιοριστικό dir απλά μετατρέπει το πρώτο γράμμα της συμβολοσειράς του πεδίου DIRECTORS.KnowsAs σε πεζό και αφαιρεί τα κενά, αν υπάρχουν.

Επιπλέον, χρησιμοποιούμε τη συνάρτηση

mov(MOVIES.Title, MOVIES.Year)

για να ορίσουμε ονόματα για τα αντικειμένων των ταινιών, ενώνοντας τις λέξεις της συμβολοσειράς του τίτλου με τη συμβολοσειρά του έτους πρώτης κυκλοφορίας μιας ταινίας. Έτσι, για την πρώτη εγγραφή έχουμε

mov(ManhattanMurderMystery, 1993)=manhattanMurderMystery1993.  (182)

Ορισμός (38): Έστω μια βάση δεδομένων και 𝒯 ένα TBox. Έστω επίσης p(x) ένα ερώτημα SQL στη και q(id(z);y), ένα συζευκτικό ερώτημα χωρίς ελεύθερες μεταβλητές, όπου id ένα προσδιοριστικό, x, z μη κενά διανύσματα μεταβλητών και z, y ⊆ x. Κάθε έκφραση της μορφής

p(x)↦q(id(z);y)  (183)

ονομάζεται σημασιολογική αντιστοίχιση (semantic mapping) της βάσης δεδομένων στο TBox 𝒯. Ένα σύνολο από σημασιολογικές αντιστοιχίσεις της μορφής (183) ονομάζεται σώμα σημασιολογικών αντιστοιχίσεων (semantic mapping box) ή MBox.

Παράδειγμα (41): Στο πλαίσιο του Παραδείγματος (37), για τη βάση δεδομένων του Πίνακα (15) και το TBox του Πίνακα (16), ορίζουμε τη σημασιολογική αντιστοίχιση

m: SELECT DIRECTORS.KnownAs
FROM DIRECTORS, MOVIES, DIRECTORS-OF
WHERE DIRECTORS.DirID = DIRECTORS-OF.DirID
MOVIES.MovID = DIRECTORS-OF.MovID
MOVIES.Genre=``Comedy"
DirectorOfComedy(dir(x)),   (184)

όπου dir το προσδιοριστικό που ορίζεται από την εξίσωση (181) του Παραδείγματος (40). Δεν είναι δύσκολο να δούμε ότι μέσω της σημασιολογικής αυτής αντιστοίχισης απεικονίζονται σκηνοθέτες κωμωδιών της βάσης δεδομένων στην έννοια DirectorOfComedy του TBox. Στην περίπτωση αυτή, ο ισχυρισμός που αντιστοιχίζεται είναι o

DirectorOfComedy(woodyAllen),

διότι Woody Allen είναι η μοναδική απάντηση στο ερώτημα SQL της σημασιολογικής αντιστοίχισης που δίνεται από τη σχέση (184).

Ορισμός (39): Μια τριάδα 𝒮 = <𝒯, ℬ, ℳ>, όπου 𝒯 ένα TBox, μια σχεσιακή βάση δεδομένων και ένα σώμα σημασιολογικών αντιστοιχίσεων μεταξύ του 𝒯 και της , ονομάζεται βάση σημασιολογικών δεδομένων (semantic database).

Ανάκτηση σημασιολογικών δεδομένων

Διαδικασία απάντησης συζευκτικών ερωτημάτων

Το πρόβλημα που θα μας απασχολήσει στη συνέχεια είναι η απάντηση ερωτημάτων που διατυπώνονται σε όρους της οντολογίας και έχουν στόχο την ανάκτηση ενός συνόλου από αντικείμενα (ή από πλειάδες αντικειμένων) της βάσης δεδομένων. Συγκεκριμένα, σύμφωνα με τον ορισμό (39), τυπικά το πρόβλημα ορίζεται ως εξής:

Έστω μια βάση σημασιολογικών δεδομένων

𝒮 = <𝒯, ℬ, ℳ > ,

όπου 𝒯 ένα TBox με CN, RN το σύνολο ονομάτων εννοιών και ρόλων αντίστοιχα, μια βάση δεδομένων και οι απεικονίσεις μεταξύ του 𝒯 και της . Έστω, επίσης, ένα συζευκτικό ερώτημα

q(x)={q1, ..., qn},

όπου q1, ..., qn ατομικά ερωτήματα για έννοιες και ρόλους των CN, RN, αντίστοιχα. Ζητείται η εύρεση των στοιχείων της βάσης που ικανοποιούν τους περιορισμούς του ερωτήματος q, σύμφωνα και με τις αντιστοιχίσεις του σώματος αντιστοιχίσεων .

Παράδειγμα (42): Στο πλαίσιο του Παραδείγματος (37), ορίζουμε τη βάση σημασιολογικών δεδομένων 𝒮 = <𝒯, ℬ, ℳ>, που αποτελείται από το TBox 𝒯 του Πίνακα (16), τη βάση δεδομένων του Πίνακα (15) και το σύνολο αντιστοιχίσεων ℳ = {m1, ..., m5}, όπου

m1: SELECT DIRECTORS.KnownAs
FROM DIRECTORS
Director(dir(x)),   (185)

m2: SELECT MOVIES.Title, MOVIES.Year
FROM MOVIES
Movie(mov(x, y)),   (186)

m3: SELECT DIRECTORS.KnownAs, MOVIES.Title
FROM DIRECTORS, MOVIES, DIRECTORS-OF
WHERE DIRECTORS.DirID = DIRECTORS-OF.DirID
MOVIES.MovID = DIRECTORS-OF.MovID
isDirector(dir(x),mov(y)),   (187)

m4: SELECT DIRECTORS.KnownAs
FROM DIRECTORS, MOVIES, DIRECTORS-OF
WHERE DIRECTORS.DirID = DIRECTORS-OF.DirID
MOVIES.MovID = DIRECTORS-OF.MovID
MOVIES.Genre=``Comedy"
DirectorOfComedy(dir(x)),   (188)

m5: SELECT MOVIES.Title, AWARDS.Type, AWARDS.Category
FROM MOVIES, AWARDS, AWARDED-WITH
WHERE MOVIES.MovID = AWARDED-WITH.MovID
AWARD.AwID = AWARDED-WITH.AwID
AWARD.Type=``Win"
hasAward(mov(x),aw(y, z)).  (189)

Παρατηρούμε ότι η αντιστοίχιση m1 (Eξίσωση (185)) είναι απλή. Αντιστοιχίζει όλους τους σκηνοθέτες από τη δομή DIRECTORS της βάσης σε στιγμιότυπα της έννοιας Director του TBox 𝒯. Για να ονοματίσει τα άτομα, χρησιμοποιεί το προσδιοριστικό dir, το οποίο απλά ενώνει τις λέξεις του πεδίου KnownAs της δομής DIRECTORS, αφαιρώντας τα κενά και, ταυτόχρονα, μετατρέπει το πρώτο γράμμα σε πεζό. Δηλαδή, ο σκηνοθέτης που ορίζεται στην πρώτη γραμμή της δομής DIRECTORS αντιστοιχίζεται στο άτομο woodyAllen, το οποίο είναι στιγμιότυπο της έννοιας Director.

Ανάλογης λογικής είναι και η m2 (Εξίσωση (186)), μέσω της οποίας αντιστοιχίζονται ταινίες που ορίζονται στη δομή MOVIES με στιγμιότυπα της έννοιας Movie του TBox 𝒯. Έτσι, για παράδειγμα, η ταινία Μ1, με τίτλο Manhattah Murder Mystery και χρονολογία πρώτης έκδοσης 1993, αντιστοιχίζεται στο άτομο manhattahMurderMystery1993, μέσω του προσδιοριστικού mov, το οποίο είναι ανάλογο με το dir, μόνο που δέχεται δύο ορίσματα και προσθέτει στο τέλος τη χρονολογία, με συνένωση των συμβολοσειρών.

Η m3 (Εξίσωση (187)) είναι λίγο πιο σύνθετη. Συγκεκριμένα, αντιστοιχίζει ζεύγη της δομής DIRECTOR- OF με ζεύγη ατόμων που συνδέονται μέσω του ρόλου isDirector, χρησιμοποιώντας πάλι τα προσδιοριστικά dir και mov για την ονοματοδοσία τους. Έτσι, το ζεύγος

<D1, M1>

από την πρώτη γραμμή της δομής DIRECTOR- OF αντιστοιχίζεται με το ζεύγος

<woodyAllen, manhattanMurderMystery1993>

μέσω του ισχυρισμού ρόλου

isDirector(woodyAllen, manhattanMurderMystery1993).

Παρατηρούμε ότι για την ονοματοδοσία των ατόμων είναι χρήσιμα πεδία που δεν υπάρχουν στη δομή DIRECTOR- OF, όπως τα πεδία KnownAs (της δομής DIRECTORS) και Title (της δομής MOVIES). Για τον σκοπό αυτό, το ερώτημα SQL της αντιστοίχισης m3 επιστρέφει τα πεδία αυτά.

Η αντιστοίχιση m4 (Eξίσωση (188)) αντιστοιχίζει με την έννοια DirectorOfComedy του TBox 𝒯 κάποιους από τους σκηνοθέτες, και συγκεκριμένα αυτούς που έχουν σκηνοθετήσει τουλάχιστον μία κωμωδία. Συγκεκριμένα, κατά τη διατύπωση του ερωτήματος χρησιμοποιεί, εκτός από τη δομή DIRECTORS, τις δομές DIRECTOR- OF και MOVIES για να προσδιορίσει τις ταινίες ενός σκηνοθέτη και, επιπλέον, την τρίτη συνθήκη του WHERE για να ελέγξει αν κάποια από τις ταινίες αυτές είναι κωμωδία. Έτσι, δεν είναι δύσκολο να δούμε ότι μέσω της m4 δηλώνεται ότι το άτομο woodyAllen είναι στιγμιότυπο της έννοιας DirectorOfComedy, επειδή, όπως φαίνεται από τη δομή DIRECTOR- OF, έχει σκηνοθετήσει την ταινία M1, η οποία στη δομή MOVIES δηλώνεται ως Comedy.

Με αντίστοιχο τρόπο ορίζεται η αντιστοίχιση m5 (Εξίσωση (189)), η οποία αντιστοιχίζει την πληροφορία που δίνεται στη βάση δεδομένων και αφορά τις βραβεύσεις ταινιών με ισχυρισμούς που αφορούν τον ρόλο hasAward του TBox 𝒯. Στην περίπτωση αυτή, αξίζει να παρατηρήσουμε το προσδιοριστικό aw, το οποίο δέχεται στην είσοδό του δύο πεδία της δομής AWARDS, το Type και το Category, ώστε να αποτυπώσει στο όνομα του προσδιοριστικού τόσο το είδος του βραβείου όσο και την κατηγορία στην οποία βραβεύτηκε η συγκεκριμένη ταινία. Με τον τρόπο αυτό, δεν είναι δύσκολο να δούμε ότι η μόνη ταινία που αντιστοιχίζεται είναι η miaAiniotitaKaiMiaMera1998, η οποία δηλώνεται ότι σχετίζεται μέσω της hasAward με το άτομο cannesFilmFestival- PalmeD′Or.

Στο πλαίσιο της παραπάνω βάσης σημασιολογικών δεδομένων 𝒮 μπορούμε να διατυπώσουμε ερωτήματα με όρους της ορολογίας και να ανακτήσουμε δεδομένα της βάσης. Για παράδειγμα, μπορούμε να διατυπώσουμε το συζευκτικό ερώτημα

q(x)={Director(x),hasDirector(y, x),hasAward(y, z)},   (190)

μέσω του οποίου μπορούμε να ανακτήσουμε όλους τους σκηνοθέτες βραβευμένων ταινιών. Παρατηρούμε ότι στο συγκεκριμένο ερώτημα χρησιμοποιούνται και όροι που δεν περιλαμβάνονται σε κάποια από τις αντιστοιχίσεις, όπως για παράδειγμα ο ρόλος hasDirector. Παρόλα αυτά, όπως θα δούμε στη συνέχεια, μπορούμε να έχουμε απαντήσεις ακόμα και στις περιπτώσεις αυτές, με χρήση του TBox.

Για την επίλυση του προβλήματος της απάντησης συζευκτικών ερωτημάτων, προτείνονται δύο διαφορετικές στρατηγικές. Η πρώτη έχει ως στόχο την απλοποίηση του προβλήματος μέσω της μετατροπής της βάσης σημασιολογικών δεδομένων σε βάση γνώσης. Στην περίπτωση αυτή, το πρόβλημα της απάντησης ενός ερωτήματος στη βάση σημασιολογικών δεδομένων μπορεί να επιλυθεί σαν ένα πρόβλημα ανάκτησης στιγμιοτύπων σε περιγραφικές λογικές (πρόβλημα συλλογιστικής). Η δεύτερη είναι έχει ως στόχο την απλοποίηση του προβλήματος μέσω της μετατροπής του συζευκτικού ερωτήματος σε ερώτημα SQL, με χρήση του TBox και των αντιστοιχίσεων. Στην περίπτωση αυτή, το πρόβλημα της ανάκτησης δεδομένων επιλύεται σαν ένα πρόβλημα πρόσβασης δεδομένων σε βάσεις (απάντησης ερωτημάτων SQL). Και οι δύο προσεγγίσεις παρουσιάζουν πλεονεκτήματα και μειονεκτήματα, έχουν μελετηθεί αρκετά στη βιβλιογραφία και χρησιμοποιούνται σε πρακτικά συστήματα στον παγκόσμιο ιστό.

Για τη μετατροπή της βάσης σημασιολογικών δεδομένων σε βάση γνώσης, η διαδικασία είναι σχετικά απλή. Διαισθητικά περιγράφεται ως εξής. Με αφετηρία τις απεικονίσεις, εκτελούνται όλα τα ερωτήματα SQL που περιέχονται σε αυτές, και κάθε απάντησή τους καταγράφεται σε ένα ABox, το οποίο δημιουργείται για τον σκοπό αυτό. Η μετατροπή αυτή ολοκληρώνεται αποτελεσματικά, χωρίς να δημιουργεί ιδιαίτερες δυσκολίες, εκτός από τις γνωστές δυσκολίες του προβλήματος απάντησης ερωτημάτων SQL, ενώ αποδεικνύεται ότι δεν επηρεάζεται η ορθότητα και η πληρότητα του συστήματος απάντησης. Το επόμενο παράδειγμα δείχνει τη λειτουργία της διαδικασίας.

Παράδειγμα (43): Συνεχίζοντας το Παράδειγμα (42), στο σημείο αυτό θα δούμε πώς μετατρέπεται η βάση σημασιολογικών δεδομένων 𝒮 = <𝒯, ℬ, ℳ>, όπου 𝒯 το TBox του Πίνακα (16), η βάση δεδομένων του Πίνακα (15) και το σύνολο αντιστοιχίσεων που δίνεται από τις Εξισώσεις (185)-(189).

Με βάση τη διαδικασία μετατροπής της βάσης σημασιολογικών δεδομένων σε βάση γνώσης, θα υπολογιστεί ένα ABox 𝒜 στο οποίο θα προστεθούν όλοι οι ισχυρισμοί που προκύπτουν αν εφαρμοστούν οι αντιστοιχίσεις m1, m2,...,m5 από τα αριστερά προς τα δεξιά· δηλαδή για κάθε απάντηση των ερωτημάτων SQL θα προστεθεί στο 𝒜 ο αντίστοιχος ισχυρισμός.

Συγκεκριμένα, ακολουθώντας τον ισχυρισμό m1, ξεκινούμε από την εύρεση της απάντησης στο αντίστοιχο ερώτημα SQL. Δεν είναι δύσκολο να δούμε ότι αν

q1(x): SELECT DIRECTORS.KnownAs
FROM DIRECTORS,


τότε έχουμε

ans(q1)={WoodyAllen, AlfredHitchcock, AkiraKurosawa, TheoAngelopoulos}.

Επομένως, με βάση την αντιστοίχιση m1, στο αρχικά κενό ABox 𝒜 θα προστεθούν οι εξής ισχυρισμοί:

α1. Director(woodyAllen),
α2. Director(alfredHitchcock),
α3. Director(akiraKurosawa),
α4. Director(theoAngelopoulos).  (191)

Αντίστοιχα, με εφαρμογή της αντιστοίχισης m2 θα προστεθούν στο ABox 𝒜 οι εξής ισχυρισμοί:

α5. Movie(manhattanMurderMystery1993),
α6. Movie(what′sNewPussycat1965),
α7. Movie(psycho1960),
α8. Movie(miaAioniotitaKaiMiaMera1998).  (192)

Με βάση την αντιστοίχιση m3, θα προστεθούν οι ισχυρισμοί

α9. isDirector(woodyAllen, manhattanMurderMystery1993),
α10. isDirector(alfredHitchcock, psycho1960),
α11. isDirector(theoAngelopoulos, miaAioniotitaKaiMiaMera1998).  (193)

Με βάση την αντιστοίχιση m4, θα προστεθεί μόνο ο ισχυρισμός

α12. DirectorOfComedy(woodyAllen),  (194)

αφού ο Woody Allen είναι η μόνη απάντηση στο ερώτημα SQL

q4(x): SELECT DIRECTORS.KnownAs
FROM DIRECTORS, MOVIES, DIRECTORS-OF
WHERE DIRECTORS.DirID = DIRECTORS-OF.DirID
MOVIES.MovID = DIRECTORS-OF.MovID
MOVIES.Genre=``Comedy",

δεδομένου ότι η ταινία Manhattan Murder Mystery είναι η μοναδική που περιγράφεται στη δομή DIRECTOR- OF (πρώτη γραμμή) και είναι τύπου Comedy με βάση την πληροφορία που καταγράφεται στην πρώτη γραμμή της δομής MOVIES.

Τέλος, με βάση την αντιστοίχιση m5 δεν είναι δύσκολο να δούμε ότι ο μοναδικός ισχυρισμός που προστίθεται στο 𝒜 είναι ο

α13. hasAward(miaAioniotitaKaiMiaMera1998, cannesFilmFestival-PalmeD′Or).  (195)

Συνεπώς, η βάση γνώσης στην οποία μετασχηματίζεται η βάση σημασιολογικών δεδομένων 𝒮 είναι η

𝒦 = <𝒯, 𝒜 > ,

όπου 𝒯 είναι το TBox της 𝒮 και 𝒜 το εξής ABox:

{α1, ..., α13}.

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

Η δεύτερη στρατηγική επίλυσης του προβλήματος της απάντησης ερωτημάτων στηρίζεται στη μετατροπή του συζευκτικού ερωτήματος που διατυπώνεται σε όρους της οντολογίας σε ένα ερώτημα SQL που διατυπώνεται σε όρους του σχήματος της βάσης δεδομένων. Συγκεκριμένα, με βάση τις αντιστοιχίσεις που ορίζονται στο σώμα , ελέγχεται αν κάθε ατομικό ερώτημα του συζευκτικού ερωτήματος q αποτελεί το δεξί μέρος κάποιων στοιχείων του . Αν αυτό ισχύει, τότε το αντίστοιχο ερώτημα SQL μετασχηματίζεται, έτσι ώστε το SELECT μέρος του να επιστρέφει τα προσδιοριστικά των αντικειμένων των αντίστοιχων μεταβλητών που εμπλέκονται στις δομές της βάσης δεδομένων. Επιπλέον, από τα SELECT διαγράφονται όλα τα πεδία που χρησιμοποιούνται για την ονοματοδοσία των ατόμων. Για να σχηματίσουμε το τελικό ερώτημα SQL από τα επιμέρους ερωτήματα SQL, ενώνουμε τις εκφράσεις FROM και WHERE τους, προσθέτοντας αν απαιτείται στο WHERE συνθήκες για τη σύνδεση, αν η ίδια μεταβλητή ανήκει σε δύο διαφορετικά ατομικά ερωτήματα.

Παράδειγμα (44): Δίνεται η βάση σημασιολογικών δεδομένων 𝒮 = <𝒯, ℬ, ℳ> του Παραδείγματος (42). Θα δούμε με ποιον τρόπο μπορούμε να εφαρμόσουμε τη διαδικασία μετατροπής συζευκτικών ερωτημάτων που διατυπώνονται σε όρους του TBox 𝒯, σε ερωτήματα SQL προς τη βάση δεδομένων , για να ανακτήσουμε δεδομένα από την 𝒮.

Έστω το συζευκτικό ερώτημα

q(x)={Movie(x),hasAward(x, y)}.  (196)

Το ερώτημα αυτό εμπλέκει δύο μεταβλητές, τη μεταβλητή απάντησης x, στην οποία θα συγκεντρωθούν τα αντικείμενα που επιστρέφονται από το σύστημα (στη συγκεκριμένη περίπτωση οι ταινίες) και την ελεύθερη μεταβλητή y που χρησιμοποιείται μόνο για την περιγραφή μιας ιδιότητας που πρέπει να έχουν τα αντικείμενα που θα αποτελέσουν απάντηση στο ερώτημα (στη συγκεκριμένη περίπτωση να έχουν κάποιο βραβείο).

Στόχος της διαδικασίας είναι η μετατροπή του ερωτήματος (196) σε ένα ερώτημα SQL που θα θέσουμε στη βάση δεδομένων. Παρατηρούμε ότι το (196) χρησιμοποιεί δύο ατομικά ερωτήματα: το ερώτημα

q1(x)={Movie(x)}

και το ερώτημα

q2(x)={hasAward(x, y)}, 

τα οποία αντιστοιχίζονται με ερωτήματα SQL της βάσης μέσω των αντιστοιχίσεων m2 και m5, αντίστοιχα, που χρησιμοποιούν τα εξής ερωτήματα SQL:

q1: SELECT MOVIES.Title, MOVIES.Year
FROM MOVIES

και

q2: SELECT MOVIES.Title, AWARDS.Type, AWARDS.Category
FROM MOVIES, AWARDS, AWARDED-WITH
WHERE MOVIES.MovID = AWARDED-WITH.MovID
AWARD.AwID = AWARDED-WITH.AwID
AWARD.Type=``Win".

Η διαδικασία θα προχωρήσει ως εξής. Αρχικά, τροποποιούμε τα q1 και q2, ώστε να είναι συμβατά με τα ερωτήματα q1 και q2. Παρατηρούμε ότι στους ορισμούς των αντιστοιχίσεων, το μέρος SELECT των ερωτημάτων SQL επιστρέφει τα πεδία που απαιτούνται για την ονοματοδοσία των ατόμων. Στην περίπτωση αυτή, τα ερωτήματα πρέπει να επιστρέφουν τα στοιχεία που απαιτούνται για να απαντηθεί το ερώτημα. Αφού η μεταβλητή απάντησης είναι η x, πρέπει να επιστραφούν ταυτοποιητές για τα αντικείμενα που καταχωρούνται στη δομή MOVIES. Έστω ότι επιθυμούμε να επιστρέψουμε το πεδίο MovID για το κάθε στοιχείο της δομής MOVIES της βάσης δεδομένων, θεωρώντας ότι το πεδίο αυτό είναι ο ταυτοποιητής για τη συγκεκριμένη δομή. Στην περίπτωση αυτή, τα πεδία MOVIES.Title, MOVIES.Year του ερωτήματος q1 δεν είναι απαραίτητα και επομένως μπορούμε να τα παραλείψουμε, αφού χρησιμοποιούνται για την ταυτοποίηση του ατόμου. Αντιθέτως, πρέπει να προσθέσουμε το πεδίο MovID που είναι πρωτεύον κλειδί της συγκεκριμένης δομής.

Επιπλέον, μπορούμε να παραλείψουμε τα πεδία AWARDS.Type και AWARDS.Category, διότι χρησιμοποιούνται μόνο για την ταυτοποίηση των ατόμων της δομής AWARDS. Στην περίπτωση αυτή δεν προσθέτουμε τον ταυτοποιητή της δομής, διότι το y, στο οποίο αναφέρεται δεν είναι μεταβλητή απάντησης.

Συνεπώς, το μέρος SELECT του τελικού ερωτήματος SQL θα περιέχει μόνο το πεδίο MovID της δομής MOVIES.

Τέλος, παρατηρούμε ότι η μεταβλητή x υπάρχει και στα δύο ερωτήματα q1 και q2, και για τον λόγο αυτό θα αποτελέσει το συνδετικό στοιχείο των ερωτημάτων q1 και q2. Αν, λοιπόν, δεν υπάρχει αντίστοιχη συνθήκη σύνδεσης στο μέρος WHERE των ερωτημάτων, θα πρέπει να προστεθεί (στη συγκεκριμένη περίπτωση υπάρχει). Επομένως, το τελικό ερώτημα γίνεται:

q: SELECT MOVIES.MovID
FROM MOVIES, AWARDS, AWARDED-WITH
WHERE MOVIES.MovID = AWARDED-WITH.MovID
AWARD.AwID = AWARDED-WITH.AwID
AWARD.Type=``Win"

Αυτό είναι το ερώτημα που πρέπει να εκτελεστεί στη βάση δεδομένων για να μπορέσουμε να ανακτήσουμε τις απαντήσεις που σημασιολογικά ταιριάζουν με το συζευκτικό ερώτημα q.

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

Οι δύο διαδικασίες μετατροπής που περιγράφηκαν παραπάνω, τόσο αυτή της μετατροπής της βάσης σημασιολογικών δεδομένων σε βάση γνώσης όσο και αυτή της μετατροπής του συζευκτικού ερωτήματος σε ερώτημα SQL, δεν δίνουν ολοκληρωμένη, ορθή και πλήρη λύση στο πρόβλημα της ανάκτησης σημασιολογικών δεδομένων, αν περιοριστούμε στην απλή ανάκτηση των στιγμιοτύπων των ατομικών ερωτημάτων (στην πρώτη περίπτωση) ή στην απλή απάντηση του ερωτήματος SQL (στη δεύτερη περίπτωση). Κι αυτό, διότι δεν λαμβάνεται υπόψη η πληροφορία των αξιωμάτων του TBox, τα οποία επεκτείνουν την ορολογία και αναπαριστούν επιπλέον γνώση για το πεδίο, ρητή, αλλά και υπονοούμενη.

Παράδειγμα (45): Δίνεται η γνώση 𝒮 = <𝒯, ℬ, ℳ> του Παραδείγματος (42) και ζητούμε την απάντηση στο συζευκτικό ερώτημα

q(x)={Creator(x)}.

Παρατηρούμε ότι στην περίπτωση αυτή, όποια από τις δύο μεθόδους μετασχηματισμού και να ακολουθήσουμε, κανένα αντικείμενο δεν θα αποτελέσει απάντηση στο ερώτημα. Πράγματι, αν παρατηρήσουμε το ABox 𝒜 του Παραδείγματος (43), βλέπουμε ότι δεν υπάρχει ορισμένο στιγμιότυπο της έννοιας Creator. Συνεπώς, το σύνολο απαντήσεων θα είναι κενό. Αυτό είναι λογικό, αφού η συγκεκριμένη έννοια δεν περιλαμβάνεται στις αντιστοιχίσεις, και επομένως δεν είναι δυνατό να δημιουργηθούν στιγμιότυπά της στο ABox.

Παρόμοια, στην περίπτωση της μετατροπής του ερωτήματος SQL, εφόσον δεν υπάρχει αντιστοίχιση για την έννοια Creator, το ερώτημα SQL στο οποίο θα μετασχηματίσουμε το q θα είναι κενό. Επομένως, δεν θα ανακτήσουμε δεδομένα.

Από την άλλη πλευρά, το αξίωμα

Director ⊑ Creator

ουσιαστικά δηλώνει ότι όλα τα στιγμιότυπα της έννοιας Director είναι και στιγμιότυπα της έννοιας Creator. Επομένως, όλες οι απαντήσεις στο ερώτημα

q′(x)={Director(x)}

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

Από το Παράδειγμα (45) γίνεται σαφές ότι είναι απαραίτητο να τροποποιηθεί ο ορισμός της απάντησης σε ένα ερώτημα, ώστε να καλύπτει και την περίπτωση της υπονοούμενης γνώσης του TBox.

Ορισμός (40): Έστω 𝒦 = <𝒯, 𝒜> μια βάση γνώσης και q(x; y) ένα συζευκτικό ερώτημα για την συγκεκριμένη βάση γνώσης, όπου x (διάστασης n) οι μεταβλητές απάντησης και y οι ελεύθερες μεταβλητές του, αντίστοιχα. Έστω επίσης μια ερμηνεία της βάσης γνώσης 𝒦. Θα καλούμε απάντηση (answer) q του συζευκτικού ερωτήματος q στην το σύνολο των διανυσμάτων ατόμων a (της 𝒦), διάστασης n, για τα οποία ισχύει ότι ℐ ⊨ q(a; y), δηλαδή όλα τα ατομικά ερωτήματα του q(a; y) είναι αληθή στην .

Ένα διάνυσμα ατόμων c διάστασης n θα καλείται βέβαιη απάντηση (certain answer) του q στην 𝒦, αν και μόνο αν για κάθε μοντέλο της 𝒦 ισχύει ότι c ∈ q. Το σύνολο των βέβαιων απαντήσεων του συζευκτικού ερωτήματος q συμβολίζεται με cert(q).

Με βάση τον Ορισμό (40), στο Παράδειγμα (45) όλα τα στιγμιότυπα της έννοιας Director είναι βέβαιες απαντήσεις του ερωτήματος q(x), διότι με βάση το αξίωμα Director ⊑ Creator, αν a είναι ένα στιγμιότυπο της έννοιας Director, τότε το a θα είναι και στιγμιότυπο της έννοιας Creator, επομένως για κάθε μοντέλο της γνώσης θα ισχύει ότι ℐ ⊨ Creator(a) και συνεπώς ℐ ⊨ q(a).

Από τα παραπάνω, βλέπουμε ότι για την επίλυση του προβλήματος της απάντησης ερωτημάτων με διαισθητικά ορθό τρόπο, είναι απαραίτητο να βρούμε το σύνολο των βέβαιων απαντήσεων του ερωτήματος q στη γνώση 𝒦, δηλαδή όχι μόνο των απαντήσεων που υπολογίζονται άμεσα από το ABox, αλλά και των απαντήσεων που υπολογίζονται και από όλους τους ισχυρισμούς που είναι συμπεράσματα του ABox, με βάση τα αξιώματα του TBox. Φυσικά, η εύρεση όλων αυτών των ισχυρισμών είναι ένα πρόβλημα συλλογιστικής, η επίλυση του οποίου γίνεται με δύο μεθόδους.

Η πρώτη μέθοδος είναι ανεξάρτητη του ερωτήματος και πραγματοποιείται ως προεπεξεργασία των δεδομένων. Συγκεκριμένα, επεκτείνει το σύνολο δεδομένων με βάση το TBox, καταγράφοντας ρητά όλη την υπονοούμενη γνώση που αφορά τα δεδομένα. Έτσι, κατά την εκτέλεση του ερωτήματος δεν είναι πια απαραίτητο να αναφερόμαστε στο TBox, διότι η συνεισφορά του έχει ήδη καταγραφεί με την επέκταση της βάσης δεδομένων.

Η βασική ιδέα της δεύτερης μεθόδου είναι να μην τροποποιηθούν τα δεδομένα. Συγκεκριμένα, η μέθοδος ξεκινά από το ερώτημα και το επεκτείνει με βάση το TBox, προσπαθώντας να καταγράψει σε αυτό όλη την υπονοούμενη γνώση που σχετίζεται με τα ατομικά ερωτήματα που το απαρτίζουν. Στη συνέχεια, το ερώτημα εκτελείται στη βάση δεδομένων, ανάλογα με τη μορφή της, όπως αναλύθηκε προηγουμένως.

Υλοποίηση υπονοούμενης γνώσης

Τα αξιώματα του TBox μπορούν να προσθέσουν πληροφορίες που αφορούν την περιγραφή των ατόμων ενός ABox. Επιπλέον, μέσω της διαδικασίας αυτής ενδέχεται να προστεθούν (για την περιγραφή των υπαρχόντων ατόμων) νέα άτομα, που δεν αντιστοιχούν απαραίτητα σε διαφορετικά αντικείμενα. Έτσι, λοιπόν, η συνεισφορά του TBox μπορεί να καθοριστεί μέσω της επέκτασης του ABox, δηλαδή μέσω της εύρεσης και καταγραφής όλων αυτών των ισχυρισμών. Για να είναι αποτελεσματική η διαδικασία αυτή, είναι απαραίτητο να διασφαλίζει τη μετατροπή όλης της υπονοούμενης γνώσης που αφορά τους ισχυρισμούς σε ρητή γνώση. Στην περίπτωση αυτή, το TBox δεν είναι πλέον απαραίτητο για τον καθορισμό των βέβαιων απαντήσεων και η διαδικασία, για κάθε ερώτημα, μπορεί να ολοκληρωθεί με την απλή ανάκτηση των ατόμων από το ABox. Η τεχνική αυτή ονομάζεται υλοποίηση (materialisation) και στην πράξη αποδεικνύεται πολύ αποτελεσματική σε ορισμένες περιγραφικές λογικές, αλλά αδύνατο να εφαρμοστεί σε άλλες. Γενικά, θα λέγαμε ότι η μέθοδος της υλοποίησης είναι παρόμοια σε λογική με τον αλγόριθμο tableau, εφαρμόζει, δηλαδή, ένα σύνολο από κανόνες που αντιστοιχούν στα αξιώματα. Οι κανόνες αυτοί, ανάλογα με τις εκφράσεις των αξιωμάτων, προσθέτουν ισχυρισμούς για τα άτομα του ABox, αν όμως χρειαστεί, προσθέτουν και νέα άτομα στο ABox. Στο ακόλουθο παράδειγμα παρουσιάζεται η λογική της μεθόδου.

Παράδειγμα (46): Βασιζόμενοι στο Παράδειγμα (45) θα θεωρήσουμε τη βάση σημασιολογικών δεδομένων 𝒮 = <𝒯, ℬ, ℳ>, όπου όμως στην περίπτωση αυτή, για λόγους απλότητας, θα θεωρήσουμε ότι το TBox 𝒯 περιέχει μόνο το αξίωμα

τ1. Director ⊑ Creator  (197)

και το σύνολο αντιστοιχίσεων μόνο την αντιστοίχιση

m1: SELECT DIRECTORS.KnownAs
FROM DIRECTORS
Director(dir(x)).
Ζητάμε την απάντηση στο ερώτημα

q(x)={Creator(x)}

Για να επιλύσουμε το πρόβλημα, αρχικά θα υπολογίσουμε, με βάση τα παραπάνω, το ABox 𝒜 στο οποίο θα μετασχηματίζουμε τη βάση σημασιολογικών δεδομένων, το οποίο δεν είναι δύσκολο να δούμε ότι είναι το 𝒜 = {α1, α2, α3, α4}, όπου

α1. Director(woodyAllen),
α2. Director(alfredHitchcock),
α3. Director(akiraKurosawa),
α4. Director(theoAngelopoulos).  (198)

Στη συνέχεια θα επεκτείνουμε το ABox 𝒜, με βάση τα αξιώματα του TBox 𝒯, δηλαδή με βάση το αξίωμα τ1, προσθέτοντας τα αξιώματα

α5. Creator(woodyAllen),
α6. Creator(alfredHitchcock),
α7. Creator(akiraKurosawa),
α8. Creator(theoAngelopoulos)  (199)

ως αποτέλεσμα της εφαρμογής του αξιώματος τ1, στους ισχυρισμούς α1, α2, α3 και α4. Με βάση τα παραπάνω, οι βέβαιες απαντήσεις στη νέα γνώση 𝒦 = <𝒯, 𝒜′>, όπου 𝒜′={α1, ..., α8} είναι οι εξής:

cert(q)={woodyAllen, alfredHitchcock, akiraKurosawa, theoAngelopoulos}

Έστω τώρα ότι προσθέτουμε στο TBox τα αξιώματα

τ2. Director ⊑ ∃isDirector.Movie
τ3. Movie ⊑ ∃hasDirector.Director  (200)

και επιθυμούμε να απαντήσουμε στο ίδιο ερώτημα q(x). Δεν είναι δύσκολο να δούμε ότι το αρχικό ABox είναι το ίδιο όπως προηγουμένως. Αν όμως προσπαθήσουμε να το επεκτείνουμε, εκτός από την προσθήκη των επιπλέον ισχυρισμών α5, α6, α7 και α8, η οποία θα ολοκληρωθεί όπως και προηγουμένως, θα αντιμετωπίσουμε το εξής πρόβλημα: Κατά την εκτέλεση των κανόνων θα εφαρμοστεί το αξίωμα τ2 στο άτομο woodyAllen, το οποίο με βάση τον ισχυρισμό α1 είναι στιγμιότυπο της έννοιας Director, οπότε στη γνώση θα προστεθεί ένα νέο άτομο, έστω mov1, το οποίο θα είναι στιγμιότυπο της έννοιας Movie και θα συνδέεται με το άτομο woodyAllen μέσω του ρόλου isDirector. Δηλαδή, θα προστεθούν οι εξής ισχυρισμοί:

α9. Movie(mov1)
α10. isDirector(woodyAllen, mov1).
Στη συνέχεια, μπορεί να εφαρμοστεί το αξίωμα τ3 στο άτομο mov1, το οποίο είναι τύπου Movie. Επομένως, με παρόμοιο τρόπο όπως και προηγουμένως, θα προστεθούν οι εξής ισχυρισμοί:

α11. Director(dir1)
α12. hasDirector(mov1, dir1).
Στο σημείο αυτό πρέπει να σημειώσουμε ότι κατά την εφαρμογή των αξιωμάτων δεν μπορούμε να συνδέσουμε τα νέα άτομα με υπάρχοντα άτομα, διότι με τον τρόπο αυτό ενδέχεται να περιορίσουμε τα μοντέλα της γνώσης (γιατί;).

Μετά τους νέους ισχυρισμούς που προστέθηκαν, εφαρμόζεται το αξίωμα τ2 στο νέο άτομο dir1, οπότε προστίθεται ένα νέο άτομο mov2, για το οποίο στη συνέχεια εφαρμόζεται, όπως και προηγουμένως, το αξίωμα τ3 με αποτέλεσμα να εισαχθεί ένα νέο άτομο dir2, κοκ. Συνεπώς, η διαδικασία δεν θα τερματίσει.

Τα Παράδειγμα (46) φέρνει καλά και κακά νέα. Τα καλά νέα είναι ότι η διαχείριση των απλών αξιωμάτων δεν φαίνεται να είναι δύσκολη, άρα σε περιγραφικές λογικές σχετικά περιορισμένης εκφραστικότητας η διαδικασία που περιγράφηκε μπορεί να χρησιμοποιηθεί στην πράξη για την ανάπτυξη ρεαλιστικών συστημάτων ανάκτησης σημασιολογικών δεδομένων. Ένα επιπλέον στοιχείο προς την κατεύθυνση αυτή είναι ότι η διαδικασία υλοποίησης ολοκληρώνεται ως προεπεξεργασία της γνώσης, δεν είναι, δηλαδή, απαραίτητο κάποιο μέρος της να πραγματοποιηθεί μετά την υποβολή του συζευκτικού ερωτήματος. Το πρόβλημα, βέβαια, στην περίπτωση αυτή είναι το μέγεθος του τελικού ABox, το οποίο αποδεικνύεται θεωρητικά ότι μπορεί να γίνει εκθετικά μεγαλύτερο από το αρχικό (εξαρτάται από το TBox).

Τα κακά νέα έρχονται όμως με το δεύτερο μέρος του Παραδείγματος (46) και είναι σημαντικά. Η συγκεκριμένη τεχνική δεν μπορεί να εφαρμοστεί με επιτυχία σε εκφραστικές περιγραφικές λογικές, διότι δεν τερματίζει πάντα. Το πρόβλημα του τερματισμού που παρουσιάζεται είναι παρόμοιο με αυτό που προκύπτει σε κυκλικές γνώσεις στην περίπτωση των αλγορίθμων tableau. Στην περίπτωση εκείνη αντιμετωπίστηκε με επιτυχία με την τεχνική του μπλοκαρίσματος, διότι δεν ήταν απαραίτητο να βρεθεί κάποιο μοντέλο, αλλά απλά να αποδειχθεί ότι υπάρχει. Εδώ, όμως, η τεχνική αυτή δεν είναι πάντα αποτελεσματική, διότι είναι απαραίτητη η καταγραφή όλης της υπονοούμενης γνώσης, αφού δεν γνωρίζουμε το ερώτημα που θα υποβληθεί. Επιπλέον, πρόβλημα υπάρχει και με άλλα στοιχεία εκφραστικότητας όπως αυτό της διάζευξης, το οποίο οδηγεί σε εναλλακτικά ABox. Στην περίπτωση της υλοποίησης, είναι δύσκολο να διαχειριστούμε εκφραστικά στοιχεία αυτού του τύπου.

Για τους παραπάνω λόγους, η τεχνική της υλοποίησης των ισχυρισμών που υπονοούνται από το TBox εφαρμόζεται με μεγαλύτερη επιτυχία σε περιγραφικές λογικές που δεν επιτρέπουν την αναπαράσταση διαζευκτικής γνώσης και γνώσης που δεν απαιτεί αναφορές σε νέα άτομα (όπως για παράδειγμα αξιώματα υπαγωγής με υπαρξιακούς τελεστές στο δεξί μέρος, όπως αυτά που είδαμε στο Παράδειγμα (46) ή αξιώματα υπαγωγής με διαζεύξεις στο δεξί μέρος). Γλώσσες αυτού του τύπου, η εκφραστικότητα των οποίων επιτρέπει τη διατύπωση μόνο οριστικής γνώσης (definite knowledge), έχουν μελετηθεί εκτενώς στο πλαίσιο της λογικής πρώτης τάξης και αναφέρονται ως λογική Horn (Horn logic), προς τιμήν του ερευνητή που τις μελέτησε πρώτος. Αντίστοιχα, οι περιγραφικές λογικές που έχουν παρόμοια χαρακτηριστικά, αναφέρονται και ως περιγραφικές λογικές τύπου Horn (Horn Description Logics) και παίζουν σημαντικό ρόλο στην ανάπτυξη ρεαλιστικών συστημάτων ανάκτησης σημασιολογικών δεδομένων.

Επαναγραφή ερωτημάτων

Τα αξιώματα ενός TBox μπορούν να επηρεάσουν την απάντηση ενός συζευκτικού ερωτήματος, αν κατά κάποιο τρόπο σχετίζονται με αυτό. Αφού το συζευκτικό ερώτημα είναι ένα σύνολο από ατομικά ερωτήματα, για να σχετίζεται ένα αξίωμα με αυτό θα πρέπει να εμπλέκει κάποια ατομική έννοια ή ατομικό ρόλο που αναφέρεται στο συζευκτικό ερώτημα. Αν μπορέσουμε κατά κάποιο τρόπο να κωδικοποιήσουμε τον τρόπο με τον οποίο τα σχετιζόμενα αξιώματα επηρεάζουν ή επεκτείνουν την απάντηση των ατομικών ερωτημάτων, τότε θα μπορούσαμε να αγνοήσουμε στη συνέχεια το TBox. Η βασική ιδέα με την οποία γίνεται αυτή η κωδικοποίηση παρουσιάζεται στο επόμενο παράδειγμα.

Παράδειγμα (47): Έστω το TBox 𝒯 που περιέχει μόνο ένα αξίωμα, το

τ. Director ⊑ Creator,   (201)

και ζητάμε την απάντηση στο ερώτημα

q(x)={Creator(x)}.

Παρατηρούμε ότι η μόνη έννοια που εμπλέκεται στο q είναι η Creator, η οποία εμπλέκεται και στο αξίωμα τ. Στην περίπτωση αυτή, λοιπόν, θέλουμε να κωδικοποιήσουμε τον τρόπο με τον οποίο το αξίωμα τ επηρεάζει το ερώτημα q.

Η ερμηνεία του αξιώματος τ είναι ότι όλα τα στιγμιότυπα της έννοιας Director είναι και στιγμιότυπα της έννοιας Creator. Επομένως, όλα τα αντικείμενα τα οποία είναι τύπου Director, έστω και αν δεν είναι ρητά δηλωμένο ότι είναι τύπου Creator, θα πρέπει να αποτελέσουν απάντηση του q. Αν διατυπώσουμε ένα ακόμα ερώτημα, το

q′(x)={Director(x)}, 

και θεωρήσουμε ως απάντηση στο q όσες απαντήσεις παίρνουμε από το q, αλλά και όσες απαντήσεις παίρνουμε από το q, δηλαδή τις απαντήσεις στο σύνολο ερωτημάτων

Q = {q, q′}, 

τότε δεν θα είναι πια απαραίτητο το αξίωμα τ κατά τη διαδικασία της απάντησης του ερωτήματος.

Στο Παράδειγμα (47) σκιαγραφείται μια διαδικασία επέκτασης του αρχικού συζευκτικού ερωτήματος, έτσι ώστε να κωδικοποιείται όλη η σχετική πληροφορία του TBox. Αν την παρατηρήσουμε προσεκτικά, θα διαπιστώσουμε ότι η διαδικασία αυτή στηρίζεται στον σχηματισμό των επιπλέον ερωτημάτων που προκύπτουν από την αντικατάσταση ενός ατομικού ερωτήματος που περιέχεται στο ερώτημα, αν αυτό εμφανίζεται ως δεξί μέρος σε κάποιο αξίωμα.

Για να απλοποιηθεί η περιγραφή της διαδικασίας, αρχικά γράφουμε όλα τα αξιώματα του TBox σε μορφή λογικής πρώτης τάξης, όπως είδαμε στο Κεφάλαιο 2, και στη συνέχεια στη μορφή

c(x)←a1(y1),a2(y2),...,an(yn),

όπου c, a1,..., an ατομικές έννοιες ή ρόλοι, αντίστοιχα. Για παράδειγμα, το αξίωμα

Director ⊑ Creator

γράφεται ως εξής:

Creator(x)←Director(x).

Στη συνέχεια, γράφουμε και το συζευκτικό ερώτημα σε παρόμοια μορφή, ως εξής:

q(x)←q(x1),q(x2),...,qk(xk)

Με βάση τα παραπάνω, αν κάποιο από τα q(xi) είναι ίδιο (μέσω κάποιας αντικατάστασης μεταβλητών) με κάποιο c κάποιου αξιώματος, το αντικαθιστούμε με τα αντίστοιχα a1(y1), a2(y2),..., an(yn). Με την αντικατάσταση αυτή προκύπτει ένα νέο ερώτημα, το οποίο προσθέτουμε στο σύνολο των ερωτημάτων που θα απαντηθούν, και συνεχίζουμε με την αντικατάσταση άλλων ατομικών ερωτημάτων του αρχικού ερωτήματος, αλλά και όσων ερωτημάτων προστίθενται στο σύνολο. Όταν η διαδικασία τερματίσει, το σύνολο θα περιέχει όλα τα ερωτήματα που χρειάζονται.

Είναι σημαντικό να τονίσουμε ότι στο σημείο αυτό παρουσιάζεται μόνο η κεντρική ιδέα της διαδικασίας που ακολουθείται. Στην πραγματικότητα η διαδικασία είναι αρκετά πιο περίπλοκη και παρουσιάζει τεχνικές δυσκολίες που προκύπτουν από το είδος των λογικών τελεστών που χρησιμοποιούνται στα αξιώματα, τον τρόπο με τον οποίο οργανώνονται οι ενοποιήσεις των μεταβλητών κλπ. Σε γενικές γραμμές, σχετίζεται με τον αλγόριθμο της ανάλυσης που χρησιμοποιείται για τη συλλογιστική στη λογική πρώτης τάξης και παρουσιάζεται στο Κεφάλαιο 1. Η διαδικασία καλείται επαναγραφή ερωτήματος (query rewriting) και το σύνολο Q των ερωτημάτων που παράγεται ονομάζεται ένωση συζευκτικών ερωτημάτων (union of conjunctive queries).

Παράδειγμα (48): Έστω το TBox 𝒯 = {τ1, τ2} με

τ1. isDirector ⊑ isCreator,
τ2. Movie ⊑ Film
και έστω ότι ζητάμε την απάντηση στο συζευκτικό ερώτημα

q(x)={isCreator(x, y),Film(y)}.

Για το σκοπό αυτό, ξεκινάμε γράφοντας το TBox σε μορφή κανόνων λογικής πρώτης τάξης, ως εξής:

τ1. isCreator(x, y)←isDirector(x, y),
τ2. Film(x)←Movie(x).
Γράφουμε και το ερώτημα q σε αντίστοιχη μορφή:

q1. q(x)←isCreator(x, y)∧Film(y),
ονομάζοντας q1 το αρχικό συζευκτικό ερώτημα.

Στη συνέχεια, εφαρμόζουμε τους κανόνες αντικατάστασης των ατομικών ερωτημάτων με βάση τα αξιώματα του TBox. Αρχικά, παρατηρούμε ότι στο q1 μπορούν να γίνουν δύο αντικαταστάσεις, αυτή του ατομικού ερωτήματος isCreator(x, y) με χρήση του αξιώματος τ1, αλλά και αυτή του ερωτήματος Film(y) με χρήση του αξιώματος τ2. Από τις αντικαταστάσεις αυτές παίρνουμε τα ερωτήματα q2 και q3, όπου

q2. q(x)←isCreator(x, y)∧Movie(y),
q3. q(x)←isDirector(x, y)∧Film(y),
όπως φαίνεται και στο Σχήμα (4). Συνεπώς, η ένωση συζευκτικών ερωτημάτων που προκύπτει είναι η εξής:

Q = {q1, q2, q3}

Στο σημείο αυτό παρατηρούμε ότι μπορούν να γίνουν επιπλέον αντικαταστάσεις, τόσο στο ερώτημα q2, με χρήση του αξιώματος τ1, όσο και στο ερώτημα q3, με χρήση του αξιώματος τ2. Και στις δύο περιπτώσεις, το ερώτημα που παίρνουμε είναι το

q4. q(x)←isDirector(x, y)∧Movie(y),
δηλαδή η ένωση συζευκτικών ερωτημάτων λαμβάνει την εξής μορφή:

Q = {q1, q2, q3, q4}

Δεν είναι δύσκολο να δούμε ότι πλέον δεν μπορούν να εφαρμοστούν άλλες αντικαταστάσεις, οπότε η διαδικασία ολοκληρώνεται, καταλήγοντας σε τέσσερα ερωτήματα που πρέπει να εκτελεστούν για να απαντηθεί το αρχικό ερώτημα q, αν λάβουμε υπόψη το TBox 𝒯.

Παρότι το Παράδειγμα (48) είναι σχετικά απλό δείχνει κάποιες από τις δυσκολίες που αντιμετωπίζονται κατά τη διαδικασία της επαναγραφής. Καταρχήν παρατηρούμε ότι ο αριθμός των ερωτημάτων που περιέχονται στην ένωση συζευκτικών ερωτημάτων ενδέχεται να είναι μεγάλος, αφού είναι απαραίτητο να γίνουν όλοι οι συνδυασμοί αντικαταστάσεων. Στην περίπτωση του Παραδείγματος (48), με δύο αξιώματα και δύο ατομικά ερωτήματα στο αρχικό συζευκτικό ερώτημα, η ένωση συζευκτικών ερωτημάτων αποτελείται τελικά από τέσσερα συζευκτικά ερωτήματα. Γενικά, αποδεικνύεται ότι το μέγεθος της ένωσης ενδέχεται να είναι εκθετικά μεγαλύτερο από το μέγεθος του αρχικού ερωτήματος και του TBox.

Επιπλέον, κάποια από τα συζευκτικά ερωτήματα που προκύπτουν ενδέχεται να υπολογιστούν πολλές φορές, όπως φαίνεται με τον υπολογισμό του q4, το οποίο υπολογίζεται τόσο από το ερώτημα q2 με χρήση του αξιώματος τ1, όσο και από το ερώτημα q3 με χρήση του αξιώματος τ2. Αυτό σημαίνει ότι οι υπολογισμοί που γίνονται μπορεί, πρακτικά, να είναι ακόμα περισσότεροι από το τελικό μέγεθος της ένωσης των συζευκτικών ερωτημάτων. Δηλαδή, ενδέχεται να γίνονται αρκετοί επανυπολογισμοί, που δεν είναι εύκολο να αποφευχθούν, με συνέπειες για την αποδοτικότητα της μεθόδου.

Τέλος, υπάρχουν αρκετές λεπτομέρειες που ανακύπτουν κατά την εφαρμογή της μεθόδου σε πιο περίπλοκα αξιώματα, η ανάλυση των οποίων, η οποία προϋποθέτει λεπτομερή περιγραφή του αλγορίθμου, ξεφεύγει από το στόχο του παρόντος συγγράμματος. Γενικά, οι αλγόριθμοι επαναγραφής έχουν αποδειχθεί πολύ αποτελεσματικοί στην πράξη, διότι το μέγεθος του συζευκτικού ερωτήματος, αλλά και των σχετικών αξιωμάτων είναι συνήθως μικρό, ειδικά συγκρινόμενο με το μέγεθος της βάσης δεδομένων. Επιπλέον, έχει αποδειχθεί ότι η χρήση τους σε περιγραφικές λογικές περιορισμένης εκφραστικότητας οδηγεί σε αλγόριθμους απάντησης ερωτημάτων που είναι ορθοί και πλήρεις, αλλά και ιδιαίτερα αποτελεσματικοί. Μια τέτοια περιγραφική λογική είναι η DL-Lite, στην οποία μπορούν να διατυπωθούν αξιώματα της μορφής

C ⊑ D,

όπου το C μπορεί να είναι είτε ατομική έννοια είτε έννοια της μορφής r, και το D μπορεί να είναι ατομική έννοια, έννοια της μορφής r ή της μορφής r.D. Επιπλέον, επιτρέπεται να οριστούν ανάστροφοι ρόλοι και ιεραρχία ατομικών ρόλων.

Να σημειώσουμε ότι η γλώσσα DL-Lite παίζει σημαντικό ρόλο στην ανάπτυξη των συστημάτων ολοκλήρωσης δεδομένων, καθώς και στην ανάπτυξη συστημάτων πρόσβασης σε σημασιολογικά δεδομένα Παγκοσμίου Ιστού.

Σχήμα (4): Διαδικασία επαναγραφής συζευκτικού ερωτήματος Παραδείγματος (48).

Σχήμα (4): Διαδικασία επαναγραφής συζευκτικού ερωτήματος Παραδείγματος (48).

Βιβλιογραφικές σημειώσεις

Βιβλιογραφία

[1] S. Abiteboul I. Manolescu, M.-C. Rousset and P. Senellart Web Data Management. Cambridge University Press 2011.

[2] S. Abiteboul, R. Hull, and V. Vianu. Foundations of Databases. Addison-Wesley, 1995.

[3] H. Garcia-Molina, J. D. Ullman, and J. Widom. Database systems - the complete book (2. ed.). Pearson Education, 2009.

[4] A. Poggi, D. Lembo, D. Calvanese, G. De Giacomo, Maurizio Lenzerini, and Riccardo Rosati. Linking data to ontologies. J. Data Semantics, 10:133–173, 2008.

[5] D. Calvanese, G. De Giacomo, D. Lembo, M. Lenzerini, A. Poggi, M. Rodriguez-Muro, R. Rosati, M. Ruzzi, and D. Fabio Savo. The MASTRO system for ontology-based data access. Semantic Web, 2(1):43–53, 2011.

[6] E. Jiménez-Ruiz, E. Kharlamov, D. Zheleznyakov, I. Horrocks, C. Pinkel, M. G. Skæveland, E. Thorstensen, and J. Mora. BootOX: Practical Mapping of RDBs to OWL 2. In Proc. of the 14th International Semantic Web Conference (ISWC 2015), Lecture Notes in Computer Science. Springer, 2015.

[7] R. Volz, S. Staab, and B. Motik. Incrementally maintaining materializations of ontologies stored in logic databases. J. Data Semantics, 2:1–34, 2005.

[8] B. Motik, Y. Nenov, R. Piro, I. Horrocks, and D. Olteanu. Parallel OWL 2 RL Materialisation in Centralised, Main-Memory RDF Systems. In Meghyn Bienvenu, Magdalena Ortiz, Riccardo Rosati, and Mantas Simkus, editors, Informal Proceedings of the 27th International Workshop on Description Logics, Vienna, Austria, July 17-20, 2014., volume 1193 of CEUR Workshop Proceedings, pages 311-323. CEUR-WS.org, 2014.

[9] D. Calvanese, G. De Giacomo, D. Lembo, M. Lenzerini, and R. Rosati. Tractable reasoning and efficient query answering in description logics: The DL-Lite family. J. Autom. Reasoning, 39(3):385–429, 2007.

[10] R. Rosati and A. Almatelli. Improving query answering over dl-lite ontologies. In Principles of Knowledge Representation and Reasoning: Proceedings of the Twelfth International Conference, KR 2010, Toronto, Ontario, Canada, May 9-13, 2010, 2010.

[11] H. Pérez-Urbina, B. Motik, and I. Horrocks. Tractable query answering and rewriting under description logic constraints. J. Applied Logic, 8(2):186–209, 2010.

[12] M. Rodriguez-Muro and D. Calvanese. High performance query answering over dl-lite ontologies. In Principles of Knowledge Representation and Reasoning: Proceedings of the Thirteenth International Conference, KR 2012, Rome, Italy, June 10-14, 2012, 2012.

[13] D. Trivela, G. Stoilos, A. Chortaras, and G. Stamou. Optimising resolution-based rewriting algorithms for OWL ontologies. J. Web Sem., 33:30–49, 2015.

[14] T. Eiter, M. Ortiz, Mantas Simkus, T. Tran, and G. Xiao. Query rewriting for horn-shiq plus rules. In Proceedings of the Twenty-Sixth AAAI Conference on Artificial Intelligence, July 22-26, 2012, Toronto, Ontario, Canada., 2012.

[15] C. Lutz, D. Toman, and F. Wolter. Conjunctive query answering in the description logic EL using a relational database system. In IJCAI 2009, Proceedings of the 21st International Joint Conference on Artificial Intelligence, Pasadena, California, USA, July 11-17, 2009, pages 2070–2075, 2009.

[16] U. Hustadt, B. Motik, and U. Sattler. Reasoning in description logics by a reduction to disjunctive datalog. J. Autom. Reasoning, 39(3):351–384, 2007.

[17] R.  Kontchakov, C. Lutz, D. Toman, F. Wolter, and M. Zakharyaschev. The combined approach to query answering in dl-lite. In Principles of Knowledge Representation and Reasoning: Proceedings of the Twelfth International Conference, KR 2010, Toronto, Ontario, Canada, May 9-13, 2010, 2010.

[18] G. Stefanoni, B. Motik, and I. Horrocks. Introducing nominals to the combined query answering approaches for EL. In Proceedings of the Twenty-Seventh AAAI Conference on Artificial Intelligence, July 14-18, 2013, Bellevue, Washington, USA., 2013.

[19] Y. Zhou, Bernardo C. Grau, Y. Nenov, and I. Horrocks. PAGOdA: Pay-as-you-go ABox Reasoning. In Diego Calvanese and Boris Konev, editors, Proceedings of the 28th International Workshop on Description Logics, Athens,Greece, June 7-10, 2015., volume 1350 of CEUR Workshop Proceedings. CEUR-WS.org, 2015.

[20] B. Glimm, Y. Kazakov, I. Kollia and G. Stamou Lower and Upper Bounds for SPARQL Queries over OWL Ontologies. Proceedings of the 29th AAAI Conference on Artificial Intelligence (AAAI 2015) Publisher: AAAI Press, 2015.

[21] G. Stoilos and G. Stamou Hybrid Query Answering Over OWL Ontologies. In Proceedings of the 21st European Conference on Artificial Intelligence (ECAI 2014), 2014.

Σημασιολογικά δεδομένα και Παγκόσμιος Ιστός

Πόροι, προσδιοριστικά και αναφορές

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

Τυπικά, τα στοιχεία αναφοράς στον Παγκόσμιο Ιστό ονομάζονται πόροι (resources). Οι πόροι ταυτοποιούνται μέσω ενός προσδιοριστικού (identifier), το οποίο για να είναι μοναδικό σε όλο τον Παγκόσμιο Ιστό, αλλά και να ερμηνεύεται εύκολα, είναι απαραίτητο να είναι ομοιόμορφο (uniform). Τα προσδιοριστικά που χρησιμοποιούνται για τον σκοπό αυτό ονομάζονται URI (Uniform Resource Identifier) και η τυπική σύνταξή τους καθορίζεται στην κοινότητα του Παγκοσμίου Ιστού από ένα πρωτόκολλο που αποτελεί μέρος του Internet Official Protocol Standards, που εκδίδεται από την W3C.

Όπως κάθε προσδιοριστικό, έτσι και τα URI έχουν ως σκοπό, μέσω του ονόματός τους, να ταυτοποιήσουν το αντικείμενο του κόσμου το οποίο προσδιορίζουν. Δηλαδή, να διακρίνουν τον ένα πόρο από τον άλλο, ανεξάρτητα από το είδος ή την προέλευσή του (αν, για παράδειγμα, είναι εικόνα, ηλεκτρονική διεύθυνση ή βιβλίο σε μια βιβλιοθήκη). Συνεπώς, αν σκεφτούμε πόσα διαφορετικά είδη αντικειμένων, προελεύσεις, κατηγορίες κοκ. υπάρχουν στον κόσμο, το όνομα ενός URI πρέπει να ενσωματώνει αρκετά στοιχεία διάκρισης, αυτά που είναι απαραίτητα για τον καθορισμό της ταυτότητας των στοιχείων αναφοράς.

Επιπλέον, είναι σημαντικό να μην υπάρχει διαφορετικός τρόπος και διαφορετικοί συντακτικοί κανόνες αναπαράστασης για κάθε τύπο προσδιοριστικού, αλλά να διατηρείται η ομοιομορφία. Με τον τρόπο αυτό υποστηρίζεται η ομοιόμορφη σημασιολογική ερμηνεία των προσδιοριστικών, καθώς και η απρόσκοπτη επέκταση των τύπων προσδιοριστικών (που πηγάζει από την ανάγκη για αναφορά σε νέα αντικείμενα του κόσμου), χωρίς να τροποποιούνται οι υπάρχοντες κανόνες. Τέλος, με τον τρόπο αυτό δίνεται η δυνατότητα για επαναχρησιμοποίηση των προσδιοριστικών και από άλλες εφαρμογές και υπηρεσίες, εκτός από αυτές που τα έχουν εισαγάγει.

Τυπικά, ένα URI είναι μια ακολουθία χαρακτήρων που χωρίζεται σε μέρη που καθορίζουν συγκεκριμένα χαρακτηριστικά του προσδιοριζόμενου πόρου. Τέτοια χαρακτηριστικά είναι το σχήμα (scheme), που καθορίζει τον τύπο του πόρου και, ανάλογα με τον τύπο, τους ιδιαίτερους συντακτικούς κανόνες σύνταξης του URI, η αρχή κατονομασίας (naming authority), που προσδιορίζει (ανάλογα με το σχήμα) τον υπεύθυνο απόδοσης του ονόματος με βάση την αναφορά που ακολουθεί, η διαδρομή (path), που προσδιορίζει τη συγκεκριμένη αναφορά στο πλαίσιο της συγκεκριμένης αρχής, το ερώτημα (query), που προσδιορίζει τον πόρο αναφοράς μεταξύ όλων των πόρων που βρίσκονται στην εμβέλεια της αρχής και στη συγκεκριμένη διαδρομή (ανάλογα με το σχήμα), και το απόσπασμα (fragment), που προσδιορίζει μια έμμεση αναφορά σε ένα πόρο που αποτελεί τμήμα αυτού που καθορίστηκε μέχρι το ερώτημα (για παράδειγμα ένα συγκεκριμένο σημείο μέσα σε ένα αρχείο).

Η σύνθεση των παραπάνω στοιχείων γίνεται στην εξής μορφή:

scheme:[//[user:password@]host[:port]][/]path[?query][#fragment]

Στη σύνταξη αυτή, ό,τι περιέχεται σε αγκύλες [ ] είναι προαιρετικό. Συγκεκριμένα, το τμήμα σχήματος και το τμήμα διαδρομής είναι υποχρεωτικά, ενώ το τμήμα αρχής, όταν υπάρχει, χωρίζεται από το τμήμα σχήματος με // και από το τμήμα διαδρομής με /. Να σημειώσουμε ότι το τμήμα διαδρομής μπορεί να είναι κενό· αυτό δεν σημαίνει ότι δεν υπάρχει, το κενό κάτι σημαίνει, ανάλογα με τον τύπο του URI.

Ένα παράδειγμα URI είναι το

http://www.imdb.com/name/nm0000095/?ref_=tt_ov_dr

το οποίο περιγράφει έναν πόρο που αναφέρεται στον σκηνοθέτη Woody Allen· συγκεκριμένα αναφέρεται στις πληροφορίες που έχουν καταχωρηθεί για τον Woody Allen στη γνωστή βάση δεδομένων ταινιών Internet Movie Database (IMDb). Το πρώτο μέρος του URI, το http, αποτελεί το τμήμα σχήματος του προσδιοριστικού και δηλώνει ότι ο συγκεκριμένος πόρος αποτελεί ένα στοιχείο καταχώρησης και μετάδοσης πληροφορίας τύπου hypertext (http σημαίνει Hypertext Transfer Protocol) και επομένως ακολουθούνται οι αντίστοιχοι συντακτικοί κανόνες. Τα URI αυτού του τύπου ονομάζονται URL (Uniform Resource Locators) και παίζουν σημαντικό ρόλο στον προσδιορισμό της τοποθεσίας μιας πληροφορίας στον Παγκόσμιο Ιστό.

Για να ταυτοποιηθεί το συγκεκριμένο URL, αρχικά είναι απαραίτητη η διεύθυνση της διαδικτυακής τοποθεσίας, η οποία προσδιορίζεται μέσω της αρχής που είναι υπεύθυνη για τη διαχείριση της συγκεκριμένης πληροφορίας. Ακριβώς αυτό τον σκοπό εξυπηρετεί το τμήμα αρχής, που στη συγκεκριμένη περίπτωση είναι το www.imdb.com και δηλώνει ότι ο υπεύθυνος για τη διαχείριση του πόρου βρίσκεται στην ηλεκτρονική διεύθυνση www.imdb.com. Στη συνέχεια, καθορίζεται η διαδρομή /name/nm0000095/, η οποία πρέπει να ακολουθηθεί στο πλαίσιο της αρχής για να εκτελεστεί το ερώτημα ?ref_=tt_ov_dr, ώστε τελικά να προσδιοριστεί ο πόρος αναφοράς. Σημειώνεται ότι στην περίπτωση αυτή δεν είναι προφανές ότι ο συγκεκριμένος πόρος είναι προσβάσιμος, καθώς αυτό εξαρτάται τόσο από την προσβασιμότητα της αρχής (στην περίπτωση αυτή της διαθεσιμότητας της υπηρεσίας που βρίσκεται στην ηλεκτρονική διεύθυνση www.imdb.com), καθώς και από την ορθότητα της αναφοράς. Παρόλα αυτά, μέσω του URI ταυτοποιείται ο συγκεκριμένος πόρος, είτε γνωρίζουμε το περιεχόμενό του είτε όχι, είτε είναι είτε δεν είναι προσβάσιμος.

Επιπλέον, να σημειώσουμε ότι, σε αντίθεση με τις φυσικές γλώσσες, δεν είναι πάντα εύκολο να γίνει κατανοητή από τον άνθρωπο η ταυτότητα του πόρου αναφοράς. Δηλαδή, διαβάζοντας τον πόρο δεν μπορούμε να καταλάβουμε ότι πρόκειται για μια αναφορά σε περιγραφή του Woody Allen. Είναι σημαντικό να κατανοήσουμε ότι δεν είναι αυτός ο στόχος ενός URI, καθώς η λειτουργία του στηρίζεται βασικά στη δυνατότητα αυτόματου προσδιορισμού του πόρου αναφοράς, και φυσικά, αν αυτός είναι προσβάσιμος, σε δεύτερη φάση, της ανάκλησής του μέσω του διαδικτύου. Η αυτόματη αυτή διαδικασία ταυτοποίησης του πόρου από το URI ονομάζεται επίλυση αναφοράς (reference resolution).

Στη συνέχεια, δίνουμε και άλλα παραδείγματα URI για να γίνει σαφές ότι τα URI δεν αναφέρονται μόνο σε πόρους προσβάσιμους από το διαδίκτυο:

http://www.ntua.gr/history.html  (202)

telnet://192.101.1.1/  (203)

mailto:Akira.Kurosawa@cinema.com  (204)

tel:+30-210-772-1000  (205)

urn:isbn:978-960-603-157-1  (206)

Από τα παραπάνω URI, το (202) αναφέρεται σε ένα αρχείο κειμένου, τύπου HTML (HyperText Markup Language). Αρχεία τέτοιου τύπου έχουν τη δυνατότητα να απεικονίζουν, μεταξύ άλλων, τα προγράμματα περιήγησης του διαδικτύου (οι γνωστοί web browsers). Από τη σύνταξη του URI, βλέπουμε ότι είναι τύπου URL (αφού το τμήμα σχήματος είναι http). Στη συνέχεια, από το τμήμα αρχής κατονομασίας, βλέπουμε ότι το αρχείο διαχειρίζεται ο εξυπηρετητής που βρίσκεται στην ηλεκτρονική διεύθυνση www.ntua.gr και ότι το συγκεκριμένο αρχείο βρίσκεται στη διαδρομή history.html (προφανώς στο root directory). Δεν είναι δύσκολο να δούμε, ότι μέσω του συγκεκριμένου URI έχουμε μια σαφή αναφορά, η οποία, μάλιστα, μέσω ενός προγράμματος περιήγησης μπορεί να μας οδηγήσει στην ιστοσελίδα του Εθνικού Μετσόβιου Πολυτεχνείου (ΕΜΠ).

Το URI (203) αναφέρεται σε ένα URL διαφορετικού τύπου (ο τύπος του είναι telnet, όπως φαίνεται από το τμήμα σχήματος). Συγκεκριμένα, η τοποθεσία που προσδιορίζεται μέσω του τμήματος αρχής ταυτοποιεί έναν εξυπηρετητή που υποστηρίζει το πρωτόκολλο επικοινωνίας telnet (μέσω του οποίου υποστηρίζεται η απευθείας επικοινωνία μέσω γραμμής εντολών).

Το URI (204) έχει ως τμήμα σχήματος το mailto, το οποίο υποδηλώνει ότι πρόκειται για ένα URI που προσδιορίζει μια διεύθυνση ηλεκτρονικού ταχυδρομείου. Μάλιστα, στη συγκεκριμένη περίπτωση πρόκειται για την ηλεκτρονική διεύθυνση με λογαριασμό Akira.Kurosawa που ταυτοποιεί ο διαχειριστής ηλεκτρονικών διευθύνσεων cinema.com.

Το URI (205) αναφέρεται σε έναν τηλεφωνικό αριθμό, όπως φαίνεται από το τμήμα σχήματος tel της σύνταξής του. Συγκεκριμένα αναφέρεται στον αριθμό +30-210-772-1000. Στην περίπτωση αυτή, επειδή υπάρχει διεθνές σύστημα για τον προσδιορισμό τηλεφωνικών αριθμών, δεν είναι απαραίτητο το τμήμα αρχής κατονομασίας για τον προσδιορισμό του. Παρατηρούμε ότι ο πόρος αυτός δεν είναι άμεσα προσβάσιμος μέσω του διαδικτύου, όμως υπάρχουν άλλες υπηρεσίες οι οποίες μπορεί να χρησιμοποιήσουν την αναφορά για κάποιο συγκεκριμένο σκοπό (προσδιορισμό του κατόχου, τηλεφωνική κλήση κλπ.).

Το URI (206) αναφέρεται σε ένα άλλο πολύ σημαντικό τύπο πόρων του Παγκόσμιου Ιστού, αυτό των ονομάτων. Το σχήμα urn (Uniform Resource Name) υποδηλώνει ότι το συγκεκριμένο URI αποτελεί όνομα για κάποιο στοιχείο του κόσμου. Τα URI αυτού του τύπου καθορίζουν τον πόρο, μέσω σαφώς ορισμένων χώρων ονομάτων ή ονοματοχώρων (namespaces) που διατηρούνται από συγκεκριμένες αρχές κατονομασίας ή διεθνείς συμβάσεις. Ονοματοχώρος είναι ένα σύνολο από σύμβολα που αντιστοιχίζονται με αντικείμενα του κόσμου. Στο παράδειγμα αυτό, η αναφορά γίνεται μέσω ενός ISBN (International Standard Book Number), που αντιστοιχίζει με μοναδικό τρόπο έναν αριθμό 13 ψηφίων σε ένα συγκεκριμένο βιβλίο, αποτελεί, λοιπόν, ένα προσδιοριστικό βιβλίου (στη συγκεκριμένη περίπτωση αυτού που διαβάζετε). Τα URN αποτελούν πολύ σημαντικά URI, διότι, μεταξύ άλλων, δίνουν τη δυνατότητα επαναχρησιμοποίησης στον Παγκόσμιο Ιστό όλων των μοναδικών προσδιοριστικών αντικειμένων που χρησιμοποιούνται σε άλλα πλαίσια αναφοράς, όπως για παράδειγμα στα βιβλία (μέσω των ISBN), στα περιοδικά (μέσω των ISSN-International Standard Serial Number) και γενικά στις βιβλιογραφικές αναφορές (μέσω των NBN-National Bibliography Number), στις ταινίες (μέσω των ISAN-International Standard Audiovisual Number) και γενικά στα διάφορα προϊόντα (μέσω των serial number). Με τον τρόπο αυτό υποστηρίζεται αναφορά στα περισσότερα αντικείμενα του κόσμου, μέσω της χρήσης των καθιερωμένων ονοματοχώρων.

Τέλος, κυρίως λόγω των μακροσκελών ονομάτων που χρησιμοποιούνται για την απόδοση όλων των απαραίτητων για την ταυτοποίηση πληροφοριών στα URI, είναι ιδιαίτερα χρήσιμη μια ειδική περίπτωση ονοματοχώρων που έχει ως στόχο τον σαφή καθορισμό προθεμάτων, ώστε να καθίσταται ευκολότερη η ορθή συγγραφή και ανάγνωση URI (από τον άνθρωπο), όπου και αν αυτά χρησιμοποιούνται. Η διαδικασία δήλωσης συντμήσεων προθεματικής χρήσης αυτού του τύπου γίνεται μέσω των ονοματοχώρων XML (XML namespaces). Για παράδειγμα, ορίζοντας σε κάποιον ονοματοχώρο XML τον πόρο

http://zenon.image.ece.ntua.gr/okrr-book/cinemaOntology  (207)

ως cine, στη συνέχεια, μπορούμε να αναφερόμαστε στον πόρο

http://zenon.image.ece.ntua.gr/okrr-book/cinemaOntology/WoodyAllen

απλά ως cine:WoodyAllen.

Περιγραφή σημασιολογικών δεδομένων

Με βάση τα URI, μπορούν να καθοριστούν με μονοσήμαντο τρόπο αναφορές στα στοιχεία του κόσμου. Το επόμενο βήμα είναι η διασύνδεση των πόρων, με στόχο τη σημασιολογική αναπαράσταση της πληροφορίας. Για παράδειγμα, εφόσον μπορούμε να αναφερθούμε σε μια ιστοσελίδα και σε ένα συγκεκριμένο πρόσωπο, θα μπορούσαμε να πούμε ότι το πρόσωπο αυτό είναι ο συντάκτης της ιστοσελίδας. Επιπλέον, μέσω μιας αναφοράς σε μια συγκεκριμένη έννοια που περιγράφεται στη Wikipedia (για παράδειγμα «κινηματογραφική ταινία»), που έχει και αυτή μια μοναδική αναφορά, θα θέλαμε να δηλώσουμε ότι η συγκεκριμένη ιστοσελίδα περιγράφει μια κινηματογραφική ταινία. Για τον σκοπό αυτό, δηλαδή για τη σημασιολογική περιγραφή των πόρων του Παγκόσμιου Ιστού, χρησιμοποιείται συνήθως ένα πρότυπο που έχει αναπτυχθεί από την W3C, το οποίο καταχρηστικά ονομάζεται γλώσσα σημασιολογικής περιγραφής πόρων ή RDF (Resource Description Framework).

Στόχος της περιγραφής που θα δώσουμε στο σημείο αυτό δεν είναι η ανάλυση της RDF και όλων των χαρακτηριστικών της, αλλά η χρήση στοιχείων της RDF για την αναπαράσταση σημασιολογικών δεδομένων στον Παγκόσμιο Ιστό, με την τυπική προσέγγιση των περιγραφικών λογικών που αναλύσαμε στα προηγούμενα κεφάλαια. Συνεπώς, σε καμία περίπτωση δεν πρέπει να θεωρηθεί η σύντομη αυτή περιγραφή ως μια ανάλυση του προτύπου RDF, το οποίο, αν και συντακτικά σχετικά απλό, είναι γενικά αρκετά σύνθετο, με αρκετά σημεία που απαιτούν προσεκτική τεχνική ανάλυση.

Σύμφωνα με το μοντέλο αναπαράστασης γνώσης των περιγραφικών λογικών, υπάρχουν τρία πεδία ονομάτων που χρησιμοποιούνται για τον προσδιορισμό στοιχείων του κόσμου: τα ονόματα ατόμων, εννοιών και ρόλων. Είναι συνεπώς εύλογο να θεωρήσουμε ότι αυτά είναι τα σημαντικά στοιχεία του κόσμου· συνεπώς θεωρούμε ότι κάθε πόρος του Παγκόσμιου Ιστού ανήκει σε μια από τις τρεις αυτές κατηγορίες, ή καλύτερα, θεωρούμε ότι χρησιμοποιούμε στις περιγραφές μας, πόρους που ανήκουν στις τρεις αυτές κατηγορίες. Οι περισσότεροι πόροι του Παγκόσμιου Ιστού, πράγματι εντάσσονται νοηματικά στις συγκεκριμένες κατηγορίες.

Ας δούμε τώρα με ποιον τρόπο μπορούμε να δηλώσουμε σε RDF ότι ο Woody Allen έχει σκηνοθετήσει την ταινία Manhattan. Πρώτα από όλα, θεωρούμε ότι σε κάποιον ονοματοχώρο δηλώνεται ο πόρος (207) ως cine. Στη συνέχεια, θεωρούμε ότι ο πόρος αυτός περιγράφει ένα σύνολο ονομάτων (με τη μορφή σχετικών διαδρομών) και ότι στο πλαίσιο των περιγραφών αυτών περιλαμβάνονται τα ονόματα woodyAllen, manhattan και isDirector, που αντιστοιχούν σε άτομα (τα δύο πρώτα) ή σε ρόλους (το τρίτο). Η δήλωση τότε είναι απλή και γράφεται ως εξής:

cine:woodyAllen cine:isDirector cine:manhattan.

Παρατηρούμε ότι η δήλωση αποτελεί ουσιαστικά μια τριάδα που συνδυάζει τα URI που προαναφέραμε, τοποθετώντας τα σε συγκεκριμένες θέσεις. Στην πρώτη θέση τοποθετείται το woodyAllen, δηλαδή το υποκείμενο της σχέσης isDirector, η αναφορά στην οποία τοποθετείται στη δεύτερη θέση, ενώ στην τρίτη θέση τοποθετείται το αντικείμενο της σχέσης, δηλαδή το manhattan.

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

<subject> <predicate> <object>.

όπου <subject>, <predicate>, <object> είναι URI, δηλαδή προσδιοριστικά πόρων του διαδικτύου. Γενικά, με βάση τη σύνταξη, σε κάθε θέση μιας RDF τριάδας μπορεί να βρίσκεται οποιοσδήποτε πόρος του διαδικτύου, χωρίς περιορισμούς.

Σημασιολογικά, το νόημα της τριάδας είναι ότι η διάταξη καθορίζει τη σχέση των πόρων που περιγράφονται. Συγκεκριμένα, στη δεύτερη θέση βρίσκεται ο πόρος που αναφέρεται στη σχέση (<predicate>), το υποκείμενο της οποίας βρίσκεται στην πρώτη θέση (<subject>) και το αντικείμενο στην τρίτη (<object>). Προφανώς, δεν είναι δυνατόν από το όνομα του πόρου να καθοριστεί αν είναι άτομο, έννοια ή ρόλος και επομένως, με βάση αυτά που έχουμε πει μέχρι τώρα, η μόνη συντακτική πληροφορία για να καθορίσουμε το είδος του πόρου, είναι η θέση του στην τριάδα.

Για παράδειγμα, μπορούμε να συμπεράνουμε ότι ο πόρος cine:isDirector είναι ρόλος, επειδή βρίσκεται στη δεύτερη θέση μιας τριάδας RDF. Αντίστοιχα, οι πόροι cine:woodyAllen και cine:manhattan αναφέρονται σε άτομα του κόσμου. Ένα σημαντικό πρόβλημα που υπάρχει στην περίπτωση αυτή είναι ότι κάποιος πόρος μπορεί να βρίσκεται σε διαφορετική θέση μίας ή περισσότερων τριάδων διότι δεν υπάρχει ουσιαστικά συντακτικός περιορισμός που να το απαγορεύει. Δηλαδή η τριάδα

cine:isDirector cine:isDirector cine:isDirector.

είναι συντακτικά ορθή, αν και νοηματικά δεν στέκει, αφού μας οδηγεί στο συμπέρασμα ότι το cine:isDirector είναι ταυτόχρονα άτομο και ρόλος. Για τον λόγο αυτό, η σημασιολογία της RDF είναι περίπλοκη, αφού είναι απαραίτητο να συμπεριλάβει τη συγκεκριμένη δυνατότητα, μιας και επιτρέπεται συντακτικά.

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

Με βάση τα παραπάνω, η τριάδα

cine:woodyAllen cine:isDirector cine:manhattan.

αποτελεί διαφορετική σύνταξη ενός αξιώματος ισχυρισμού ρόλου, συγκεκριμένα του αξιώματος

isDirector(woodyAllen, manhattan).

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

Για να δηλωθούν, εκτός από ισχυρισμούς ρόλων, και ισχυρισμοί εννοιών, στο πλαίσιο της RDF ορίζεται ο πόρος rdf:type, όπου rdf είναι όνομα του ονοματοχώρου που περιγράφεται στον ορισμό της RDF από την W3C και αποτελεί συντομογραφία για τη συμβολοσειρά

http://www.w3.org/1999/02/22-rdf-syntax-ns#.

Με χρήση του rdf:type μπορούμε να δηλώσουμε και ισχυρισμούς εννοιών, μέσω τριάδων της μορφής

<individual> rdf:type <concept>.

όπου <individual> είναι ένας πόρος που αναφέρεται σε ένα άτομο του κόσμου και <concept> ένας πόρος που αναφέρεται σε μια έννοια. Για παράδειγμα, αν στην περιγραφή που δίνεται στο

http://zenon.image.ece.ntua.gr/okrr-book/cinemaOntology

η έννοια Director περιγράφεται ως πόρος, συγκεκριμένα ορίζεται το URI cine:Director, μπορούμε να δηλώσουμε ότι

cine:woodyAllen rdf:type cine:Director.

δηλαδή ότι ο πόρος cine:woodyAllen είναι στιγμιότυπο του πόρου cine:Director. Η δήλωση αυτή είναι αντίστοιχη του ισχυρισμού έννοιας

Director( woodyAllen),

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

Επομένως, με βάση τα παραπάνω, είναι δυνατόν να αναπαρασταθεί σε RDF κάθε ABox περιγραφικών λογικών, αφού αυτό αποτελείται από ισχυρισμούς εννοιών ή ρόλων, κάθε ένας από τους οποίους μπορεί να αναπαρασταθεί με τριάδες RDF.

Πολλές φορές είναι βοηθητικό, κυρίως για λόγους εποπτικής παρουσίασης, να θεωρούμε τις περιγραφές RDF σαν γράφους, οι κόμβοι των οποίων αντιπροσωπεύουν άτομα ή έννοιες του κόσμου και οι ακμές σχέσεις. Αυτοί οι γράφοι αναπαράστασης ονομάζονται συνήθως γράφοι RDF (RDF graphs). Είναι σημαντικό να παρατηρήσουμε ότι οι γράφοι RDF δεν πρέπει να συγχέονται με τους γράφους αναπαράστασης ερμηνειών των σωμάτων ισχυρισμών που είδαμε στο Κεφάλαιο 2. Πράγματι, στην περίπτωση της αναπαράστασης ερμηνειών, οι κόμβοι αναπαριστούν αντικείμενα, δηλαδή στοιχεία του πεδίου ερμηνείας, δηλαδή ούτε άτομα, ούτε έννοιες. Αντίθετα με την περίπτωση των γράφων RDF, για να καθοριστεί ο τύπος του αντικειμένου, δηλαδή το σύνολο των ονομάτων του κόσμου (άτομα ή ονόματα εννοιών) στα οποία αντιστοιχίζεται μέσω της ερμηνείας το συγκεκριμένο αντικείμενο (δηλαδή ο κόμβος) χρησιμοποιούνται οι ετικέτες των κόμβων. Επιπλέον, πολύ σημαντική είναι μια σημασιολογική διαφορά: ενώ κάθε γράφος ερμηνείας αντιστοιχεί σε μια συγκεκριμένη ερμηνεία του σώματος ισχυρισμών, και επομένως αν δεν υπάρχει στην ετικέτα κάποιου αντικειμένου μια έννοια θεωρούμε ότι το αντικείμενο αυτό δεν ανήκει στη συγκεκριμένη ερμηνεία της έννοιας, στην περίπτωση των γράφων RDF αν δεν υπάρχει κάποια ακμή μεταξύ ενός ατόμου και μιας έννοιας, αυτό σημαίνει ότι απλά δεν γνωρίζουμε αν είναι στιγμιότυπο της έννοιας, με βάση τη σημασιολογία ανοικτού κόσμου (παρόμοια και για τους ρόλους). Συνεπώς, δεν μπορούν ούτε καν να μετατρέψουμε τους γράφους RDF σε γράφους ερμηνειών. Απεναντίας, μπορούμε να χρησιμοποιήσουμε τους γράφους ερμηνειών για να αναπαραστήσουμε κάποια ερμηνεία ενός γράφου RDF.

Τέλος, αξίζει να σημειώσουμε ότι δεν περιγράφουμε την τυπική σημασιολογία της RDF για τον εξής λόγο: Εφόσον μια περιγραφή RDF, όπως αυτές που παρουσιάζουμε εδώ (δηλαδή με τους περιορισμούς που θέτουμε για το είδος των πόρων σε κάθε θέση μιας τριάδας), είναι πανομοιότυπη σημασιολογικά με ένα ABox, η ερμηνεία της μπορεί να γίνει όπως ακριβώς και του αντίστοιχου ABox. Δεν είναι, λοιπόν, απαραίτητο να επεκτείνουμε τις ιδέες αυτές, ώστε να καλύψουμε και περιπτώσεις όπου ένα στοιχείο της περιγραφής μπορεί να είναι ταυτόχρονα άτομο, έννοια και ρόλος, κάτι το οποίο κάνει τον ορισμό της ερμηνείας αρκετά πιο σύνθετο. Η τυπική σημασιολογία της RDF, όπως έχει οριστεί από την W3C, καλύπτει φυσικά όλες τις συντακτικά επιτρεπτές περιγραφές, όσο σύνθετες και μη διαισθητικές και αν είναι, συνεπώς παρουσιάζει μια ιδιαίτερη πολυπλοκότητα, η οποία δεν μας είναι απαραίτητη. Το σημαντικό είναι ότι τα μοντέλα ενός γράφου RDF, με βάση τη σημασιολογία της RDF είναι αντίστοιχα με τα μοντέλα ενός ABox με βάση τη σημασιολογία των περιγραφικών λογικών, στην περίπτωση που η περιγραφή μπορεί να αναπαρασταθεί σε ένα ABox.

Η σύνταξη των τριάδων RDF που αναφέραμε προηγουμένως, δηλαδή η παράθεση των τριών URI ακολουθούμενων από μια τελεία, λέγεται αφηρημένη σύνταξη και ενώ είναι κατανοητή από τον άνθρωπο, δεν είναι απαραίτητα κατάλληλη για την αποθήκευση, διαχείριση και μετάδοση ηλεκτρονικών εγγράφων που περιέχουν περιγραφές RDF στον Παγκόσμιο Ιστό. Για παράδειγμα, περιέχει πολλές επαναλήψεις και δεν είναι συμβατή με άλλα πρότυπα (όπως αυτό της XML), στα οποία είναι απαραίτητο να γίνονται αναφορές, διότι ορίζουν κάποια URI κλπ. Για τον σκοπό αυτό, προτείνονται διάφοροι τρόποι σειριοποίησης (serialisation), ανάπτυξης δηλαδή των περιγραφών σε τυποποιημένα έγγραφα, έτσι ώστε να μπορούν ευκολότερα να αποθηκευτούν ή/και να μεταδοθούν και στη συνέχεια πιθανώς να αναπαραχθούν στη μορφή των τριάδων, σύμφωνα με τις ανάγκες των ηλεκτρονικών υπηρεσιών του Παγκόσμιου Ιστού. Όπως και για τα περισσότερα μοντέλα αναπαράστασης δεδομένων, έτσι και για την RDF, έχουν προταθεί αρκετοί τρόποι σειριοποίησης. Στο σημείο αυτό, θα περιγράψουμε τρεις σειριοποιήσεις, που χρησιμοποιούνται περισσότερο στις εφαρμογές.

Η πρώτη είναι η σειριοποίηση σε N-triples, η οποία αποτελεί ουσιαστικά άμεση αναπαράσταση των τριάδων σε έγγραφα. Κατά τη σύνταξη αυτή, κάθε έγγραφο έχει τόσες γραμμές, όσες και οι τριάδες, κάθε τριάδα περιγράφεται σε μία γραμμή, χωρίς να είναι σημαντική η σειρά των γραμμών, και δεν χρησιμοποιούνται ονοματοχώροι, οπότε περιγράφονται ολόκληρα τα συμβολικά ονόματα των URI, χωρίς συντμήσεις. Για παράδειγμα, ακολουθεί μια περιγραφή RDF/N-triples, στην οποία για λόγους περιορισμού χώρου φαίνεται κάθε τριάδα σε τρεις γραμμές, ενώ στα έγγραφα βρίσκεται σε μία.

<http://zenon.image.ece.ntua.gr/okrr-book/cinemaOntology/woodyAllen>
    <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
        <http://xmlns.com/foaf/0.1/Person> .
<http://zenon.image.ece.ntua.gr/okrr-book/cinemaOntology/woodyAllen>
    <http://schema.org/birthDate>
        "1935-12-01"^^<http://www.w3.org/2001/XMLSchema#date> .

Στο παραπάνω παράδειγμα δηλώνεται ότι το άτομο woodyAllen (που περιγράφεται στην οντολογία του παραδείγματός μας) είναι τύπου Person και γεννήθηκε στις 1/12/1935. Για τον σκοπό αυτό χρησιμοποιείται η έννοια Person του γνωστού λεξιλογίου FOAF (Friend of a Friend), το οποίο περιλαμβάνει ένα σύνολο από έννοιες και ιδιότητες περιγραφής των ανθρώπων (όπως οι ρόλοι foaf:name, foaf:knows, foaf:interest κλπ.), και χρησιμοποιείται ευρέως για την περιγραφή κοινωνικών δικτύων. Επιπλέον, για την αναπαράσταση της ημερομηνίας χρησιμοποιείται ο τύπος δεδομένων

http://www.w3.org/2001/XMLSchema#date

που περιγράφεται από την W3C μέσω της XML Schema. Το URI

"1935-12-01"^^<http://www.w3.org/2001/XMLSchema#date>

ονομάζεται λεκτικό (literal). Τα λεκτικά χρησιμοποιούνται για την αναπαράσταση δεδομένων, συγκεκριμένων τύπων, οι οποίοι περιγράφονται σε προκαθορισμένες δομές, μέσω περιγραφών XML Schema. Όλες οι απαραίτητες αναφορές για την επίλυση, δηλαδή την απόδοση της τιμής του συγκεκριμένου τύπου, δίνονται στη συμβολοσειρά του URI στην εξής τυποποιημένη μορφή:

"<value>"^^<datatype URI>

Η δεύτερη είναι η σύνταξη Turtle, η οποία αποτελεί ουσιαστικά βελτίωση της N-triples, μέσω της αποφυγής των μεγάλων ονομάτων URI και των επαναλήψεων. Συγκεκριμένα, στη σύνταξη Turtle δίνεται η δυνατότητα ορισμού ονοματοχώρων για τον ορισμό συντμήσεων που χρησιμοποιούνται στις αναφορές URI και, επιπλέον, δίνεται η δυνατότητα ομαδοποίησης τριάδων με το ίδιο υποκείμενο, ώστε να αποφεύγεται η συνεχής επανάληψή του και να διευκολύνεται η γρήγορη ανάκληση όλων των τριάδων στις οποίες ένα συγκεκριμένο άτομο είναι υποκείμενο. Το παραπάνω παράδειγμα σε RDF/Turtle γράφεται:

BASE   <http://zenon.image.ece.ntua.gr/okrr-book/cinemaOntology/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX schema: <http://schema.org/>

<woodyAllen>
   a foaf:Person ;
   schema:birthDate "1935-12-01"^^xsd:date .

Τέλος, η βασικότερη σειριοποίηση της RDF, που χρησιμοποιείται ευρέως στην πράξη, είναι η σειριοποίηση στο πρότυπο XML. Αποτέλεσε την πρώτη σειριοποίηση της RDF κατά την προτυποποίησή της και δίνει δυνατότητες, λόγω της δενδρικής μορφής και της εκφραστικότητας του προτύπου XML, για ιδιαίτερες συντακτικές περιλήψεις, όπως ορισμούς ονοματοχώρων, ομαδοποίηση τριάδων κλπ. Επιπλέον, λόγω της ευρείας χρήσης της XML, η σειριοποίηση της RDF σε XML δίνει τη δυνατότητα για ενοποιημένη περιγραφή των δεδομένων, της σημασιολογίας των πόρων και της γνώσης σε ενοποιημένη μορφή, όπως θα δούμε και στην επόμενη παράγραφο. Στη συνέχεια, ακολουθεί το ίδιο παράδειγμα που παρουσιάστηκε σε προηγούμενες σειριοποιήσεις, σε RDF/XML:

<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:foaf="http://xmlns.com/foaf/0.1/"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:schema="http://schema.org/">
   <rdf:Description rdf:about=
        "http://zenon.image.ece.ntua.gr/okrr-book/cinemaOntology/woodyAllen">
      <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
      <schema:birthDate rdf:datatype="http://www.w3.org/2001/XMLSchema#date">
                 1935-12-01</schema:birthDate>
   </rdf:Description>
</rdf:RDF>

Αναπαράσταση οντολογικής γνώσης στον Παγκόσμιο Ιστό

Η αναπαράσταση σημασιολογικών δεδομένων στη γλώσσα RDF καλύπτει ένα μόνο μέρος των αναγκών μοντελοποίησης ενός πεδίου μέσω των τεχνικών αναπαράστασης γνώσης, συγκεκριμένα τη μοντελοποίηση των δεδομένων. Σε πολλές, όμως, εφαρμογές του Παγκοσμίου Ιστού, ειδικά στην ανάπτυξη σύνθετων υπηρεσιών που απαιτούν ολοκλήρωση και ανάλυση των δεδομένων, είναι ιδιαίτερα χρήσιμη η ορολογική περιγραφή του πεδίου, με την αναπαράσταση αξιωματικής γνώσης. Με τον τρόπο αυτό, περιγράφονται αναλυτικά οι οντολογικές συσχετίσεις των εννοιών του πεδίου, και συνεπώς υποστηρίζεται τόσο η διαλειτουργικότητα των υπηρεσιών, μέσω των ενοποιημένων αναφορών, όσο και η χρήση αλγορίθμων τεχνητής νοημοσύνης και μηχανικής μάθησης για την ανάπτυξη ευφυών υπηρεσιών. Για τους παραπάνω λόγους, η ανάπτυξη του Σημασιολογικού Ιστού στηρίζεται στην ανάπτυξη προτύπων γλωσσών αναπαράστασης οντολογικής γνώσης.

Η πρώτη προσπάθεια έγινε στο πλαίσιο της αναπαράστασης των βασικών ιδιοτήτων των σημασιολογικών δεδομένων RDF. Συγκεκριμένα, αναπτύχθηκε ένα σύνολο προκαθορισμένων πόρων (λεξιλόγιο), ως επέκταση της RDF για να καταστεί δυνατή η ρητή, αξιωματική δήλωση των ιδιοτήτων των πόρων. Η γλώσσα αυτή ονομάστηκε RDF Schema (ή απλά RDFS) και (αποτελώντας επέκταση της RDF) προσφέρει ένα επιπλέον λεξιλόγιο που μπορεί να χρησιμοποιηθεί στις τριάδες RDF, με προκαθορισμένο σημασιολογικά τρόπο.

Οι βασικές δυνατότητες της RDFS φαίνονται στον Πίνακα (18). Αρχικά, δίνεται η δυνατότητα διάκρισης των ονοματοχώρων (ατόμων, εννοιών, ρόλων) που καθορίζουν τους τύπους των πόρων, ενώ στην RDF αυτό μπορεί να γίνει μόνο από τη θέση ενός πόρου στις τριάδες. Θεωρούμε ότι κάθε πόρος που περιγράφεται σε ένα αρχείο RDF είναι στιγμιότυπο της έννοιας rdfs:Resource. Αν είναι άτομο, τότε μπορεί να δηλωθεί ως στιγμιότυπο της rdfs:Literal (αν είναι ένα απλό όνομα ατόμου, δηλαδή μια συμβολοσειρά) ή της κλάσης rdfs:Datatype (αν είναι ένας δομημένος τύπος δεδομένων). Αν είναι έννοια, μπορεί να δηλωθεί ως στιγμιότυπο της rdfs:Class, ενώ, τέλος, αν είναι ρόλος μπορεί να δηλωθεί ως στιγμιότυπο της rdf:Property. Όλοι οι παραπάνω πόροι που χρησιμοποιούνται για τις δηλώσεις αποτελούν κλάσεις (αφού αποδίδουν τον τύπο των URI), συνεπώς συνδέονται μέ άλλους πόρους (αυτούς που δηλώνεται ο τύπος τους), μέσω του πόρου rdf:type, όπως φαίνεται και στις γραμμές 1 έως 4 του Πίνακα (18). Είναι σημαντικό να τονίσουμε ότι δεν είναι υποχρεωτικό να δηλώνεται ρητά ο τύπος των ατόμων με χρήση αξιωμάτων RDFS, αφού όπως είδαμε μπορεί να εξαχθεί έμμεσα και από τη θέση στις τριάδες. Όμως, είναι καλή πρακτική να χρησιμοποιούνται οι ρητές δηλώσεις όταν αναπαριστούμε οντολογικές γνώσεις σε RDF, έτσι ώστε να μπορούν να επιλύονται οι όποιες σημασιολογικές ασυνέπειες (για παράδειγμα όταν ένας πόρος χρησιμοποιείται στην πρώτη και στη δεύτερη θέση, σε δύο διαφορετικές τριάδες RDF).

Εκτός από τις περιγραφές των τύπων των πόρων, στην RDFS μπορούν να γίνουν δηλώσεις που αφορούν ταξονομικές ιδιότητες των εννοιών και των ρόλων. Συγκεκριμένα, για τον σκοπό αυτό χρησιμοποιούνται οι πόροι rdfs:subClassOf και rdfs:subPropertyOf, όπως φαίνεται και στις γραμμές 5 και 6 του Πίνακα (18), αντίστοιχα. Τέλος, μπορούμε να δηλώσουμε ότι μια κλάση αποτελεί το πεδίο ορισμού ή το πεδίο τιμών ενός ρόλου, χρησιμοποιώντας τους πόρους rdfs:domain και rdfs:range, όπως φαίνεται και στις γραμμές 7 και 8 του Πίνακα (18), αντίστοιχα. Τα αντίστοιχα αξιώματα υπαγωγής εννοιών και ρόλων, πεδίου ορισμού και πεδίου τιμών των ρόλων διατυπώνονται σε περιγραφικές λογικές ως εξής:

C ⊑ D

P ⊑ R

P ⊑ C

⊤ ⊑ ∀P.C

Όλα τα παραπάνω δηλώνονται στον ονοματοχώρο rdfs που περιγράφεται από τον πόρο

http://www.w3.org/2000/01/rdf-schema#

ο οποίος εμπεριέχει όλα τα στοιχεία της γλώσσας που παρέχονται στον ονοματοχώρο του προτύπου RDFS, τα οποία φυσικά αποτελούν και αυτά με τη σειρά τους πόρους του Παγκοσμίου Ιστού που μπορούν να χρησιμοποιηθούν σε ένα έγγραφο RDF, με βάση τη σημασιολογία που αναλύσαμε προηγουμένως.

Πίνακας (18): Βασικές δυνατότητες μοντελοποίησης της RDFS.
Tριάδα                               Περιγραφή
I rdf:type rdfs:Literal Ο πόρος I είναι λεκτικό.
I rdf:type rdfs:Datatype Ο πόρος I είναι τύπος δεδομένων.
C rdf:type rdfs:Class Ο πόρος C είναι έννοια.
P rdf:type rdf:Property Ο πόρος P είναι ρόλος.
C rdfs:subClassOf D Η κλάση C είναι υποκλάση της D.
P rdfs:subPropertyOf R Ο ρόλος P είναι υπορόλος της R.
P rdfs:domain C Η κλάση C είναι πεδίο ορισμού του ρόλου P.
P rdfs:range C Η κλάση C είναι πεδίο τιμών του ρόλου P.

Με βάση τα παραπάνω, σε RDFS μπορούμε να αναπαραστήσουμε απλές ταξονομίες ατομικών εννοιών και ρόλων, και να καθορίσουμε τα πεδία ορισμού και τα πεδία τιμών των ρόλων. Συνεπώς, καλύπτουμε μόνο ένα μέρος της εκφραστικότητας των περιγραφικών λογικών. Συγκεκριμένα, στα αξιώματα υπαγωγής που διατυπώνουμε δεν χρησιμοποιούμε καθόλου σύνθετες έννοιες και σύνθετους ρόλους, συνεπώς οι ταξονομίες που αναπτύσσονται είναι εκφραστικά αρκετά πιο κοντά στους θησαυρούς από ό,τι στις οντολογίες.

Επιπλέον, είναι σημαντικό ότι, για να είναι σημασιολογικά ορθό ένα κείμενο RDF, είναι απαραίτητο να τηρηθούν συγκεκριμένοι συντακτικοί κανόνες που αφορούν τη θέση των πόρων στις τριάδες, όπως είδαμε και προηγουμένως. Οι περιορισμοί αυτοί είναι σημαντικοί και δεν μπορούν να διασφαλιστούν κατά τη σύνταξη των κειμένων, μέσω της απαίτησης να είναι συντακτικά ορθό ένα κείμενο RDF. Αντιθέτως, υπάρχουν πολλά παραδείγματα στα οποία τα επιπλέον συντακτικά στοιχεία της RDF, αν και σημασιολογικά βρίσκονται εκτός του πλαισίου αναπαράστασης οντολογικής γνώσης, είναι χρήσιμα για την αναπαράσταση σύνθετης γνώσης για τον κόσμο. Ένα τέτοιο παράδειγμα αποτελεί η μετα-μοντελοποίηση (metamodelling). Για παράδειγμα, δίνονται οι παρακάτω τριάδες:

cine:movie1 rdf:type cine:Comedy.

cine:Comedy rdf:type cine:PopularGenre.

cine:PopularGenre rdfs:subClassOf cine:RecommendedGenre.

Στο παράδειγμα αυτό δηλώνεται ότι μια ταινία (άτομο) είναι κωμωδία (έννοια), στη συνέχεια ότι η κωμωδία (σαν άτομο) είναι δημοφιλές είδος (έννοια) και κάθε δημοφιλές είδος είναι προτεινόμενο (αξίωμα υπαγωγής). Είναι προφανές ότι η γνώση αυτή, παρότι έχει νόημα, δεν μπορεί να είναι διαισθητικά ορθή σε μια οντολογική περιγραφή βάσει των περιγραφικών λογικών, διότι ο πόρος cine:Comedy είναι ταυτόχρονα έννοια και άτομο. Ούτε μπορούμε να δηλώσουμε την έννοια cine:Comedy ως υποέννοια της cine:PopularGenre, διότι στη συνέχεια εξάγεται το συμπέρασμα ότι η ταινία cine:movie1 είναι στιγμιότυπο της έννοιας cine:PopularGenre, το οποίο, προφανώς, δεν είναι διαισθητικά ορθό. Συνεπώς, η περίπτωση αυτή είναι ένα παράδειγμα διαισθητικά ορθής γνώσης που μπορεί να δηλωθεί σε RDF, αλλά μη διαισθητικά ορθής από πλευράς οντολογικής μοντελοποίησης του πεδίου.

Πίνακας (19): Αξιώματα δήλωσης ισχυρισμών σε OWL.
Είδος      Έκφραση      Παράδειγμα και περιγραφή
Ταυτότητα ατόμων a = b SameIndividual(cine:woodyAllen cine:allanStewartKoenigsberg): Τα άτομα cine:woodyAllen, cine:allanStewartKoenigsberg είναι ίδια.
Διαφορετικότητα ατόμων a ≠ b DifferentIndividuals(cine:woodyAllen cine:akiraKurosawa): Το άτομο cine:woodyAllen είναι διαφορετικό από το cine:akiraKurosawa.
Δήλωση στιγμιοτύπου κλάσης C(a) ClassAssertion(cine:Director cine:akiraKurosawa): Το άτομο cine:akiraKurosawa είναι στιγμιότυπο της κλάσης cine:Director.
Δήλωση στιγμιοτύπου ιδιότητας R(a, b) ObjectPropertyAssertion(cine:isDirector cine:alfredHitchcock cine:psycho): Το ζεύγος ατόμων (cine:alfredHitchcock, cine:psycho) είναι στιγμιότυπο της ιδιότητας cine:isDirector.
Αρνητική δήλωση στιγμιοτύπου ιδιότητας NegativeObjectPropertyAssertion (cine:isDirector cine:akiraKurosawa cine:psycho): Το ζεύγος ατόμων (cine:akiraKurosawa, cine:psycho) δεν είναι στιγμιότυπο της ιδιότητας cine:isDirector.

Για όλους τους παραπάνω λόγους, και βέβαια λόγω της μεγάλης χρησιμότητας σε πραγματικές εφαρμογές, έχει οριστεί από την W3C η γλώσσα OWL (Web Ontology Language) που αποτελεί ένα εξειδικευμένο πρότυπο για την αναπαράσταση οντολογικής γνώσης στον Παγκόσμιο Ιστό. Το συγκεκριμένο πρότυπο προσφέρει συντακτικά στοιχεία που μπορούν να χρησιμοποιηθούν με παρόμοιο με την RDF και την RDFS τρόπο, υποστηρίζοντας τη συντακτική και σημασιολογική διατύπωση σωμάτων ισχυρισμών και ορολογίας, ακριβώς όπως στις περιγραφικές λογικές.

Σε ένα έγγραφο OWL, όπως στα έγγραφα RDF, μπορούν να δηλωθούν ισχυρισμοί εννοιών και ρόλων της μορφής του Πίνακα (19). Μέσω των ισχυρισμών αυτών, μπορούν να αναπτυχθούν ABox αντίστοιχα με αυτά των περιγραφικών λογικών, και μάλιστα με ταυτόσημη σημασιολογία. Επιπλέον, μπορούν να διατυπωθούν ορολογικά αξιώματα που αφορούν έννοιες (Πίνακας (20)) ή ρόλους (Πίνακας (21) και Πίνακας (22)). Τέλος, μπορούν να οριστούν σύνθετες έννοιες, με χρήση απλών κατασκευαστών (Πίνακας (23)) ή με χρήση ρόλων (Πίνακας (24)), καθώς και να οριστούν σύνθετοι ρόλοι (Πίνακας (25)).

Πίνακας (20): Αξιώματα κλάσεων της OWL.
Είδος      Έκφραση      Παράδειγμα και περιγραφή
Υπαγωγή κλάσεων A ⊑ B SubClassOf(cine:Director cine:Creator): Η κλάση cine:Director είναι υποκλάση της cine:Creator.
Ισοδυναμία κλάσεων A ≡ B EquivalentClasses(cine:Movie cine:Film): Οι κλάσεις cine:Movie και cine:Film είναι ισοδύναμες.
Ορισμός ξένων κλάσεων DisjointClasses(cine:Director cine:Film): Κανένα άτομο δεν μπορεί να είναι ταυτόχρονα στιγμιότυπο των κλάσεων cine:Director και cine:Film.
Ορισμός ξένων ενώσεων κλάσεων DisjointClasses(cine:Film cine:FeatureFilm cine:ShortFilm): Κάθε στιγμιότυπο της κλάσης cine:Film πρέπει να είναι και στιγμιότυπο είτε της κλάσης cine:FeatureFilm είτε της cine:ShortFilm, αλλά όχι και των δύο.

Από τους Πίνακες (19)-(25), παρατηρούμε ότι οι εκφράσεις της OWL δεν βρίσκονται πάντα σε άμεση αντιστοιχία με τους τελεστές των περιγραφικών λογικών. Ο λόγος είναι ότι η OWL έχει οριστεί με βασικό στόχο την ανάπτυξη οντολογικής γνώσης στον Παγκόσμιο Ιστό και απευθύνεται σε όσο το δυνατόν περισσότερους χρήστες, αρκετοί από οποίους δεν είναι μάλιστα απαραίτητο να γνωρίζουν σε βάθος περιγραφικές λογικές. Επομένως, προσφέρει εκφραστικές δυνατότητες που είναι κατά το δυνατόν ευκολότερα κατανοητές και άμεσα χρησιμοποιήσιμες από τους μηχανικούς γνώσης που αναπτύσσουν τις οντολογίες.

Πίνακας (21): Αξιώματα ρόλων.
Είδος      Έκφραση      Παράδειγμα και περιγραφή
Υπαγωγή ρόλων r ⊑ s SubObjectPropertyOf(cine:hasDirector cine:hasCreator): Ο cine:hasDirector είναι υπορόλος του cine:hasCreator.
Ισοδυναμία ρόλων r ≡ s EquivalentObjectProperties(cine:hasCreator dc:creator): Οι ρόλοι cine:hasCreator και dc:creator είναι ισοδύναμοι.
Ορισμοί ξένων ρόλων DisjointObjectProperties(cine:hasDirector cine:isDirector): Οι cine:hasDirector και cine:isDirector είναι ξένοι μεταξύ τους.
Ανάστροφος ρόλος r ≡ s InverseObjectProperties(cine:hasDirector cine:isDirector): Ο cine:hasDirector είναι αντίστροφος του cine:isDirector.
Περιορισμός πεδίου ορισμού r ⊑ A ObjectPropertyDomain(cine:hasDirector cine:Movie): Πεδίο ορισμού του ρόλου cine:hasDirector είναι η έννοια cine:Movie.
Περιορισμός πεδίου τιμών r ⊑ A ObjectPropertyRange(cine:hasDirector cine:Director): Πεδίο τιμών του ρόλου cine:hasDirector είναι η κλάση cine:Director.

Συνεπώς, δεν δίνεται έμφαση στη λακωνικότητα της γλώσσας, όπως στην περίπτωση των περιγραφικών λογικών. Έτσι, εισάγονται γλωσσικές εκφράσεις που βοηθούν διατυπώσεις που μπορούν να γίνουν και με άλλους τρόπους. Χαρακτηριστικό παράδειγμα αποτελεί η δήλωση για το πεδίο ορισμού και το πεδίο τιμών ενός ρόλου, που στην OWL γίνεται με άμεσο τρόπο, ενώ στις περιγραφικές λογικές απαιτείται η διατύπωση σύνθετων αξιωμάτων (Πίνακας (21)), που στηρίζονται στον υπαρξιακό τελεστή και τους ανάστροφους ρόλους. Το σημαντικό, όμως, είναι ότι κάθε γνώση που αναπτύσσεται σε OWL μπορεί εύκολα να μετατραπεί σε γνώση περιγραφικής λογικής, με ταυτόσημη σημασιολογία (για το αντίστροφο υπάρχουν κάποιοι μικροί περιορισμοί των οποίων η ανάλυσή τους ξεφεύγει από τους στόχους του συγκεκριμένου συγγράμματος).

Πίνακας (22): Αξιώματα ιδιοτήτων ρόλων.
Είδος           Παράδειγμα και περιγραφή
Συμμετρικότητα SymmetricObjectProperty(cine:hasSimilar)
Ασυμμετρικότητα AsymmetricObjectProperty(cine:hasDirector)
Ανακλαστικότητα ReflexiveObjectProperty(cine:hasSimilar)
Μη ανακλαστικότητα IrreflexiveObjectProperty(cine:hasDirector)
Αμφιμονοσημαντότητα FunctionalObjectProperty(cine:hasAward)
Μεταβατικότητα TransitiveObjectProperty(cine:ReleasedBefore)
Αμφιμονοσημαντότητα αναστρόφου ρόλου InverseFunctionalObjectProperty(cine:hasAward): Ο ανάστροφος ρόλος του cine:hasAward είναι αμφιμονοσήμαντος.
Πίνακας (23): Κατασκευαστές εννοιών.
Είδος                Έκφραση      Παράδειγμα και περιγραφή
Τομή εννοιών A ⊓ B ObjectIntersectionOf(cine:Drama cine:Comedy): Η ένωση των εννοιών cine:Drama και cine:Comedy.
Ένωση εννοιών A ⊔ B ObjectUnionOf(cine:FeatureFilm cine:ShortFilm): Η τομή των εννοιών cine:FeatureFilm και cine:ShortFilm.
Συμπλήρωμα έννοιας ¬A ObjectComplementOf(cine:ShortFilm): Το συμπλήρωμα της έννοιας cine:ShortFilm
Απαρίθμηση ObjectOneOf(cine:psycho cine:manhattan): Η έννοια που αποτελείται από τα cine:psycho και cine:manhattan.

Οι εκφράσεις της OWL που βλέπουμε στους Πίνακες (19)-(25) διατυπώνονται σε μια σύνταξη που ονομάζεται συναρτησιακή σύνταξη (functional syntax) και έχει ως στόχο να είναι ευανάγνωστη από τον άνθρωπο. Μια εναλλακτική της συναρτησιακής, ευανάγνωστη από ανθρώπους, σύνταξη είναι η σύνταξη Manchester (Manchester syntax), που είναι πιο κοντά στη συμβολική αναπαράσταση. Από την άλλη πλευρά, τόσο η συναρτησιακή σύνταξη όσο και η σύνταξη Manchester δεν είναι απαραίτητα οι καταλληλότερες για την αναπαράσταση οντολογιών και την αποθήκευσή τους με τη μορφή εγγράφων.

Όπως και στην περίπτωση της RDF, έτσι και για την OWL, προκειμένου να καλυφθούν οι σημαντικές απαιτήσεις για συμβατότητα, περιορισμό του μεγέθους, προσβασιμότητα κλπ., έχει προταθεί από την W3C η σειριοποίησή της μέσω της RDF, μέσω όλων των διαφορετικών σειριοποιήσεων της RDF (Turtle, XML κλπ.). Τέλος, έχει προταθεί η άμεση σειριοποίηση της OWL σε XML, πράγμα που προσφέρει τη δυνατότητα άμεσης αναπαράστασης των δομικών στοιχείων μιας συγκεκριμένης οντολογίας, χωρίς μετατροπή σε τριάδες RDF. Στο πλαίσιο της σειριοποίησης στις παραπάνω μορφές, υποστηρίζεται από την OWL η χρήση επισημειώσεων (annotations), οι οποίες περιγράφουν την ίδια την οντολογία ή ένα υποσύνολο των αξιωμάτων ή/και ισχυρισμών της. Η σύνταξη των επισημειώσεων δεν συνοδεύεται από κάποια ιδιαίτερη σημασιολογία· εναπόκειται στον χρήστη να κατανοήσει το είδος και την σημασία της συγκεκριμένης επισημείωσης, όπως ακριβώς γίνεται και με τα σχόλια που συνοδεύουν κάποια πληροφορία.

Πίνακας (24): Κατασκευαστές εννοιών με χρήση ρόλων.
Είδος                Έκφραση      Παράδειγμα και περιγραφή
Yπαρξιακός ποσοδείκτης R.A ObjectSomeValuesFrom(cine:hasDirector cine:Director): Η κλάση των ατόμων που συνδέονται μέσω της ιδιότητας cine:hasDirector με κάποιο στιγμιότυπο της κλάσης cine:Director.
Καθολική ποσοδεικτοδότηση R.A ObjectAllValuesFrom(cine:isDirector cine:Comedy): Η έννοια των ατόμων που σχετίζονται μέσω της ιδιότητας cine:isDirector μόνο με στιγμιότυπα της κλάσης cine:Comedy.
Περιορισμός τιμής ατόμου ObjectHasValue(cine:hasDirector res:John): Η έννοια των ατόμων που συνδέονται μέσω της ιδιότητας cine:hasDirector με το άτομο cine:woodyAllen.
Αυτοπεριορισμός ObjectHasSelf(cine:hasRole): Η έννοια όλων των ατόμων που σχετίζονται με τον εαυτό τους μέσω της ιδιότητας cine:hasRole.
Μέγιστη πληθικότητα nR.C ObjectMaxCardinality(2 cine:isDirector cine:Movie): Η έννοια των ατόμων που σχετίζονται μέσω της ιδιότητας cine:isDirector με το πολύ 2 στιγμιότυπα της έννοιας cine:Movie. Ο προσδιορισμός της τελευταίας έννοιας είναι προαιρετικός.
Ελάχιστη πληθικότητα nR.C ObjectMinCardinality(2 cine:isDirector cine:Movie): Η έννοια των ατόμων που σχετίζονται μέσω της έννοιας cine:isDirector με τουλάχιστον 2 στιγμιότυπα της έννοιας cine:Movie.
Ακριβής πληθικότητα =nR.C ObjectExactCardinality(1 cine:isDirector cine:Movie): Η έννοια των ατόμων που σχετίζονται μέσω της έννοιας cine:isDirector με ακριβώς ένα στιγμιότυπο της έννοιας cine:Movie.

Τέλος, είναι σημαντικό να τονίσουμε ότι η εκφραστικότητα της OWL, όπως βλέπουμε και από τους πίνακες των κατασκευαστών εννοιών και ρόλων, είναι μεγάλη. Συγκεκριμένα, αντιστοιχεί στην περιγραφική λογική 𝒮ℛ𝒪ℐ𝒬(𝒟). Υπενθυμίζουμε ότι τα σύμβολα αντιστοιχούν στους κατασκευαστές τομής, ένωσης, άρνησης, καθολικών και υπαρξιακών ποσοδεικτών, και μεταβατικών ρόλων (𝒮), αλυσίδες ρόλων (), ονοματικές έννοιες (𝒪), ανάστροφους ρόλους (), προσοντούχους περιορισμούς πληθικότητας (𝒬) και τύπους δεδομένων (𝒟). Η μεγάλη εκφραστικότητα της γλώσσας συνοδεύεται και από προβληματικά υπολογιστικά χαρακτηριστικά για τα συστήματα συλλογιστικής, γεγονός που σε ορισμένες εφαρμογές μπορεί να καταστήσει τη χρήση οντολογιών απαγορευτική.

Πίνακας (25): Κατασκευαστές ρόλων.
Είδος                Έκφραση      Παράδειγμα και περιγραφή
Ανάστροφος ρόλος P ObjectInverseOf(cine:isDirector): Ο ανάστροφος του ρόλου cine:isDirector.
Αλυσίδα ρόλων P ∘ R ObjectPropertyChain(cine:hasSimilar cine:hasSimilar). Η ιδιότητα μεταξύ αντικειμένων που σχετίζονται δύο φορές διαδοχικά μεταξύ τους μέσω της cine:hasSimilar.

Για τον σκοπό αυτό, στο πλαίσιο ορισμού της OWL έχει οριστεί ένα σύνολο από εκφραστικά υποσύνολά της που ονομάζονται προφίλ (OWL profiles) και είναι τα εξής:

  1. Η OWL QL, που αποτελεί εκφραστικό αντίστοιχο μιας διαλέκτου της γλώσσας DL-Lite, την οποία παρουσιάσαμε στο προηγούμενο κεφάλαιο και η οποία έχει πολύ καλά υπολογιστικά χαρακτηριστικά για την επίλυση του προβλήματος της απάντησης ερωτημάτων, κυρίως με τη μέθοδο της επαναγραφής.

  2. Η OWL RL, που αποτελεί εκφραστικό αντίστοιχο των περιγραφικών λογικών που αποτελούν υποσύνολα της 𝒮ℋℐ𝒬 και έχουν την ιδιότητα ότι επιτρέπουν τη διατύπωση οριστικής γνώσης (αποτελούν υποσύνολα της Horn λογικής πρώτης τάξης). Η OWL RL έχει πολύ καλά υπολογιστικά χαρακτηριστικά για ένα σύνολο προβλημάτων συλλογιστικής, μέσω αλγορίθμων που στηρίζονται κυρίως στη μέθοδο της υλοποίησης.

  3. Τέλος, έχει προταθεί η OWL EL, η οποία αποτελεί εκφραστικό αντίστοιχο μιας επεκτεταμένης έκδοσης της περιγραφικής λογικής ℰℒ, της ℰℒ που δίνει επιπλέον τη δυνατότητα για ανάστροφους ρόλους, ονοματικές έννοιες και τύπους δεδομένων, με κάποιους περιορισμούς. Στην OWL EL είναι ιδιαίτερα αποτελεσματικοί αλγόριθμοι ταξινόμησης εννοιών που στηρίζονται στον αλγόριθμο δομικής υπαγωγής.

Βιβλιογραφικές σημειώσεις

Βιβλιογραφία

[1] T. Berners-Lee, J. Hendler and O. Lassila The Semantic Web. Scientific American, pages 96–101, May 2001.

[2] I. Horrocks and P. F. Patel-Schneider The Generation of DAML+OIL. In Proceedings of the 2001 Description Logic Workshop, 2001.

[3] D. Fensel, F. van Harmelen, I. Horrocks, D. McGuinness, and P. F. Patel-Schneider OIL: An Ontology Infrastructure for the Semantic Web. IEEE Intelligent Systems, 16(2):38-45, 2001.

[4] S. Abiteboul I. Manolescu, M.-C. Rousset and P. Senellart Web Data Management. Cambridge University Press 2011.

[5] P. Hitzler, M. Krötzsch, B. Parsia, P. Patel-Schneider and S. Rudolph OWL 2 Web Ontology Language Primer. Recommendation (available at https://www.w3.org/TR/owl2-primer/), 2009.

[6] I. Horrocks Ontologies and the Semantic Web. Communications of the ACM, 51(12):58-67, December 2008.

[7] B. Cuenca Grau, I. Horrocks, B. Motik, B. Parsia, P. Patel-Schneider, and U. Sattler OWL 2: The next step for OWL. Journal of Web Semantics, 6(4):309-322, November 2008.

[8] I. Horrocks and P. F. Patel-Schneider, and F. van Harmelen From SHIQ and RDF to OWL: The making of a Web Ontology Language. Journal of Web Semantics 1: 7–26, 2003.

[9] RDF 1.1 concepts and abstract syntax. Recommendation (available at https://www.w3.org/TR/rdf11-concepts/), 2014.

[10] RDF Schema 1.1. Recommendation (available at https://www.w3.org/TR/2014/PER-rdf-schema-20140109/), 2014.

[11] SPARQL Query Language for RDF. Recommendation (available at http://www.w3.org/TR/rdf-sparql-query/), 2008.

[12] SPARQL 1.1 Query Language. Recommendation (available at http://www.w3.org/TR/sparql11-query/), 2013.

[13] OWL Web Ontology Language document overview. Recommendation (available at http://www.w3.org/TR/owl-features/, 2004.

[14] OWL 2 Web Ontology Language document overview (second edition). Recommendation (available at http://www.w3.org/TR/owl2-overview/, 2012.

Ακρωνύμια

KMA : Κανονική Μορφή Άρνησης
ΚΣΜ : Κανονική Συζευκτική Μορφή
ΛΠΤ : Λογική Πρώτης Τάξης
ΣΔΣΒΔ : Σύστημα Διαχείρισης Σχεσιακών Βάσεων Δεδομένων
RDF : Resource Description Framework
RDFS : Resource Description Framework Schema
OWL : Web Ontology Language

Γλωσσάρι

άρνηση negation
άτομο atom
άτομο individual
έκφραση expression
έννοια concept
ένωση disjunction
ακυκλικό TBox acyclic TBox
αλγόριθμος tableau tableau algorithm
ανάθεση μεταβλητών variable assignment
ανάστροφοι ρόλοι inverse roles
ανακλαστικότητα reflexivity
αναλυθέν resolvent
ανισότητα ατόμων individual inequality
αντίφαση clash
αντικατάσταση μεταβλητών variable substitution
αντιστοίχιση ερμηνείας interpretation mapping
αξίωμα ισοδυναμίας εννοιών concept equivalence axiom
αξίωμα ισοδυναμίας ρόλων role equivalence axiom
αξίωμα υπαγωγής εννοιών concept subsumption axiom
αξίωμα υπαγωγής ρόλων role subsumption axiom
αξίωμα axiom
απαλοιφή του TBox TBox elimination
απλός όρος simple term
αποδοτικός αλγόριθμος efficient algorithm
αποκρίσιμος αλγόριθμος decidable algorithm
αποτίμηση valuation
αποτελεσματικότητα effectiveness
απτό αντικείμενο concrete object
απόδοση efficiency
αριθμητικός περιορισμός το-λιγότερο at-least number restriction
αριθμητικός περιορισμός το-πολύ at-most number restriction
ασυνεπής έκφραση inconsistent expression
ασυνεπής πρόταση inconsistent proposition
ατομική έκφραση atomic expression
ατομική ονοματική έκφραση έννοιας atomic concept expression
ατομική ονοματική έκφραση ρόλου atomic role expression
ατομική πρόταση atomic proposition
ατομική φόρμουλα atomic formula
αυτόματη συλλογιστική automated reasoning
αφηρημένο αντικείμενο abstract object
βάση Herbrand Herbrand base
βάση γνώσης knowledge base
βατή περιγραφική λογική tractable description logic
για κάθε universal
διάζευξη disjunction
δομή tableau tableau structure
δομική υπαγωγή structural subsumption
ελεύθερη μεταβλητή free variable
ελεύθερο αντιφάσεων ABox clash-free ABox
ενοποίηση unification
ενοποιητής unifier
επέκταση TBox expansion TBox
επεκτεταμένη μορφή expanded form
ερμηνεία interpretation
εσωτερίκευση internalisation
ημι-αποφάνσιμη λογική semi-decidable logic
ιδιότητα πεπερασμένου δενδρικού μοντέλου finite tree-model property
ικανοποιήσιμη έννοια satisfiable concept
ικανοποιήσιμη γνώση satisfiable knowledge
ικανοποιεί satisfies
ισοδύναμες έννοιες equivalent concepts
ισχυρισμός έννοιας concept assertion
ισχυρισμός ανισότητας ατόμων individual inequality assertion
ισχυρισμός ισότητας ατόμων individual equality assertion
ισχυρισμός ρόλου role assertion
ισότητα ατόμων individual equality
καθολικός ποσοδείκτης universal quantifier
καθολικός ρόλος universal role
καλά ορισμένη φόρμουλα well-defined formula
κανονική μορφή άρνησης negation normal form
κανονική συζευκτική μορφή conjunctive normal form
κανονικό μοντέλο canonical model
κανόνας συλλογιστικής inference rule
κανόνας της ανάλυσης resolution rule
κανόνες tableau tableau rules
κατασκευαστής ανάστροφου ρόλου inverse role constructor
κατασκευαστής εννοιών concept constructor
κατασκευαστής σύνθεσης ρόλων role composition constructor
κατασκευαστής constructor
κατηγορία category
κατηγόρημα predicate
κλάση class
λεκτικό literal
λογικά ισοδύναμες προτάσεις logically equivalent clauses
λογική πρώτης τάξης first-order logic
λογικό συμπέρασμα logical entailment
λογικό σύμβολο logical symbol
λογικός σύνδεσμος logical connective
μεταβατικότητα transitivity
μεταβλητή variable
μη λογικό σύμβολο non-logical symbol
μη ντετερμινιστικός non-deterministic
μοντέλο model
μπλοκάρισμα υποσυνόλου subset blocking
μπλοκάρισμα blocking
ξένες έννοιες disjoint concepts
ξεδίπλωμα unfolding
οκνηρό ξεδίπλωμα lazy unfolding
ονοματική έκφραση έννοιας concept expression
ονοματική έκφραση ρόλου role expression
ονοματική έννοια nominal
οντολογία ontology
ορθότητα soundness
πίνακας αληθείας truth table
πεδίο domain
περιορισμός ελάχιστης πληθικότητας least number restriction
περιορισμός μέγιστης πληθικότητας greatest number restriction
περιγραφικές λογικές description logics
πλήρης δομή tableau complete tableau structure
πλαίσιο frame
πληθικότητα cardinality
πληρότητα completeness
πολυπλοκότητα complexity
προσοντούχος περιορισμός πληθικότητας qualified number restriction
προτασιακή λογική propositional logic
προτασιακή μεταβλητή propositional variable
προτασιακό clausal
ρητή γνώση explicit knowledge
ρόλος role
σημασία denotation
σημασιολογία semantics
σημασιολογικό δίκτυο semantic network
σταθερά Skolem Skolem constant
σταθερά constant
στιγμιότυπο instance
συλλογιστική reasoning
συμμετρικότητα symmetry
συμπεραίνουμε infer
συμπλήρωμα complement
συνάρτηση Skolem Skolem function
συνάρτηση αληθείας truth function
συνεπάγεται λογικά logically entails
συνεπές ABox consistent ABox
συνεπής έκφραση consistent
συνεπής πρόταση consistent proposition
συνεπής consistent
σχέση relation
σύζευξη conjunction
σύνθεση ρόλων role composition
σύνθετη έκφραση complex expression
σύνθετη πρόταση complex proposition
σύνθετος όρος complex term
σύνταξη syntax
σώμα ισχυρισμών assertion box
σώμα ορολογίας terminological box
ταυτολογία tautology
τομή conjunction
τρόπος του θέτειν modus ponens
τυπική σημασιολογία formal semantics
υπάγεται subsumed
υπάρχει existential
υπαρξιακός ποσοδείκτης existential quantifier
υπογραφή signature
υπονοούμενη γνώση implicit knowledge
υπορόλος subrole
υπόθεση μοναδικού ονόματος unique name assumption
φαινόμενο yo-yo yo-yo effect
φυσικό νόημα natural meaning
φόρμουλα formula
όρος term