ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ

Ασκήσεις 24 Μαΐου  2016

ΛΙΣΤΕΣ
1. Αφαίρεση στοιχείου  από μια λίστα
afairw(_,[],[]):-!.
afairw(X,Z,[X|W]):-!,afairw(X,Z,W).
afairw(X,[A|B],[A|W]):-afairw(X,B,W).

2. Αφαίρεση από λίστα όλων των αρνητικών στοιχείων
positive([],[]).
positive([H|T],P):-H<0,!,positive(T,P).
positive([H|T],[H|P]):-positive(T,P).

3. Ένωση δύο λίστών.
syndese([],List,List):-!.
syndese([H|L1],List2,[H|L3]):-syndese(L1,List2,L3).

4. Πιθανοί συνδυασμοί στοιχείων  λίστας
perm([],[]).
perm([H|T],Perm):-perm(T,SP),insert(H,SP,Perm).
insert(X,T,[X|T]).
insert(X,[H|T],[H|NT]):-insert(X,T,NT).

5. Αντικατάσταση  του στοιχείου  E της  λίστας  L, µε το στοιχείο NE και επιστροφή της  λίστας  NL.
change(E,NE,L,NL) :-append(A,[E|B],L),
append(A,[NE|B],NL).

6.  Τομή δύο συνόλων.


intersection([],_,[]).


intersection([X|L1],L2,[X|L]):- member(X,L2), intersection(L1,L2,L).

intersection([X|L1],L2,L):- not(member(X,L2)), intersection(L1,L2,L).

ΜΟΝΟΠΑΤΙΑ - ANIMALS 


2 ΑΣΚΗΣΕΙΣ

Ασκήσεις 11 Μαΐου  2016
Δημιουργήστε  2 συστήματα.
1. Μεταφραστικό από τα Αγγλικά στα Ελληνικά 
2. Ένα σύστημα με ορισμούς της φυσικής.

Θα μπορούσατε με τον ίδο τρόπο να δημιουργησετε και ένα πελατολόγιο 

Άσκηση 20 Απριλίου 2016


Μετρητής
Δημιουργήστε έναν μετρητή λίστας που θα αρχικοποιηθεί στην τιμή 0. Το σύνολο των στοιχείων της λίστας θα είναι ίσο με το 1ο στοιχείο + τα στοιχεία της ουράς της λίστας. Με άλλα λόγια θα αναθέσουμε σε όλα τα στοιχεία της ουράς  μια μεταβλητή. Το άθροισμα αυτής της μεταβλητής + 1 δίνει το σύνολο των στοιχείων της λίστας. Χρησιμοποιήστε το κατηγόρημα length.
Άθροισμα στοιχείων λίστας

Δημιουργήστε μία εφαρμογή που θα υπολογίζει το άθροισμα στοιχείων μίας λίστας. Σε 1η φάση πρέπει να αρχικοποιήσετε το άθροισμα και τον μετρητή των στοιχείων στην τιμή 0. Το άθροισμα των στοιχείων της λίστας είναι η μεταβλητή Sum ενώ το σύνολο των στοιχείων η μεταβλητή Ν. Αυτό θα αληθεύει όταν οι Sum και Ν λάβουν νέες μεταβλητές στις οποίες προστίθενται αντίστοιχα η κεφαλή της λίστας και ο αριθμός 1. 

Άσκηση 6 Απριλίου 2016


Ασθένειες
Μία μέρα σε ένα νοσοκομείο προσήλθαν με προβλήματα υγείας διάφοροι ασθενείς που παρουσίαζαν τα εξής συμπτώματα:
 sofia,   diaroia,  emeto
giorgos,  ponokefalo
dimitris, ponokoilo,  pyreto
zenia, ponokoilo, pyreto
dionisis,  ponokoilo
Οι ασθένειες πρέπει να παρουσιασθούν με το γεγονός  has_symptoma
Το νοσοκομείο διαθέτει ένα έμπειρο σύστημα όπου ανάλογα με τα συμπτώματα  μπορεί να διαγνώσει την πάθηση. Το σύστημα αυτό ακολουθεί τους παρακάτω κανόνες:
1.      Ο ασθενής έχει κούραση – εξάντληση  αν έχει μόνο πονοκέφαλο
2.     Ο ασθενής έχει γρίπη εάν έχει πρώτο σύμπτωμα τον πυρετό αλλά παρουσιάζει και πονόκοιλο. Επί της ουσίας ο ασθενής ισχυρίζεται ότι έχει και τα 2 συμπτώματα
3.      Ο ασθενής έχει κρύωμα αν έχει πονόκοιλο.
4.      Ο ασθενής έχει δηλητηρίαση αν έχει διάρροια και εμετό.

Με τα παραπάνω δεδομένα σχεδιάστε το αντίστοιχο project


