ΕΠΛ 434: Λογικός Προγραμματισμός

Σχετικά έγγραφα
ΕΠΛ 434: Λογικός Προγραμματισμός

ΕΠΛ 434: Λογικός Προγραμματισμός και Τεχνητή Νοημοσύνη

ΕΠΛ 434: Λογικός Προγραμματισμός και Τεχνητή Νοημοσύνη

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ Γλώσσες & Τεχνικές 4 ο Εξάμηνο. - Ενότητα 2 - Δημοσθένης Σταμάτης Τμήμα Πληροφορικής

ΕΠΛ 434: Λογικός Προγραμματισμός

Κεφάλαιο 2 Λογικός προγραμματισμός Υπολογισμός με λογική

Overview. Transition Semantics. Configurations and the transition relation. Executions and computation

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης

Πληροφορική 2. Τεχνητή νοημοσύνη

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Ακαδημαϊκό έτος Α εξάμηνο (χειμερινό)

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ Γλώσσες & Τεχνικές 4 ο Εξάμηνο. - Ενότητα 1 - Δημοσθένης Σταμάτης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ342: Βάσεις Δεδομένων. Χειμερινό Εξάμηνο Φροντιστήριο 10 ΛΥΣΕΙΣ. Επερωτήσεις SQL

A) Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-10 και δίπλα τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι

DESIGN OF MACHINERY SOLUTION MANUAL h in h 4 0.

ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ TMHMA ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Εισαγωγή Χειµερινό Εξάµηνο 2014

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Μαλούτα Θεανώ Σελίδα 1

Writing for A class. Describe yourself Topic 1: Write your name, your nationality, your hobby, your pet. Write where you live.

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)

ΕΠΛ131 Αρχές Προγραμματισμού

ΕΠΛ131 Αρχές Προγραμματισμού Ι

Αυτόνομοι Πράκτορες. Εργασία εξαμήνου. Μάθηση του παιχνιδιού British square με χρήση Temporal Difference(TD) Κωνσταντάκης Γιώργος

Βάσεις Δεδομένων (Databases)

Τετ. Παρ TEI ΠΕΛΟΠΟΝΝΗΣΟΥ - ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Α ΕΞΑΜΗΝΟ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε. Πρόγραµµα Μαθηµάτων Χειµερινού Εξαµήνου

Section 8.3 Trigonometric Equations

Δοµές Δεδοµένων. ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Φθινοπωρινό Εξάµηνο Ευάγγελος Μαρκάκης

Hazmat notification prior to departure from a Greek port

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

ΕΝΤΥΠΟ ΕΓΓΡΑΦΗΣ ΜΑΘΗΜΑΤΩΝ (Α-Ι) (Πρόγραμμα στις Διεθνείς, Ευρωπαϊκές και Οικονομικές Σπουδές και Πρόγραμμα στα Οικονομικά)

The Simply Typed Lambda Calculus

Τεχνητή Νοημοσύνη. 12η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

( )( ) ( ) ( )( ) ( )( ) β = Chapter 5 Exercise Problems EX α So 49 β 199 EX EX EX5.4 EX5.5. (a)

ΠΑΡΆΡΤΗΜΑ Β Ενδεικτική Λίστα Διδασκόντων Μελών Δ.Ε.Π. του Τμήματος

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων

Πληροφορική 2. Γλώσσες Προγραμματισμού

Hazmat notification prior to entry into a Greek port

ΠΑΙΓΝΙΑ Παιχνίδια Γενική Θεώρηση μεγιστοποιήσει την πιθανότητά

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

Συγγραφή κώδικα, δοκιμασία, επαλήθευση. Γιάννης Σμαραγδάκης

Συλλογιστική εξαγωγής συμπερασμάτων από συγκεκριμένες υποθέσεις δοθείσα μεθοδολογία διαδικασία της σκέψης, πρέπει να «συλλογιστεί» υπόθεση/παραγωγή

