Εργαστήριο μαθήματος «Τεχνολογία Γνώσης» Σαντιπαντάκης Γιώργος

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Κατηγορηματικός Λογισμός
Advertisements

Βασικές έννοιες αλγορίθμων
Eπιμέλεια Τίκβα Χριστίνα
Εργαστήριο μαθήματος «Τεχνολογία Γνώσης» Σαντιπαντάκης Γιώργος
PROLOG.
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Prolog Tutorial Επεξεργασία και Αναπαράσταση Γνώσης Άνοιξη 2010
ΕΠΛ 434 – Λογικός Προγραμματισμός και Τεχνητή Νοημοσύνη
ΜΑΘ-3122/106 Προγραμματισμός
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
Εργαστήριο μαθήματος «Τεχνολογία Γνώσης» Σαντιπαντάκης Γιώργος
Εργαστήριο μαθήματος «Τεχνολογία Γνώσης» Σαντιπαντάκης Γιώργος
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΝΝΟΙΑ ΤΟΥ ΑΛΓΟΡΙΘΜΟΥ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΜΑΡΤΙΟΣ 2012 Π. Σοφράς.
ΑΛΓΟΡΙΘΜΟΙ.
ΑΕΠΠ 2ο Κεφάλαιο: Βασικές Έννοιες Αλγορίθμων
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ-150 Προγραμματισμός Αλγόριθμοι και Προγράμματα.
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ» Β΄ τάξης Γενικού Λυκείου
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
1 Ολυμπιάδα Πληροφορικής Μάθημα 2. 2 Στόχοι μαθήματος Αριθμητικοί– Λογικοί Τελεστές Η εντολή IF.
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Microsoft Excel 4.4 Τύποι και Συναρτήσεις
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΚΛΑΔΟΙ ΤΗΣ ΦΙΛΟΣΟΦΙΑΣ ΚΑΙ ΕΠΙΣΤΗΜΕΣ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΝΝΟΙΑ ΤΟΥ ΑΛΓΟΡΙΘΜΟΥ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Ενότητα Α.4. Δομημένος Προγραμματισμός
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Αλγόριθμοι 2.1.1,
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ
Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή Μιας σειράς ξεχωριστών οδηγιών –βημάτων, με σκοπό την επίλυση ενός προβλήματος Η έννοια του αλγορίθμου.
Computers: Information Technology in Perspective By Long and Long Copyright 2002 Prentice Hall, Inc. Προγραμματισμός Η / Υ 6 η Διάλεξη.
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Οι λογικές πράξεις και οι λογικές πύλες
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
Ερωτήσεις & Φύλλο εργασίας
Διαφάνειες παρουσίασης #2
ΚΕΦΑΛΑΙΟ Τι είναι αλγόριθμος
Βασικά στοιχεία της Java
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Βασικές έννοιες προγραμματισμού Κεφάλαιο 7 ο. Βασικές έννοιες προγραμματισμού Αλφάβητο και τύποι δεδομένων Σταθερές και μεταβλητές Τελεστές, συναρτήσεις.
 Στο προηγούμενο μάθημα έγινε μια εισαγωγή στην γενική μορφή ενός προγράμματος  Αυτή η μορφή ακολουθεί την λογική της απόδειξης θεωρημάτων μέσω προτάσεων.
Πληροφορική 2 Γλώσσες Προγραμματισμού 1. Γλώσσες προγραμματσιμού  Επιτρέπουν την κωδικοποίηση των αλγορίθμων  Η εκτέλεση ενός προγράμματος θα πρέπει.
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΚΕΦΑΛΑΙΟ 2 Βασικές Έννοιες Αλγορίθμων.
Prolog Επεξεργασία και Αναπαράσταση Γνώσης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο: Τεχνητή Νοημοσύνη.
ΚΕΦΑΛΑΙΟ 2ο - ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Prolog Επεξεργασία και Αναπαράσταση Γνώσης
Prolog Επεξεργασία και Αναπαράσταση Γνώσης Εισαγωγή
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Prolog Επεξεργασία και Αναπαράσταση Γνώσης
Τελεστές και ή όχι Για την εκτέλεση αριθμητικών πράξεων
ΦΑΣΕΙΣ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΟΣ – ΑΝΑΠΤΥΞΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ
3.2 Μεταβλητές και τύποι δεδομένων
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Εντολές και δομές αλγορίθμου
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
Βασικές έννοιες αλγορίθμων
ΠΛΗΡΟΦΟΡΙΚΗ Γ΄ Γυμνασίου Α΄ Τρίμηνο
UNIT 1 Τα Πρώτα Προγράμματα.
Μεταγράφημα παρουσίασης:

Εργαστήριο μαθήματος «Τεχνολογία Γνώσης» Σαντιπαντάκης Γιώργος

Περιεχόμενα • Σύντομη εισαγωγή στη Prolog • Βασικές αρχές προγραμματισμού σε Prolog • Σταθερές, μεταβλητές και λογικοί τελεστές • Γεγονότα και κανόνες

