 | |
Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum |
domanda Clicca QUI per vedere il messaggio nel forum |
Joliet Jake |
scusate, la quantità di esercizi mi starà dando alla testa..
se io ho (perogni)y qual'è la gamma di possibilità che ho per y?
- ogni termine ground, indipendentemente da tutto
- ogni variabile che ho inizializzato a y, per es. negli (esiste)y
- tutte le variabili comparse nella y delle funzioni, es. F(x,y)
penso di sapere la risposta ma lo chiedo per sicurezza. |
DarkStalker |
Io ho votato A anche perche' nelle dispense c'e' scritto che la sostituzione va fatta
con un termine che gia' esiste nel linguaggio ma nn specifica niente.
Quindi penso che se hai una "a" che sia stata inserita da un "esiste" o ci sia gia'
pensa che vada bene. |
Joliet Jake |
quindi se ho tipo (perogni)x R(x)
devo mettere tutte le variabili, + quello che trovo nelle funzioni?
es mi trovo a,b, (Esiste)xR(f(x),x)
se ho un (perogni)x devo sostituire alla x
- a
- b
- c (creato nuovo per colpa dell' "esiste")
- f (x)
giusto?
e se ho un (perogni)y devo includere fra gli y anche f(x)? |
DarkStalker |
Beh io di solito vado in ordine alfabetico, cmq a causa del fatto che il "per ogni" si
espande (cioe' il (perogni)R(x) diventa R(a),(perogni)R(x)) dovrai usarle tutte prima o poi (beh questo e' cio' che mi capita negli esercizi). |
DarkStalker |
Dimenticavo se hai il (perogni)y CREDO che devi sostituire con una var diversa da quella che hai usato per la x, anche perche' io di solito li faccio in ordine.Cioe' prima sost la x e al passaggio successivo sost la y |
Joliet Jake |
quindi tu dici che f(x) per esempio, anche se usato come parametro x in R(x,y), entra nell'insieme dei termini e quindi va poi usato con tutte le variabili, sia (perogni)x che (perogni)y anche se è stato introdotto come x..
quindi la differenza fra (perogni)x e (perogni)y sta solo nel fatto che con una variabile diversa (qui y) devi ricominciare da capo le sostituzioni partendo dal primo termine, e basta? |
DarkStalker |
Occhio che nelle sostituzioni non devi prendere tutto f(x) ma considerare solo la x.
Adesso mi riguardo gli esercizi cosi' ti so rispondere meglio. |
Joliet Jake |
no no, ti basta guardare la soluzione dell'esercizio 1.1 del tema d'esame di febbraio 2007... lì f(x) viene bellamente sostituito alla x...
non solo ma nello stesso esercizio vedi che non ci sono tutte le combinazioni ma solo alcune?
io sono d'accordo con te che (perogni)x significa "per ogni x", ma nello stesso identico esercizio per esempio, guarda la soluzione: c'è R(a,b)-> b è fra i termini, però da nessuna parte della soluzione b viene sostituita alla x.
Ora, è sbagliata la soluzione, b non è sostituito perchè è come parametro y in R, oppure che cacchio di motivo c'è?
:? |
DarkStalker |
MMMh non mi sembra l'abbia fato ....ti riferisci forse a R(a,b)?
In quel caso ha solo spostato i termini forse per semplificare la lettura
(nel primo ramo R(a,b) sta all'inizio mentre nel passaggio precedente stava in mezzo).
Cmq nn appena trovi una dimostrazione che chiude il ramo non ti serve fare tutti
gli altri casi. |
DarkStalker |
Inoltre a volte non riscrive l'intera formula, forse ti conviene guardare i passaggi piu'
indietro per capire cosa ha fatto, anche perche' riprende dei pezzi che nei passaggi immediatamente precedenti non vengono ricopiati |
Joliet Jake |
1. io mi riferisco al secondo ramo, dopo l'eliminazione di R(a,b)
per eliminare R(f(a), a) applica "f(a)" ad x e "a" ad y sostituendolo nella "(non)R(x,y)"
controlla...
2. tu dici termini diversi, ma se io ho, poniamo, "a", "b", "(perogni)xR(x)" e, separato, "(perogni)yQ(y)"..
Faccio il primo passaggio e sostituisco "a" alla x, nel secondo per la y devo per forza scegliere b perchè la "a" è già presa? Ma allora a cosa servono le diverse variabili?
Secondo me ogni volta applichi la regola di non usare i termini usati fino a quel momento per quella variabile, non in generale.
Poi mi sbaglierò.
3. poi scusa, un ramo chiuso è un ramo che ha le foglie chiuse, il criterio dice che perchè un ramo termini devono essere state fatte tutte le istanziazioni delle variabili presenti nella formula universale. Perciò a me fa molto comodo il modo di risolverlo di questo tipo e di quello che mi dici, ma se non ho fatto tutte le istanziazioni posso dire di averlo risolto?
scusa se ti sto stressando ma è dura non riuscire a trovare il bandolo della matassa. |
DarkStalker |
1) Ah si ho capito, in effetti nella prima sostituzione di VxR(f(x),x) ci mette il termine a e diventa (R(f(a),a),VxR(f(x),x).
Evidentemente la sostituzione va bene anche con le funzioni quindi prendendo la f(a)
e ripetendo la sostituzione ho (R(f(a),a), R(f(f(a),f(a)), VxR(f(x),x).
3) Boh io tutti gli esercizi che ho visto e negli esempi delle dispense bastava a avere
un'istanza del tipo P(x),not P(x) per chiudere se c'era Q(x) da sola nn la considerava.
2) Io sceglierei la b ma forse mi sbaglio |
Joliet Jake |
beh ho capito che bisogna andare a intuito quà :)
speriamo in bene, io tengo d'occhio il forum, se hai domande o ne ho io scriviamo sul forum... e grazie per avermi risposto finora!! |
DarkStalker |
Scusa ma la domanda sul fatto di trovare Vx e Vy separate e' un tuo dubbio ho hai trovato un esercizio in particolare? Se me lo indichi provo a farlo. |
Joliet Jake |
PS ho ricontrollato, per il punto 3 hai ragione tu, quel requisito è necessario per la ricerca del (contro)modello, non per la ricerca di dimostrazione..
adesso ti cerco l'esercizio, aspetta perchè non mi ricordo dove sia... |
DarkStalker |
Ehm aspetta, quel punto vale anche per la ricerca di dimostrazioni.
Infatti in quel caso il ramo si chiude. Nella ricerca del contromodello
il ramo esaminato non deve chiudere. |
Joliet Jake |
esempio: esercizio 2 pag.25 di questo pdf .
per chiarirci, lì (a,a) lo consideri o no? Perchè non essendoci altro che "a" che è "già usato" da x dovresti usare un nuovo termine per y, cioè "b".
L'esercizio si risolve in entrambi i casi, ma inun caso è risolto giusto, nell'altro no. e qual'è quello giusto :?
Per il punto 3 mi spiego meglio: per la ricerca del (contro)modello devi controllare che la variabile presente nella formula universale che sta nell'ultima foglia sia stata istanziata con tutti i termini ground.
Non me lo sto inventando, controlla a pagina 28 del PDF in alto, clausola 3
tanto più che c'è la nota 21 in basso che recita
Non accertarsi che le tre condizioni seguenti valgano davvero costituisce errore frequente negli esercizi. |
DarkStalker |
Allora io ho provato a farlo riciclando sempre la "a".
Anche perche' se ci mettevo b, il secondo ramo nn avrebbe mai chiuso
e onestamente nn so se tutte le dimostrazioni devono uscire o
ha anche previsto il fatto che nn siano dimostrabili. |
DarkStalker |
Originally posted by Joliet Jake
[
Per il punto 3 mi spiego meglio: per la ricerca del (contro)modello devi controllare che la variabile presente nella formula universale che sta nell'ultima foglia sia stata istanziata con tutti i termini ground.
Non me lo sto inventando, controlla a pagina 28 del PDF in alto, clausola 3
tanto più che c'è la nota 21 in basso che recita [/B]
Si ok ma generalmente nella ricerca del contromodello hai
un ramo che nn chiude quindi devi istanziarle tutte per poi
scrivere sotto le varie interpretazioni ma se hai gia' un
P(x), notP(x) il ramo gia' chiude. |
DarkStalker |
A proposito tu con prolog come sei messo? |
Joliet Jake |
ah si è vero, scusa non mi ricordavo come andava l'esercizio, sorry, mi sembrava si potesse risolvere in entrambi i modi -_-
comunque possiamo stabilire il principio di riciclare prima di aggiungere roba.
sul punto 3 siamo d'accordo, appunto, cioè la necessità di istanziarle tutte c'è solo per il (contro)modello.. ok.
comunque mi sa che sarà meglio andare a naso... senza complicarsi troppo la vita.
Io fino a stasera tardi sono su questo forum, se hai domande postale.
Vediamo di fare brainstorming sui problemi.. |
DarkStalker |
Io faccio qlcsa con la DPLL |
Joliet Jake |
io invece prolog, è un bel casino fare gli alberi. |
DarkStalker |
Ma tu hai una mezza idea di quali siano le regole?
Potresti postare qlcsa?
Io non ho nessuna info. |
Joliet Jake |
ma per prolog o per le dpll?
per le dpll ci sono , per prolog l'approccio lo devi desumere dagli esercizi, io mi sono "procurato" il libro di Bratko scritto quà e mi sono letto tutti i capitoli elencati.
di fatto devi andare sequenzialmente e fare sostituzioni, non è poi così difficile, scaricati le soluzioni quà e il testo quà
e guardati qualche esercizio.. non è difficile come sembra, ma è un casino stare attenti a tutto.
--------------------------
soluzione del problema 2 pag.31 del pdf di prima
è
A={a,b}
I(R)= {(b,a)}
e l'ultima foglia contiene
*(tutti i perogni), R(b,a), (non)R(a,a), (non)R(a,b)
e poi basta perchè applicando "b" al "Vx" si andrebbe avanti all'infinito per colpa dell' "(esiste)y"
giusto? |
DarkStalker |
Ciao scusa sono andato a mangiare e a comprare 2 cose.
Adesso continuo a smazzarmi la DPLL.
Anche io mi sono procurato il Bratko adesso vedo anche quello.
Se per caso hai skype o msn dammelo in pvt cosi' almeno e' piu' comodo
comunicare. |
Joliet Jake |
fatto, controlla PM :) |
|
|
|
|