Models for Probabilistic Programs with an Adversary

Hazmat notification prior to entry into a Greek port

Partial Trace and Partial Transpose

Διαδικασιακός Προγραμματισμός

Κεφάλαιο 1. Εισαγωγή

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Εισαγωγή Χειμερινό Εξάμηνο Παναγιώτης Τσαπάρας

ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ TMHMA ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε.

PROLOG Εισαγωγή (PROgramming in LOGic)

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 9 : Τεχνητή νοημοσύνη. Δρ. Γκόγκος Χρήστος

(C) 2010 Pearson Education, Inc. All rights reserved.

ΑΣΚΗΣΕΙΣ ΓΙΑ ΤΟ ΕΡΓΑΣΤΗΡΙΟ 3

Ανδρέας Παπαζώης. Τμ. Διοίκησης Επιχειρήσεων

ΑΣΚΗΣΗ 11: ΕΠΕΞΕΡΓΑΣΙΑ ΦΥΣΙΚΗΣ ΓΛΩΣΣΑΣ - ΣΥΝΤΑΚΤΙΚΗ ΑΝΑΛΥΣΗ (PARSING)


ΠΡΟΓΡΑΜΜΑ ΠΡΟΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή εργασία

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 7 η. Βασίλης Στεφανής

derivation of the Laplacian from rectangular to spherical coordinates

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΟ ΚΙΤ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS EV3

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη

Αλγόριθμοι & Προγραμματισμός

9.09. # 1. Area inside the oval limaçon r = cos θ. To graph, start with θ = 0 so r = 6. Compute dr

Lecture 2. Soundness and completeness of propositional logic

ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

Use Cases: μια σύντομη εισαγωγή. Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

ΕΡΓΑΣΤΗΡΙΟ 5 ΣΗΜΕΙΩΣΕΙΣ

Μαθησιακοί Στόχοι Προγράμματος Σπουδών

Πρόταση για Πρόγραμμα Σπουδών του ΕΠΛ, 2009

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Φ Ρ Ο Ν Τ Ι Σ Τ Η Ρ Ι Ο 1 : ΤΑΞΙΝΟΜΗΣΗ Δ Ρ Ι Τ Σ Α Σ Η Λ Ι Α Σ Υ Π Ο Ψ Η Φ Ι Ο Σ Δ Ι Δ Α Κ Τ Ο Ρ Α Σ

Μονάδες 10. Μονάδες 9 5 PROLOG. Μονάδες 5

Έντυπο Καταγραφής Πληροφοριών και Συγκέντρωσης Εκπαιδευτικού Υλικού για τα Ανοικτά Μαθήματα

Μαθήματα 1 ου εξαμήνου

ΑΕΠΠ Ερωτήσεις θεωρίας

Υπολογιστική Λογική και Λογικός Προγραμματισμός

Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ

Μεταβατικές διατάξεις Νέου Προγράμματος Σπουδών (ΝΠΣ) για τους φοιτητές εισαγωγής 2013 και πριν Υποχρεωτικά Μαθήματα

Depth versus Rigidity in the Design of International Trade Agreements. Leslie Johns

(ΕΞΆΜΗΝΟ εγγραφής Εαρινό)

Μαθήματα 1 ου εξαμήνου

ΑΚΑ ΗΜΙΑ ΕΜΠΟΡΙΚΟΥ ΝΑΥΤΙΚΟΥ ΜΑΚΕ ΟΝΙΑΣ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

Εισαγωγή στον προγραμματισμό

ΠΡΟΓΡΑΜΜΑ ΠΡΟΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

Εισαγωγή στη Βιοπληροφορική

Τεχνητή Νοημοσύνη ΙΙ Εαρινό Εξάμηνο Εργασία ΙΙ: Σχεδιασμός Ημερομηνία Παράδοσης: 26 Μαρτίου 2012

28 Πολυπρακτορικά Συστήµατα

