Sunteți pe pagina 1din 10

Seminarii de logica 2010 - 2011

C. Masalagiu, C. Varlan, V. Alaiba


October 10, 2010

Contents
1 Seminarul 1
1.1 Introducere . . . . . . . . . . . . . . . . . . . . .
1.1.1 De ce avem nevoie de logica ? . . . . . . .
1.1.2 Introducerea ideii de definitie constructiva
1.1.3 Erori in limbaj/gandire . . . . . . . . . .
1.2 Wumpus World . . . . . . . . . . . . . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

3
3
3
3
4
5

2 Seminarul 2
2.1 Algebre booleene . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Inductie matematica . . . . . . . . . . . . . . . . .
2.1.2 Algebre booleene . . . . . . . . . . . . . . . . . . .
2.1.3 Decompunere in suma de termeni, Forme normale

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

7
7
7
7
8

3 Seminarul 3
3.1 Clase de functii booleene speciale . . . . . . . . . . . . .
3.1.1 Functii autoduale . . . . . . . . . . . . . . . . . .
3.1.2 Functii monotone . . . . . . . . . . . . . . . . . .
3.1.3 Functii liniare . . . . . . . . . . . . . . . . . . . .
3.1.4 Diverse probleme din categoria functiilor speciale

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

9
. 9
. 9
. 9
. 9
. 10

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

Chapter 1

Seminarul 1
1.1
1.1.1

Introducere
De ce avem nevoie de logica ?

In primul rand pentru ca ne ajuta (ca si oameni) sa gandim corect.


In al doilea rand, Informatica tinde spre o automatizare din ce in ce mai mare si un
grad mare de autonomie se poate obtine numai daca reusim sa invatam calculatoarele sa
"gandeasca" singure si sa ia decizii in locul nostru.
Cei mai multi oameni nu pot nici macar sa nege corect o propozitie. Fara a incerca sa
va jignesc, hai sa incercam sa negam urmatoarea propozitie:
"Daca mi-e sete atunci beau apa." [aici loc de discutii] Probabil cei mai multi vor nega
cu "Daca nu mi-e sete, nu beau apa" si discutia apare din faptul ca negata unei propozitii
adevarate este tot o propozitie adevarata.

1.1.2

Introducerea ideii de definitie constructiva

Pentru a putea formula cunostinte, avem nevoie de notiuni.


O notiune poate fi caracterizata prin continut sau prin sfera. Caracterizarea prin continut
este realizata prin precizarea unor proprietati particulare ale obiectului - proprietati ce il
diferentiaza de alte obiecte cu care ar putea fi confundat. Spunem ca definim o notiune prin
sfera, atunci cand enumeram toate obiectele multimii ce ar forma notiunea.
De exemplu, putem defini notiunea de "copac" prin continut: "Copacul este o planta cu
tulpina lemnoasa cu o inaltime de peste 3 metri". Definitia prin sfera fiind de genul: un
copac este un element al multimii: {plop, prun, brad,...}.
Definirea unei notiuni se realizeaza prin delimitarea exacta fie a sferei fie a continutului.
Putem ca in acest proces sa utilizam notiuni deja cunoscute. De exemplu putem defini
notiunea de "conifer" bazandu-ne pe o notiune deja cunoscuta: copac. Astfel, "Un conifer
este un copac caruia nu ii cad frunnzele in timpul iernii" (Impreuna cu Zada - singurul conifer
cu frunze cazatoare).
Definitiile care sunt bazate pe notiuni deja cunoscute sunt formate din doua componente:
- gen proxim (este de fapt o notiune deja cunoscuta)
- diferenta specifica (o particularizare a genului proxim)
In exemplul de mai sus, notiunea de copac a fost genul proxim pentru notiunea de conifer,
diferenta specifica fiind faptul ca in timpul iernii acest tip de copac nu isi pierde frunzele.
Dati definitia unui patrat romb patrulater linie franta inchisa linie punct.
3

Anumite notiuni nu pot fi definite prin procedeul de mai sus ci direct prin observarea
lor. De exemplu punctul poate fi definit ca fiind urma lasata de un pix pe hartie.
In mod asemanator cu definirea notiunilor se definesc si cunostintele. Cunostintele sunt
afirmatii care au o valoare de adevar (adevarat sau fals). Propozitiile care sunt mereu
adevarate si sunt considerate ca fiind adevarate fara a li se cere sa fie demonstrate se numesc
axiome. Pe baza axiomelor si utilizant diverse reguli de inferenta se construiesc teoremele
(care sunt tot propozitii adevarate).

