matematička logika i principi programiranja 1. naći zbir i ... sa uputstvima.pdf · 2. uz pomoć...

8
Matematička logika i principi programiranja zadaci iz junskog roka 2005 1. Naći zbir i razliku oktalnih brojeva: 1234,5 i 670,7 Zbir prikazati u dekadnom i binarnom sistemu (zapis u drugi brojevni sistem se može napisati samo kao zbir stepena). Uputstvo: U oktalnom brojevnom sistemu osnova sistema je 8, a cifre su 0,1,2,3,4,5,6 i 7. Aritmetika u oktalnom sistemu bi izgledala ovako: 2+6=10 (jer je osam osnova sistema – ako računamo u desetičnom 2+6=8 pa se osam prenosi u narednu težinu kao jedan) 3+7=12 (ako računamo u desetičnom: 3+7=10=8+2 pa se osam prenosi u narednu težinu kao jedan) Pri prevođenju zapisa iz oktalnog sistema u dekadni, potrebno je uočiti težine cifara. Ako neki oktalni broj ima sledeće cifre: r n n c c c c c c c c ... , ... 2 1 0 1 2 1 tada cifra i c ima težinu i, pa se ceo oktalni broj u dekadnom sistemu zapisuje tako što se oktalne cifre množe odgovarajućim težinama – stepenima osmice: r r n n n n c c c c c c c c + + + + + + + + 8 * ... 8 * 8 * , 8 * 8 * 8 * ... 8 * 8 * 2 2 1 1 0 0 1 1 2 2 1 1 Pri prevođenju zapisa iz oktalnog sistema u binarni može se uočiti da se svaki broj iz oktalnog brojevnog sistema može napisati pomoću tri binarne cifre. Za pomoć može poslužiti sledeća tabela: (8) 0 1 2 3 4 5 6 7 (2) 000 001 010 011 100 101 110 111

Upload: phungminh

Post on 05-Feb-2018

233 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Matematička logika i principi programiranja 1. Naći zbir i ... sa uputstvima.pdf · 2. Uz pomoć metode rezolucije ispitati da li je formula tautologija. ()()()( )p ⇒q ∧ q ⇒r

Matematička logika i principi programiranja zadaci iz junskog roka 2005

1. Naći zbir i razliku oktalnih brojeva:

1234,5 i 670,7

Zbir prikazati u dekadnom i binarnom sistemu (zapis u drugi brojevni sistem se može napisati samo kao zbir stepena). Uputstvo: U oktalnom brojevnom sistemu osnova sistema je 8, a cifre su 0,1,2,3,4,5,6 i 7. Aritmetika u oktalnom sistemu bi izgledala ovako: 2+6=10 (jer je osam osnova sistema – ako računamo u desetičnom 2+6=8 pa se

osam prenosi u narednu težinu kao jedan) 3+7=12 (ako računamo u desetičnom: 3+7=10=8+2 pa se osam prenosi u narednu

težinu kao jedan) Pri prevođenju zapisa iz oktalnog sistema u dekadni, potrebno je uočiti težine cifara. Ako neki oktalni broj ima sledeće cifre:

rnn cccccccc −−−− ...,... 210121 tada cifra ic ima težinu i, pa se ceo oktalni broj u dekadnom sistemu zapisuje tako što se oktalne cifre množe odgovarajućim težinama – stepenima osmice:

rr

nn

nn cccccccc −

−−

−−

−−

− ++++++++ 8*...8*8*,8*8*8*...8*8* 22

11

00

11

22

11

Pri prevođenju zapisa iz oktalnog sistema u binarni može se uočiti da se svaki broj iz oktalnog brojevnog sistema može napisati pomoću tri binarne cifre. Za pomoć može poslužiti sledeća tabela:

(8) 0 1 2 3 4 5 6 7 (2) 000 001 010 011 100 101 110 111

Page 2: Matematička logika i principi programiranja 1. Naći zbir i ... sa uputstvima.pdf · 2. Uz pomoć metode rezolucije ispitati da li je formula tautologija. ()()()( )p ⇒q ∧ q ⇒r

Rešenje: Nalaženje zbira i razlike bi onda izgledalo ovako: Transformacija zbira iz oktalnog sistema u dekadni: 2125,4(8) =(2*83+1*82+2*8+5*1+4*8-1)(10) =1109,5(10) Transformacija zbira iz oktalnog sistema u binarni: 2125,4(8) =010 001 010 101, 100(2)

1234,5 + 670,7 2125,4

1234,5 - 670,7 343,6

Page 3: Matematička logika i principi programiranja 1. Naći zbir i ... sa uputstvima.pdf · 2. Uz pomoć metode rezolucije ispitati da li je formula tautologija. ()()()( )p ⇒q ∧ q ⇒r