Άσκηση 30 Μαρτίου 2016

Δημιουργήστε ένα σύστημα GPS όπου:
1.      Θωρήστε ότι υπάρχουν απ’ ευθείας διαδρομές από περιοχή σε περιοχή (directTrain). Αυτό θα αποτυπωθεί στα κεντρικά γεγονότα.
2.      Θωρήστε ότι υπάρχουν διαδρομές  από περιοχή σε περιοχή (travelBetween). Βεβαίως στις διαδρομές αυτές υπάρχουν και ενδιάμεσοι σταθμοί
3.      Η εκτύπωση των αποτελεσμάτων πρέπει να γίνει με την εντολή write

4.      Αυτό που μας ενδιαφέρει είναι να βρούμε το travelBetween



Άσκηση 23 Μαρτίου 2016

Ασκήσεις  16 Μαρτίου 2016

ΑΣΚΗΣΗ  3
Δίνεται ο παρακάτω πίνακας που αφορά τους φοιτητές ενός ΤΕΙ.

Όνομα
Περασμένα Μαθήματα
lessons
Έτος
eti
Ιδιότητα


panos
20
3
neos
nikos
30
4
neos
maria
35
5
palios
sofia
38
7
palios

Οι φοιτητές  που δικαιούνται πτυχιακής εργασίας πρέπει να πληρούν τις παρακάτω προϋποθέσεις  και το ΤΕΙ τους ενημερώνει για αυτό.   
Προϋποθέσεις: 
    1. Ικανός για ανάληψη πτυχιακής εργασίας είναι ο φοιτητής που έχει ξεπεράσει τα 3 έτη σπουδών. (Years)
    2. Δεν είναι ικανός για ανάληψη πτυχιακής κάποιος φοιτητής που δεν έχει περάσει έστω 25 μαθήματα (Math<25) .
    3. Ικανός για ανάληψη πτυχιακής είναι παλιός  ο φοιτητής που έχει περάσει περισσότερα από 20 μαθήματα.  
Δημιουργήστε   το κατάλληλο project, σώστε το σαν αρχείο tei.pl και βρείτε απλά το ποιοι φοιτητές δικαιούνται πτυχιακής εργασίας.  

ΑΣΚΗΣΗ  4
Δίνεται ο παρακάτω πίνακας που αφορά τους υπαλλήλους (Employees)  και τους διευθυντές (managers) μίας εταιρείας.

Όνομα
Ηλικία
age
Προϋπηρεσία
service
Ειδικότητα

Μισθός
wage
petros
30
10
shopfoor
4500
larian
25
5
manager

kostas
57
26
shopfoor
6700
na8anail
30
9
shopfoor
5600
iakovos
56
24
shopfoor
6500
ilarios
46
21
manager


Οι υπάλληλοι που πληρούν τις παρακάτω προϋποθέσεις  δικαιούνται σύνταξης (syntaxi)  και η εταιρεία μπορεί να τους ενημερώσει για αυτό. 
Προϋποθέσεις: 
    1. Ικανός για λήψη σύνταξης είναι ο υπάλληλος που έχει προϋπηρεσία  πάνω από 20 έτη (Years).
    2. Δεν δικαιούται σύνταξης υπάλληλος που η ηλικία του είναι κάτω από 50 έτη
    3. Δεν δικαιούται σύνταξης από το ΙΚΑ  ένας manager
    4. Ικανός για λήψη σύνταξης είναι κάποιος που έχει πληρώσει σωστά όλες τις εισφορές του. Αυτό σημαίνει ότι κατά την διάρκεια της υπηρεσίας του είχε ένσημα πάνω  από 5000 και κάτω από 30000. 
Δημιουργήστε   το κατάλληλο project, σώστε το σαν αρχείο ika.pl και βρείτε απλά το ποιοι υπάλληλοι με βάση τον πίνακα είναι ικανοί προς συνταξιοδότηση. 

Ασκήσεις  9 Μαρτίου 2016

ΑΣΚΗΣΗ  2

Διαχείριση αποτελεσμάτων αγώνων
Η ελληνική ποδοσφαιρική ομοσπονδία έχει στην διάθεση της ένα τεράστιο αρχείο αποτελεσμάτων αγώνων όλων των κατηγοριών (Α, Β εθνική κλπ). Επιθυμεί όμως να μπορεί ανά πάσα στιγμή να δημιουργεί στατιστικούς πίνακες για αγώνες, αποτελέσματα και ομάδες. Μία καλή λύση είναι η prolog στην περίπτωση αυτή. Ενδεικτικά παρουσιάζεται παρακάτω ένα πολύ μικρό απόσπασμα αποτελεσμάτων αγώνων.

