Τεχνητή Νοημοσύνη
Ορισμός
[επεξεργασία]Αν και δεν υπάρχει κάποιος καθολικά αποδεκτός ορισμός, Τεχνητή Νοημοσύνη ή συντομογραφικά ΤΝ είναι η μελέτη προγραμματισμένων συστημάτων τα οποία μπορούν να προσομοιώνουν, μέχρι κάποιο βαθμό, λειτουργίες του ανθρώπινου εγκεφάλου όπως η αντίληψη, η σκέψη, η μάθηση, και η δράση.
Ιστορική Αναδρομή
[επεξεργασία]Για να κατανοήσουμε την τεχνητή νοημοσύνη πρέπει να κατανοήσουμε την ιστορία της. Παρόλο που η τεχνητή νοημοσύνη, ως ανεξάρτητο σημείο μελέτης, είναι σχετικά καινούρια, οι καταβολές της είναι πολύ πιο παλιές. Πριν από περίπου 2,5 χιλιάδες χρόνια, ο φιλόσοφος Αριστοτέλης εφηύρε την έννοια της λογικής συλλογιστικής (logical reasoning). Στη συνέχεια ο Leibniz και ο Νεύτωνας συνέχισαν την προσπάθεια ολοκλήρωσης της γλώσσας της λογικής. Οι υπολογιστές όμως, όπως τους γνωρίζουμε σήμερα, πρωτοεμφανίστηκαν το 1600, όταν ο Blaise Pascal, γνωστός για τις μαθηματικές του δεξιότητες, ανακάλυψε την Pascaline, μία υπολογιστική μηχανή που δούλευε για τον υπολογισμό των φόρων. Τον 19ο αιώνα, τα θεμέλια έθεσε ο George Boole αναπτύσσοντας την άλγεβρα Boole, στην οποία βασίζονται σήμερα τα υπολογιστικά κυκλώματα. Ακολούθως το 1837, ο Charles Babbage και η Ada Lovelace σχεδίασαν τις πρώτες προγραμματιζόμενες μηχανές: η διαφορική μηχανή (difference engine), η οποία σχεδιάστηκε ως αριθμομηχανή, και η αναλυτική μηχανή (analytical engine), η οποία οδήγησε στους πιο σύγχρονους υπολογιστές που προγραμματίζονταν με διάτρητες κάρτες. Αυτές οι ανακαλύψεις άνοιξαν τον δρόμο για τη σύγχρονη εποχή της τεχνητής νοημοσύνης. Ωστόσο, η βασική ιδέα της σκεπτόμενης μηχανής προήλθε από τον Alan Turing, ο οποίος πρότεινε τον έλεγχο Turing (Tuting test).
Ο όρος "Τεχνητή Νοημοσύνη" χρησιμοποιήθηκε για πρώτη φορά από τον John McCarthy το 1956, σε ένα συνέδριο στο Κολέγιο Dartmouth, όπου πρότεινε τη χρήση του όρου για να περιγράψει υπολογιστές με δυνατότητα μίμησης ή αντιγραφής των λειτουργιών του ανθρώπινου εγκεφάλου. Στο συγκεκριμένο συνέδριο, παρουσιάστηκε ένα άρθρο που πρότεινε τη μελέτη της τεχνητής νοημοσύνης με βάση την υπόθεση ότι "κάθε πτυχή της μάθησης ή κάθε άλλου γνωρίσματος νοημοσύνης μπορεί να περιγράψει με τόση μεγάλη ακρίβεια, ώστε η μηχανή να μπορεί να την προσομοιώσει".
Ορισμένοι πρωτοπόροι στον τομέα της τεχνητής νοημοσύνης, που παρακολούθησαν αυτό το συνέδριο, προέβλεψαν από τη δεκαετία του 1960 ότι οι υπολογιστές θα είναι τόσο "έξυπνοι" όσο και οι άνθρωποι. Η πρόβλεψη αυτή δεν έχει γίνει πραγματικότητα, αλλά ήδη υπάρχουν πολλές εφαρμογές της τεχνητής νοημοσύνης και η έρευνα συνεχίζεται.
Γλώσσες προγραμματισμού
[επεξεργασία]Αν και ορισμένες γλώσσες προγραμματισμού γενικού σκοπού, όπως η C, η C++ και η Java, χρησιμοποιούνται για τη δημιουργία ευφυούς λογισμικού, υπάρχουν δύο γλώσσες ειδικά σχεδιασμένες για τεχνητή νοημοσύνη: η LISP και η PROLOG.
LISP
Η LISP (LISt Programming, δηλαδή προγραμματισμός με λίστες) επινοήθηκε το 1958 από τον John McCarthy. Όπως δείχνει και το όνομα της, η LISP είναι μια γλώσσα προγραμματισμού που χειρίζεται λίστες. Η LISP χειρίζεται ως λίστες τόσο τα δεδομένα όσο και τα προγράμματα, πράγμα που σημαίνει ότι ένα πρόγραμμα σε LISP μπορεί να μεταβάλλεται από μόνο του. Αυτή η δυνατότητα ταυτίζεται με την ιδέα του ευφυούς πράκτορα που μπορεί να μαθαίνει από το περιβάλλον του και να βελτιώνει τη συμπεριφορά του. Ωστόσο, ένα σημαντικό μειονέκτημα της LISP είναι η πολύ αργή απόκρισή της. Όταν χειρίζεται μεγάλες λίστες, η γλώσσα είναι πολύ αργή. Ένα άλλο μειονέκτημά της είναι η πολυπλοκότητα της σύνταξης.
PROLOG
Η PROLOG (PROgramming in LOGic, δηλαδή προγραμματισμός με βάση τη λογική) είναι μια γλώσσα που επιτρέπει τη δημιουργία βάσεων δεδομένων με γεγονότα και γνωσιακών βάσεων με κανόνες. Ένα πρόγραμμα PROLOG μπορεί να χρησιμοποιεί λογική συλλογιστική για να απαντά σε ερωτήσεις που συνάγονται από τη γνωσιακή βάση. Ωστόσο, η PROLOG δεν είναι ιδιαίτερα αποτελεσματική γλώσσα προγραμματισμού. Ορισμένα σύνθετα προβλήματα μπορούν να λυθούν πιο αποδοτικά με άλλες γλώσσες, όπως η C, η C++ ή η Java.
Οι Διαστάσεις της Τεχνητής Νοημοσύνης
[επεξεργασία]Οι υπολογιστές σχεδιάστηκαν αρχικά για να εκτελούν απλές μαθηματικές πράξεις με καθορισμένους προγραμματισμένους κανόνες και τελικά έφτασαν να εκτελούν εκατομμύρια υπολογισμούς ανά δευτερόλεπτο. Όταν αναφερόμαστε στην εκτέλεση αριθμητικών πράξεων με ταχύτητα και ακρίβεια, οι υπολογιστές νικούν τους ανθρώπους "με κατεβασμένα τα χέρια". Ωστόσο, οι υπολογιστές εξακολουθούν να δυσκολεύονται στην αναγνώριση υποδειγμάτων, στην προσαρμογή σε νέες καταστάσεις και στην εξαγωγή συμπερασμάτων, όταν δεν δέχονται πλήρεις πληροφορίες, δραστηριότητες τις οποίες οι άνθρωποι μπορούν να υλοποιούν με ικανοποιητικό τρόπο. Τα συστήματα τεχνητής νοημοσύνης διαχειρίζονται αυτής της φύσεως τα προβλήματα. Τα συστήματα τεχνητής νοημοσύνης συμπεριλαμβάνουν τους ανθρώπους, τις διαδικασίες, το υλικό, το λογισμικό, τα δεδομένα και τις γνώσεις που απαιτούνται για την ανάπτυξη υπολογιστικών συστημάτων και μηχανών που έχουν τη δυνατότητα να προσομοιώνουν διαδικασίες ανθρώπινης νοημοσύνης, συμπεριλαμβανομένης της μάθησης (λήψη πληροφοριών και κανόνων χρήσης τους), της επιχειρηματολογίας (χρήση κανόνων για εξαγωγή συμπερασμάτων) και της αυτο-διόρθωσης (χρήση του αποτελέσματος από ένα σενάριο για να βελτιωθεί η απόδοση σε μελλοντικά σενάρια). Η τεχνητή νοημοσύνη είναι ένα πολυεπιστημονικό πεδίο στο οποίο συμπεριλαμβάνονται ειδικότητες όπως η βιολογία, η πληροφορική, η γλωσσολογία, τα μαθηματικά, η νευρολογία, η φιλοσοφία και η ψυχολογία. Η μελέτη των συστημάτων τεχνητής νοημοσύνης εγείρει φιλοσοφικά ερωτήματα σχετικά με τη φύση του ανθρώπινου μυαλού και της ηθικής που διέπει τη δημιουργία αντικειμένων που διαθέτουν την ανθρώπινη νοημοσύνη. Σήμερα, τα συστήματα τεχνητής νοημοσύνης χρησιμοποιούνται σε πολλές βιομηχανίες και εφαρμογές. Οι ερευνητές, οι επιστήμονες και οι ειδικοί πάνω στον τρόπο σκέψης των ανθρώπινων εμπλέκονται συχνά στην ανάπτυξη αυτών των συστημάτων.