Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Sviare le tabelle di verità
Forum - C/C++ - Sviare le tabelle di verità

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
Dice (Normal User)
Expert


Messaggi: 238
Iscritto: 26/11/2011

Segnala al moderatore
Postato alle 21:53
Lunedì, 02/01/2012
Ok, ho capito che tabelle di verità non  me le volete spiegare in dettaglio e non sono in grado di crearle.
Dato che non ho ben capito come si creano, mi chiedevo ...
...
esiste un metodo che permetta di verificare se esiste un assegnamento di verità che soddisfa una formula logica proposizionale, ma ...
...
senza e dico SENZA utilizzare le tabelle di verità ???

Grazie in anticipo dell'aiuto.


La vita è un biscotto ma se piove si scioglie !!!
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6116
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 0:47
Martedì, 03/01/2012
Non ho capito... puoi essere più specifico? Cosa intendi per "metodo che permetta di verificare ... logica proposizionale..."?


Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 8:55
Martedì, 03/01/2012
uno dei post più surreali che io abbia mai letto...


Ingegnere Informatico
https://ldlagency.it
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 10:40
Martedì, 03/01/2012
Come ti ho già detto, il problema dell'esistenza è in genere di difficile risoluzione.

Tuttavia, se la formula è in forma normale disgiuntiva, basta che una qualsiasi n-pla di letterali sia vera per rendere la formula vera.


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote
Avatar
Dice (Normal User)
Expert


Messaggi: 238
Iscritto: 26/11/2011

Segnala al moderatore
Postato alle 13:23
Martedì, 03/01/2012
ahahahahahahah

cercherò di essere un  po' meno surreale, allora...
vi faccio un esempio per farvi capire cosa vuol dire verificare se esiste un assegnamento di verità che soddisfa una formula logica proposizionale:

a OR b AND c             (questa è la formula logica proposizionale)

Bisogna creare la tabella di verità:
(senza usare la parentesi tonde bisogna   usare la precedenza degli operatori logici)

a | b | c | b AND c | a OR b AND c |
0 | 0 | 0 |     0      |           0         |
0 | 0 | 1 |     0      |           0         |
0 | 1 | 0 |     0      |           0         |
0 | 1 | 1 |     1      |           1         |
1 | 0 | 0 |     0      |           1         |
1 | 0 | 1 |     0      |           1         |
1 | 1 | 0 |     0      |           1         |
1 | 1 | 1 |     1      |           1         |

Per vedere quali sono gli assegnamenti di verità che soddisfano la formula bisogna guardare l'ultima colonna, e prendere solo quando vale 1.
In questo esempio gli assegnamenti di verità che soddisfano la formula sono :
a = 0; b = 1; c = 1;
a = 1; b = 0; c = 0;
a = 1; b = 0; c = 1;
a = 1; b = 1; c = 0;
a = 1; b = 1; c = 1;

A me basta stamparne solo una di queste righe ( per esempio la prima: a = 0; b = 1; c = 1).
In parole povere: io devo riuscire a stampare i valori delle proposizioni atomiche (a , b, c) che portano tutta la formula a valere uno.

Io sto tutt'ora provando a riuscirci con le tabelle di verità, anche se non so se riuscirò, perhcè poi è una cosa abbastanza lunga.
Io volevo chiedervi se per caso esiste un metodo più facile e corto di riuscire a fare questo lavoro, possibilmente senza usare le tabelle di verità.
Se per caso non esiste, mi potreste rispiegare molto dettagliamente come riuscirci utilizzando le tabelle di verità ?


PS: spero di essere stato chiaro, ed aver eliminato la surrealità ihihihi


La vita è un biscotto ma se piove si scioglie !!!
PM Quote
Avatar
anthony015 (Member)
Pro


Messaggi: 116
Iscritto: 20/05/2011

Segnala al moderatore
Postato alle 14:09
Martedì, 03/01/2012
se non ho capito male tu vuoi che il programma ti dia dei valori per i quali la proposizione logica sia vera, ad esempio nella proposizione logica a OR b AND c, ti ritorni dei valori di a, b, c per i quali a OR b AND c valga 1.
se è così potresti usare o un metodo brute-force, cioè tentare in sequenza con ogni valore assumibile da a,b,c finche a OR b AND c valga 1, oppure utilizzando algoritmi di backtracking
http://it.wikipedia.org/wiki/Backtracking

PM Quote
Avatar
Dice (Normal User)
Expert


Messaggi: 238
Iscritto: 26/11/2011

Segnala al moderatore
Postato alle 18:45
Martedì, 03/01/2012
Si, hai capito bene, voglio proprio quello.
Ho visto il link che mi hai messo, ed è stato un po' utile.
Ho visto che c'è l'esempio, l'unico problema è che è in Python, che io non conosco.
Non è che per caso me lo tradurreste in linguaggio C per favore ?


def prop(x,y):
    return (x and y)

vals = [False, True]
for x in vals:
    print("x=", x)
    for y in vals:
            print("y=", y)
            if prop(x,y):
                    print("\tSI")
            else:
                    print ("\tNO")

Produce come risultato
x= False
y= False        NO
y= True         NO

x= True
y= False        NO
y= True         SI


La vita è un biscotto ma se piove si scioglie !!!
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 12:05
Mercoledì, 04/01/2012
Se trovassi un metodo più "semplice", probabilmente vincerei la medaglia Fields, il premio Turing e qualche milioncino in contanti, e sicuramente non lo verrei a dire a te :rotfl:


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote
Avatar
Dice (Normal User)
Expert


Messaggi: 238
Iscritto: 26/11/2011

Segnala al moderatore
Postato alle 14:52
Mercoledì, 04/01/2012
Ahahaha mi sembra giustso :rotfl:

Ma... riguardo alla traduzione di quell'esempio ?


La vita è un biscotto ma se piove si scioglie !!!
PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo