ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 5 ο Εξάμηνο - Ενότητα 7 - Επεξεργασία Λιστών Δημοσθένης Σταμάτης Τμήμα Πληροφορικής T.E.I. ΘΕΣΣΑΛΟΝΙΚΗΣ.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βασικές έννοιες αλγορίθμων
Advertisements

Να καταργήσουμε τη ΓΛΩΣΣΑ και να κρατήσουμε μόνο την ψευδογλώσσα
PROLOG.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 8 Συναρτησιακός Προγραμματισμός: Η Γλώσσα Haskell Προπτυχιακό.
Ενότητα 1: Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό
Εργαστήριο μαθήματος «Τεχνολογία Γνώσης» Σαντιπαντάκης Γιώργος
Πίνακες και επεξεργασία τους
Κεφάλαιο 7 Λογικός Προγραμματισμός: Η Γλώσσα Prolog
Prolog Tutorial Επεξεργασία και Αναπαράσταση Γνώσης Άνοιξη 2010
ΕΠΛ 434 – Λογικός Προγραμματισμός και Τεχνητή Νοημοσύνη
ΠΑΡΑΡΤΗΜΑ 2 Το Σύστημα Κανόνων CLIPS
Τάξη Β Ενότητα 4 Κινέζικο τετράγωνο
Δομές Δεδομένων στο Λ.Π.. Λίστες Λίστα είναι ένας όρος –Οι όροι αυτοί ορίζονται με τη βοήθεια μιας συνάρτησης: [ ] σταθερά για κενή λίστα – nil [t1| l]
Ε. ΠετράκηςΣτοίβες, Ουρές1 Στοίβες  Στοίβα: περιορισμένη ποικιλία λίστας  τα στοιχεία μπορούν να εισαχθούν ή να διαγραφούν μόνο από μια άκρη : λίστες.
Στοίβα, Ουρά.
ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 5 ο Εξάμηνο - Ενότητα 8 - Προβλήματα Προσπάθειας και Αποτυχίας Δημοσθένης Σταμάτης Τμήμα Πληροφορικής T.E.I. ΘΕΣΣΑΛΟΝΙΚΗΣ.
Ενότητα Α.4. Δομημένος Προγραμματισμός
Δομές Δεδομένων. Επιλογή δομής δεδομένων Κριτήρια: – Μέγεθος του προβλήματος – Πως θα χρησιμοποιηθεί Ενέργειες που καθορίζουν το κόστος: – Lookup: αναζήτηση/έλεγχος.
Ταυτοποίηση (Unification). Πίνακας Ταυτοποίησης Όρος 1 Όρος 2 C1 X1 F (τ 1,…,τ ν ) C2 Επιτυχές αν C1 == C2 Επιτυχές {Χ1 = C2} Αποτυγχάνει Χ2 Επιτυχές.
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
Project in XSB Prolog Επεξεργασία και Αναπαράσταση Γνώσης Άνοιξη 2007 Τμήμα Επιστήμης Υπολογιστών Πανεπιστημίου Κρήτης.
Το Συντακτικό της PROLOG
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι 4-1 Στην ενότητα αυτή θα μελετηθεί η χρήση στοιβών στις εξής εφαρμογές: Αναδρομικές συναρτήσεις Ισοζυγισμός Παρενθέσεων.
Δομές Δεδομένων και Αρχεία Ενότητα 10: Κυκλικά και Διπλά Συνδεδεμένη Λίστα Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I.
Δομές Δεδομένων και Αρχεία
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
1 Εμπορικό και Οικονομικό Δίκαιο Εταιρείες Παππά Βιβή Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Πρόγραμμα Προπτυχιακών Σπουδών Ροή Λ: Λογισμικό Κώστας Κοντογιάννης Αναπλ. Καθηγητής Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Ε.Μ.Π.
Τεχνολογία και ποιοτικός έλεγχος Σιτηρών & Αρτοσκευασμάτων Ενότητα 7: Λειτουργικά προϊόντα δημητριακών. Θεοφάνης Γεωργόπουλος, Kαθηγητής Εφαρμογών, Τμήμα.
Εισαγωγή στη Νοσηλευτική Επιστήμη Ενότητα 7: Σχιζοφρένεια - Διδασκαλία Αυτοφροντίδας. Κοτρώτσιου Ευαγγελία, Καθηγητής, Τμήμα Νοσηλευτικής, T.E.I. Θεσσαλίας.
Εισαγωγή στη Νοσηλευτική Επιστήμη Ενότητα 9: Επικοινωνία. Κοτρώτσιου Ευαγγελία, Καθηγητής, Τμήμα Νοσηλευτικής, T.E.I. Θεσσαλίας.
 Στο προηγούμενο μάθημα έγινε μια εισαγωγή στην γενική μορφή ενός προγράμματος  Αυτή η μορφή ακολουθεί την λογική της απόδειξης θεωρημάτων μέσω προτάσεων.
ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 5 ο Εξάμηνο - Ενότητα 9 - Προβλήματα Γράφων Δημοσθένης Σταμάτης Τμήμα Πληροφορικής T.E.I. ΘΕΣΣΑΛΟΝΙΚΗΣ.
Εισαγωγή στους Η/Υ Ενότητα 2: Αναδρομή στην ιστορία της τεχνολογίας Ιωάννης Σταματίου Οργάνωση και Διοίκηση Επιχειρήσεων.
Prolog Επεξεργασία και Αναπαράσταση Γνώσης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο: Τεχνητή Νοημοσύνη.
1 Ενοποιημένες Χρηματοοικονομικές Καταστάσεις Στάδια Κατάρτισης των ΕΟΚ Δρ. Χύτης Ευάγγελος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ. Δυαδική αναζήτηση (Binary search) ΔΕΔΟΜΕΝΟ: ένα μεγάλο αρχείο που περιέχει τιμές z [0,1,…,n-1] ταξινομημένες.
Prolog Επεξεργασία και Αναπαράσταση Γνώσης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο: Τεχνητή Νοημοσύνη.
Πληροφορική 2 Τεχνητή νοημοσύνη 1. Τι είναι τεχνητή νοημοσύνη;  Τεχνητή νοημοσύνη (AI=Artificial Intelligence) είναι η μελέτη προγραμματισμένων συστημάτων.
1 Λογιστική Εθνικών Λογαριασμών Διανεμητικές Συναλλαγές Διακομιχάλης Μιχαήλ Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
ΕΝΟΤΗΤΑ 1. ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΕΦΑΛΑΙΟ 1.1 ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 1.
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα:
Οι Δομές Δεδομένων Ουρά και Στοίβα
ΚΕΦΑΛΑΙΟ 2ο - ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Πρόγραμμα κατάρτισης „Lifestyle επιχειρηματικότητα για τους ενήλικους εκπαιδευομένους “ Τρίτη συνάντηση Το έργο αυτό χρηματοδοτήθηκε με την υποστήριξη.
Επιχειρηματική Στρατηγική και Καινοτομία ΙΙ
Prolog Επεξεργασία και Αναπαράσταση Γνώσης
Prolog Επεξεργασία και Αναπαράσταση Γνώσης
Διερεύνηση γραφήματος
Prolog Επεξεργασία και Αναπαράσταση Γνώσης
Πρόγραμμα Προπτυχιακών Σπουδών Ροή Λ: Λογισμικό
Εισαγωγή στη Νοσηλευτική Επιστήμη
Εισαγωγή στη Νοσηλευτική Επιστήμη
Prolog Επεξεργασία και Αναπαράσταση Γνώσης
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ
Ποιοτικός Έλεγχος Πρώτων Υλών
Διαδικασίεσ εισόδου/εξόδου
Prolog Επεξεργασία και Αναπαράσταση Γνώσης
Ας φτιάξουμε ένα ελέφαντα!
Η γλώσσα Προγραμματισμού PROLOG
Σύνδεση Αντιστάσεων.
Εντολές και δομές αλγορίθμου
Οι Δομές Δεδομένων Ουρά και Στοίβα
Προγράμματα και Δομές Δεδομένων
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΥΠΟΔΕΙΓΜΑΤΑ  Προγραμματιστικό Υπόδειγμα: Είναι ένα πρότυπο ανάπτυξης προγραμμάτων, δηλ. μια καθορισμένη μεθοδολογία με βάση την οποία.
Κεφάλαιο 1ο Το άτομο Το άτομο είναι το πιο μικρό κομμάτι ενός στοιχείου. Στο κέντρο βρίσκεται ο πυρήνας με τα πρωτόνια p+, που είναι θετικά φορτισμένα.
Δομές Δεδομένων και Τεχνικές Προγραμματισμού
Παρουσίαση ερευνητικού
Ενότητα Γ6.9 (Δημιουργία και Τροποποίηση Ερωτημάτων )
Λογισμικό Εφαρμογών/Επεξεργασία Κειμένου
Μεταγράφημα παρουσίασης:

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 5 ο Εξάμηνο - Ενότητα 7 - Επεξεργασία Λιστών Δημοσθένης Σταμάτης Τμήμα Πληροφορικής T.E.I. ΘΕΣΣΑΛΟΝΙΚΗΣ

