Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 Magistrale - Primo Anno
 Intelligenza Artificiale
 Progetto
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

mkel
Utente medio



Inserito il - 13/07/2010 : 17:43:32  Mostra Profilo  Visita l'Homepage di mkel Invia a mkel un Messaggio Privato  Rispondi Quotando
Scusatemi ragazzi ma purtroppo non ho frequentato il laboratorio di intelligenza e adesso sto incontrando difficoltà nel capire come fare a sviluppare questo progetto. Avrei un paio di domande da porvi:
Quali strumenti devo utilizzare?
Come li devo settare?
Ho visto che c'è la possibilità di utilizzare java con swi-prolog ma non ho capito come fare a farli interagire tra di loro e soprattutto, dopo aver fatto la base ed il motore inferenziale, come faccio se va bene?

mkel
Utente medio



Inserito il - 14/07/2010 : 10:45:00  Mostra Profilo  Visita l'Homepage di mkel Invia a mkel un Messaggio Privato  Rispondi Quotando
Nessuno sa aiutarmi?
Torna all'inizio della Pagina

Leonefragile
alit...

Leone


Regione: Puglia
Prov.: Bari
Città: Alberobello


Inserito il - 14/07/2010 : 12:06:45  Mostra Profilo  Visita l'Homepage di Leonefragile Invia a Leonefragile un Messaggio Privato  Rispondi Quotando
Citazione:
Messaggio inserito da mkel

Nessuno sa aiutarmi?



Fidati di me, vai dal professore e ti chiarirà ogni dubbio.

Saluti.

Tutto ciò che è computabile è computabile.
Torna all'inizio della Pagina

mkel
Utente medio



Inserito il - 22/07/2010 : 18:26:41  Mostra Profilo  Visita l'Homepage di mkel Invia a mkel un Messaggio Privato  Rispondi Quotando
Grazie mille per il suggerimento. Ho installato swi-prolog e navigando per la rete ho trovato questo sito:

http://digilander.libero.it/Frank03/SistEspert/sistespert.htm

All'interno della pagina è presente un sistema esperto. Come faccio a farlo partire? Ho provato a fare Consult e mi da una sfilza di warning senza la possibilità di interagire.
Torna all'inizio della Pagina

zoffcabrinigentile
Nuovo Utente

1101_da_dennyp81



Inserito il - 22/07/2010 : 19:28:03  Mostra Profilo  Visita l'Homepage di zoffcabrinigentile Invia a zoffcabrinigentile un Messaggio Privato  Rispondi Quotando
l'esame dipendee da come si sveglia l'esposito... puoi passare dal 30 al 18 in relazione in relazione alla quantità di zucchero che ha messo nel caffè....
Torna all'inizio della Pagina

piantadelte
Nuovo Utente



Inserito il - 23/07/2010 : 16:16:32  Mostra Profilo  Visita l'Homepage di piantadelte Invia a piantadelte un Messaggio Privato  Rispondi Quotando
Citazione:
Messaggio inserito da mkel

Grazie mille per il suggerimento. Ho installato swi-prolog e navigando per la rete ho trovato questo sito:

http://digilander.libero.it/Frank03/SistEspert/sistespert.htm

All'interno della pagina è presente un sistema esperto. Come faccio a farlo partire? Ho provato a fare Consult e mi da una sfilza di warning senza la possibilità di interagire.



il sistema parte digitando "esperto.", poi ti chiede di fargli una domanda del tipo "corpo è una stella, corpo è una nebulosa.." e successivamente per poterti rispondere il sistema ti fa una serie di domande specifiche a cui tu dovresti rispondere con "si." oppure "no.", puoi anche chiedere "perchè." quella domanda e infine il sistema ti chiede se vuoi sapere come è arrivato alla conclusione. Comunque se leggi il file .txt allegato al file zip c'è scritto come utilizzare il sistema.
Torna all'inizio della Pagina

mkel
Utente medio



Inserito il - 23/07/2010 : 17:51:11  Mostra Profilo  Visita l'Homepage di mkel Invia a mkel un Messaggio Privato  Rispondi Quotando
Citazione:
Messaggio inserito da piantadelte