1.1.3

Erori in limbaj/gandire

De multe ori, prin intermediul unei semantici deficitare sau pe baza unor ratiuni incorecte
sunt introduse in gandire diverse afirmatii care, desi par adevarate la prima vedere, ele sunt,
in fapt, false.
O astfel de metoda de introducere de erori in gandire este prin utilizarea paradoxurilor.
Un paradox este o propozitie care se autocontrazice - daca propozitia ar fi adevarata, ea
ar exprima faptul ca de fapt este falsa si viceversa.
Exemplu de pradoxuri:
Eu nu spun niciodata adevarul.
Eu imi construiesc o masina a timpului, ma intorc in timp, inainte ca tatal meu sa fie
conceput si imi ucid bunicul.
Dumnezeu poate face o piatra atat de mare incat sa nu poata s-o ridice nici El? /
Daca da, inseamna ca nu e Atotputernic, pentru ca nu o poate ridica. / Daca nu, iar
inseamna ca nu e Atotputernic pentru ca nu o poate crea.
Pt ca o sageata lansata din pct A sa ajunga in B trebuie mai intai sa ajunga la jumatatea distantei dar ca sa ajunga la jumatatea distantei trebuie sa ajunga la 1/4*distanta si tot asa sageata nu va pleca niciodata din A => nu exista miscare.
Dumnezeu a facut Soarele abia n a treia zi. Pai daca nu exista Soare, cum stii ca au
trecut primele doua zile?
Daca R este multimea tuturor multimilor care nu se contin pe ele nsele, R se contine
pe ea nsasi ?
Un barbier spune ca el ii barbiereste pe toti oamenii din orasul lui care nu se barbieresc
singuri. Cine barbiereste pe barbier ?
Unele pardoxuri sunt create pe baza unor fenomene care nu sunt intelese la nivel formal/logic de catre om: calatoria in timp, existenta lui Dumnezeu in timp ce altele au la
baza erori logice banale. De exemplu primul paradox care afirma ca "Eu nu spun niciodata
adevarul". In mod normal, asta ma face pe mine un mincinos si deci propozitia care am
spus-o (ca nu as spune adevarul niciodata) este falsa... deci as spune adevarul cateodata
- deci nu as mai fi un mincionos notoriu. Pe de alta parte, daca as spune adevarul atunci
tocmai am afirmat ca sunt mincinos ceea ce evident, nu este corect.
Problema apare din cauza ca (iarasi) nu stim sa negam cum trebuie o propozitie. Propozitia ce trebuie negata este "toti x sunt y" (de fapt tot ce zic este minciuna). Scriind aceasta
propozitie cu operatori logici vom avea: (x)(x este y) si negand aceasta fraza vom obtine:
(x)(x nu este y)
4

Deci negatia propozitiei "toti x sunt y" nu este "nici un x nu este y" cum ne-am fi asteptat
ci "unii x nu sunt y".
Paradoxul barbierului sau a lui Russel (cel cu multimile) au la baza aceeasi eroare logica.
Desi nu sunt ele nsele absurditati, silogismele reprezinta alta sursa de confuzii: Silogismul este alcatuit din trei propozitii: 2 premise: una majora si una minora si o concluzie:
Silogism Corect:
PM: Toate elementele transuranice sunt radioactive.
Pm: Plutoniu este element transuranic.
C: Plutoniu este radioactiv.
Silogism Fals:
PM:Alba este adjectiv.
Pm:Zapada este alba.
C:zapada este adjective.

O alta metoda de introducere a erorilor in gandire este prin utilizarea unor inferente
cu propozitii compuse:
Am ce nu am pierdut. Nu am pierdut $1.000.000. nseamna ca am un $1.000.000.
Nu sunt n Constanta. Nu sunt nici n Bucuresti nseamna ca sunt n alta parte. Daca
sunt n alta parte nseamna ca nu sunt aici.

1.2

Wumpus World