4.2.1 Α εξάμηνο Β εξάμηνο Γ εξάμηνο 4.2. ΣΥΝΟΠΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΑΝΑ ΕΞΑΜΗΝΟ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΥΠΗΡΕΣΙΑ ΣΠΟΥΔΩΝ ΚΑΙ ΦΟΙΤΗΤΙΚΗΣ ΜΕΡΙΜΝΑΣ. Χωρ. Αίθ. Α.Θ Όνομα Διδάσκοντος Τ.. Α. Ανδρέου Παναγιώτης 10073

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)

ΜΑΜ Κωδικός Τίτλος Μαθήματος ΠΜ ΕΠΛ 341 Τεχνητή Νοημοσύνη 7.5. Ελπίδα Κεραυνού-Παπαηλιού

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Τεχνικές NLP Σχεδιαστικά Θέματα

Βάσεις Δεδομένων (Databases)

Διαχείριση Έργων Πληροφορικής Εργαστήριο

Transcript:

ΕΠΛ 434: Λογικός Προγραμματισμός και Τεχνητή Νοημοσύνη Επισκ. Λέκτορας Λοΐζος Μιχαήλ Τμήμα Πληροφορικής ρ Πανεπιστήμιο Κύπρου (Χειμερινό Εξάμηνο 2008 2009)

Λογικός Προγραμματισμός Προγραμματισμός: μ Η υλοποίηση ηενός αλγορίθμου σε μία γλώσσα προγραμματισμού. Αλγόριθμος: Μία σειρά από οδηγίες (το «πώς») προς επίτευξη ενός επιθυμητού υπολογισμού. (π.χ., ο αλγόριθμος λό Bubble Sort για ταξινόμηση.) ) Λογικός Προγραμματισμός: Η περιγραφή (το «τί») ενός προβλήματος με χρήση λογικών κανόνων. (π.χ., αν η λίστα είναι [..., Χ, Υ,...], τότε Χ < Υ.) 08/09/2008 Λοΐζος Μιχαήλ ΕΠΛ 434 (Χειμερινό Εξάμηνο 2008 2009) 2

Λογική και Έλεγχος Αλγόριθμος = Λογική + Έλεγχος (Kowalski) Οι γλώσσες προγραμματισμού διαφέρουν ως προς την έμφαση που δίνουν στα δύο μέρη. Διαδικασιακός Προγραμματισμός (C, Java, ): Έμφαση στον Έλεγχο (περιέχει τη Λογική). Δηλωτικός Προγραμματισμός (Prolog, ): Έμφαση στη Λογική (χρήση γενικού Ελέγχου). 08/09/2008 Λοΐζος Μιχαήλ ΕΠΛ 434 (Χειμερινό Εξάμηνο 2008 2009) 3

Προγράμματα στην Prolog Η Prolog χρησιμοποιείται ευρέως σε εφαρμογές Τεχνητής Νοημοσύνης, οι οποίες απαιτούν εξαγωγή συμπερασμάτων από κάποια δεδομένα. Ένα πρόγραμμα Prolog αποτελείται από ένα σύνολο λογικών προτάσεων (clauses): Γεγονότα (facts). (π.χ., ο Σωκράτης είναι άνθρωπος.) Κανόνες (rules). (π.χ., κάθε άνθρωπος είναι θνητός.) 08/09/2008 Λοΐζος Μιχαήλ ΕΠΛ 434 (Χειμερινό Εξάμηνο 2008 2009) 4

Παράδειγμα Προγράμματος human(socrates). Γεγονός: Η οντότητα socrates είναι human. mortal(x) : human(x). Κανόνας: Για κάθε οντότητα X, το X είναι mortal tl εάν το X είναι human. Περιγράφει γνώση για ένα περιβάλλον / πρόβλημα. Η «εκτέλεση» γίνεται μέσω ερωτήσεων (queries). 08/09/2008 Λοΐζος Μιχαήλ ΕΠΛ 434 (Χειμερινό Εξάμηνο 2008 2009) 5

