Homepage  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


.dsy:it. .dsy:it. Archive > Didattica > Corsi G - M > Logica matematica
 
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?


  1. ogni termine ground, indipendentemente da tutto
  2. ogni variabile che ho inizializzato a y, per es. negli (esiste)y
  3. 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 :)

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate