fbpx
Skip to main content
  1. VanillaSky
  2. Ingegneria Informatica - Triennale
  3. Giovedì, 22 Febbraio 2007
  4.  Subscribe via email
in virtù degli orari usciti apro il 3d del corso.
Benvengano consigli da chi ha già sostenuto l'esame.
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Scusate ho finito adesso di studiare il prolog,mi stavo facendo degli esercizi ed ho provato a fare quello dell'esame.

Io l'avrei fatto così,ditemi se è giusto:

sublist([Pritesta|Prilista], [Sectesta|Seclista]) :-

(
Pritesta is Sectesta,
append(Prilista,X,Seclista),
;
append([Pritesta],Prilista,L1),
sublist(L1,Seclista)
).

Qualsiasi consiglio è ben accetto.
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Scusate ma nell'altro c'era qualche errore:

sublist([Pritesta|Prilista], [Sectesta|Seclista]) :-
(
Pritesta is Sectesta,
append(Prilista,X,Seclista)
;
append([Pritesta],Prilista,L1),
sublist(L1,Seclista)
).
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
,[H2|T2]) :- H1 == H2, append(T1,T3,T2).
sublist([H1|T1],[H2|T2]) :- H1 \== H2, sublist([H1|T1],T2).

Spero di essere stato utile. In bocca al lupo per venerdì.

Sei sicuro che funzioni!?
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Sapete qual è la differenza nel dire :
- una formula A è consistente
- una formula A è valida
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Sapete qual è la differenza nel dire :
- una formula A è consistente
- una formula A è valida

la prima puo' essere vera o falsa a seconda del valore della variabili
la seconda e' sempre vera a prescindere dal valore della variabili
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Una formula è consistente se ALMENO uno dei valori che può assumere è T (true).
Una formula è valida se TUTTI i valori che può assumere sono T.
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
In bocca al lupo per domani poker d'assi.
Spacca tutto in due e ci rivediamo per POO.
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Allora...ricordo che all'appello di settembre (bocciato) aveva messo qualcosa come :

[code type="markup"]Si verifichi (e si dimostri) la veridicità (o la falsità) della seguente affermazione :

Siano F, G e H formule tali che (F AND G) -> H sia valida,
F sia consistente, e G sia valida. Allora H è consistente.
[/code]

che significa e come si fa? :shock:
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Io son abbastanza sicuro di aver svolto correttamente la parte di OWL...
Autovalutando quello che ho fatto e confrontandolo con il voto finale...

Il mio sublist non funzionava... Ma per il Prolog basta esercitarsi, credo...
E poi provate i vostri programmi, così vi togliete ogni dubbio... ;)

Per l'esercizio di logica trovate la soluzione nelle pagine precedenti di questo thread... Ed è quella... Non ci piove...

Per l'OWL... Il primo esercizio chiedeva...

1) Quali sono le istanze (dichiarate esplicitamente nell'ontologia o inferibili) di ogni classe???

- Uomo: Tyrion (dichiarazione esplicita);
- Donna: Sansa (inferito dal dominio della relazione marito, Sansa ha come marito Tyrion);
- Persona: Tyrion, Sansa (banalmente era dichiarata come superclasse di Uomo e di Donna);
- Simbolo: Lupo, Leone (dichiarazione esplicita);
- Stark: Tyrion (inferito dalla relazione emblema su Lupo), Sansa (inferito dalla relazione marito, Sansa ha come marito uno Stark, Tyrion);
- Lannister: Sansa (inferito dalla relazione emblema su Leone).

2) EVENTUALI inconsistenze???

Io penso che... L'unico dubbio potrebbe venire su Sansa...
Perché per una proprietà (marito = Tyrion) viene inferita l'appartenza alla classe Stark (Tyrion è uno Stark per un'inferenza precedente)...
Mentre per un'altra (emblema = Leone) viene inferita l'appartenenza alla classe Lannister...
Tutto ciò NON porta ad un'inconsistenza...
Perché?!? Perché da nessuna parte veniva specificato che le due classi devono essere disgiunte...

3) E' possibile inferire delle superclassi (oltre a quelle dichiarate esplicitamente)???

No... A parte Persona superclasse di Uomo e di Donna (dichiarazione esplicita) non si poteva inferire altro...
Anche qui poteva sorgere il dubbio su Stark e Lannister...
Essendo definite come l'UNIONE (che io vedo come un'OR) di tre restrizioni nel modo seguente:
Stark = (padre = Stark) UNION (marito = Stark) UNION (emblema = Lupo)
Lannister = (padre = Lannister) UNION (marito = Lannister) UNION (emblema = Leone)
Si poteva pensare che fossero sottoclassi di Persona?!?
No... Perché le proprietà, prese singolarmente erano qualcosa del genere:
padre(DOMINIO: Persona, RANGE: Uomo)
marito(DOMINIO: Donna , RANGE: Uomo)
emblema(DOMINIO: NON SPECIFICATO , RANGE: Simbolo)
Ed emblema, così definita (SENZA DOMINIO), non permetteva di "restringere il campo" e limitare le classi all'interno di Persona...