Παράδειγμα «Εκτέλεσης» human(socrates). mortal(x) : human(x).? mortal(aristotle). Ερώτηση: Είναι η οντότητα aristotle mortal;? human(y). Ερώτηση: Υπάρχει οντότητα Υ που να είναι human; Αν ναι, τότε ποιά είναι αυτή η οντότητα Y; 08/09/2008 Λοΐζος Μιχαήλ ΕΠΛ 434 (Χειμερινό Εξάμηνο 2008 2009) 6

Εφαρμογή σε Χρονικό Συλλογισμό load_bullet(3). shoot(fred, 5). dead(x, T) : dead(x, T 1). dead(x, T) : gun _ loaded(t 1), shoot(x, T 1). gun_loaded(t) : load_bullet(t 1). gun_loaded(t) : gun_loaded(t 1), \+ shoot(x, T 1).? dead(fred, d(f d 8). 08/09/2008 Λοΐζος Μιχαήλ ΕΠΛ 434 (Χειμερινό Εξάμηνο 2008 2009) 7

Εφαρμογή σε Παιχνίδια evaluate_and_choose([move Rest], Board, Player, D, MaxMin, Record, Best): make_move(move, Board, NextBoard), minimax(d, NextBoard, Player, MaxMin, _MoveX, Value), update(move, Value, Record, NewRecord), evaluate_and_choose(rest, Board, Player, D, MaxMin, NewRecord, Best). minimax(0, Board, Player, MaxMin, _Move, Value): value(board, Player, V), Value is V*MaxMin. minimax(d, Board, Player, MaxMin, Move, Value): D>0, D1 is D 1, MinMax is MaxMin, opponent(player, Opponent), find_all_moves(board, Player, Moves), write(d), write(move), nl, evaluate_and_choose(moves, Board, Opponent, D1, MinMax, (nil, 1000), (Move,Value)). 08/09/2008 Λοΐζος Μιχαήλ ΕΠΛ 434 (Χειμερινό Εξάμηνο 2008 2009) 8

Εφαρμογή σε Βάσεις Δεδομένων course( course_code(cs(100)), course_info( title( Computing Machinery and Intelligence ), credits(4), semester_offered(winter) ), professor_info( name( A. ), surname( Turing ), title( Professor ) ), teaching_info( teaching_days_time_rooms([ lesson(day( Monday ), from(1030), to(1159), room(123)), lesson(day( Thursday ) ), from(1030), to(1159), room(123)), ]), lab_days_time_rooms([]) ), other_info( obligatory(yes), prerequisites([math(001)]) ) ). available_course(completedcourses, Semester, Course) : % define so that % all the prerequisites of Course are in CompletedCourses % and Course is offered in Semester 08/09/2008 Λοΐζος Μιχαήλ ΕΠΛ 434 (Χειμερινό Εξάμηνο 2008 2009) 9

Μετα Προγραμματισμός action(agent, raise_bid(auction, Bid)) : preconditions([ object(auction), value(auction, highest_bid, CurrentBid), atleast(bid, CurrentBid+1) ]), effects([ set(auction, highest_bid, Bid), set(auction, highest_bidder, Agent), set(auction, last_bid_time, Time) where value(clock, happened_at, Time) ]). execute(action, Agent) : % define so that the effects of the action % are instantiated exactly when the preconditions of the action hold. 08/09/2008 Λοΐζος Μιχαήλ ΕΠΛ 434 (Χειμερινό Εξάμηνο 2008 2009) 10

Γενικές Δυνατότητες Console I/O, loops, client server communication, can invoke and be invoked from programs in C, transmit(host, Port) : socket(internet, stream, Channel), connect(channel, Host/Port), repeat, fil fail. write( Enter a message: ), read(message), send(channel, Message), 08/09/2008 Λοΐζος Μιχαήλ ΕΠΛ 434 (Χειμερινό Εξάμηνο 2008 2009) 11