Για την PROLOG η λίστα είναι μία ειδική περίπτωση συναρτησιακού όρου (functional term) για τον οποίο παρέχεται ειδικός συμβολισμός Tα στοιχεία της λίστας χωρίζονται μεταξύ τους με κόμματα και περικλείονται σε τετράγωνες παρενθέσεις: [α 1, α 2,..., α η ] Οι Λίστες (Lists) στην PROLOG! [1, 2, 3, 4, 5] [john, mary, nick] [son,mon,tues,wen,thί,frί,sat] [1, α, b, 3, f(1,2)] [1, [4, 6], 3, [7, [8, 9], 5] ] ΠΑΡΑΔΕΙΓΜΑΤΑ:

Στη γενικότερη περίπτωση όταν τα στοιχεία της λίστας δεν είναι γνωστά αυτή αναπαριστάνεται ως εξής: [ ] για την περίπτωση που η λίστα είναι κενή [Η|Τ] για την περίπτωση που η λίστα έχει για κεφαλή το στοιχείο Η και ουρά της την Τ που είναι με τη σειρά της μία λίστα Οι Λίστες (Lists) στην PROLOG! (2/3) Το σύμβολο | θεωρείται ενθεματικό (infix) συναρτησιακό σύμβολο και εφαρμόζεται αναδρομικά με την έννοια ότι η ουρά της λίστας Τ μπορεί με τη σειρά της να έχει τη μορφή: Τ = [Η2|Τ2] (η T2 = [H3|T3] κ.ο.κ)