agonas(pao,osfp,0,0).
agonas(aek,pao,0,6).
agonas(osfp,aek,5,0).
agonas(osfp,pao,6,6).
agonas(aris,aek,0,0).
agonas(aek,osfp,0,1).
agonas(osfp,aris,2,2).
agonas(aek,aris,2,3).

Με την βοήθεια του περιβάλλοντος της prolog

Βρείτε:
  1. Τους αγώνες που έληξαν ισόπαλοι
  2. Τους αγώνες όπου ο aris  έφερε ισοπαλία (προσοχή εδώ θέλει ;)
  3. Τους ισόπαλους εντός έδρας αγώνες του osfp
  4. Τους αγώνες όπου η aek δεν σημείωσε γκολ (πολύ προσοχή εδώ διότι συμπεριλαμβάνονται και οι εντός και οι εκτός έδρας αγώνες)
  5. Τους αγώνες όπου η γηπεδούχος ομάδα δεν σημείωσε γκολ
Δραστηριότητα: Φτιάξτε μόνοι σας κάτι το αντίστοιχο αλλά πολύ πιο «πλούσιο». Με άλλα λόγια θα μπορούσατε να προσθέσετε  συγκεκριμένες ημερομηνίες αγώνων καθώς και άλλο στοιχεία των αγώνων..

Ερώτηση: Άραγε το παραπάνω παράδειγμα θα μπορούσε να χρησιμοποιηθεί ως υπόδειγμα για την δημιουργία ενός συστήματος για μία μονάδα υγείας  π.χ. ιατρείο όπου για κάθε ασθενή θα υπάρχουν αριθμητικά ιατρικά στοιχεία για κάθε ασθενή με το ιστορικό της πορεία της υγείας του. Σημειώνω ότι οι πολλοί γιατροί σήμερα επιθυμούν με θέρμη κάτι τέτοιο.  

ΑΣΚΗΣΗ  3

Είδη  οχημάτων και χαρακτηριστικά
Μία εταιρεία μεταχειρισμένων αυτοκινήτων θέλει να δημιουργήσει μία βάση γνώσης για τα οχήματα που αγοράζει για να τα πουλήσει αργότερα.  Όχημα είναι και το τρακτέρ και το αυτοκίνητο. Κάθε όχημα έχει χαρακτηριστικά όπως μάρκα, χιλιόμετρα, χρόνια κυκλοφορίας, χρώμα και τιμή. Τα παρακάτω δεδομένα είναι ένα μικρό απόσπασμα από μία βάση γνώσης μίας τέτοια επιχείρησης

car(chrysler,130000,3,red,12000).
car(ford,90000,4,gray,25000).
car(datsun,8000,1,red,30000).
truck(ford,80000,6,blue,8000).
truck(datsun,50000,5,orange,20000).
truck(toyota,25000,2,black,25000).
vehicle(Make,Odometer,Age,Color,Price):-car(Make,Odometer,Age,Color,Price);
truck(Make,Odometer,Age,Color,Price).

Με την βοήθεια του περιβάλλοντος της prolog

Βρείτε:
  1. Ποια οχήματα έχουν τιμή 25000 €;    vehicle(X,A,B,T,25000).
  2. Εμφανίστε όλα τα datsun οχήματα. vehicle(datsun,X,A,B,G).
  3. Εμφανίστε όλα τα red αυτοκίνητα. vehicle(A,B,C,red,Y).
  4. Εμφανίστε μόνο τα car ford. car(ford,B,C,D,T).
  5. Εμφανίστε τα car ford και τα truck με χρώμα black. car(ford,B,C,D,T);truck(A,B,C,black,R).
  6. Εμφανίστε τα οχήματα με τιμή μεγαλύτερη από 20000. vehicle(A,B,C,D,Price),Price>20000.
  7. Εμφανίστε τα οχήματα με χιλιόμετρα λιγότερα  από 50000. vehicle(A,Odometer,C,D,F),Odometer<20000.

Δραστηριότητα: Φτιάξτε μόνοι σας κάτι το αντίστοιχο αλλά πολύ πιο «πλούσιο». Με άλλα λόγια θα μπορούσατε να δημιουργήσετε το ίδιο  σύστημα αλλά με περισσότερα χαρακτηριστικά των αυτοκίνητων και περισσότερες κατηγορίες.
Ερώτηση: Άραγε το παραπάνω παράδειγμα θα μπορούσε να χρησιμοποιηθεί ως υπόδειγμα για την δημιουργία ενός συστήματος για ένα μεγάλο supermarket όπου θα ελέγχονται ανά πάσα στιγμή οι ημερομηνίες λήξης των προϊόντων. Είναι κρίμα να αγοράζουμε ληγμένα προϊόντα!!!!   

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου

4o ΜΑΘΗΜΑ  HTML