2. Uz pomoć metode rezolucije ispitati da li je formula tautologija. ( ) ( )( ) ( )rprqqp ⇒⇒⇒∧⇒

Uputstvo: Negaciju date formule je potrebno transformisati u konjuktivnu normalnu formu. Pri tome A⇒B zapisujemo kao ¬A∨B. Takođe se skraćuju zapisi kao na primer:

a) A∨0 se može zameniti sa A b) A∧1 se može zameniti sa A c) A∨A, takođe A∧A se može zameniti sa A

Da bi se dobila konjuktivna normalna forma, često je potrebno koristiti distributivnost disjunkcije prema konjukciji:

A∨(B∧C)⇔ (A∨B)∧(A∨C)

Iz konjuktivne normalne forme se izdvajaju sastavci (disjunkcije iskaznih slova ili njihovih negacija), i pomoću pravila rezolucije se pokušava generisanje praznog sastavka. Ako se iz negacije date formule pomoću pravila rezolucije može izvesti prazan sastavak, zaključujemo da je formula tautologija (inače nije).

Rešenje:

( ) ( )( ) ( )

( ) ( )( ) ( )[ ]( ) ( )( ) ( )[ ]( ) ( )( ) ( )[ ]

( ) ( )( ) ( )( ) ( )

)6,4(..............0.7)5,3(................6)2,1(........5

.4

.3

.2.1

:

RRrRrp

rp

rqqp

rprqqprprqqprprqqprprqqprprqqp

rešenje

rprqqp

∨¬¬

∨¬∨¬

¬∧∧∨¬∧∨¬∨¬¬∧∨¬∧∨¬∨¬∨∨¬∧∨¬¬¬∨¬⇒∨¬∧∨¬¬

⇒⇒⇒∧⇒¬

⇒⇒⇒∧⇒

Izveden je prazan sastavak, formula je tautologija.

A∨B, ¬A∨C B∨C

Page 4: Matematička logika i principi programiranja 1. Naći zbir i ... sa uputstvima.pdf · 2. Uz pomoć metode rezolucije ispitati da li je formula tautologija. ()()()( )p ⇒q ∧ q ⇒r

3. Naći partikularna rešenja sistema Bulovih jednačina i nejednačina:

( )( ) zzyyx

yxxzxxzzyzx

≤∨∨

∨≤∨=∨∨

1

0

Uputstvo: Partikularno rešenje Bulove jednačine A(x1, x2,…, xn)=B(x1, x2,…, xn) (gde su A i B Bulovi izrazi od kojih bar jedan sadrži promenljive x1, x2,…, xn) je vektor α=(α1, α2,…, αn) ∈ nL2 ako i samo ako je A(α1, α2,…, αn)=B(α1, α2,…, αn). Pri rešavanju sistema Bulovih jednačina i nejednačina koriste se sledeće teoreme:

T1. A≤B ⇔ AB=0 T2. A=B ⇔ AB∨AB =0 T3. (A1=0, A2=0, ..., An=0) ⇔ A1∨ A2∨...∨ An=0 Rešenje:

( )( ) zzyyx

yxxzxxzzyzx

≤∨∨

∨≤∨=∨∨

1

0

( ) zyxyxxzzzyzx

≤∨∨≤

=∨∨ 0 jer je 1∨A=1, takođe AA=0

( )( ) 0

0

0

=∨

=∨

=∨∨

zyx

yxxz

zzyzx

primenom T1.

0

0

0

=∨

=

=∨∨

zyzx

yxxz

zzyzx

sređivanjem izraza sa levih strana jednačina

0

000

=∨

==∨∨

zyzx

zzyzx sređivanjem izraza sa levih strana jednačina

0=∨∨∨∨ zyzxzzyzx primenom T3.

Page 5: Matematička logika i principi programiranja 1. Naći zbir i ... sa uputstvima.pdf · 2. Uz pomoć metode rezolucije ispitati da li je formula tautologija. ()()()( )p ⇒q ∧ q ⇒r

( ) ( ) ( )( ) ( ) ( ) 0=∨∨∨∨∨∨∨∨∨∨ zyxxzyyxzyyxxzyxxzyyx

transformacija leve strane jednačine u KDNF (kanonsku disjunktivnu normalnu formu)

0=∨∨∨∨∨∨∨∨∨∨∨ zyxzxyzyxzxyzyxzyxzyxzxyzyxzyxzyxzyx

transformacija leve strane jednačine u KDNF (kanonsku disjunktivnu normalnu formu)

0=∨∨∨ zxyzyxzyxzyx

KDNF (kanonska disjunktivna normalna forma) Preslikavanjem x→1, x→0, formiran je pomoćni skup: M={(0,1,0), (0,0,0), (1,0,0), (1,1,0)}, a konačno rešenje R kao razlika do celog prostora: R=L\M={(0,0,1), (1,0,1), (0,1,1), (1,1,1)}

Page 6: Matematička logika i principi programiranja 1. Naći zbir i ... sa uputstvima.pdf · 2. Uz pomoć metode rezolucije ispitati da li je formula tautologija. ()()()( )p ⇒q ∧ q ⇒r

4. Naći minimalnu formu Bulove funkcije pomoću metode Vejč-Karnea

wxywzyxwyzxyzwxzwyxwzxwzwzyxf ∨∨∨∨∨∨=),,,(

Rešenje sa uputstvom: Nalaženje minamalne normalne forme Bulove funkcije se odnosi na nalaženje njenog najkraćeg zapisa (u smislu broja slova i znakova). Metod Vejč-Karnea zahteva da se funkcija prvo napiše u obliku kanonske disjunktivne normalne forme (KDNF):

( )( ) ( ) ( )

wzxywxyz

wzyxwyzxyzwxzwyxwzyxwzxywzyxwzyxwzyxwzxywzyxf

wzzxywzyxwyzxyzwxzwyxwzyyxwzyyxxwzyxf

wxywzyxwyzxyzwxzwyxwzxwzwzyxf

∨∨

∨∨∨∨∨∨∨∨∨=

∨∨∨∨∨∨∨∨∨∨=

∨∨∨∨∨∨=

),,,(

),,,(

),,,(

wxyzwyzxyzwxzwyxwzyxwzxywzyxwzyxwzyxwzxywzyxf ∨∨∨∨∨∨∨∨∨=),,,(

Zatim se svaka kanonska konjukcija preslikava u binarni, pa zatim u dekadni broj:

1467391308412),,,(

1110011001110011100111010000100001001100),,,(

∨∨∨∨∨∨∨∨∨=

∨∨∨∨∨∨∨∨∨=

wzyxf

wzyxf

koji se markira (označi) u određenoj ćeliji Vejčovog dijagrama:

x x

w 0 2 10 8 y w 1 3 11 9

5 7 15 13 y

w 4 6 14 12

z z z

na sledeći način: x x

w 1 1 y w 1 1

1 1 y

w 1 1 1 1

z z z

Page 7: Matematička logika i principi programiranja 1. Naći zbir i ... sa uputstvima.pdf · 2. Uz pomoć metode rezolucije ispitati da li je formula tautologija. ()()()( )p ⇒q ∧ q ⇒r

Zatim se formiraju blokovi kao grupa od 2n spojenih markiranih kvadratića (1, 2, 4, 8, 16). Prvo se formiraju glavni blokovi kao maksimalni blokovi za konkretni markirani kvadratić:

x x

w 1 1 y

w 1 1

1 1 y

w 1 1 1 1

z z z

Znači glavni blokovi su: yzxzwxwywzzx ∨∨∨∨ Od dobijenih glavnih blokova se izdvajaju osnovni blokovi kao blokovi koji imaju bar jedan markirani kvadratić koji pripada samo njemu (ne deli ga sa nekim drugim glavnim blokom):

x x

w 1 1 y

w 1 1

1 1 y

w 1 1 1 1

z z z

Osnovni blokovi čine jezgro rešenja:

zwxwywzzxjezgro ∨∨∨=

a u ovom zadatku jezgro prekriva sve markirane kvadratiće pa je ono jedinstveno rešenje:

rešenje: zwxwywzzxwzyxf ∨∨∨=),,,(min

blok zw

blok xz

blok xyz

Page 8: Matematička logika i principi programiranja 1. Naći zbir i ... sa uputstvima.pdf · 2. Uz pomoć metode rezolucije ispitati da li je formula tautologija. ()()()( )p ⇒q ∧ q ⇒r

5. Na jeziku predikatskog računa I reda formalizovati rečenice, koristeći sledeće predikate:

1. T(x) sa značenjem x je tačka, 2. O(x) sa značenjem x objekat, 3. R(x) sa značenjem x je realan broj, 4. B(x,y,z) sa značenjem da je raspored x, y, z tj. da se y nalazi između

x-a i z-a.

a) Tačka C se nalazi između A i B. b) Postoji objekat između P i Q. c) Između svaka dva realna broja postoji realan broj.

Uputstvo: Pri formalizaciji rečenica potrebno je koristiti kvantifikatore:

a) Univerzalni kvantifikator, sa oznakom ∀ (čita se svaki) i b) Egzistencijalni kvantifikator, sa oznakom ∃ (čita se postoji, ima, neki)

Rešenje:

a) T(C) ∧ B(A,C,B)

b) (∃x)(O(x) ∧ B(P, x, Q))

c) (∀x) (∀y) (R(x) ∧ R(y) ⇒ (∃z) (R(z) ∧ B(x, z, y)))