Μετάβαση στο περιεχόμενο

Knowledge-based systems

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια

Ευθείς μεταφρασμένο απο το ομώνυμο αγγλόφωνο αρθρο Knowledge-based systems

Ένα σύστημα βασισμένο στη γνώση (Knowledge-Based System - KBS) είναι ένα πρόγραμμα υπολογιστή που συλλογίζεται και χρησιμοποιεί μια βάση γνώσεων για να επιλύσει σύνθετα προβλήματα. Τα συστήματα βασισμένα στη γνώση ήταν το επίκεντρο των πρώτων ερευνητών της τεχνητής νοημοσύνης τη δεκαετία του 1980. Ο όρος μπορεί να αναφέρεται σε μια ευρεία γκάμα συστημάτων. Ωστόσο, όλα τα συστήματα βασισμένα στη γνώση έχουν δύο καθοριστικά στοιχεία: μια προσπάθεια ρητής αναπαράστασης της γνώσης, που ονομάζεται βάση γνώσεων, και ένα σύστημα συλλογιστικής που τους επιτρέπει να παράγουν νέα γνώση, γνωστό ως μηχανισμός συμπερασμού.

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

Η μηχανή συμπερασμού χρησιμοποιεί μεθόδους συλλογιστικής γενικού σκοπού για να αντλήσει νέα γνώση και να επιλύσει προβλήματα στο συγκεκριμένο πεδίο. Συνήθως, εφαρμόζει τη μέθοδο της εμπρόσθιας ή οπίσθιας αλυσίδας (forward chaining ή backward chaining). Άλλες προσεγγίσεις περιλαμβάνουν τη χρήση αυτόματης απόδειξης θεωρημάτων, προγραμματισμού λογικής, συστημάτων blackboard και συστημάτων επαναγραφής όρων όπως οι Κανόνες Διαχείρισης Περιορισμών (Constraint Handling Rules - CHR).

Πτυχές και ανάπτυξη των πρώιμων συστημάτων Συστήματα βασισμένα στη γνώση vs. συστήματα ειδικών

[Επεξεργασία | επεξεργασία κώδικα]

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

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

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

Συστήματα βασισμένα σε κανόνες

[Επεξεργασία | επεξεργασία κώδικα]

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

Η ρητή αναπαράσταση της γνώσης μέσω κανόνων είχε αρκετά πλεονεκτήματα:

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

Μετα-συλλογιστική

[Επεξεργασία | επεξεργασία κώδικα]

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

Άλλα παραδείγματα αρχιτεκτονικών συστημάτων βασισμένων στη γνώση που υποστηρίζουν μετα-επίπεδο συλλογιστικής είναι το MRS και το SOAR.

Διεύρυνση εφαρμογών

[Επεξεργασία | επεξεργασία κώδικα]

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

Εξελίξεις μέσω βελτιωμένης αρχιτεκτονικής

[Επεξεργασία | επεξεργασία κώδικα]

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

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

Εξελίξεις στην αυτοματοποιημένη συλλογιστική

[Επεξεργασία | επεξεργασία κώδικα]

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

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