Project in XSB Prolog Επεξεργασία και Αναπαράσταση Γνώσης Άνοιξη 2007 Τμήμα Επιστήμης Υπολογιστών Πανεπιστημίου Κρήτης.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Project in XSB Prolog Επεξεργασία και Αναπαράσταση Γνώσης Άνοιξη 2008 Τμήμα Επιστήμης Υπολογιστών Πανεπιστημίου Κρήτης.
Advertisements

PROLOG.
Lists– Λίστες 1. Αυτό-αναφορικές δομές Τα μέλη μίας δομής μπορεί να είναι οποιουδήποτε τύπου, ακόμα και δείκτες σε δομές του ίδιου τύπου. Χρησιμοποιώντας.
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
1Διαδικασίες με παραμέτρους Άσκηση 1 Κάνε κλικ να δεις τη λύση.
Άνοιξη Συμπίεση Δεδομένων και Σημάτων Γιώργος Τζιρίτας Τμήμα Επιστήμης Υπολογιστών
Project in XSB Prolog Επεξεργασία και Αναπαράσταση Γνώσης Άνοιξη 2009 Τμήμα Επιστήμης Υπολογιστών Πανεπιστημίου Κρήτης.
ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 5 ο Εξάμηνο - Ενότητα 7 - Επεξεργασία Λιστών Δημοσθένης Σταμάτης Τμήμα Πληροφορικής T.E.I. ΘΕΣΣΑΛΟΝΙΚΗΣ.
ΦΥΣΙΚΟ ΚΑΙ ΚΟΙΝΩΝΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Αναστοπούλου Μαριάννα Καθηγήτρια Μουσικής και Σχολικού Επαγγελματικού Προσανατολισμού.
ΕΞΩΤΕΡΙΚΗ ΜΕΤΑΝΑΣΤΕΥΣΗ ΤΩΝ ΕΛΛΗΝΩΝ ΕΠΙΜΕΛΕΙΑ: Α 1 PROJECT.
Τι πρέπει να ξέρεις για το Γενικό Λύκειο. Όσα ακολουθούν παρακάτω προκύπτουν από την επεξεργασία του νόμου 4186/ΦΕΚ 193/ και τη συνέντευξη που.
1 Διαχείριση Έργων Πληροφορικής Διάλεξη 8 η Διαχείριση Κόστους.
Η νέα δομή του Γενικού Λυκείου  Ωρολόγια π ρογράμματα ανά τάξη  Τρό π ος π ροαγωγής και α π όλυσης  Παρουσιάζονται κατά σειρά :  Α ’ Λυκείου  Β ’
Σχολικό έτος B’ Λυκείου  Μαθήματα  Ομάδες προσανατολισμού Γ’ Λυκείου  Ομάδες προσανατολισμού  Επιστημονικά Πεδία
Αντιρατσιστική Εκ π αίδευση Βασικές αρχές ΣΧΟΛΕΙΟ ΧΩΡΙΣ ΡΑΤΣΙΣΜΟ ΣΧΟΛΕΙΟ ΜΕ ΑΝΕΚΤΙΚΟΤΗΤΑ.
Project Α’ Τετραμήνου Β’ Λυκέιου. Εισαγωγή  Μανιτάρι ονομάζεται κοινώς το ορατό μέρος πολυκύτταρων μυκήτων με τη χαρακτηριστική, συνήθως ομβρελοειδή.
ΓΕΝΙΚΟ ΛΥΚΕΙΟ ΛΟΥΤΡΩΝ ΑΙΔΗΨΟΥ Ερευνητική Εργασία (Project) Ομάδα 1 Αναστασιάδη Ανδριανή Στεργίου Μαρία - Ιωάννα Χασάϊ Φιορίντα Χουλιαράκη Αλεξάνδρα Ομάδα.
1 Ο ΕΠΑΛ ΣΤΑΥΡΟΥΠΟΛΗΣ ΣΧΟΛ. ΕΤΟΣ Α΄ΤΕΤΡΑΜΗΝΟ ΜΑΘΗΜΑ ΕΡΕΥΝΗΤΙΚΗ ΕΡΓΑΣΙΑ ( PROJECT) ΥΠΕΥΘΥΝΕΣ ΚΑΘΗΓΗΤΡΙΕΣ : ΠΑΛΑΙΟΛΟΓΟΥ ΒΙΚΤΩΡΙΑ ΑΜΠΕΡΙΑΔΟΥ ΔΕΣΠΟΙΝΑ.
AΘΛΗΤΙΣΜΟΣ 1.Ο αθλητισμός στην Αρχαία Ελλάδα Οι ρίζες του ελληνικού αθλητισμού μπορούν να αναζητηθούν στην Εποχή του Χαλκού. Στους ιστορικούς χρόνους οι.
Όνομα εκπαιδευτικών που συμμετέχουν :, Καλλιόπη Κάμπουρα. Γεωργία Κάσπαρη, Ανδριάνα Μπακόλα. Σχολική Μονάδα : 2 ο και 6 ο Νηπιαγωγείο Χίου. Σχολική τάξη.
Θέμα Εργασίας : ΙΡΙΔΙΣΜΟΣ Project : 5 Μανιφάβα Αλεξάνδρα.
ΖΑΧΑΡΙΑΣ ΠΑΠΑΝΤΩΝΙΟΥ ΤΑ ΨΗΛΑ ΒΟΥΝΑ PROJECT Α’ ΛΥΚΕΙΟΥ.
ΑΡΙΣΤΟΤEΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΚΑΛΩΝ ΤΕΧΝΩΝ
ΝΕΟ ΓΕΝΙΚΟ ΛΥΚΕΙΟ ………. Ν. 4186/2013 (ΦΕΚ 193)
Ερευνητική εργασία της Α΄ τάξης του ΓΕΛ Λουτρών Αιδηψού
Prolog Επεξεργασία και Αναπαράσταση Γνώσης
ΧΠΕ - ΟΙ ΠΟΡΟΙ ΣΤΟ MS PROJECT
2η ΔΙΑΛΕΞΗ ΕΡΓΟ.
Η ΕΙΡΗΝΗ ΣΤΟΝ ΚΟΣΜΟ ΠΡΟΤΥΠΟ ΠΕΙΡΑΜΑΤΙΚΟ ΓΥΜΝΑΣΙΟ ΕΥΑΓΓΕΛΙΚΗΣ ΣΧΟΛΗΣ ΣΜΥΡΝΗΣ ΤΑΞΗ-ΤΜΗΜΑ: Α’2 ΣΧΟΛΙΚΟ ΕΤΟΣ: ΜΑΘΗΜΑ: ΘΡΗΣΚΕΥΤΙΚΑ ΥΠΕΥΘΥΝΟΣ ΚΑΘΗΓΗΤΗΣ:
Project: ΟΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ στη ζωΗ μαΣ
ΕΡΓΑΣΙΑ ΣΤΟ ΜΑΘΗΜΑ ΠΡΟΤΖΕΚΤ (PROJECT)
Άννα Κυπαρισσού,Γιουτζίν Κασεμάι.
67ο Δημοτικό Σχολείο Πατρών
Ενημέρωση για το Σεπτέμβριος, 2017 Κων/νος Παραστατίδης
Εργασία Β’ Λυκείου Μάθημα: Project
ΞΕΝΑΓΟΙ Η ομάδα μας αποτελείται από άτομα τα οποία συνεργάστηκαν και ολοκλήρωσαν την εργασία της ξενάγησης.
ΜΕΛΕΤΗ ΤΟΥ ΧΑΡΤΗ ΑΝΑΤΟΛΗΣ ΙΩΑΝΝΙΝΩΝ ΚΑΙ ΟΝΟΜΑΣΙΕΣ ΟΔΩΝ
…την Ερευνητική Εργασία (project) με θέμα την κοινωνική διάσταση του ελληνικού κινηματογράφου (Οικογένεια, θέση γυναίκας, σχέση δύο φύλων).
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 2: Χρήση της σύνθετης δομής επιλογής
Ερευνητική Εργασία project Σχεδιασμός Έρευνας
για επιφάνειες και ανοξείδωτα Οικονομική λύση για καθαρισμό επιφανειών
ΚΥΚΛΟΦΟΡΙΚΟ ΣΥΣΤΗΜΑ.
Το νερό στην λογοτεχνία
…PROJECT… ΑΝΔΕΙΣ ΚΑΖΑΝΤΖΑΚΗ ΕΛΕΝΑ ΔΑΣΚΑΛΑΚΗ ΧΡΥΣΑ ΓΥΜΝΑΣΙΟ ΑΡΧΑΝΩΝ
Οδηγίες Α’ Λυκείου.
1 ο ΕΠΑ.Λ ΝΕΑΣ ΦΙΛΑΔΕΛΦΕΙΑΣ Project A1
Διαθεματικό Ενιαίο Πλαίσιο Προγραμμάτων Σπουδών (ΔΕΠΠΣ) & Αναλυτικά Προγράμματα Σπουδών (ΑΠΣ) Τρύφων Μαυροπαλιάς.
Οι οδοί και η ιστορία τους
Γενικό λύκειο Νιγρίτας
Project Κοκκινοπηλός Πένυ Εξαρχου Γ2.
Μαθηση για ολα τα παιδια
Ο φεμινισμός της «Εφημερίδος των Κυριών»
ΑΞΙΟΛΟΓΗΣΗ ΕΠΕΝΔΥΣΕΩΝ
«Τα παιχνίδια των παππούδων και των γονέων μας πριν την επέλαση των ηλεκτρονικών» Project 2015.
ΕΡΕΥΝΗΤΙΚΗ ΕΡΓΑΣΙΑ Οργάνωση- Προγραμματισμός
ΕΡΓΑΣΙΑ ΣΤΟ ΜΑΘΗΜΑ ΤΟΥ PROJECT
Ερωτήματα Επιλογής σε ACCESS
67ο Δημοτικό Σχολείο Πατρών
19η Περιφέρεια Προσχολικής Αγωγής
Νηπιαγωγείο Περιθωρείου 2007
ΕΡΓΟ : «Κατασκευή τετραπλού σιδηροδρομικού διαδρόμου στο τμήμα έξοδος Σ.Σ. Αθηνών (Σ.Σ.Α.) – Τρεις Γέφυρες, με υπογειοποίηση στην περιοχή Σεπολίων» (Α.Σ.
Εσθονία Project
Μουσειοπαιδαγωγικές δραστηριότητες
ΔΙΔΑΚΤΙΚΟ ΣΕΝΑΡΙΟ Β΄ ΓΥΜΝΑΣΙΟΥ
Αρχές Διοίκησης έργων βασικοί στόχοι κάθε έργου:
Project 2013 Γ΄ Ομάδα: Η πειθώ στον επιστημονικό λόγο
ΚΑΣΤΡΑ ΚΑΙ ΚΑΣΤΡΟΠΟΛΙΤΕΙΕΣ
Толқындардың интерференция және дифракция құбылысы
ΕΛΕΓΧΟΙ ΟΡΑΤΟΤΗΤΑΣ Επιμήκης αίθουσα με κλειστή σκηνή
Μεταγράφημα παρουσίασης:

Project in XSB Prolog Επεξεργασία και Αναπαράσταση Γνώσης Άνοιξη 2007 Τμήμα Επιστήμης Υπολογιστών Πανεπιστημίου Κρήτης

Λύσεις ασκήσεων Factorial factorial(0,1). factorial(N,F) :- N>0, N1 is N-1, factorial(N1,F1), F is N * F1.

Λύσεις ασκήσεων Median :- import select/3,member/2 from basics. median([X],X). median(L,X):- member(X,L),list_max(L,Y),list_min(L,W),select(Y,L,L1), select(W,L1,L2), median(L2,X). list_max([X],X). list_max([X|Tail],M):-list_max(Tail,M1),max(X,M1,M). max(X,Y,X):-X>Y. max(X,Y,Y):-X=<Y. list_min([X],X). list_min([X|Tail],M):-list_min(Tail,M1),min(X,M1,M). min(X,Y,X):-X<Y. min(X,Y,Y):-X>=Y.

Λύσεις ασκήσεων Median (second version) :- import select/3,length/2,ith/3 from basics. median2([X],X). median2(L,X):- sort1(L,L1),length(L1,Q), Y is (Q+1)//2, ith(Y,L1,X). sort1([X],[X]). sort1(X,[Xmax|Ys]):- list_max(X,Xmax), select(Xmax,X,[Ymax|Zs]), sort1([Ymax|Zs],Ys). list_max([X],X). list_max([X|Tail],M):-list_max(Tail,M1),max(X,M1,M). max(X,Y,X):-X>Y. max(X,Y,Y):-X=<Y. list_min([X],X). list_min([X|Tail],M):-list_min(Tail,M1),min(X,M1,M). min(X,Y,X):-X<Y. min(X,Y,Y):-X>=Y.

Λύσεις ασκήσεων Set Equality :- import member/2 from basics. seq([],[]). seq([X],[X]). seq(X,Y):- \+ notseq(X,Y). notseq(X,Y):- member(X1,X), \+ member(X1,Y). notseq(X,Y):- member(Y1,Y), \+ member(Y1,X).

“Ξερή” Το ζητούμενο είναι να δημιουργήσουμε ένα παίκτη που θα παίζει «ξερή». Το παιχνίδι θα αποτελείται από δύο παίκτες. Σε κάθε γύρο του παιχνιδιού μοιράζονται 6 κάρτες σε κάθε παίκτη. Πριν αρχίσει ο πρώτος γύρος ρίχνονται 4 κάρτες στο τραπέζι (η μία πάνω από την άλλη). Οι δύο παίκτες παίζουν εναλλάξ, ρίχνοντας ένα χαρτί από αυτά που τους έχουν μοιραστεί στο τραπέζι. Αν ένας παίκτης ρίξει χαρτί με ίδιο αριθμό με αυτό που είχε ριχτεί τελευταίο, μαζεύει τα χαρτιά που βρίσκονται στο τραπέζι. Αν στο τραπέζι βρισκόταν ένα μόνο χαρτί, κάνει «ξερή». Αν ένας παίκτης ρίξει βαλέ, παίρνει όλα τα χαρτιά που βρίσκονται στο τραπέζι. Νικητής είναι αυτός που στο τέλος του παιχνιδιού θα έχει τους περισσότερους πόντους. Τα χαρτιά που αντιστοιχούν σε πόντους είναι: –Ξερή: 10 πόντοι (ξερή σε βαλέ: 20 πόντοι) –Άσσοι, K, Q, J, 10 (εκτός από το 10 καρό), 2 σπαθί: 1 πόντος –10 καρό: 2 πόντοι –Αυτός που στο τέλος έχει μαζέψει τις περισσότερες κάρτες: 3 πόντοι

Αναπαράσταση Γνώσης Κάρτες, π.χ. card(5,spades). Παίκτες, π.χ. user / player1 /…. Οι κάρτες που δεν έχουν μοιραστεί, π.χ. deck([card(2,spades),card(3,clubs)…]) Οι κάρτες που κρατάει ένας παίκτης, π.χ. player1_cards([card(2,spades),card(3,clubs)…]) Κάρτες που έχει κερδίσει ένας παίκτης, π.χ. player1_deck([card(2,spades),card(3,clubs)…]) Κάρτες που βρίσκονται στο τραπέζι, π.χ. pile([card(2,spades),card(3,clubs)…]) Ξερές, π.χ. xeri([card(2,spades),card(2,clubs)]) Πόντοι που σχετίζονται με κάθε κάρτα, π.χ. points(card(1,spades),1)

Αναπαράσταση Γνώσης Οι παραπάνω δομές μπορεί επίσης να αναπαρασταθούν με τη χρήση ενός βοηθητικού κατηγορήματος, π.χ. pred(deck,has,[card(2,spades),card(3,clubs),…]) pred(player1_cards,has,[card(2,spades),card(3,clubs),…]) pred(player1_deck,has,[card(2,spades),card(3,clubs),…]) pred(pile,has,[card(2,spades),card(3,clubs),…]) pred(card(1,spades),points,1)

Αναπαράσταση Γνώσης Χρειάζεται επίσης να αναπαραστήσουμε δύο τύπους κανόνων: –Κανόνες που ορίζουν τις επιτρεπτές κινήσεις σε ένα παιχνίδι. Αυτοί θα είναι κανόνες περιορισμού. –Κανόνες που ορίζουν στρατηγικές – οι κανόνες αυτοί θα ορίζουν τις «καλές» / «έξυπνες» κινήσεις στο παιχνίδι.

Ορισμός δυναμικών κατηγορημάτων Κάποιες ιδιότητες / δομές που αναμένουμε ότι θα αλλάζουν κατά την διάρκεια του παιχνιδιού θα πρέπει να ορίζονται δυναμικά. Παράδειγμα: pred(deck,has,[card(2,spades),card(3,clubs),…]) Για να μπορούμε να χειριστούμε μία δομή δυναμικά, στην αρχή του προγράμματος κάνουμε τη δήλωση: :- dynamic pred/3. Στη συνέχεια μπορούμε να προσθέσουμε / αφαιρέσουμε δεδομένα από τη βάση γνώσης με χρήστη των: assert(…),retract(…) π.χ. deal :− pred(deck, has, [C1,C2,…,C12|Cards]), give(player1, C1), give(player2, C2),… give(player1, C11), give(player4, C12), retract(pred(deck,has,[C1,C2,…,C12|Cards]), assert(pred(deck,has,Cards)).

Ανακάτεμα Στην αρχή θα πρέπει να γίνει ανακάτεμα των χαρτιών. Αυτό μπορεί να γίνει με χρήση μίας διαδικασίας random_permutation. shuffle :− pred(deck, has, Cards), permute(Cards, ShuffledCards), retract(pred(deck, has, Cards)), assert(pred(deck, has, ShuffledCards)).

Στρατηγικές Μερικές απλές στρατηγικές που μπορούν να υλοποιήσουμε είναι: –Αν μπορείς να κάνεις «ξερή», επίλεξε να κάνεις ξερή. –Αν μπορείς να πάρεις τα χαρτιά ρίχνοντας φύλλο με ίδιο αριθμό με αυτό που βρίσκεται πάνω στο σωρό, ρίξε ένα τέτοιο φύλλο (μπορεί να υπάρχει και μία πιο έξυπνη στρατηγική που να το αποτρέπει αυτό). –Αν δεν μπορείς να πάρεις τα χαρτιά, ρίξε το φύλλο εκείνο που θα ελαχιστοποιεί τις πιθανότητες ότι θα χάσεις (με βάση τα χαρτιά που έχουν ήδη περάσει). –Αν υπάρχουν αρκετοί πόντοι στο σωρό, και έχεις βαλέ, ρίξε τον βαλέ. –…