Urmatoarea problema se poate rezolva in diverse moduri. Solutia bazata pe logica este de
departe cea mai interesanta, din acest motiv problema este data ca exemplu in foarte multe
locuri in care se doreste evidentierea necesitatii utilizarii logicii si implicatiile pe care aceasta
le are asupra inteligentei artificiale.
Un cautator de comori trebuie sa intre intr-o pestera in care locuieste un animal fioros
pe nume Wumpus. Pestera este formata din 16 camere dispuse sub forma unei matrici
4 4. Omul este reprezentat cu ajutorul literei H. Wumpusul este reprezentat cu litera W .
Pe langa Wumpus, cautatorul de comori mai poate avea nesansa sa cada intr-o prapastie.
Camerele-prapastie sunt marcate cu litera P . Pentru a putea totusi identifica prezenta
unui pericol, in camerele alaturate Wumpusului se simte un miros intepator (s) iar in cele
alaturate unei prapastii se simte o briza (b). Ajutati omul sa gaseasca comoara (G) fara a-si
pierde viata.
s

W
s

Gsb

Pentru usurinta, vom nota patratele cu cifre de la 1 la 16, astfel:


5

13
9
5
1

14
10
6
2

15
11
7
3

16
12
8
4

Propozitia "In patratul cu numarul 3 este prapastie." va fi scrisa drept "P3 ". Similar,
pentru a reprezenta faptul ca "Wumpusul se afla in patratul numaru 16" vom scrie "W16 ".
Adaugand operatorul de negatie in fata unei astfel de propozitii vom putea reprezenta faptul
ca acel pericol nu se afla in camera respectiva. Pentru ca omul sa poata sa inainteze intr-o
camera trebuie sa fie sigur ca in acea camera nu se afla nici un pericol. (Pentru a inainta in
camera i trebuie sa fie cunoscut ca Pi Wi ) De exemplu in camera in care incepe jocul
(1) nu se afla nici Wumpusul si nici vreo prapastie. Acest lucru poate fi scris:
P1 W1
Numai avand o formula similara pentru o alta camera, cautatorul va sti ca acea camera
este "sigura". Deoarece nu simte briza si nici miros in camera curenta, poate trage concluzia
ca in camerele alaturate nu exista nici wumpus si nici prpapstii:
P2 W2
P5 W5
Inaintand in 2, simte briza dar nu simte mirosul. Cunostintele sale se extind cu urmatoarea formula:
W1 W3 W6 (P1 P3 P6 )
Deoarece cautatorul stie toate formulele de mai sus, si le stie in acelasi timp, am putea
considera ca informatiile pe care le poseda sunt de fapt conjunctia tuturor formulelor.
Punand si logic intre formule putem observa ca avem in acelasi timp P1 si totodata
(P1 P3 P6 ), ambele formule fiind adevarate. De aici putem trage concluzia ca de fapt
(P1 P3 P6 ) este adevarata din cauza uneia dintre propoziile P3 sau P6 , pentru ca, cu
siguranta propozitia P1 nu este adevarata.
Dupa acest rationament, cautatorul tot nu poate decide daca vreuna dintre camerele 3
sau 6 este sigura. Singura locatie care este in continuare lipsita de primejdii este camera 5.
Dupa ca se intoarce in 1, merge in 5 unde pe baza mirosului si a lipsei brizei poate construi
urmatoarea formula:
P1 P6 P9 (W1 W6 W9 )
Stiind acum cu siguranta ca 6 nu reprezinta o primejdie (pentru ca poseda atat P6 cat
si W6 ), poate inainta in aceasta camera. De asemenea din penultima formula poate decide
ca de fapt prapastia se afla in P3 .
In mod similar poate rationa asupra subformulei (W1 W6 W9 ) si decide ca de fapt
Wumpusul se afla in W9 .
Ajuns in 6, nu simte nici o primejdie si din acest motiv considera ambele camere adiacente
si neexplorate ca fiind sigure: (7 respectiv 10). Daca merge in 7 va simti briza dar care poate
fi atat de la camera 3 cat si de la alta camera alaturata si din acest motiv se va intoarce si
va incerca in camera 10 unde va gasi comoara.

Chapter 2

Seminarul 2
2.1

Algebre booleene

2.1.1

Inductie matematica

Sa se arate ca:
1 + 2 + 3 + .... + n = n(n 1)/2
.
Sa se arate ca suma primelor n numere impare este n2 .
Se da matricea:


M=

1
1


1
0

Sa se demonstreze utilizand inductia matematica ca matricea M n este de forma




