13.07.2015 Views

Matematici discrete pentru CS - Departamentul Automatica ...

Matematici discrete pentru CS - Departamentul Automatica ...

Matematici discrete pentru CS - Departamentul Automatica ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

• Existǎ exact o minǎ rǎmasǎ. Aceasta este “restrictia globalǎ” G:(X 1,2 ∨ X 2,2 ∨ X 3,2 ) ∧ (¬X 1,2 ∨ ¬X 2,2 ) ∧ (¬X 2,2 ∨ ¬X 3,2 ) ∧ (¬X 3,2 ∨ ¬X 1,2 )De observat cǎ în acest caz G este exact acelasi lucru cu N 2,1 .Conjuncţia propoziţiilor N 1,1 ∧ N 2,1 ∧ N 3,1 ∧ G este o reprezentare CNF a tot ceeace se cunoaste, dat fiind afisajul. Fie d afisajul si CNF(d) reprezentarea lui caCNF. Suntem interesaţi acum în a decide care pǎtrate sunt sigure si care suntminate. De pildǎ, întrebarea dacǎ pǎtratul (1, 2) este sigur corespunde cu adecide dacǎCNF(d) |= ¬X 1,2O dovadǎ cǎ CNF(d) are drept consecintǎ ¬X 1,2 oferǎ o garantie completǎ cǎpǎtratul (1, 2) este sigur deoarece asta înseamnǎ cǎ nu este nici o minǎ în (1, 2)în orice lume posibilǎ (configuratie de mine) consistentǎ cu ceea ce spuneafisajul.Consecinţa si dovadaAceastǎ secţiune oferǎ o metodǎ de verificare simplǎ si completǎ care derivǎdirect din definiţia consecinţei necesare (entailment). În lectia 1 s-a dat odefiniţie în termeni de “lumi posibile”. Este posibilǎ o concizie întrucâtva maipronunţatǎ. Spunem cǎ o atribuire (assignment) completǎ M este un model alunei propozitii P dacǎ P este adevǎratǎ în M. Atunci avem definitia urmǎtoare:Definitia 7.1 (consecinţa = entailment): P |= Q dacǎ si numai dacǎ Q esteadevǎratǎ în orice model al lui P.Sǎ ilustrǎm ideea <strong>pentru</strong> jocul Minesweeper. P este propozitia care corespundetuturor informatiilor cunoscute, CNF(d). Q este propozitia conform cǎreiapǎtratul (1, 2) este sigur, adicǎ ¬X 1,2 . Variabilele sunt X 1,2 , X 2,2 si X 3,2 astfel cǎexistǎ 8 modele. Le putem verifica pe fiecare (adicǎ fiecare configuratie demine), sǎ vedem dacǎ este un model <strong>pentru</strong> CNF(d) (adicǎ este consistent cuafisajul) si dacǎ este asa sǎ verificǎm dacǎ este si model <strong>pentru</strong> ¬X 1,2 (adicǎ nuexistǎ minǎ în pǎtratul (1, 2)).Similar, dacǎ (2, 2) contine o minǎ în orice model al CNF(d), atunci am doveditcǎ (2, 2) contine o minǎ. În figura 1 (d), unele modele <strong>pentru</strong> CNF(d) au o minǎîn (2, 3), unele nu au, prin urmare nu se poate dovedi nimic.Pentru logica propoziţionalǎ în general, expresiile finite pot contine numai unnumǎr finit de variabile astfel cǎ numǎrul de modele posibile este finit. Asadar,se poate totdeauna utiliza aceastǎ demonstratie-prin-tabel-de-adevǎr, care maieste numitǎ si model-checking:<strong>pentru</strong> a determina dacǎ P |= Q, în care P si Q sunt expresii booleene deX 1 , …, X n :<strong>pentru</strong> fiecare model posibil M = {X 1 = t 1 , …, X n = t n }dacǎ P este adevǎratǎ în Matunci dacǎ Q este falsǎ în M returneazǎ “nu”returneazǎ “da”Acest algoritm va fi fǎcut mai concret în secţiunea urmǎtoare. Pentru moment, ase nota cǎ în cel mai rǎu caz, timpul de executie este O(2 n ), deoarece sunt 2 n64

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!