Οι Λίστες (Lists) στην PROLOG! (3/3) Με τη χρήση του | η λίστα [1,2,3,4,5] μπορεί να παρασταθεί εναλλακτικά: [ 1 | [ 2 | [ 3 | [ 4 | [ 5 | [ ] ] ] ] ] ] [ 1, 2 | [ 3 | [ 4 | [ 5 | [ ] ] ] ] ] [ 1, 2, 3 | [ 4 | [ 5 | [ ] ] ] ] [ 1, 2, 3, 4 | [ 5 | [ ] ] ] [ 1, 2, 3, 4, 5 | [ ] ] [ 1, 2, 3, 4, 5 ]

% member(Element, List) Ελέγχει εάν το στοιχείο Element είναι μέλος της λίστας List Το Κατηγόρημα member Το Κατηγόρημα member (1/2) member(Χ,[Χ|Τail]). member(Χ,[Head |Tail]) :- member(X,Tail).

?- member(b, [c, a, b, d, f, o]). yes Το Κατηγόρημα member Το Κατηγόρημα member (2/2) member(Χ,[Χ|Τail]). member(Χ,[Head |Tail]) :- member(X,Tail). ?- member(X, [c, a, b, d, f, o]). X = c ; X = a ; X = b ;... k.o.k.

% append(List1, List2, List3) Συνδέει τα στοιχεία της λίστας List2 πίσω από τα στοιχεία της λίστας List1 και τοποθετεί το αποτέλεσμα στη λίστα List3 Το Κατηγόρημα append Το Κατηγόρημα append (1/4) append([ ], List, List). append([Head|Tail],List,[Head|NewList) :- append(Tail,List,NewList).

?- append([a, k, b], [c, d, e, f], L). L = [a, k, b, c, d, e, f] Το Κατηγόρημα append Το Κατηγόρημα append (2/4) append([ ], List, List). append([Head|Tail],List,[Head|NewList) :- append(Tail,List,NewList). ?- append(L1, [c, d, e], [a, b, c, d, e]) L1 = [a, b]

Το Κατηγόρημα append Το Κατηγόρημα append (3/4) append([ ], List, List). append([Head|Tail],List,[Head|NewList) :- append(Tail,List,NewList). ?- append([a, b], L2, [a, b, c, d, e]). L2 = [c, d, e] ?- append([a, b], L2, [f, m, c, d, e]) no

Το Κατηγόρημα append Το Κατηγόρημα append (4/4) append([ ], List, List). append([Head|Tail],List,[Head|NewList) :- append(Tail,List,NewList). ?- append(L1, L2, [a, b, c]). L1 = [ ], L2 = [a, b, c] ; L1 = [a], L2 = [b, c] ; L1 = [a, b ], L2 = [c] ; L1 = [a, b, c ], L2 = [ ] ; no