Fn+1
Fn
n
M =
Fn
Fn 1
unde Fn este al n-ulea element din sirul lui Fibonacci (1,1,2,3,5,8,11,19,...).
n

Sa se arate ca F B n = 22 .

2.1.2

Algebre booleene

Demonstrati ca B = hB, , +,

i este o algebra booleana.

Demonstrati ca V = h2V , , , CV i este o algebra booleana.


Demonstrati relatiile 6-13 din tabelul 1.1 / pag 23 / Fundamentele logice ale informaticii.
Demonstrati urmatoarele egalitati fara a utiliza tabele de adevar:
1.
2.
3.
4.
5.

((x y + z) (x z + y) + z) ((x y + z) x y z + x) = x y + x z + y z
x (x y + y z + (y + u z) = x
x+xy+xy =xz+xz+xz+xz
(x + y) (x + y) (x + z) (x + z) = 0
u z + y z = (u + y) (x + y) (u + z) (x + z)
7

2.1.3

Decompunere in suma de termeni, Forme normale

Scrieti teorema de descompunere in suma de termeni pentru n = 3 si k = 2.


Sa se gaseasca FNDP si FNCP pentru urmatoarele functii booleene date tabelar:
x
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1

f1 (x, y, z)
0
0
0
1
0
1
0
1

f2 (x, y, z)
1
0
1
1
0
0
1
1

f3 (x, y, z)
0
1
1
0
1
0
0
1

Sa se gaseasca FNDP si FNCP pentru urmatoarele functii booleene:


1. f1 (x, y, z) = x y + z
2. f2 (x, y, z) = x y + x z
3. f3 (x, y, z) = x
4. f4 (x, y, z) = x (y + z)
Demonstrati ca orice functie Booleana paote fi reprezentata in mod unic ca o FNDP.
Fie multimea de variabile booleene X = {x1 , x2 , ...xn }. Cate FND-uri se pot forma cu
variabilele acestei multimi ? Cate FNDP-uri se pot forma ? Justificati raspunsurile !

Chapter 3

Seminarul 3
3.1
3.1.1

Clase de functii booleene speciale


Functii autoduale

Sa se construiasca tabelul de adevar pentru duala functiei: f (x, y, z) = x+y(z +y)x.


Este functia autoduala?
Sa se demonstreze ca indiferent de felul in care este considerata functia booleana
g(y, z), functia f (x, y, z) = x g(y, z) + x g (y, z) este autoduala.
Care este numarul functii autoduale diferite ce se pot contrui peste o multime cu n
variabile ?
Demonstrati ca multimea functiilor autoduale (Aut) este o multime inchisa de functii
booleene.

3.1.2

Functii monotone

Sa se studieze monotonia urmatoarelor functii booleene:


1. f (x, y, z) = x + y z + x z;
2. f (x, y, z) = x + y z + x z.
Sa se demonstreze ca multimea functiilor monotone (M on) este o multime inchisa de
functii booleene.

3.1.3

Functii liniare

Sa se stabileasca daca urmatoarele functii sunt liniare:


1. f (x, y, z) = x + y z + x z;
2. f (x, y) = x y + x y;
Sa se demonstreze ca multimea functiilor booleene liniare (Lin) este o multime inchisa.
9

3.1.4

Diverse probleme din categoria functiilor speciale

Demonstrati ca multimea T0 (multimea functiilor ce il pastreaza pe 0) este o multime


inchisa de functii booleene. Este rezultatul adevarat pentru T1 ?
Demonstrati ca multimea T01 = T0 T1 este o multime inchisa de functii booleene.
Demonstrati ca intersectia a doua multimi inchise de functii booleene este de asemenea
o multime inchisa de functii booleene.
Demonstrati ca urmatoarele multimi de functii booleene sunt complete: {x|y}, {x
y, x}, {x + y, y}, {x + y}.
Demonstrati ca nici una din multimile T0 , T1 , Aut, M on, Lin nu este inclusa in
celelalte patru.
Sa se determine numarul functiilor booleene de n variabile care:
1. pastreaza pe 0.
2. sunt autoduale.
3. pastreaza atat pe 0 cat si pe 1.
Realizati un program (intr-un limbaj de programare cunoscut) care sa stabileasca daca
o formula este Autoduala / Monotona.

10

S-ar putea să vă placă și