Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Ahoj chci dokázat NP-úplnost hamiltonovi cesty,ale mám problémy s pochopením widgetů z knihy Michael Sipser Introduction to the theory of computation..
Jedná se zde o redukci z jazyka 3SAT na graf Hamiltonovi cesty.
3Sat je jazyk splnitelných booleovských formulí ve třetí konjunktivní normální formě.
Takže v podstatě jde o to nějakou formuli například ve tvaru: 
redukovat na graf Hamiltonovi cesty pokud je formule splnitelná a pokud není splnitelná ,tak výsledný graf neobsahuje Hamiltonovu cestu.
Hamiltonova cesta je v grafu taková cesta ,která začne ve vrcholu S, projde všechny další vrcholy právě jednou a skončí ve vrcholu T.
Už se tu konstrukci toho grafu snažím pochopit dva dny,ale pořád v tom mám nějaké nesrovnalosti a byl bych Vám moc vděčný za jakoukoliv pomoc :-)
Odkaz na knihu:
Odkaz kapitola 7.35 strana 276
Offline
Ahoj,
jaký krok v tom důkazu nechápeš?
"Orientace toho grafu zaručuje, že se proměnné budou procházet postupně. Směr procházení proměnné odpovídá jejímu ohodnocení. Vrchol odpovídající klauzuli můžeme projít jen v případě, že je splněna (díky ohodnocení nějaké její proměnné)."
Offline
↑ FailED:↑ FailED:
Ahoj, konkrétně mi není jasné kolik těch diamantových struktur odpovídajících proměnným bude.
Řekl bych že v tomto případě jich bude 6,protože mám 6 literálů jen mi v tomto případě zase není jasné proč by v řádcích diamantu mělo být 3k+1 uzlů,protože by takto jeden diamant zastoupil jeden literál a tento jeden literál je v každé clausuli jen 1x takže by mi měly stačit v řádku 4 uzly (dva pro objížďku přes uzel clausule a dva krajní).
Moc díky :-)
Offline
↑ Lordikcz:
Je tam jeden ten diamant za každou proměnnou, ne za literál. Budou tam 3, ohodnocení se pozná podle toho, ze které strany na ten diamant přijdem.
V řádcích těch diamantů je 3k+3 uzlů, je to tam proto, aby se oddělily ty dvojice uzlů, ze kterých vedou hrany do klauzulí.
Offline
↑ FailED:
Jo a ještě tedy poslední věc pro jednu proměnnou mám tedy jeden diamant ,takže pro
a
bude jeden diamant.
Třeba pokud bych proměnné
přiřadil ohodnocení 1,tak vyjdu z vrcholu S a teď si mám vybrat jestli půjdu vpravo nebo vlevo,ale mám použít
nebo
? Asi bych řekl ,že se mám řídit ohodnocením co jsem přiřadil a to jestli je proměnná
mi ovlivní jen to v jakém směru budu procházet objížďku přez uzel clausule.
Offline
↑ FailED:↑ FailED:
Jo jasně myslím ,že tohle chápu prostě pokud je
pak
..
Ale nerozumím tomuto:
Ta formule co jsem uvedl má dvě clausule v jedné je
a v druhé se vyskytuje
.
K těmto dvou klausulím mám celkem tři diamanty,kde jeden z nich odpovídá proměnné
a z toho co jsem pochopil,tak by z něj měli vést dvě objíždky přez uzle clausulí. Jedna objížďka pro
a druhá pro
.
Řekněme ,že diamant pro proměnnou
je první mám se tedy z prvního uzlu vydat doprava nebo doleva?
Kterým ohodnocením se mám řídit, když v jedné clausuli je má tato proměnná ohodnodnocení
a v druhé
.
Ještě tedy vycházím z ohodnocení, které přiřadím proměnným ve formuli tak, aby byla splnitelná.
Offline
↑ Lordikcz:
Při ohodnocení proměnných
má proměnná
ohodnocení
.
není proměnná, ale literál (výroková formule)
, která má shodou okolností (podle definice ohodnocování formulí) ohodnocení
.
Formule
je splnitelná, když existuje ohodnocení proměnných
takové, že
.
Nejdřív si nastuduj základní pojmy, bez toho to v logice nepůjde.
Offline