» »

Vitezi in oprode, naloga

Vitezi in oprode, naloga

marjan_h ::

Lep pozdrav,

mene zanima kakšen je uraden postopek (in NE brute-force) reševanje slednje naloge:



Če pomislim na hitro, napraviš pravilnostno tabelo z 3 spremenljivkami za vsakega akterja v nalogi, in potem izjave prevedeš v logični jezik.
Npr:
Stojan: Če Bojan ni vitez, je Marjan oproda.
Se prevede v:
!B => !M (!, pomeni logični "ne")

Potem izpolniš tabelo, vendar ne vem kaj potem gledaš?, Kako ugotoviš kdo laže in kdo govori resnico?


Hvala za nadaljna pojasnila.

Letalec ::

A imaste na FRI pri fjavžu izpit iz diskretnih struktur, kajneda :). No bom pogledal če se še kaj spomnim.

Aldo ::

Ne znam ti povedat uradnega postopka, ampak imam lazjo resitev, ce ti bo kaj pomagala. Stojan govori resnico, ker pravi, da ce Bojan ni vitez, je Marjan oproda, kar drzi.
To bi lahko zapisali takole:
Marjan=Bojan AND Stojan.

Torej morata biti oba viteza, da bo tudi Marjan vitez.
Enacba za Bojana:
Bojan=!!Stojan=Stojan (negiran oproda je vitez)

Torej so vsi vitezi.

Zgodovina sprememb…

  • spremenil: Aldo ()

Letalec ::

O mislim da vem. Napišeš si tabelo kombinacij:

ABC izrazA izrazB izrazC
000
001
010
011
...

ter nato za vsak izraz posebej izračunaš rezultat za podane vrednosti. Kjer se kombinacija ujema z vrstico rezultatov izrazov je možna rešitev. Daj naredi scan tabele in ga prilimaj sem, bo lažje razložiti.

jeti51 ::

Naredi si pravilnostno tabelo in si izpiši vse možne kombinacije Marjana, Bojana in Stojana (0 = oproda, ki laže, 1 je vitez, ki govori resnico).
Potem za vsako kombinacijo izračunaj, ali so izjave vseh treh resnične (označiš 1) ali neresnične (označiš 0). Kjer se ti rezultat izjav ujema s kombinacijo M,S,B, je rešitev naloge. Vidimo, da je v našem primeru rešitev samo, da so vsi trije vitezi (1,1,1), kajti tedaj se vrednosti izjav ujemajo s tem, saj so vse resnične (1,1,1).

M S B || BS | -B => -M | -(-S)
------++----+----------+------
0 0 0 || 0  |     1    |   0  
0 0 1 || 0  |     1    |   0  
0 1 0 || 0  |     1    |   1  
0 1 1 || 1  |     1    |   1
------++----+----------+------  
1 0 0 || 0  |     0    |   0  
1 0 1 || 0  |     1    |   0  
1 1 0 || 0  |     0    |   1  
1 1 1 || 1  |     1    |   1  

Zgodovina sprememb…

  • spremenil: jeti51 ()

marjan_h ::

aja, saj je logično :),

zanimivo je to, da če se nikjer nebi ujemalo, potem bi bla naloga nerešljiva, ker ne moreš določit kdo govori resnico in kdo laže?

Najlepša hvala.

Zgodovina sprememb…

  • spremenil: marjan_h ()

simpatija ::

Ja. In če se ti v več vrsticah ujema, imaš več možnih rešitev.

noraguta ::

marjan_h je izjavil:

aja, saj je logično :),

zanimivo je to, da če se nikjer nebi ujemalo, potem bi bla naloga nerešljiva, ker ne moreš določit kdo govori resnico in kdo laže?

Najlepša hvala.

Ja temu se pa rece paradoks, vsa skp je pa skopirano vn iz smuljana. Da se pa zadeva rešit in general z predikatnim racunom.
Pust' ot pobyedy k pobyedye vyedyot!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

resničnostne tabele - logika

Oddelek: Loža
74760 (4561) tsh2
»

7 segmentni LCD prikazovalnik...

Oddelek: Šola
95305 (4485) mte
»

Iskanje podvojenih zaporedij

Oddelek: Programiranje
91748 (1528) Gundolf
»

Nujno za izpit iz OARS potrebujem risbo, kako se naredi iz JK celice T celico

Oddelek: Šola
61664 (1518) Sergio
»

Alica v deželi ugank

Oddelek: Loža
133127 (2878) Double_J

Več podobnih tem