Citazione:
Messaggio inserito da mkel

Grazie mille per il suggerimento. Ho installato swi-prolog e navigando per la rete ho trovato questo sito:

http://digilander.libero.it/Frank03/SistEspert/sistespert.htm

All'interno della pagina è presente un sistema esperto. Come faccio a farlo partire? Ho provato a fare Consult e mi da una sfilza di warning senza la possibilità di interagire.



il sistema parte digitando "esperto.", poi ti chiede di fargli una domanda del tipo "corpo è una stella, corpo è una nebulosa.." e successivamente per poterti rispondere il sistema ti fa una serie di domande specifiche a cui tu dovresti rispondere con "si." oppure "no.", puoi anche chiedere "perchè." quella domanda e infine il sistema ti chiede se vuoi sapere come è arrivato alla conclusione. Comunque se leggi il file .txt allegato al file zip c'è scritto come utilizzare il sistema.



Grazie mille per le delucidazioni.
Torna all'inizio della Pagina

mkel
Utente medio



Inserito il - 19/08/2010 : 16:58:26  Mostra Profilo  Visita l'Homepage di mkel Invia a mkel un Messaggio Privato  Rispondi Quotando
Scusate la mia ignoranza ma come si fa a far partire il sistema esperto implementato dal prof a pag. 24 di "3.4 - ExpSyst.pdf".
Torna all'inizio della Pagina

piantadelte
Nuovo Utente



Inserito il - 23/08/2010 : 09:26:25  Mostra Profilo  Visita l'Homepage di piantadelte Invia a piantadelte un Messaggio Privato  Rispondi Quotando
Citazione:
Messaggio inserito da mkel

Scusate la mia ignoranza ma come si fa a far partire il sistema esperto implementato dal prof a pag. 24 di "3.4 - ExpSyst.pdf".



Devi usare YAP e non SWI-PROLOG
digitare il comando consult('c:applian.pl'). per caricare il sistema
e poi per farlo partire devi digitare diagnosis(X).
nel path devi mettere il doppio contro-slash "\" che nel messaggio non viene visualizzato.

Modificato da - piantadelte in data 23/08/2010 09:42:18
Torna all'inizio della Pagina

mkel
Utente medio



Inserito il - 23/08/2010 : 09:48:17  Mostra Profilo  Visita l'Homepage di mkel Invia a mkel un Messaggio Privato  Rispondi Quotando
Grazie mille per le delucidazioni.
Torna all'inizio della Pagina

mkel
Utente medio



Inserito il - 10/09/2010 : 12:02:46  Mostra Profilo  Visita l'Homepage di mkel Invia a mkel un Messaggio Privato  Rispondi Quotando
Scusatemi, ho trovato questo sistema esperto sulla rete:


% Native - a simple shell for use with Prolog
% knowledge bases.  It includes expanations.

:-op(900,xfy, :).

main :-
	greeting,
	repeat,
	write('> '),
	read(X),
	do(X),
	X == quit.

greeting :-
	write('This is the native Prolog shell.'), nl,
	native_help.

do(help) :- native_help, !.
do(load) :- load_kb, !.
do(solve) :- solve, !.
do(how(Goal)) :- how(Goal), !.
do(whynot(Goal)) :- whynot(Goal), !.
do(quit).
do(X) :-
	write(X),
	write(' is not a legal command.'), nl,
	fail.

native_help :-
	write('Type help. load. solve. how(Goal). whynot(Goal). or quit.'),nl,
	write('at the prompt.'), nl.

load_kb :-
	write('Enter file name in single quotes (ex. ''birds.nkb''.): '),
	read(F),
	reconsult(F).

solve :-
	abolish(known,3),
	prove(top_goal(X),[]),
	write('The answer is '),write(X),nl.
solve :-
	write('No answer found.'),nl.
	
ask(Attribute,Value,_) :-
	known(yes,Attribute,Value),     % succeed if we know its true
	!.                              % and dont look any further
ask(Attribute,Value,_) :-
	known(_,Attribute,Value),       % fail if we know its false
	!, fail.

ask(Attribute,_,_) :-
	not multivalued(Attribute),
	known(yes,Attribute,_),         % fail if its some other value.
	!, fail.                        % the cut in clause #1 ensures
					% this is the wrong value
ask(A,V,Hist) :-
	write(A :V),                     % if we get here, we need to ask.
	write('? (yes or no) '),
	get_user(Y,Hist),                      % get the answer
	asserta(known(Y,A,V)),          % remember it so we dont ask again.
	Y = yes.                        % succeed or fail based on answer.

% "menuask" is like ask, only it gives the user a menu to to choose
% from rather than a yes on no answer.  In this case there is no
% need to check for a negative since "menuask" ensures there will
% be some positive answer.

menuask(Attribute,Value,_,_) :-
	known(yes,Attribute,Value),     % succeed if we know
	!.
menuask(Attribute,_,_,_) :-
	known(yes,Attribute,_),         % fail if its some other value
	!, fail.

menuask(Attribute,AskValue,Menu,Hist) :-
	nl,write('What is the value for '),write(Attribute),write('?'),nl,
	display_menu(Menu),
	write('Enter the number of choice> '),
	get_user(Num,Hist),nl,
	pick_menu(Num,AnswerValue,Menu),
	asserta(known(yes,Attribute,AnswerValue)),
	AskValue = AnswerValue.         % succeed or fail based on answer

display_menu(Menu) :-
	disp_menu(1,Menu), !.             % make sure we fail on backtracking

disp_menu(_,[]).
disp_menu(N,[Item | Rest]) :-            % recursively write the head of
	write(N),write('  : '),write(Item),nl, % the list and disp_menu the tail
	NN is N + 1,
	disp_menu(NN,Rest).

pick_menu(N,Val,Menu) :-
	integer(N),                     % make sure they gave a number
	pic_menu(1,N,Val,Menu), !.      % start at one
pick_menu(Val,Val,_).             % if they didn't enter a number, use
	                                % what they entered as the value

pic_menu(_,_,none_of_the_above,[]).  % if we've exhausted the list
pic_menu(N,N, Item, [Item|_]).       % the counter matches the number
pic_menu(Ctr,N, Val, [_|Rest]) :-
	NextCtr is Ctr + 1,                % try the next one
	pic_menu(NextCtr, N, Val, Rest).

get_user(X,Hist) :-
	repeat,
	write('> '),
	read(X),
	process_ans(X,Hist), !.

process_ans(why,Hist) :-
	write_list(4,Hist), !, fail.
process_ans(X,_).	

% Prolog in Prolog for explanations.
% It is a bit confusing because of the ambiguous use of the comma, both
% to separate arguments and as an infix operator between the goals of
% a clause.

prove(true,_) :- !.
prove((Goal,Rest),Hist) :-
	prov(Goal,[Goal|Hist]),
	prove(Rest,Hist).
prove(Goal,Hist) :-
	prov(Goal,[Goal|Hist]).

prov(true,_) :- !.
prov(menuask(X,Y,Z),Hist) :- menuask(X,Y,Z,Hist), !.
prov(ask(X,Y),Hist) :- ask(X,Y,Hist), !.
prov(Goal,Hist) :-
	clause(Goal,Body),
	prove(Body,Hist).

% Explanations

how(Goal) :-
	clause(Goal,Body),
	prove(Body,[]),
	write_body(4,Body).

whynot(Goal) :-
	clause(Goal,Body),
	write_line([Goal,'fails because: ']),
	explain(Body).
whynot(_).

explain(true).
explain((Head,Body)) :-
	check(Head),
	explain(Body).

check(H) :- prove(H,[]), write_line([H,succeeds]), !.
check(H) :- write_line([H,fails]), fail.

write_list(N,[]).
write_list(N,[H|T]) :-
	tab(N),write(H),nl,
	write_list(N,T).

write_body(N,(First,Rest)) :-
	tab(N),write(First),nl,
	write_body(N,Rest).
