La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Intelligenza artificiale.. un assaggio. elementi struttura condizioni Cifre (9,8 … 0) Non ci sono riporti Riporto colonna unità Riporto colonna decine.

Presentazioni simili


Presentazione sul tema: "Intelligenza artificiale.. un assaggio. elementi struttura condizioni Cifre (9,8 … 0) Non ci sono riporti Riporto colonna unità Riporto colonna decine."— Transcript della presentazione:

1 Intelligenza artificiale.. un assaggio

2 elementi struttura condizioni Cifre (9,8 … 0) Non ci sono riporti Riporto colonna unità Riporto colonna decine Riporto colonna decine e colonna unità Le cifre…lettere rispettano le regole aritmetiche Le cifre delle lettere sono tutte diverse Contemporaneità Alternativa AND OR

3 Universiteit van Amsterdam SWI - Prolog Digitare nel motore di ricerca: www. Swi-prolog.org Download SWI-Prolog

4 Stable release SWI-Prolog 6.6.6 for Windows XP/Vista/7/8 Istallare il programma Eseguire il programma

5 Descriviamo il campo del problema New … Scriviamo il nome del file cripto.. salviamo

6 I commenti consentono non perdere la visione d’insieme /* testo del commento */ apertura commentochiusura commento Finestra dell’editor

7 La descrizione del campo del problema /* elementi */ /* non vi sono riporti */ /* riporto colonna unità */ /* riporto colonna decine */ /* riporto colonna unità e colonna decine */ /* le cifre/lettere rispettano le regole dell’aritmetica AND le cifre sono tutte diverse */ /* le cifre/lettere rispettano le regole dell’aritmetica AND le cifre sono tutte diverse */ /* le cifre/lettere rispettano le regole dell’aritmetica AND le cifre sono tutte diverse */ /* le cifre/lettere rispettano le regole dell’aritmetica AND le cifre sono tutte diverse */ Il connettivo OR si realizza scrivendo più volte la regola Condizioni:

8 Iniziamo definendo gli elementi: asseriamo.. nove è una cifra cifra(9). lettera minuscola: le lettere maiuscole indicano le incognite fine asserzione /* elementi */ 9 è una cifra

9 cifra(9). cifra(8). cifra(7). cifra(6). cifra(5). cifra(4). cifra(3). cifra(2). cifra(1). cifra(0). /* elementi */

10 Per esplorare il campo del problema il motore di PROLOG deve conoscere l’obiettivo dalla ricerca

11 /* non vi sono riporti */ cifra(0). La testa della regola di ricerca delle soluzioni Scritte in maiuscolo perché sono le incognite …….. soluzione(Due,Sei,Otto) :- seDue, Sei, Otto sono la soluzione

12 /* non vi sono riporti */ cifra(0). Asseriamo: le lettere sono delle cifre cifra(D), D appartiene all’insieme delle cifre maiuscolo perché è un’incognita D …….. soluzione(Due,Sei,Otto) :- Due, Sei, Otto sono la soluzione SE

13 /* non vi sono riporti */ cifra(0). Asseriamo: le lettere sono delle cifre cifra(D), …….. soluzione(Due,Sei,Otto) :- Due, Sei, Otto sono la soluzione SE la virgola esprime AND D appartiene all’insieme delle cifre

14 /* non vi sono riporti */ cifra(0). Asseriamo: le lettere sono delle cifre cifra(D), …….. soluzione(Due,Sei,Otto) :- Due, Sei, Otto sono la soluzione SE D appartiene all’insieme delle cifre cifra(E), cifra(S), cifra(I), cifra(U), cifra(O), cifra(T), AND U appartiene all’insieme delle cifre AND E appartiene all’insieme delle cifre AND …………

15 cifra(I), cifra(O), cifra(T), /* le cifre/lettere rispettano le regole dell’aritmetica */ La colonna delle unità O is E + I, O e E+I hanno lo stesso valore due + sei= otto …….. Due, Sei, Otto sono la soluzione SE

16 cifra(I), cifra(O), cifra(T), /* le cifre/lettere rispettano le regole dell’aritmetica */ O is E + I, T is U + E, T is D + S, O is 1, diverse(O,E,I,T,U,D,S), La regola/condizione diverse sarà enunciata in seguito due + sei= otto …….. Due, Sei, Otto sono la soluzione SE

17 /* le cifre/lettere rispettano le regole dell’aritmetica */ O is E + I, T is U + E, T is D + S, O is 1, diverse(O,E,I,T,U,D,S), Prepariamo la comunicazione della soluzione …….. Due is D*100 + U*10 + E, Sei is S*100 + E*10 + I, Otto is O*1000 + T*100 + T*10 + O, Due, Sei, Otto sono la soluzione SE

18 /* le cifre/lettere rispettano le regole dell’aritmetica */ O is E + I, T is U + E, T is D + S, O is 1, diverse(O,E,I,T,U,D,S), …….. Due is D*100 + U*10 + E, Sei is S*100 + E*10 + I, Otto is O*1000 + T*100 + T*10 + O, write(Due), write(Sei), write(Otto). Due, Sei, Otto sono la soluzione SE

19 …….. Definiamo la regola DIVERSE diverse(A,B,C,D,E,F,G) :- PROLOG distingue gli argomenti di una regola dalla loro posizione A =/= B, A =/= C, A =/= D, A =/= E, A =/= F, A =/= G, B =/= C, B =/= D, B =/= E, B =/= F, B =/= G, C =/= D, … F =/= G.

20 La prima parte “non ci sono riporti” è stata descritta Fatti Regole Obiettivi/Domande make click Controlliamo se abbiamo commesso degli errori di scrittura Appare la richiesta di conferma del salvataggio SAVE

21 Gli eventuali errori sono evidenziati: correggeteli e salvate nuovamente Fatti Regole Obiettivi/Domande make click

22 Si richiami la descrizione del problema [cripto] consult(cripto). L’esecutore risponde: sono riuscito a leggere e a memorizzare true. 2 ?- Si chieda di ricercare la soluzione soluzione(A,B,C). false. Nessuna soluzione è stata trovata

23 Richiamare l’editor per aggiungere la regola: riporto colonna unità

24

25 click copia e incolla

26 Quando il motore di Prolog restituisce la prima soluzione potete terminare la ricerca … RETURN cercarne un’altra … BARRA SPAZIATRICE


Scaricare ppt "Intelligenza artificiale.. un assaggio. elementi struttura condizioni Cifre (9,8 … 0) Non ci sono riporti Riporto colonna unità Riporto colonna decine."

Presentazioni simili


Annunci Google