Εισαγωγή στη Prolog • Κατηγορηματική Λογική Πρώτης Τάξης Κάθε άνθρωπος είναι θνητός Ο Σωκράτης είναι άνθρωπος Ο Σωκράτης είναι θνητός Η γλώσσα προγραμματισμού PROLOG (PROgramming in LOGic) ακολουθεί μεθόδους της λογικής για την αναπαράσταση γνώσης και την επίλυση προβλημάτων, χρησιμοποιώντας για τον προγραμματισμό την απλή λογική. Ο προτασιακός λογισμός και ειδικότερα ένα υποσύνολό του οι προτάσεις Horn, αποτελούν τη βάση ανάπτυξης της PROLOG.

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

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

Σταθερές (constants ή atoms) • Για τη Prolog, σταθερά θεωρείται κάθε αλφαριθμητικό που ξεκινά με μικρό γράμμα – my_computer – student001 – john (κλπ) • Κάθε αριθμός – 5, -10, , κλπ • Κάθε αλφαριθμητικό ανάμεσα σε «’»: – ‘Test’ – ‘hello world’

Μεταβλητές • Κάθε λέξη που ξεκινά με κεφαλαίο γράμμα, ή υπογράμμιση (underscore) – Person, – Student – X1 – _a001 (κλπ) • Οι μεταβλητές που ξεκινούν με υπογράμμιση λέγονται και «ανώνυμες μεταβλητές»

Λογικοί τελεστές • Για την κωδικοποίηση ενός προβλήματος λογικής, είναι απαραίτητοι οι λογικοί τελεστές: – «και» (and), συμβολίζεται στη Prolog «,» – «ή» (or), συμβολίζεται στη Prolog «;» – «άρνηση» (not), συμβολίζεται στη Prolog «\+»

Σύνθετα Αντικείμενα • περιγράφουν γεγονότα, π.χ. – father(john, helen). – part_of(greece, europe). – student(kostas). – fact001(event002, position(12,15)). – date(thursday,8,november,2012). • Η δήλωση κάθε γεγονότος ολοκληρώνεται με «.» father(john, helen). όνομα (functor) ορίσματα (arguments)

Κανόνες • Οι λογικοί τελεστές χρησιμοποιούνται για τη σύνθεση κανόνων. Η γενική μορφή είναι: – H :- P 1, P 2 ; P 3,…, P n • Το σύμβολο «:-» χωρίζει τον κανόνα σε δύο μέρη: – τη κεφαλή (head) – το σώμα (body) • Η κεφαλή ενός κανόνα είναι αληθής, αν αποδεικνύεται ότι το σώμα είναι αληθές • Ένας κανόνας χωρίς κεφαλή, – :- P 1, P 2 ; P 3,…, P n • έχει την έννοια της «άμεσα εκτελέσιμης εντολής», δηλαδή θα εκτελεστεί κατά την ανάγνωση του προγράμματος από τη Prolog

Παράδειγμα • Γεγονότα: – mother(maria,john). – father(kostas,john). • Κανόνας: – pair(X,Y) :- mother(X,Z),father(Y,Z). • Ερωτήματα: – pair(maria,kostas)? pair(W,kostas)? pair(maria,Y)? – pair(kostas,maria)?

Παραδείγματα • Γεγονότα: – mother(maria,john). – father(kostas,john). • Κανόνας: – pair(X,Y) :- mother(X,Z),father(Y,Z) ; mother(Y,Z),father(X,Z). • Ερωτήματα: – pair(kostas,maria)?

Παραδείγματα • Γεγονότα: – mother(maria,john). – father(kostas,john). – mother(sue,kostas). – father(peter,kostas). • Κανόνας: – parent(X,Y) :- mother(X,Y) ; father(X,Y). – ancestor(X,Y) :- parent(X,Y). – ancestor(X,Y):-parent(X,Z),parent(Z,Y). • Ερωτήματα: – ancestor(X,kostas)? ancestor(sue,X)?

Ταίριασμα • Το ταίριασμα είναι μια ένα-προς-ένα αντιστοίχιση δύο όρων (π.χ. του όρου της ερώτησης και του γεγονότος) • Για να αντιστοιχισθούν δύο όροι, πρέπει: – να έχουν το ίδιο όνομα functor – και το ίδιο arity (πλήθος ορισμάτων). • Αυτό θα πρέπει να συμβαίνει και για κάθε ένα από τα oρίσματά τoυς.

Παραδείγματα • Γεγονός: – now(date(thursday,8,november,2012),time(20,15,00)). • Ερώτημα: – ?- now(Date,time(Hour,Minute,Second)). Date=date(thursday,8,november,2012) Hour=20 Minute=15 Second=00

Παραδείγματα • Γεγονός: – now(date(thursday,8,november,2012),time(20,15,00)). • Ερωτήματα: – ?- now(date(Day,8,november,2012),time(20,Min,Sec)). Day=thursday Min=15 Sec=00 – ?-now(date(Day,8,november,2012),time(Hour)). ??? – ?-now(date(Day,8,november,2012),time(Hour,_,_)). ???

Παραδείγματα • Γεγονότα: – value(5). – value(4+2). • Ερωτήματα: – ?-value(X). X=5 X=4+2(οι πράξεις δεν γίνονται μόνες τους!) – ?-value(3+X). No – ?-value(4+X). X=2 – ?-value(3+2). No