write_body(N,Last) :-
	tab(N),write(Last),nl.

write_line(L) :-
	flatten(L,LF),
	write_lin(LF).
	
write_lin([]) :- nl.
write_lin([H|T]) :-
	write(H), tab(1),
	write_lin(T).

flatten([],[]) :- !.
flatten([[]|T],T2) :-
	flatten(T,T2), !.
flatten([[X|Y]|T], L) :-
	flatten([X|[Y|T]],L), !.
flatten([H|T],[H|T2]) :-
	flatten(T,T2).


Non ho capito bene cosa bisogna passare ad "ask" e cosa fa "how(Goal)". Il primo è strettamente correlato al secondo? Ed il secondo mi serve per capire come ho fatto ad arrivare al goal?

Modificato da - mkel in data 10/09/2010 12:04:12
Torna all'inizio della Pagina

Ivan86
Utente Capoeirista

capoeira


Regione: Puglia
Prov.: Bari
Città: Bitritto


Inserito il - 10/09/2010 : 13:14:33  Mostra Profilo  Visita l'Homepage di Ivan86 Invia a Ivan86 un Messaggio Privato  Rispondi Quotando
Qualcuno ha consegnato il 9? quando sarà l'orale? magari vengo a vedere come è l'interrogazione




Torna all'inizio della Pagina

mkel
Utente medio



Inserito il - 13/09/2010 : 17:05:46  Mostra Profilo  Visita l'Homepage di mkel Invia a mkel un Messaggio Privato  Rispondi Quotando
Nessun aiuto?
Torna all'inizio della Pagina

gym83s
Utente Estremo


Regione: Puglia
Prov.: Foggia
Città: Trinitapoli


Inserito il - 14/09/2010 : 19:58:24  Mostra Profilo  Visita l'Homepage di gym83s Invia a gym83s un Messaggio Privato  Rispondi Quotando
ragazzi scusate la domanda per molti stupida, ma che differenza c'è tra yap prolog e swi-prolog e quale è opportuna usare?? Grazie a chiunque mi voglia dare spiegazioni...ciauu

Modificato da - gym83s in data 14/09/2010 20:00:05
Torna all'inizio della Pagina

wiklex
Utente medio

Metal



Inserito il - 15/09/2010 : 01:59:16  Mostra Profilo  Visita l'Homepage di wiklex Invia a wiklex un Messaggio Privato  Rispondi Quotando
Citazione:
Messaggio inserito da gym83s

ragazzi scusate la domanda per molti stupida, ma che differenza c'è tra yap prolog e swi-prolog e quale è opportuna usare?? Grazie a chiunque mi voglia dare spiegazioni...ciauu



swi-prolog è più intuitivo, quindi consigliato per cominciare. comunque non differisce tantissimo da yap.
Comunque sia il professore vuole il progetto in yap.

www.nonlosapevo.com
www.disinformazione.it/paginacannabis.htm
http://www.oipaitalia.com/festepopolari/corrida.html

"il diavolo non esiste, non c'è altro dio che l'uomo" A. Crowley

"Dopo essere venuto a contatto con un uomo religioso, sento sempre il bisogno di lavarmi le mani." (F. Nietzsche)
Torna all'inizio della Pagina

gig
Nuovo Utente



Inserito il - 15/09/2010 : 12:14:27  Mostra Profilo  Visita l'Homepage di gig Invia a gig un Messaggio Privato  Rispondi Quotando
Salve, c'è qualcuno di buona volontà che potrebbe spiegarmi sia come si fa a far partire il programma per la diagnosi di malattie da ittero che si trova sulle slide del prof sia il suo funzionamento? Sto avendo delle difficoltà nel capire il codice del motore inferenziale...grazie mille
Torna all'inizio della Pagina

mkel
Utente medio



Inserito il - 16/09/2010 : 10:37:53  Mostra Profilo  Visita l'Homepage di mkel Invia a mkel un Messaggio Privato  Rispondi Quotando
E' scritto sopra.
Torna all'inizio della Pagina
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,25 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000