Questo è quanto mi ricordo... Proverò a chiedere conferme... ;)


Scusate ma nei punti 1 e 2 dice che Tyrion è Stark (e quindi per inferenza anche Sarsa) perchè inferito da emblema su Lupo. Ma non è Leone? Quindi Tyrion non sarebbe Lannister (e quindi Sarsa)?
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
che significa e come si fa? :shock:

Se G è valida, vale 1 SEMPRE.

Quindi F AND 1 ===> F

F -> H valida, quindi l'implicazione vogliamo che valga 1

Si vede che F è consistente (può valere 1), H è consistente (può valere 1), grazie al caso in cui l'implicazione è valida (uno dei tre casi).

1 1
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Scusate ma nei punti 1 e 2 dice che Tyrion è Stark (e quindi per inferenza anche Sarsa) perchè inferito da emblema su Lupo. Ma non è Leone? Quindi Tyrion non sarebbe Lannister (e quindi Sarsa)?


Ricordi l'emblema di Tyrion uguale a Leone???

Perché quello che ho scritto, l'ho ricostruito un po' a memoria, non avendo il testo...
Son sicuro che Tyrion fosse Stark... ;)
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Scusate ma nei punti 1 e 2 dice che Tyrion è Stark (e quindi per inferenza anche Sarsa) perchè inferito da emblema su Lupo. Ma non è Leone? Quindi Tyrion non sarebbe Lannister (e quindi Sarsa)?


Ricordi l'emblema di Tyrion uguale a Leone???

Perché quello che ho scritto, l'ho ricostruito un po' a memoria, non avendo il testo...
Son sicuro che Tyrion fosse Stark... ;)


Sul compito c'era scritto (se non erro) : Tyrion....emblema=Leone. Leone era presente nella definizione della classe Lannister. Se fosse stato così sarebbe stato giusto come ho scritto prima? E' meglio essere sicuri. Uno si ricorda una cosa, uno se ne ricorda un'altra... ;)
Comment
There are no comments made yet.
Accepted Answer Pending Moderation

sublist([],L) :- \+ atomic(L).

più che altro..questa cosa fa di preciso? ...cioè è necessaria?..
voglio dire la lista vuota è sottolista (cioè coincide) solo con la lista vuota..perché considerare altri casi?
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Sul compito c'era scritto (se non erro) : Tyrion....emblema=Leone. Leone era presente nella definizione della classe Lannister. Se fosse stato così sarebbe stato giusto come ho scritto prima? E' meglio essere sicuri. Uno si ricorda una cosa, uno se ne ricorda un'altra... ;)


Diciamo che questo farebbe crollare tutto quello che ho scritto...

Io non ricordo bene la differenza tra gli emblemi e le rispettive famiglie...
Ma ricordo l'inferenza che portava Tyrion negli Stark e Sansa nei Lannister, per quanto riguarda gli stemmi... ;)
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
io sublist l'ho fatto cosi' e funziona

sublist([],[]).

sublist([N1|Rest1],[N2,Rest2]):-
N1=N2,
sublist(Rest1,Rest2).

sublist([],_):- !.

sublist([N1|Rest1],[N2,Rest2]):-
sublist([N1|Rest1],Rest2).

non sara' una finezza di programmazione ma funziona , provare per credere .

cya

p.s. qualcuno ha la soluzione definitiva di persona con fratelli ?
Comment
There are no comments made yet.
Accepted Answer Pending Moderation

p.s. qualcuno ha la soluzione definitiva di persona con fratelli ?


Class Fratelli
(esiste genitore (figli>=2))
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
a che ora e dove c'è l'esame domani
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
,[H2|T2]) :- H1 == H2, append(T1,T3,T2).
sublist([H1|T1],[H2|T2]) :- H1 \== H2, sublist([H1|T1],T2).



Qualcuno mi sa spiegare come diavolo fa questo programma a confrontare H1 e H2 fino a trovare quelli uguali? Mi spiego meglio, eseguendo quel codice prolog confronta H1 e H2 e poi esegue append se li trova uguali, ma come? scrivendo ?- sublist([1,2,3],[3,45,6,4,1,2,3,4]).
il programma esegue il confronto tra 1 e 3 poi 45 poi 6 poi 4 fino a che non trova un altro 1, ma perché???

Ciap
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
a che ora e dove c'è l'esame domani

Annamo bene! :)
11 maggio Prova di appello Aule 4,6 n.e. ore 9.00
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Ecco la mia sublist:
[code type="markup"]sublist(L, M) :-
chop(L, M).

sublist(L, [H2|T2]) :-
sublist(L, T2).

chop([], _).

chop([H|R1], [H|R2]) :-
chop(R1, R2).[/code]

A domani :wink:
Comment
There are no comments made yet.


There are no replies made for this post yet.
Be one of the first to reply to this post!