Sunteți pe pagina 1din 152

UNIVERSITATEA POLITEHNICA TIMIŞOARA

FACULTATEA DE AUTOMATIC ŞI CALCULATOARE

LOGICĂ ŞI

STRUCTURI DISCRETE

Marius Crişan

NOTE DE CURS
PENTRU UZUL STUDENŢILOR
CUPRINS
Capitolulă1.ăăNoţiuniăintroductive.....................................................................................................1

1.1. Limbajul logico-matematic ......................................................................................................1


1.2. Afirmaţii logice ........................................................................................................................2
1.3. Implicaţia logică .......................................................................................................................4
1.4. Echivalenţa logică ....................................................................................................................5
1.5. Numere .....................................................................................................................................6
1.6. Calculabilitate ...........................................................................................................................7
Exerciţii și probleme ................................................................................................................ 8

Capitolul 2. Adev rulăşiădemonstraţiileămatematice .....................................................................9

2.1. Semnificaţia paradoxurilor ........................................................................................................9


2.2. Programul lui Hilbert pentru matematică ...............................................................................16
2.3. Sistemul matematic formal .....................................................................................................17
2.4. Teorema lui Gödel ..................................................................................................................19
2.5. Teoreme de tip Gödel din rezultatele lui Turing .....................................................................21
2.6. Verificarea exhaustivă .............................................................................................................22
2.7. Demonstraţia prin deducţie directă .........................................................................................23
2.8. Utilizarea contrapoziţiei ..........................................................................................................24
2.9. Demonstraţia prin contradicţie ................................................................................................24
2.10. Inducţia şi demonstraţia prin inducţie ...................................................................................27
Exerciţii și probleme ..............................................................................................................29

Capitolul 3. Mulţimiă.......................................................................................................................31

3.1. Noţiunea de mulţime ...............................................................................................................31


3.2. Submulţimi ..............................................................................................................................33
3.3. Strategii de demonstrare cu submulţimi .................................................................................34
3.4. Operaţii cu mulţimi ................................................................................................................35
3.5. Diferenţe de mulţimi ...............................................................................................................38
3.6. Operaţii combinate cu mulţimi ...............................................................................................40
3.7. Alte forme ale incluziunii .......................................................................................................41
3.8. Antidistributivitatea ................................................................................................................41
3.9. Numărarea mulţimilor finite ...................................................................................................42
3.10. Numărarea diferenţelor dintre mulţimi .................................................................................43
Exerciţii și probleme ..............................................................................................................44

Capitolul 4. Structuri ordonate .................................................................................................... 45

4.1. Mulţimi ordonate. Tuple .........................................................................................................45


4.2. Produsul cartezian al mulţimilor ............................................................................................ 46
4.3. Tablouri, matrici, înregistrări ..................................................................................................46
4.4. Reprezentarea tuplelor în memoria calculatoarelor ................................................................47
4.5. Liste .........................................................................................................................................48
4.6. Reprezentarea listelor ..............................................................................................................48
4.7. Şiruri şi limbaje .......................................................................................................................49
4.8. Relaţii ..................................................................................................................................... 51
4.9. Numărarea tuplelor ................................................................................................................ 54
4.10. Numărarea şirurilor ca şi tuple ..............................................................................................55
Exerciţii și probleme ...............................................................................................................55

Capitolul 5. Grafuriăşiăarboriă........................................................................................................57

5.1. Definiţia grafurilor ..................................................................................................................57


5.2. Reprezentarea grafurilor ...................................................................................................... ..59
5.3. Grafuri ponderate ................................................................................................................... 60
5.4. Grafuri şi relaţii binare ........................................................................................................... 60
5.5. Căi în grafuri ……………………………………………………………………………......61
5.6. Grafuri conectate ………………………………………………………………………….....61
5.7. Traversarea grafurilor …………………………………………………………………….....63
5.8. Arbori …………………………………………………………………………………… .. 66
5.9. Reprezentarea arborilor …………………………………………………………………….. 67
5.10. Arbori binari ……………......................................................................................................69
5.11. Arbori de acoperire ...............................................................................................................71
Exerciţii și probleme ..............................................................................................................76

Capitolul 6. Funcțiiă.........................................................................................................................77

6.1. Definiţie ................................................................................................................................77


6.2. Exemple de funcţii ..................................................................................................................78
6.3. Proprietăţile funcţiilor .............................................................................................................79
6.4. Compunerea funcţiilor ............................................................................................................80
6.5. Funcţia inversă ........................................................................................................................80
6.6. Funcţii şi calculabilitate ....................................................................................................... 80
6.7. Conceptul de algoritm .............................................................................................................81
6.8. Maşina Turing ...................................................................................................................... 82
6.9. Teza Church Turing ................................................................................................................84
6.10. Maşina Turing universală .....................................................................................................85
6.11. Problema decidabilităţii opririi .............................................................................................87
6.12. Limitele calculabilităţii .........................................................................................................89
Exerciţii și probleme ...............................................................................................................90

Capitolul 7. Logicaătradiţional ă....................................................................................................91

7.1. Procesul inferenţial .................................................................................................................91


7.2. Modalidăţi de argumentare .....................................................................................................92
7.3. Explicaţii raţionale ................................................................................................................. 92
7.4. Dovezi demonstrabile ............................................................................................................ 94
7.5. Forme de raţionament .............................................................................................................94
7.6. Silogismul standard ...............................................................................................................105
7.7. Mod şi Figură ........................................................................................................................108
7.8. Silogisme ipotetice ................................................................................................................109
7.9. Capcane silogistice ................................................................................................................114
7.10. Principiile logicii .................................................................................................................117
Exerciţii și probleme ............................................................................................................122

Capitolul 8. Logica modern ă.......................................................................................................125

8.1. Propoziții și predicate ...........................................................................................................125


8.2. Utilizarea cuantificatorilor ....................................................................................................126
8.3. Ierarhia calculului logic ........................................................................................................127
8.4. Logica propoziţională ...........................................................................................................129
8.5. Inferenţa în logica propoziţională .........................................................................................131
8.6. Logica de ordinul întâi ..........................................................................................................134
8.7. Traducerea limbajului natural în logica de orinul întâi .........................................................135
8.8. Reguli de deducție pentru logica de ordinul întâi .................................................................136
8.9. Logica vagului ......................................................................................................................141
8.10. Mulţimi vagi ........................................................................................................................141
8.11. Operaţii cu mulţimi vagi .....................................................................................................142
Exerciţii și probleme ...........................................................................................................145

Bibliografie .....................................................................................................................................146
CAPITOLUL 1

NOŢIUNI INTRODUCTIVE

Tematica prezentei lucrări vizează aspectele formale ale gândirii umane, sintetizate sub denumirea de
logică, precum şi structurile informa ionale derivate din gândirea logico-matematică aflate la baza
conceptului de calculabilitate. Primul capitol îşi propune introducerea no iunilor fundamentale din
care s-au dezvoltat componentele ştiin ei calculatoarelor. Aceste no iuni vor fi dezvoltate pe parcursul
capitolelor următoare.

1.1. Limbajul logico-matematic

Matematica este o expresie a capacită ii gândirii umane de tip ra ional. Ea studiază proprietă ile
observabile ale obiectelor, atât extern în plan senzorial cât şi intern în plan mintal, în termenii de
cantitate, structură, spa iu şi eveniment. Obiectele studiate în matematică sunt obiecte abstracte, care
nu există într-un timp şi/sau spa iu particular, ci în principal există ca tip sau categorie. Matematica
discretă se ocupă cu studiul obiectelor matematice care sunt discrete şi nu continue. Aceste obiecte, în
general, nu prezintă o varia ie lină ci au valori distincte sau separate (de exemplu, numerele întregi,
grafurile, sau declara iile logice). Matematica discretă a câştigat o mare popularitate în ultimul secol
datorită aplica iilor sale în ştiin a calculatoarelor. Conceptele şi nota iile utilizate de matematica
discretă se regăsesc în aspectele fundamentale ale structurilor de date, algoritmilor şi limbajelor de
programare ale calculatoarelor. Matematica discretă acoperă în principal domenii precum teoria
mul imilor, combinatorica, teoria numerelor, logica, teoria informa iei, teoria calculabilită ii,
complexitate, cercetare opera ională, discretizare.

În procesul de comunicare, apare necesară introducerea unui limbaj matematic. Limbajul matematic
este preferabil limbajului natural datorită capacită ii sale de a formaliza eficient declara iile
informa ionale cu valoare de adevăr. Cuvintele utilizate în limbajul natural nu au întotdeauna o
semnifica ie precisă şi pot conduce la ambiguită i. În acest sens, vom încerca o primă definire a
limbajului matematic ca fiind un mijloc de exprimare precisă care are un conţinut semantic
foarte clar definit. De exemplu, „Un număr prim este un număr întreg pozitiv, care nu are alţi
factori în afara lui însuşi şi a lui 1”, sau „Un număr prim este un număr întreg pozitiv, care are doi
factori, pe el însuşi şi pe 1”. Un concept matematic poate fi legat de un altul definit corespunzător.
Spre exemplu, conceptul de număr prim este legat de conceptul de număr compus. „Un număr
compus este orice număr care poate fi exprimat ca un produs de întregi pozitivi mai mici decât el
însuşi”. De exemplu: 4 (2 x 2), 6 (2 x 3), 8 (2 x 2 x 2), 9 (3 x 3), 10 (2 x 5), 12 (2 x 2 x 3) …. Evident
că, numărul compus se poate scrie ca un produs de numere prime.

Vom vorbi, de asemenea, despre teoreme, leme, propozi ii şi corolare. Acestea sunt enun uri prin care
se arată adevărul unei propozi ii afirmative. De exemplu, ”Toate numerele pare, cu excepţia lui 2 nu
sunt numere prime”, sau „Există un număr infinit de numere prime”, sau, teorema fundamentală a
aritmeticii, „Fiecare număr întreg pozitiv poate fi factorizat în mod unic ca un produs de primi”
(numărul 1 poate fi gândit ca un produs de 0 numere prime).

Legat de limbaj, introducem, de asemenea, conceptul de demonstra ie, care este o justificare prin
descompunerea într-o succesiune de paşi a adevărului afirma iilor făcute. În elegem prin demonstra ie
informală comunicarea în limbaj natural, folosind şi anumite simboluri, a paşilor care conduc la

1
recunoaşterea adevărului afirma iilor făcute. Demonstra ia trebuie să fie însă acoperitoare pentru toate
cazurile, fără să lase loc de îndoială. În decursul istoriei matematicii, s-au dezvoltat mai multe tehnici
care să conducă la stabilirea adevărului afirma iei respective. Problematica stabilirii adevărului în
general este de natură filosofică şi îşi are originile în gândirea umană. Întâlnim astfel, în filosofia
antică, conceptul de logos, care se traduce prin cuvânt, limbaj, sunet, ra ionament. Există în mod clar
o legătură între limbaj şi ra ionament, în sensul că orice ra ionament care poate fi făcut necesită un
limbaj. În momentul în care vorbim despre limbaj, vorbim despre o formalizare, în sensul conceperii
unui set de simboluri prin intermediul cărora exprimăm sau împuternicim cuvinte cu con inut
semantic, simbolistica fiind valabilă atât pentru limbajul scris, cât şi pentru cel vorbit. Cu sensul de
simboluri, stabilim un alfabet prin intermediul căruia, urmând nişte reguli sintactice, exprimăm nişte
afirma ii cu valoare de adevăr. Înlăn uirea după reguli precise a afirma iilor formează discursul logic.

Suntem interesa i în a elabora un set complet de reguli sintactice, respectiv de manipulare a


simbolurilor astfel încât, pornind de la premise să înlăn uim propozi iile cu valoare de adevăr,
ajungând la concluzii adevărate. Logica tradi ională a stat la baza formării ra ionamentului matematic,
prin aceea că regulile de înlăn uire logică, prin care con inutul semantic al premiselor era păstrat în
urma ra ionamentului şi transferat concluziilor, formează în esen ă principiul ra ionamentului.
Deosebirea fa ă de logica exprimată în limbaj natural este aceea că se utilizează limbajul matematic.
Suntem însă oricând capabili de a parafraza o afirma ie logică naturală, adică de a o exprima în limbaj
matematic.

1.2. Afirmaţii logice

Afirma iile logice sunt cele care au valoare de adevăr fie pozitiv, fie negativ, adică sunt fie adevărate,
fie false. . Există şi alte propozi ii care nu au valoare de adevăr, cum sunt de exemplu întrebările,
comenzile, rugăciunile. S-a încetă enit o modalitate familiară de a reprezenta afirma iile logice: fie S o
anumită afirma ie şi ¬S (nu S) negata ei. Spunem că o asemenea reprezentare este familiară în forma
ce se numeşte tabel de adevăr. Acesta exprimă pe rânduri rela iile valorilor de adevăr între S şi ¬S:

S ¬S
Adevărat Fals
Fals Adevărat

Remarcăm că nega ia poate lega declara ii despre fiecare caz cu declara ii despre anumite cazuri. De
exemplu, declara ia „Nu fiecare femeie are copil” are aceeaşi semnifica ie cu „Anumite femei nu au
copil”. Similar, declara ia „Nu este cazul ca o anumită mamă să nu aibă copil” are acelaşi în eles cu
„Fiecare mamă are copil”.

Există posibilitatea de a executa opera ii logice cu enun urile respective, şi care pot fi, de asemenea,
descrise familiar prin tabelul de adevăr. Aceste opera ii sunt conjuncţia a două afirma ii, „A şi B” ( A
B), respectiv disjuncţia între două afirma ii „A” şi „B”, „A sau B” ( A B).

Fie tabelul următor:

A B A şi B A sau B
Adev. Adev. Adev. Adev.
Adev. Fals Fals Adev.
Fals Adev. Fals Adev.
Fals Fals Fals Fals

2
Completarea acestui tabel de adevăr care implică opera ii logice elementare este un exerci iu natural
de contemplare logică.

Conjunc iile şi disjunc iile pot fi parafrazate. De exemplu, „Maria este femeie şi Lucia este femeie”
poate fi înlocuită cu „Maria şi Lucia sunt femei”. În loc de „a este natural sau b este natural”, putem
afirma „Ori a ori b este natural”.

Implementarea fizică a unei func ii logice se numeşte poartă logică. Este interesant de a remarca aici
că opera ia logică de negare îşi găseşte o implementare naturală sub forma inversorului generic.
Acesta este format dintr-o sarcină poten ială şi un dispozitiv de comandă fa ă de un nivel de referin ă,
ca în Fig. 1.1. Comanda descărcării sarcinii către referin ă conduce la absen a sarcinii la ieşire.
Sarcina S poate fi de orice natură, electrică, hidraulică, mecanică etc.

Sarcina S

Iesire ¬S

Comanda S

Fig. 1.1. Inversorul generic

Pornind de la inversor, prin serializarea respectiv paralelizarea func iei dispozitivului de comandă
putem, în mod avantajos, forma opera ia logică de conjunc ie respectiv disjunc ie, în forma negată, ca
în Fig. 1.2.

Por ile logice pot fi construite în multe tehnologii diferite. De exemplu, o sarcină electrică poate fi
descărcată, prin intermediul a două comutatoare înseriate, pe un consumator de tipul unui bec. Se
formează astfel o poartă logică de tip „ŞI” (Fig. 1.3). Prin diferite combina ii serie-paralel de
comutatoare se formează un circuit logic. De exemplu, in Fig. 1.4 se arată circuitul logic
corespunzător func iei A (B C). Valoarea circuitului este „adevărat” atunci când sarcina electrică
ajunge să aprindă becul. În caz contrar, valoarea este „fals”. Mai jos, se arată tabelul de adevăr pentru
această func ie logică cu trei variabile de intrare şi o ieşire. Intrările A, B, C au valoarea logică 1
atunci când comutatorul care le poartă numele este închis. În tehnologia actuală, structura logică a
circuitelor este aceeaşi, dar se utilizează transistoare integrate în loc de circuite electrice.

Sarcina S Sarcina S

Iesire ¬(S1 S2)


Iesire ¬(S1 S2)

Comanda S1
Comanda S1 Comanda S2

Comanda S2

Fig. 1.2. Formarea conjunc iei şi disjunc iei negate pornind de la inversor

3
Sarcină
electrică

A B

Fig. 1.3. Formarea por ii logice „ŞI” printr-un circuit de aprindere a unui bec electric.

B
A
C
A (B C)

Fig. 1.4. Circuitul logic corespunzător func iei A (B C) în tehnologie electrică.

A B C A (B C)
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

1.3. Implicaţia logică

Multe propozi ii sunt formulate în forma „Dacă p atunci q”, unde p şi q sunt de asemenea declara ii
logice. O asemenea formulare se numeşte implica ie logică sau declara ie condi ională, în care p este
ipoteza (premisa) şi q este concluzia (consecin a). Interpretarea acestei declara ii se poate face în mai
multe feluri. De exemplu: „p este o condi ie suficientă pentru q”, sau „q este o condi ie necesară
pentru p”, sau „p implică q”.

Tabelul de adevăr al implica iei logice, notată p → q, este următorul:

p q p→q
Adev. Adev. Adev.
Adev. Fals Fals
Fals Adev. Adev.
Fals Fals Adev.

4
Se remarcă faptul că declara ia condi ională este falsă doar când ipoteza este adevărată şi concluzia
este falsă. În toate celelalte trei cazuri condi ionala este adevărată.

Există o tendin ă de a interpreta condi ionala astfel: „Dacă p atunci q” înseamnă că „q poate fi
demonstrat din p”, ceea ce presupune că p şi q sunt într-o oarecare legătură. Astfel, o afirma ie de
genul „Dacă pământul este gol pe dinăuntru atunci 1ţ2” este acceptată ca adevărată chiar dacă nu este
o legătură între ipoteză şi concluzie. În schimb, declara ia „Dacă 1ţ1 atunci pământul este gol pe
dinăuntru” nu poate fi acceptată ca adevărată. Când ipoteza unei condi ionale este falsă spunem că
este în mod stupid adevărată. De exemplu, „Dacă 1ţ2 atunci 34ţ23” este stupid adevărată deoarece
ipoteza este falsă. Dacă concluzia este adevărată, spunem că condi ionala este trivial adevărată. De
exemplu, „Dacă 1ţ2 atunci 1+1 ţ2” este trivial adevărată deoarece concluzia este adevărată.

Condi ionala reciprocă sau contrară lui „dacă p atunci q” este „dacă q atunci p”. Reciproca nu are
întotdeauna aceeaşi valoare de adevăr. De exemplu,

Dacă x > 0 şi y > 0 atunci x + y > 0.

Reciproca este

Dacă x + y > 0 atunci x > 0 şi y > 0

Reciproca este falsă. Aceasta se verifică printr-un contra-exemplu, de pildă pentru valorile x ţ 4 şi y
ţ −3.

1.4. Echivalenţa logică

Tabelul de adevăr al echivalen ei logice, notată p ↔ q, este următorul:

p q p↔q
Adev. Adev. Adev.
Adev. Fals Fals
Fals Adev. Fals
Fals Fals Adev.

Astfel, două declara ii sunt considerate echivalente dacă au aceeaşi valoare de adevăr pentru orice
atribuire de valori adevărate variabilelor din expresie. În acest context, este interesant de studiat
modul în care se formează declara iile logice echivalente. Putem combina negata cu disjunc ia sau
conjunc ia pentru a ob ine declara ii echivalente.

„nu (p şi q) este echivalent cu „(nu p) sau (nu q)”


„nu (p sau q) este echivalent cu „(nu p) şi (nu q)”

De exemplu, „nu (x > 0 şi y > 0)” este echivalent cu „x ≤ 0 sau y ≤ 0” şi declara ia „nu (x > 0 sau y >
0)” este echivalentă cu „x ≤ 0 şi y ≤ 0”.

Conjunc iile şi disjunc iile se distribuie una pe cealaltă astfel:

„ p şi (q sau r)” este echivalent cu „(p şi q) sau (p şi r)”.


„p sau (q şi r)” este echivalent cu „(p sau q) şi (p sau r)”.

Contrapoziţia declara iei condi ionale „daca p atunci q” este forma echivalentă „dacă nu q atunci nu
p”. De exemplu, declara ia

5
Dacă x > 0 şi y > 0 atunci x + y > 0

este echivalentă cu forma

Dacă x + y = 0 atunci (x ≤ 0 sau y ≤ 0)

Este important de re inut că declara ia condi ională „dacă p atunci q” se mai poate exprima sub forma
echivalentă „nu p sau q”. De exemplu, declara ia:

Dacă x > 0 şi y > 0 atunci x + y > 0

este echivalentă cu forma

(x ≤ 0 sau y ≤ 0) sau x + y > 0.

inând cont de forma echivalentă a implica iei în termenii nega iei şi disjunc iei, rezultă evident că
declara iile „nu (dacă p atunci q)” şi „p şi (nu q)” sunt echivalente. De exemplu, declara ia

„Nu este cazul că dacă Maria este mamă atunci Maria nu are copil”.

este echivalentă cu declara ia

„Maria este mamă şi Maria are copil”.

În tabelul următor se dau expresiile echivalente concise conform celor discutate anterior.

¬(p q) ↔ ¬p ¬q
¬(p q) ↔ ¬p ¬q
p (q r) ↔ (p q) (p r)
p (q r) ↔ (p q) (p r)
p→q ↔ ¬p → ¬q
p→q ↔ ¬p q
¬( p → q) ↔ p ¬q

1.5. Numere

Obiectul fundamental în matematica discretă este numărul natural. Conceptul de „număr” este unul
dintre cele mai misterioase produc ii ale min ii umane, în sensul că definirea sa necesită o profundă
în elegere a naturii min ii umane. Ne vom referi pe moment doar la un vestit aforism elaborat de
matematicianul Kronecker, şi anume: ”Dumnezeu a creat numerele naturale: 0,1,2,....Toate celelalte
sunt crea ia omului.”. Prin aceasta putem în elege că numerele naturale sunt obiecte fireşti ale min ii
sau gândirii umane. Gândim natural în termeni numerici când numărăm, începând cu numărul 1
(există „şase” mere în coş) sau ordonăm („al patrulea” măr este cel mai frumos). Pornind de aici,
putem vorbi despre numere cardinale, folosite pentru a desemna o cantitate (de exemplu, zece
persoane, trei biciclete) şi numere ordinale, folosite pentru a arăta ordinea (primul, al doilea, al treilea
etc.) unor obiecte într-o mul ime (de exemplu, al cincilea din rând, al zecelea ca putere). Aspectele
abstracte ale numerelor reies însă atunci când ne întrebăm: Ce este „şase” şi „al patrulea” în afară de
mere? În afară de numerele cardinale şi ordinale mai putem vorbi despre numere nominale (de
exemplu, un număr de casă, de telefon, sau codul numeric personal). Numerele nominale nu arată nici
cantitatea şi nici rangul, ci sunt utilizate pentru a identifica un obiect.

6
Aşa cum am exemplificat deja, în introducerea conceptelor facem apel la diverse tipuri de defini ii.
Rolul defini iei este acela de a furniza cunoştin e valide din punct vedere ra ional asupra proprietă ilor
caracteristice ale unui obiect respectiv a rela iilor dintre elementele sale componente. În formarea
defini iei, apare deseori utilă încadrarea obiectului într-un gen proxim (clasă de obiecte) şi
eviden ierea diferenţei specifice, adică a proprietă ilor caracteristice doar obiectelor desemnate de
definit în raport cu celelalte obiecte apar inând genului. De exemplu, „Un număr întreg este un număr
natural pozitiv sau negativ, sau un număr care nu are o componentă frac ionară”.

Bazat pe conceptul de numere întregi, definim no iunea de număr par şi de număr impar, cu ajutorul
opera iei de divizare, şi spunem că un număr întreg n e un divizor al lui m dacă există un număr întreg
k astfel încât n × k = m. Divizarea stabileşte natura numerelor prime, care au o importan ă majoră în
ştiin a calculatoarelor. Adesea ne interesează să scriem numerele în termeni numi i modulo fa ă de alt
număr. Dacă n şi m sunt numere întregi, atunci există numerele k şi l, astfel încât n = m × k + l, unde 0
≤ l ≤ m − 1, k ≥ 0. De exemplu, 25 = 3 × 8 + 1.

Uneori nu suntem interesa i decât de valoarea lui l, astfel încât, în asemenea cazuri exprimăm n =
lmodm. În ştiin a calculatoarelor, aritmetica numerelor este interesantă pe de o parte pentru că ne
permite păstrarea scrierii la dimensiuni rezonabile (0, n) şi pe de altă parte este utilă în opera ii cu
şiruri binare. Interesant de men ionat aici sunt anumite proprietă i în reprezentarea modulo. Astfel,
dacă n1 = l1modm, n2 = l2modm, atunci opera ia de adunare, respectiv înmul ire se transferă la nivelul
resturilor: n1 + n2 = (l1 + l2) mod m, şi n1 x n2 = l1 x l2mod m. Remarcăm că dacă n e un număr compus,
se poate întâmpla să avem cazul n1 x n2 = 0 modm. Acest caz nu e adevărat dacă m e prim.

În limbajul matematic suntem interesa i în a exprima, pe de-o parte, afirma ii care să poată fi
formalizabile utilizând cantită i numerice şi, pe de altă parte, afirma ii în care avem de a face cu valori
logice. În toate cazurile însă sunt implicate valori discrete. Metodele matematice necesare pentru
realizarea de calcule ştiin ifice şi inginereşti trebuie transformate din domeniul continuu în cel discret
pentru a putea fi îndeplinite de un calculator.

1.6. Calculabilitate

Circuitele logice, ca cele din Fig. 1.4, pot fi privite ca executând un program în linie dreaptă.
Este un program care con ine doar declara ii de atribuire, fără bucle sau ramificări. Astfel,
circuitele logice reprezintă cel mai simplu model de calculabilitate şi formează blocurile de
bază în calculatoarele de astăzi. Aşa cum rezultă din tabelul de adevăr pentru Fig. 1.4, fiecare
circuit logic are asociată o func ie binară care mapează valorile variabilelor sale de intrare în
valori ale variabilelor de ieşire. Func iile sunt astfel foarte importante pentru a avea o definire
precisă a sarcinilor de îndeplinit. În descrierea func iilor, un loc central e de inut de problema
posibilită ii de a fi calculată, adică dacă o func ie este efectiv sau mecanic calculabilă.
Func iile care pot fi astfel calculate se numesc recursive. Una din defini iile atribuite
func iilor recursive este aceea că func iile recursive sunt calculabile de către o maşină
matematică idealizată, numită „maşina Turing”, după numele matematicianului britanic Alan
Turing.

Maşina Turing este cel mai complex model de calculabilitate şi e considerat modelul
standard. Aceasta din cauză că nu s-a descoperit ulterior nici un alt model de maşină care să
execute opera ii pe care maşina Turing să nu le poată executa. Există însă şi alte modele de
calculabilitate care pot fi dezvoltate pornind de la modelul cel mai simplu al circuitelor
logice. Astfel, prin combinarea circuitelor logice cu celule de memorie binară se pot construi
automate sau maşini cu memorie. Ele se numesc maşini cu stări finite (eng. finite-state
machine) şi sunt prezente în practic toate aplica iile societă ii moderne. Pe baza maşinilor cu

7
stări finite se pot dezvolta calculatoare de uz general prin modelul numit maşina cu acces
aleator (eng. random-access machine). Modelul con ine o pereche de maşini cu stări finite
interconectate, o unitate centrală de procesare, de o parte, şi de cealaltă parte o memorie cu
acces aleator. Această maşină are memorie finită, spre deosebire de modelul maşinii Turing
care este idealizat, admi ând o memorie oricât de mare. O formă restrânsă de maşină Turing
este maşina cu stivă (eng. pushdown automaton). În concluzie, ideea de bază care se cuvine
re inută este importan a modelelor de calculabilitate. Prin utilizarea unor modele adecvate se
asigură un nivel de abstractizare care permite o viziune mai profundă asupra posibilită ii
îndeplinirii sarcinilor şi dezvoltării performan elor de calcul. Un model bun poate rămâne ca
referin ă în timp şi poate de asemenea inspira înspre găsirea unor noi tehnologii de
implementare mai avantajoasă a maşinilor de calcul.

Exerciții şi probleme

1. Fie p, q, r trei propozi ii (declara ii logice). Arăta i, utilizănd tabelul de adevăr, că


expresia logică (p  q)  r este echivalentă cu expresia (p  (q  r)).

2. Fie p, q, r trei propozi ii (declara ii logice). Arăta i utilizănd tabelul de adevăr că expresia
logică (p  q)  r este echivalentă cu expresia (p  r)  (q  r), dar nu este echivalentă
cu expresia (p  r)  (q  r).

3. Arătați că suma a doi întregi impari este un întreg par, adică dacă x și y sunt întregi impari
atunci x + y este un întreg par.

4. Arătați adevărul următoarei declarații privind divizibilitatea:

Dacă d | a și a | b, atunci d | b.

8
CAPITOLUL 2

ADEVĂRUL ŞI DEMONSTRAŢIILE
MATEMATICE

2.1 Semnificaţia paradoxurilor

Secole la rând anumite întrebări au constituit punctul comun de dezbatere pentru filosofi şi
matematicieni [12]:
- Ce este adevărul?
- Cum se formează judecata despre ce este adevărat şi ce nu?
Urmăm, pur şi simplu, un algoritm favorizat faţă de altele mai puţin eficiente în procesul selecţiei
naturale sau există o cale nealgoritmică de tip intuiţie, perspicacitate? Pentru simplitate, să considerăm
doar adevărul matematic. Cum ne formăm raţionamentele privind problemele de matematică? Ce este
adevărul matematic? Ce este, în realitate, adevărat şi ce este fals?
Bertrand Russell descoperă In 1902 un paradox care a incitat lumea matematicienilor. Se pare că
paradoxul a fost inspirat de următoarea formă intuitivă, sub numele de paradoxul bibliotecarului [12]:
Fie o bibliotecă în care trebuie catalogate toate cărţile. Există două cataloage. Într-unul, se trec toate
cărţile care undeva, în cadrul, lor fac referire la ele însele. În celălalt catalog vor fi trecute toate
cărţile în care nu se face nici o referire la ele însele. Întrebarea este în care cataloage vor fi trecute
cele două cataloage, fiind şi ele cărţi care aparţin bibliotecii?
Paradoxul lui Russell este exprimat în original utilizând termeni din teoria mulţimilor. Un set sau
mulţime este o colecţie de lucruri, de obiecte sau de concepte matematice care pot fi tratate ca un
întreg. Elementele unui set sunt adesea ele însele seturi din moment ce seturile pot fi grupate
împreună pentru a forma alte seturi. Enunţul paradoxului porneşte de la un set R ca fiind setul tuturor
seturilor care nu sunt membre ale lor însele. R este, deci, o anumită colecţie de seturi. Criteriul pentru
un set X, de apartenenţă la această colecţie, este ca setul X însuşi să nu se găsească printre proprii lui
membri. Poate fi un set membru al lui însuşi? De exemplu, setul I, format din toate seturile infinite,
conţine o infinitate de seturi infinite diferite, astfel că I însuşi este infinit şi, deci, îşi aparţine lui
însuşi. Un alt exemplu este setul care conţine toate non-pătratele. Setul este el însuşi un non-pătrat şi
deci trebuie să fie membru al lui însuşi

Russell a pus întrebarea: Este setul R membru al lui însuşi? Dacă nu, atunci ar trebui să aparţină lui R
din moment ce R conţine acele seturi care nu sunt membre ale lor însele. Astfel, R ar trebui să aparţină
lui R. Pe de altă parte, dacă R este membru al lui însuşi, atunci din moment ce el însuşi e de fapt R,
aparţine de acel set ai cărui membri sunt caracterizaţi ca ne fiind membri ai lor înşişi, adică R nu
trebuie să fie un membru al lui însuşi. Aşadar, rezultă că R trebuie şi nu trebuie în acelaşi timp să fie
membru al lui însuşi, ceea ce este evident o contradicţie. O altă prezentare informală a paradoxului
este următoarea (paradoxul bărbierului): Într-un orăşel se află un bărbier care se prezintă pe el însuşi

9
ca fiind singurul bărbier care bărbiereşte pe toţi aceia care nu se bărbieresc ei înşişi. El însuşi se află
însă într-o situaţie imposibilă, pentru că pe de-o parte nu se poate bărbieri singur, iar pe de altă parte
trebuie să se bărbierească el însuşi deoarece este singurul bărbier care bărbiereşte pe toţi aceia care nu
se bărbieresc ei înşişi. Paradoxul denotă faptul că prin utilizarea logicii clasice toate propoziţiile
derivă într-o contradicţie. Aceasta demonstrează eşecul procesului de raţionament în acest tip de
probleme, care implică noţiunea de seturi sau mulţimi infinite. Amintim că Russell însuşi a trebuit să
introducă, ca ipoteză, axioma infinităţii pentru a defini existenţa seriilor numerelor naturale.

Au existat mai multe încercări de a rezolva paradoxul lui Russell. În mode tipic, acestea s-au
concentrat asupra diferitelor mijloace de a restricţiona principiile care stabilesc existenţa mulţimilor.
O opinie generală a fost aceea de a exclude sau modifica axioma lui Cantor, conform căreia orice
expresie predicativă P(x), care îl conţine pe x ca variabilă liberă, va determina o mulţime. Astfel,
elementele mulţimii vor fi acele obiecte care satisfac P(x), şi anume toţi x care sunt P. Russell a
încercat să rezolve paradoxul prin teoria sa legată tipuri. Conform concepţiei lui Russell despre tipuri,
putem evita referirea la R prin aranjarea tuturor propoziţiilor într-o ierarhie. Această ierarhie va consta
din propoziţii despre elementele individuale la nivelul cel mai de jos, propoziţii despre mulţimi de
elemente la următorul nivel, propoziţii despre mulţimi de mulţimi de elemente la următorul nivel şi
aşa mai departe. În acest fel, este posibil de a face referire la toate obiectele pentru care un anumit
predicat este valabil, numai dacă ele se află la acelaşi nivel sau sunt de acelaşi tip. Paradoxul este
astfel evitat prin formularea doar a mulţimilor care nu sunt membre ale lor însele. Alte răspunsuri la
adresa paradoxului au fost date de formalişti, intuiţionişti şi de axiomatizarea teoriei mulţimilor
propusă de Zermelo. În esenţa însă, idea generală în toate soluţiile este de a impune restricţii in
construcţia mulţimilor. Se poate comenta însă că nici una din soluţiile propuse nu este în întregime
satisfăcătoare. Punctul lor slab este legat de faptul că dau răspunsuri într-un cadru formal nepotrivit de
a trata cu realitatea descrisă prin limbajul natural, datorită introducerii de noi termeni formali în
limbaj. De asemenea, soluţiile nu sunt aplicabile şi la versiuni reîntărite ale paradoxului.

Paradoxurile au generat o reacţie în sensul necesităţii de a defini mult mai precis ce fel de
raţionamente trebuie permise şi ce fel de raţionamente trebuie evitate în matematică. Un paradox
apare atunci când pornind de la o presupunere şi urmând un argument logic se ajunge la o concluzie
contrară. Paradoxurile pot constitui o unealtă importantă în studiul funcţiilor cognitive umane.
Recunoaşterea unui paradox este o abilitate cognitivă specifică, care înseamnă recunoaşterea că cel
puţin două structuri conceptuale nu sunt integrate. Paradoxul implică prezenţa unor funcţii superioare
ale procesului conştiinţei. Există multe paradoxuri care au fost descoperite de-a lungul timpului, unele
fiind la fel de vechi ca istoria cunoscută.

Uzual, se consideră că paradoxurile îşi au într-un fel originea în procesul de auto-referire a funcţiei
conştiinţei. Capacitatea pe care fiecare o avem de a ne referi la noi înşine are un aspect special de
recunoaştere a propriului sine şi vizează trei aspecte: (i) autonomia (recunoaşterea propriului nume),
(ii) introspecţia (recunoaşterea structurii interne proprii) şi (iii) reflecţia (recunoaşterea propriului loc
în lume). Auto-recunoaşterea, într-un sens mai larg, devine o platformă comună în stabilirea
conceptului de sine şi al conştiinţei.

Puterea raţiunii umane a fost încercată din vremuri străvechi în dispute filosofice legate de „paradoxul
judecăţii negative”: Asumând premisa că o declaraţie afirmativă corespunde cu un fapt din lume,
adică ceva ce este, rezultă că o declaraţie negativă corespunde cu ceva ce nu este, dar o declaraţie,
despre ceva ce nu este, este despre nimic şi, prin urmare, imposibilă. Se consideră că, în măsura în
care mintea umană poate înţelege aceste paradoxuri, ea este infinită. O cale spre contemplaţia ideilor
infinite a fost deschisă mai târziu prin teoria matematică iniţiată de Cantor.

10
Unul dintre cele mai vechi paradoxuri cunoscute este „paradoxul mincinosului”, cunoscut şi sub
numele de paradoxul lui Epimenide. Paradoxul este direct legat de noţiunea de adevăr, care ea însăşi
conduce la o serie de dificultăţi logice. În forma modernă, paradoxul este formulat considerând
propoziţia P: „Această propoziţie este falsă”. Aplicarea unui sistem de raţionament logic asupra
afirmaţiei nu poate stabili o valoare de adevăr binară clasică. Dacă propoziţia P este adevărată, atunci
este adevărat ce afirmă şi anume că P este falsă. Prin urmare, P este falsă. Pe de altă parte, dacă P este
falsă, atunci ceea ce afirmă este fals, şi astfel din moment ce P spune că e falsă urmează de fapt că P
este adevărată. Se ajunge astfel la un raţionament circular.

O ‚soluţie’ propusă de eliminare a paradoxului este de a afirma că P nu are o valoare de adevăr bine
definită, adică P nu este nici adevărată nici falsă. Într-un anume fel, se consideră că propoziţia este
lipsită de conţinut. Nu există ceva care ar putea fi adevărat sau fals, din moment ce starea de lucruri
care ar trebui să fie falsă lipseşte. Nu există ceva asupra căruia să se poată aplica un predicat al
adevărului şi prin urmare, propoziţiei îi lipseşte valoarea de adevăr. Cu alte cuvinte, propoziţia nu are
cu adevărat un înţeles. Aceasta, deoarece adevărul este indefinibil, adică nu poate exista o descriere
completă a ideii de adevăr şi, prin urmare, cuvântul „adevăr” nu poate fi utilizat corect în a susţine
întregul concept de adevăr. Astfel, propoziţia „Această propoziţie este falsă.”, sau „Această propoziţie
nu este adevărată.” nu este cu adevărat o propoziţie, şi e lipsită de a fi atât adevărată cât şi falsă.

Soluţia discutată nu este pe deplin satisfăcătoare, deoarece propoziţia în cauză este totuşi o colecţie de
cuvinte cu înţeles, aranjate într-o formă sintactică corectă. De fapt, în paradoxul original, Epimenide
cretanul afirmă: „Eu sunt cretan şi ştiu că toţi cretanii sunt întotdeauna mincinoşi.” În această
versiune, propoziţia are un conţinut semantic clar definit şi nu mai poate fi considerată lipsită de sens.
Dacă ceea ce spune cretanul este adevărat atunci el trebuie că minte. Astfel, paradoxul apare autentic
datorită declaraţiei de auto-referire, şi rezistă încercării de soluţionare. Auto-referirea, aşa cum am
văzut, este considerată condiţie iniţială pentru ca paradoxul să apară. O trăsătură crucială a acestor
paradoxuri este prezenţa definiţiei unei mulţimi care conţine un element a cărui definiţie depinde de
acea mulţime. Aceasta se numeşte definiţie impredicativă.

Un alt exemplu de auto-referire este metoda diagonalizării utilizată de Cantor ca demonstraţie că


există mulţimi infinite care nu pot fi puse în corespondenţă unul la unul cu mulţimea infinită a
numerelor naturale. Aceste mulţimi se numesc nenumărabile, iar problema mărimii mulţimilor infinite
este tratată astăzi de teoria numerelor cardinale.

Bineînţeles, nu toate propoziţiile cu auto-referire conduc la paradoxuri. De exemplu, declaraţia


„Aceasta este o propoziţie în limba română.”, nu transmite informaţie, fiind redundantă. Propoziţia
informează despre ceea ce un cunoscător de limba română presupune deja în vederea interpretării ei.
Există, de asemenea, afirmaţii false de genul „Această propoziţie este în limba germană.”, declaraţii
lipsite de conţinut, ca de pildă „Această propoziţie afirmă ceva despre ea însăşi.” etc. Propoziţia
„Această propoziţie este adevărată.”, deşi este legată de paradoxul mincinosului, nu este la fel de
interesantă, deoarece nu conduce la o contradicţie. Similar, nu are valoare de adevăr, dar nu este nici o
problemă logică de a o considera fie adevărată fie falsă. Auto-referirea paradoxală se referă la ceva
într-o descriere care afectează validitatea acelei descrieri, rezultând un ciclu fără sfârşit. Un alt
exemplu este când două propoziţii nu sunt auto-referenţiale dar se referă una la cealaltă (paradoxul
valorii de adevăr al lui Jourdain: „A: Propoziţia B este adevărată. B: Propoziţia A este falsă.” Dacă
presupunem că propoziţia A este adevărată, atunci propoziţia B este adevărată. Dar, propoziţia B
spune că A este falsă, ceea ce este o contradicţie. Prin urmare, propoziţia A este falsă. Aceasta face ca
propoziţia B să fie falsă. Dar, propoziţia B spune că A este falsă, ceea ce este adevărat, dar din nou o
contradicţie. Avem de-a face cu o referire circulară. Cele două propoziţii se contrazic una pe cealaltă
şi nu putem stabili nici dacă sunt adevărate nici dacă sunt false. Adică am putea spune că nu au

11
valoare de adevăr. Dar, raţionamentul poate continua: Să spunem că, propoziţia B nu este nici
adevărată nici falsă. Prin urmare, propoziţia A, care spune că B este adevărată, este de fapt
neadevărată. Dar, aceasta înseamnă la urma urmei că A are valoare de adevăr. Pe de altă parte,
propoziţia B spune că A este falsă, ceea ce şi este. Prin urmare, B este adevărată, iar noi am pornit de
la ideea că nu are valoare de adevăr. Înseamnă, deci, că ambele propoziţii au valori de adevăr. Dar,
ne-am întors din nou la referirea circulară. Concluzia este că fie considerăm una, fie ambele propoziţii
fără valoare de adevăr ajungem la o contradicţie, în acelaşi mod în care am considerat că ambele
propoziţii au valoare de adevăr. În toate circumstanţele, ele nu pot fi examinate cu uneltele logicii.
Aceeaşi circularitate apare şi în contexturi non-lingvistice, cum ar fi cazul descrierii unui sistem de
către un observator care este sistemul observat, sau parte din el.

Un alt paradox faimos a fost formulat de Berry, şi este o versiune a problemei de a putea vorbi despre
lucruri despre care nu putem vorbi. Russell a formulat paradoxul astfel: „’Cel mai mic întreg care nu
poate fi definit în mai puţin de şaisprezece cuvinte’ este el însuşi un nume constând din cincisprezece
cuvinte; prin urmare ‚cel mai mic întreg care nu poate fi definit în mai puţin de şaisprezece cuvinte’
poate fi definit în cincisprezece cuvinte, ceea ce este o contradicţie”.

Pentru a clarifica, să presupunem că există numere care nu pot fi descrise în cuvinte, să zicem într-o
viaţă de om. Întrebarea este: Care este cel mai mic număr natural care nu poate fi descris în cuvinte?
Sau, formulat altfel: Care este primul număr natural care nu poate fi descris cu mai puţin de un miliard
de cuvinte? Să presupunem că există într-adevăr cel puţin un astfel de număr, fie el n0. Se pare însă că
chiar am făcut o descriere în cuvinte a unui număr particular numit n0. Dar n0 s-a presupus ca fiind
primul număr care nu poate fi descris în cuvinte.

O cale de a evita paradoxul ar fi aceea de a presupune că n0 nu e o descriere a vreunui număr. Motivul


nu e acela că chiar dacă există un număr finit de nume care au lungimea sub un miliard de cuvinte,
există o infinitate de moduri de a alcătui aceste nume. Motivul principal priveşte faptul că nu există
nici o cale de a descrie în mai puţin de un miliard de cuvinte ceea ce înţelegem prin „descris în mai
puţin de un miliard de cuvinte”. Nu există nici o cale de a descrie complet în cuvinte ceea ce gândim,
sau cum să transformăm gândurile în cuvinte şi viceversa. O astfel de descriere nu există. Dificultatea
constă în a găsi o procedură mai scurtă de un miliard de cuvinte care să se traducă într-un număr care
nu este pe lista tuturor combinaţiilor posibile sub in miliard de cuvinte. Nu putem descrie într-un
context limitat ceva ce nu poate fi descris în acel context, chiar dacă intuitiv putem să ne gândim la un
astfel de lucru. A descrie este un concept indescriptibil. Nu va exista niciodată un program care să
furnizeze o descriere manipulabilă despre cum înţelegem limbajul. La fel cum există lucruri care sunt
dincolo de orice descriere posibilă (cum e de pildă ideea de Absolut), noţiunea de descriere într-un
context fixat rezidă dincolo de orice descriere raţională.

O interpretare foarte pertinentă a paradoxului lui Berry este formulată de Chaitin [13]. Înainte de a o
prezenta, e necesar să amintim că definiţia formală a conţinutului de informaţie sau complexitatea
computaţională Ic(s) a unui şir binar s este definită ca fiind lungimea celui mai scurt program p care
asigură ieşirea s a computerului C,

Ic(s) = minC(p) = slg(p).

Un computer este definit ca o funcţie parţial recursivă C(p), unde argumentul său p este un şir binar.
Valoarea C(p) este şirul binar de la ieşirea computerului, atunci când îi este furnizat programul p.
Dacă C(p) este nedefinit, înseamnă că, rulând p pe C, se produce un calcul fără sfârşit.

În continuare se pot pune următoarele întrebări:

12
a) ce se întâmplă dacă cineva doreşte să arate că un anumit şir particular este aleator?
b) ce implică dacă cineva doreşte să arate că un anumit şir are complexitatea aproape egală cu
lungimea sa?
c) ce implică dacă cineva doreşte să arate un exemplu specific de şir de complexitate
aproximativ egală cu lungimea sa şi asigură prin intermediul unei demonstraţii că nu există un
program mai scurt pentru calcularea acestui şir?

Apare aici o limitare fundamentală în încercările de a dovedi că un şir este aleator şi de a stabili o
margine inferioară a complexităţii şirului. Motivaţia apariţiei acestor probleme este sugerată de
Chaitin prin faimosul paradox al lui Berry. Considerăm „primul şir care poate fi demonstrat a fi de
complexitate mai mare decât 1.000.000.000“. Pentru a găsi acest şir, în sistemul formal de axiome al
lui Hilbert, generăm toate teoremele până găsim prima teoremă care afirmă că un şir particular este de
complexitate mai mare decât 1.000.000.000. Rezultă că programul pentru găsirea acestui şir este
scurt, deoarece trebuie să conţină numărul 1.000.000.000 scris în binar (log21.000.000.000 biţi) plus o
rutină fixă de lungime c care examinează toate demonstraţiile posibile, până când găseşte una care
arată că un şir specific este de complexitate mai mare decât 1.000.000.000. Prin aceasta am dovedit că
există un program de lungime log2 n + c biţi care calculează primul şir care poate fi dovedit a fi de
complexitate mai mare decât n. Acesta este un paradox, deoarece programul de lungime log2 n + c
calculează ceva ce prin ipoteză nu putea fi calculat printr-un program de lungime mai mică sau egală
cu n (se consideră n, astfel încât log2 n + c << n).

Semnificaţia acestui paradox este aceea că este absurd pentru un şir să nu aibă un program de lungime
mai mică decât n pentru a fi calculat şi, în acelaşi timp, să aibă un astfel de program. Pentru toate
valorile suficient de mari ale lui n, nu se poate vorbi de „primul şir care poate fi dovedit de
complexitate mai mare decât n“, deoarece acest şir nu există. Pentru toate valorile suficient de mari
ale lui n, nu poate fi dovedit faptul că un anumit şir particular este de complexitate mai mare decât n.

Folosind metodele de raţionament acceptate de Hilbert, există o limită superioară pentru


complexitatea care se poate dovedi că o are un şir particular. Majoritatea şirurilor de lungime n sunt
de complexitate aproximativ egală cu n, iar un şir generat de aruncarea unei monede va avea aproape
cu certitudine această proprietate. Nu se pot arăta exemple individuale de şiruri arbitrar de complexe
utilizând metodele de raţionament acceptate de Hilbert. Marginile superioare în complexitatea unor
şiruri specifice vor fi limitate şi nu vom fi niciodată matematic siguri că un şir este foarte complex,
chiar dacă majoritatea şirurilor sunt aleatoare. Conform cu Chaitin, versiunea paradoxului lui Berry
poate fi formulatǎ mai precis ca „acel obiect care are cea mai scurtǎ demonstrație, în cadrul sistemului
axiomatic formal, cǎ conținutul sǎu de informație e mai mare decât conținutul de informație a
sistemului axiomatic formal...”, unde cele trei puncte trebuie completate descrierea sistemului
axiomatic formal în cauzǎ. Acest rezultat este versiunea din punct de vedere a conținutului de
informație a teoremei incompletitudinii a lui Gödel.

Legătura cu prima teoremă a incompletitudinii a lui Gödel e foarte strânsă. În termenii complexităţii
algoritmice putem construi o declaraţie care afirmă că pentru oricare sistem formal temeinic T există o
constantă cT < ∞ astfel încât toate declaraţiile având semnificaţia C(x) cT sunt de nedemonstrat în T.
De fapt, lucrările lui Gödel, Turing şi argumentul diagonal al lui Cantor sunt moduri diferite de a
exprima acelaşi aspect generat de către procesul paradoxal autoreferenţial. Să considerăm sistem
axiomatic formal de n biţi. Există un program de lungime n care nu se opreşte, dar nimeni nu poate
demonstra asta în cadrul sistemului formal. Chaitin a mers într-o altă direcţie în a arăta limitele
raţionamentului formal şi a introdus un număr real algoritmic aleatoriu între 0 şi 1 numit Omega.
Acesta este definit ca probabilitatea de oprire a oricărui computer de uz general, în cazul în care

13
fiecare bit a programului său este produs de un eveniment independent de aruncare a unei monede.
Astfel,

Omega=Sump halts 2-|p|.

Analog teoremei lui Turing că problema opririi e insolvabilă, există teorema care afirmă că
expansiunea în baza doi a lui Omega este algoritmic aleatoare algoritmic ireductibilă. Pentru a deduce
care sunt primii n biţi ai lui Omega (şi aceşti biţi sunt complet accidentali) e necesar de a avea n biţi
de axiome. Omega e de fapt un fel de măsură pentru un sistem axiomatic formal, prin cât de mulţi biţi
ai lui Omega e posibil de a deduce din axiomele sistemului. Sau, cineva poate măsura sistemul în
termenii mărimii în biţi a celui mai scurt program a cărui problemă a opririi este indecidabilă în cadrul
sistemului formal. Omega este astfel cea mai compactă axiomă pentru o reprezentare formală,
numărul real cel mai necalculabil.

E foarte ciudat că Omega conţine atât de multă informaţie despre problema opririi şi totuşi nu poate fi
deosebit în mod calculabil de o secvenţă aleatoare fără sens, adică de rezultatul înregistrat al
aruncărilor independente ale unei monede. Bineînţeles, adevărurile aleatoare sau ireductibile nu pot fi
comprimate în axiome mai scurte decât ele însele. Cu un sistem axiomatic formal cu complexitatea de
n biţi, adică programul care cuprinde setul tuturor teoremelor are n biţi, putem demonstra care sunt
poziţiile şi valorile a cel mult n biţi ai lui Omega. Suntem capabili să stabilim n cazuri dacă sistemul
nostru axiomatic formal are complexitatea n. Aceasta înseamnă, cu alte cuvinte, că putem scoate la
ieşire cel mult cât introducem la intrare. Dacă vrem să demonstrăm care sunt biţii individuali ai lui
Omega în diferite poziţii specifice, raţionamentul nu ne este de folos. Singura cale de a dovedi aceasta
este de a o considera ca o ipoteză, sau axiomă, care poate fi adăugată sistemului formal.

Ce înseamnă, pe de altă parte, de afla care sunt doar primii n biţi ai lui Omega? Aceşti biţi ar putea fi
utilizaţi pentru a rezolva problema opririi pentru toate programele de n biţi sau mai scurte. Dacă n biţi
ai lui Omega pot fi calculaţi de un program semnificativ mai scurt decât n biţi, atunci un program de
dimensiuni similare ar fi suficient pentru a găsi şi lista primul întreg de n biţi incompresibil, ceea ce
este o contradicţie. Ne-am întors, aşadar, la o altă versiune a paradoxului lui Berry: a denumi ceva ce
nu poate fi denumit. Aşa cum remarca Chaitin, acest număr Omega arată că există un aleatorism total,
un haos, impredictibilitate şi lipsă de structură în matematica pură. Există regiuni ale matematicii pure
unde raţionamentul este total inutil.

În rezumat, am combinat idei din teoria informaţiei şi din teoria calculabilităţii, pentru a defini
complexitatea unui şir şi am utilizat apoi acest concept pentru a da o definiţie unui şir aleator şi pentru
a arăta că un sistem formal de axiome permite a se dovedi că un şir aleator este într-adevăr aleator
într-un număr finit de cazuri. Acest concept al complexităţii are implicaţii fundamentale în
metodologia ştiinţei, inteligenţă artificială, biologie.

Presupunem un set de observaţii ştiinţifice pe care le echivalăm cu un şir binar. Pe baza acestor
observaţii se face o teorie ştiinţifică. Aceasta se echivalează, la rândul ei, cu programul care generează
acest şir. ştiinţa consideră teoria cea mai simplă ca fiind cea mai bună pentru că, dacă un şir de
observaţii are doar teorii care sunt programe de aceeaşi lungime ca şi şirul de observaţii, observaţiile
sunt aleatoare, ele sunt neînţelese şi nu pot fi prezise. Valoarea unei teorii ştiinţifice este aceea că
poate comprima multe observaţii în puţine ipoteze teoretice. Există o teorie numai atunci când şirul de
observaţii nu este aleator, atunci când complexitatea sa este apreciabil mai mică decât lungimea sa în
biţi. O analiză similară a metodei deductive a sistemului de axiome formal a fost realizată de Chaitin
în 1974:

14
a) Într-un sistem formal cu n biţi de axiome este imposibil de a dovedi că un şir binar particular este
de complexitate mai mare decât n + c.

b) În mod contrar, există sisteme formale cu n + c biţi de axiome în care este posibil să se determine
fiecare şir de complexitate mai mică decât n şi complexitatea fiecăruia dintre aceste şiruri, şi este, de
asemenea, posibil să se arate fiecare şir de complexitate mai mare sau egală cu n, fără a fi capabil să
se determine cu cât depăşeşte complexitatea fiecăruia dintre aceste şiruri valoarea n.

c) Orice sistem formal în care este posibilă determinarea fiecărui şir de complexitate mai mică decât n
prezintă una dintre următoarele deficienţe:

— fie are puţini biţi de axiome şi necesită demonstraţii „incredibil“ de lungi;


— fie are demonstraţii scurte, dar un număr „incredibil“ de mare de biţi de axiome.

Cuvântul „incredibil“ se referă aici la faptul că aceste cantităţi cresc mult mai repede decât orice
funcţie computabilă de n. Există mai puţin de 2n şiruri de complexitate mai mică decât n, din care
unele sunt incredibil de lungi. Pentru a le comunica există două posibilităţi:

— posibilitatea de a le comunica pe toate, rezultând un mesaj incredibil de lung;


— posibilitatea de a trimite un mesaj foarte scurt format din biţii de axiome, din care se determină
şirurile cu complexitate mai mică decât n. Deşi mesajul va fi scurt, timpul de calcul necesar pentru a
deduce şirurile de complexitate mai mică decât n va fi incredibil de lung.

Unii sunt de părere că existenţa paradoxurilor e o dovadă că lumea este în cele din urmă contradictorie
şi, prin urmare, nici o soluţie nu va putea fi găsită vreodată pentru acestea. Alţii, din contră, consideră
paradoxurile un fel de imperfecţiune în procesul de raţionament şi cred că o soluţie trebuie găsită
pentru a fi eliminate. Paradoxurile sunt însă, în ultimă instanţă, parte din procesul natural al gândirii
umane şi necesită pentru înţelegerea lor o incursiune mai profundă în natura procesului conştiinţei de
stabilire a adevărului. Există o preocupare de a găsi soluţii pentru eliminarea diferitelor paradoxuri.
Unele soluţii sunt considerate acceptabile, cum sunt cele pentru paradoxurile lui Zeno, numite şi
paradoxurile mişcării (paradoxul săgeţii, Ahile şi broasca ţestoasă etc.). Alte soluţii sunt însă
artificiale. Un paradox autentic nu poate fi eliminat şi ar trebui să acceptăm aceasta ca un fapt
fundamental. Fiecare paradox autentic este o indicaţie a existenţei unor stări mintale care se sustrag
oricărei descrieri formale. Iar faptul că mintea umană are şi stări informale face parte din natura sa şi
poate fi observat de fiecare dintre noi.

2.2 Programul lui Hilbert pentru matematică

Ne interesează să găsim o procedură matematică de a exprima adevărul sau falsitatea unei


teoreme. În 1928, matematicianul David Hilbert a propus un program matematic, care printre
altele, viza descoperirea unei proceduri de demonstrare automată a teoremelor. Acest
program s-a numit entscheidungsproblem, care înseamnă problema decidabilităţii. Ideea lui
Hilbert viza soluţionarea situaţiilor paradoxale cu care se putea confrunta matematica, şi
căuta în mod concret un răspuns la paradoxurile matematice, ca cel introdus de
matematicianul Bertrand Russell.

Ideea lui Hilbert a fost aceea de a stabili o metodă de demonstrare exhaustivă a tuturor
teoremelor dintr-un capitol bine specificat de matematică. Astfel, pornind de la setul iniţial de

15
axiome, definit complet pentru capitolul respectiv, utilizând un limbaj matematic formal,
precum şi un set de reguli de procedură prin care să se efectueze transformări corecte din
punct de vedere sintactic, se vor putea obţine sau deduce toate teoremele din capitolul
respectiv. În felul acesta, s-ar elimina neajunsurile paradoxurilor ce ar putea apare. Cu
referire la paradoxul lui Russell, observăm că pornind de la premisele acceptate ca adevărate,
şi urmând un raţionament logic deductiv, se ajunge la o concluzie contrară premiselor
asumate, care dacă, la rândul ei, se acceptă ca premisă adevărată va conduce de asemenea la
negarea ei în urma raţionamentului deductiv. Acest gen de raţionament circular ce face
obiectul paradoxului este de nedorit pentru logica matematică, iar Hilbert, prin programul
său, urmărea tocmai eliminarea posibilităţii de apariţie a unor asemenea paradoxuri.

Trebuie să menţionăm însă că existenţa paradoxurilor este înrădăcinată în capacitatea minţii


umane de a contempla infinitul, dar care ajunge în conflict cu un sistem de raţionament finit.
Logica clasică a fost confruntată întotdeauna de prezenţa paradoxurilor atunci când
raţionamentul urmăreşte stabilirea adevărului propriei capacităţi de a stabili adevărul. Russell
însuşi a fost inspirat în enunţul paradoxului său de un paradox enunţat de un bibliotecar,
numit paradoxul cataloagelor: ”Într-o bibliotecă se doreşte catalogarea cărţilor după
următorul criteriu: într-un catalog se vor trece toate cărţile în care există o menţiune sau o
referire la ele însele, şi în celălalt catalog se trec toate cărţile în care nu există o asemenea
referire la cărţile însele”. Problema paradoxală apare în momentul în care se doreşte
catalogarea celor 2 cataloage. Orice încercare logică de a înscrie cataloagele în oricare dintre
cele 2 cataloage va contrazice premisa acceptată referitoare la acel catalog, conducând astfel
la un raţionament circular.

Un alt paradox similar celui anterior este binecunoscutul paradox al bărbierului: „Într-un
orăşel există un bărbier care se declară singur ca fiind bărbierul care bărbiereşte pe toată
lumea care nu se bărbiereşte singură”. Afirmaţia este legitimă, şi motivaţia apare imediat: o
persoană care nu se bărbiereşte singură se va bărbieri la singurul bărbier din oraş. Paradoxul
apare însă în momentul în care bărbierul face referire la el însuşi: fiind singurul bărbier din
oraş, el însuşi e pus într-o situaţie imposibilă de a fi obligat de a se bărbieri el însuşi şi în
acelaşi timp de a nu face acest lucru. Paradoxurile sunt, într-un fel sau altul, de natură ce
implică autoreferirea legată de capacitatea de stabilire a adevărului. Soluţionarea acestor
paradoxuri nu se poate face în nici un sistem de raţionament finit. Acest lucru a fost arătat
magistral de către logicianul Kurt Gődel prin vestita teoremă a incompletitudinii, precum şi
de matematicianul britanic Alan Turing, prin demonstrarea sa legată de problema opririi
maşinilor Turing.

Apare aşadar actuală şi importantă problema stabilirii adevărului declaraţiilor matematice


libere de paradoxuri. Vom analiza în continuare câteva din tipurile posibile de demonstraţii
matematice. Din nefericire, găsirea unei demonstraţii nu este întotdeauna simplă, în sensul că
nu putem găsi întotdeauna un set simplu de reguli sau procese care să ne conducă la
demonstrarea adevărului afirmaţiei respective. Clasificarea pe care o facem în continuare se
bazează pe experienţa matematicienilor în găsirea de demonstraţii consemnată de-a lungul
timpului.

16
Programul lui Hilbert a avut în vedere să dezvolte un sistem formalizat, liber de contradicţii şi
care să permită doar declaraţii adevărate, derivate din declaraţiile ulterior cunoscute ca
adevărate. Regulile urmau a fi selectate astfel încât să prevină apariţia de tipuri paradoxale de
raţionamente. Astfel, schema lui Hilbert devenea liberă de contradicţii. Matematica ar fi fost
plasată, o dată pentru totdeauna, pe un fundament solid.

2.3 Sistemul matematic formal


Hilbert a definit un limbaj, iar sistemul formal matematic conţinea toate tipurile corecte de
raţionamente matematice pentru orice domeniu particular al matematicii, conţinând axiome şi
reguli de procedură. El a introdus un alfabet de simboluri în termeni în care să poată să fie
exprimate declaraţiile matematice. Acest alfabet conţine numere, litere, semne de punctuaţie,
cuantificatori, semne pentru operaţii aritmetice, conective logice.
De exemplu, putem face declaraţii ca aceea a lui Fermat [12]:
 w, x, y, z[(x + 1 )(w + 3) + (y + 1)(w + 3) = (z + 1 )(w + 3)]

sau rescrisă:
w, x, y, z [(x + 1 )(w + 3) + (y + 1)(w + 3) = (z + 1 )(w + 3)]

Literele denotă propoziţii întregi. Astfel, declaraţia lui Fermat apare ca:

F =  w, x, y, z [( x + 1 )(w + 3) + (y + 1 )(w + 3) = (z + 1 )(w + 3)]

O propoziţie poate depinde de una sau mai multe variabile. De exemplu:

G(w) =  x, y, z [(x + 1)(w + 3) + (y + 1)(w + 3) = (z + 1)(w + 3)]

Astfel, G(0) arată că nici un cub nu poate fi suma a altor două cuburi. Afirmaţia lui Fermat
devine:
F = w (G (w))
G( ) este un exemplu de funcţie propoziţională, adică o propoziţie care depinde de una sau
mai multe variabile. Axiomele sistemului au fost definite ca o listă finită de propoziţii
generale al căror adevăr, dată fiind semnificaţia simbolurilor, este evident prin el însuşi. Fie
funcţiile P, Q şi R( ), arbitrare, avem printre axiome:
(P&Q)  Q
(P)  P
 x [R(x)]   x [R(x)].
Putem include şi axiomele aritmetice de bază:
x, y [x + y = y + x]

17
x, y, z [(x + y) . z = (x . z) + (y . z )]
De asemenea, avem regulile sau legile de procedură:
 din P şi P  Q se poate deduce Q;
 din x[R(x)] putem deduce orice propoziţie obţinută prin substituirea unui număr
natural specific pentru x în R(x).
Dorinţa lui Hilbert a fost de a găsi pentru orice domeniu bine definit al matematicii, o listă de
axiome şi legi de procedură suficient de cuprinzătoare ca toate formele de raţionament,
corecte matematic pentru acel domeniu, să poată fi încorporate. Astfel, s-ar fi evitat
contradicţiile dintre matematicieni despre validitatea demonstraţiilor. Prin utilizarea
limbajului său artificial, fără excepţii, el urmărea să elimine ambiguităţile inerente oricărui
limbaj natural. Specificaţiile limbajului formal sunt atât de precise şi de exacte, încât
verificarea dacă o demonstraţie scrisă în acest limbaj artificial este corectă devine complet
mecanică. În limbajul curent de astăzi s-ar spune că este aşa de clar dacă o demonstraţie este
validă sau nu încât pot fi verificate pe calculator.
Hilbert a sperat ca matematica să atingă cea mai înaltă obiectivitate şi exactitate. El spunea că
nu va mai fi nici o îndoială în demonstraţii. Metoda deductivă va fi complet clară. Să
presupunem că demonstraţiile sunt scrise în limbajul propus de Hilbert şi în conformitate cu
legile sale privitoare la metodele acceptate de raţionament. Putem afirma că un calculator
poate fi programat să tipărească toate teoremele care pot fi demonstrate. Este un program fără
sfârşit, dar nu va fi omisă nici o teoremă.
Limbajul are un alfabet cu un număr finit de semne şi caractere. Programul funcţionează
astfel:
 generează mai întâi şirurile de caractere din acest alfabet, care sunt de lungimea unui
singur caracter;
 în continuare, verifică dacă unul dintre aceste şiruri satisface legile mecanice
complete pentru o corectă demonstraţie şi tipăreşte toate teoremele ale căror
demonstraţii le-a găsit;
 generează, apoi, toate demonstraţiile posibile de două caractere şi le examinează pe
fiecare pentru a vedea dacă sunt valide;
 generează demonstraţiile de 3, 4… caractere.
Dacă o teoremă poate fi demonstrată, programul va găsi, deci, o demonstraţie pentru ea şi o
va tipări. Hilbert a sperat că pentru orice şir de simboluri, reprezentând o propoziţie
matematică P, să fie capabil să demonstreze fie pe P, fie pe negata ei P, în funcţie de
valoarea ei de adevăr. Presupunem că şirul P este corect din punct de vedere sintactic sau
gramatical (satisface toate regulile de notaţie ale formalismului), astfel încât P să aibă o
semnificaţie bine definită de adevărat sau fals. Dacă speranţa lui Hilbert ar fi fost îndeplinită,
formalismul matematic ne-ar fi permis să ne dispensăm de grija a ceea ce semnifică
propoziţia. Lui P îi va fi asignată, deci, fie valoarea adevărat dacă este teoremă (e
demonstrabilă în cazul sistemului), fie îi va fi asignată valoarea fals dacă P este o teoremă.
Pentru ca aceasta să aibă sens, este nevoie de consistenţă, adică un şir de simboluri nu poate

18
fi simultan adevărat şi fals. Un sistem trebuie să aibă, deci, caracteristicile de consistenţă şi
completitudine.
Ideea de substrat a formalismului matematic este aceea de a ne putea dispensa de semnificaţie
sau semantică. Dar chiar „semnificaţia“, şi nu computaţia algoritmică oarbă este cea care dă
matematicii substanţă. Programul lui Hilbert a fost serios afectat, însă, când a apărut Kurt
Gödel cu un nou adevăr matematic.

2.4 Teorema lui Gödel


O parte din argumentele prezentate de Gödel sunt foarte detaliate şi complicate. Totuşi,
pentru esenţa problemei, nu este necesar să examinăm complicaţiile acestei părţi [12].
Partea complicată şi ingenioasă a teoremei lui Gödel se referă la a arăta în detaliu cum se pot
codifica în realitate regulile individuale de procedură ale sistemului formal şi cum se pot
utiliza diferitele lui axiome în operaţii aritmetice. Pentru a realiza această codificare, este
necesară o etichetare a propoziţiilor într-un mod convenabil. Un mod este de a ordona
alfabetic toate şirurile de simboluri de o anumită lungime. Astfel, vor fi ordonate mai întâi
şirurile de lungime 1, apoi cele de lungime 2 şi aşa mai departe, în ordine lexicografică. Vom
considera, în particular, funcţii propoziţionale dependente de o singură variabilă. Fixăm
domeniul matematicii la aritmetică.
În urma ordonării considerăm a n-a funcţie propoziţională în ordinea aleasă de şiruri de
simboluri, pe care o aplicăm lui w : Gn(w). Dacă Gn(w) este corectă din punct de vedere
sintactic, ea va fi o anumită declaraţie aritmetică particulară perfect definită, privitoare la
două numere naturale n şi w. Pentru a arăta precis care anume declaraţie aritmetică este,
aceasta va depinde de detaliile sistemului particular de numerotare ales, fiind explicată în
partea complicată a demonstraţiei lui Gödel. şirul de propoziţii care constituie o demonstraţie
a unei anumite teoreme în sistem poate fi, de asemenea, etichetat prin numere naturale,
utilizând aceeaşi schemă de ordonare aleasă. Fie Pn a n-a demonstraţie din sistem.
Să luăm acum în consideraţie următoarea funcţie propoziţională care depinde de numărul
natural w: x[Px demonstrează Gw(w)]. Declaraţia din paranteze este dată parţial în cuvinte,
dar este o declaraţie definită perfect şi precis. Ea afirmă că a x-a demonstraţie este, în
realitate, o demonstraţie a acelei propoziţii, care este Gw( ) aplicată lui w. În afara
parantezelor, cuantificatorul existenţial negat serveşte pentru a îndepărta una dintre variabile,
astfel încât funcţia propoziţională aritmetică depinde de o singură variabilă w. Expresia, în
ansamblu, afirmă că nu există nici o dovadă a lui Gw(w). Vom presupune că este încadrată
într-un mod sintactic corect. Chiar dacă Pw(w) nu ar fi corectă sintactic, declaraţia, evident, ar
fi adevărată din moment ce nu există nici o dovadă a unei expresii incorecte sintactic.
Expresia reprezintă, în realitate, o anumită declaraţie aritmetică privind numărul natural w,
partea dintre paranteze fiind o declaraţie aritmetică bine definită despre două numere naturale
x şi w. La prima vedere, nu apare evident că această declaraţie poate fi codificată perfect, dar
Gödel a arătat că această declaraţie poate fi codificată perfect în sistemul formal. A menţiona
precis care declaraţie aritmetică este în realitate, va depinde de detaliile sistemului de
numerotare şi de structura detaliată de axiome şi legi din sistemul nostru formal. În acest
sistem noi am notat toate funcţiile propoziţionale care depind de o singură variabilă, aşa că

19
cea pe care am scris-o va avea un număr. Fie acesta k. Funcţia noastră va fi, deci, a k-a din
listă şi fiind de variabilă w putem scrie Gk(w) [12]. Astfel,
x [Px demonstrează Gw(w)] = Gk(w)
Să examinăm aceasta pentru w = k:
x[Px demonstrează Gk(k)] = Gk(k)
Propoziţia Gk(k) este o declaraţie aritmetică perfect definită, corectă din punct de vedere
sintactic. Întrebarea care se pune este: există o demonstraţie în sistemul nostru formal pentru
Gk (k)? Dacă nu, atunci există pentru Gk(k)? Răspunsul este nu, la ambele întrebări.
Vom examina semnificaţia substratului procedurii lui Gödel. Deşi Gk(k) este chiar o
propoziţie aritmetică, am construit-o astfel încât să afirme chiar ceea ce este scris în membrul
stâng, adică nu există nici o demonstraţie în cadrul sistemului a propoziţiei Gk(k). Deşi am
fost atenţi în a transpune axiomele şi regulile de procedură şi am făcut corect numerotarea, nu
există nici o dovadă în sistem a lui Gk(k). Dacă ar exista o astfel de demonstraţie, atunci
semnificaţia declaraţiei pe care Gk(k) o afirmă în realitate şi anume că nu există nici o
demonstraţie, ar fi falsă, astfel că Gk(k) ar trebui să fie falsă ca şi proprietate aritmetică, iar
sistemul nostru formal nu ar putea în realitate să permită să fie demonstrate propoziţii false.
Deci, trebuie ca, în fapt, să nu existe nici o demonstraţie a lui Gk(k). Dar, chiar aceasta Gk(k)
încearcă să ne spună. Deci, ceea ce afirmă Gk(k) trebuie să fie adevărat ca propoziţie
aritmetică. Am găsit o propoziţie adevărată, care nu are nici o demonstraţie în cadrul
sistemului. Despre negata ei, am stabilit că ea trebuie să fie falsă. Gk(k)este adevărată, iar noi
nu presupunem că putem fi capabili să dovedim propoziţii false în cadrul sistemului. Astfel
nici Gk(k)nu este demonstrabilă în cadrul sistemului nostru formal.
Prin urmare, sistemul formal fie recunoaşte anumite falsităţi, fie nu poate recunoaşte anumite
adevăruri. Aceasta este prima teoremă a incompletitudinii a lui Gödel. Să examinăm acum
mai în detaliu semnificaţia propoziţiei lui Gödel. Această propoziţie, fie G pentru un sistem
formal F, poate fi reformulată accentuînd semnificaţia sa mai profundă [14]:
„Această propoziţie nu este recunoscută ca adevărată de către F.”
Dacă G este adevărată pentru F, atunci G este falsă. Deci, F conţine cel puţin o propoziţie
falsă şi, astfel, este netemeinic. Rezultă că G nu poate fi un adevăr pentru F, dar chiar aceasta
este ceea ce afirmă G. Sistemul este fie netemeinic fie incomplet. Dacă sistemul este temeinic
atunci G este adevărată. Aici apare următoarea întrebare. Dacă G nu este un adevăr pentru F,
atunci pentru cine este un adevăr? Pentru un observator extern? Ce fel de observator trebuie
să fie acesta pentru a putea stabili adevărul?
Acest tip de declaraţie autoreferenţială conduce în mod tipic la paradoxuri, şi a fost utilizată
de McCullough pentru a demonstra incompletitudinea raţionamentului uman, de asemenea.
Discuţia este legată de argumentul lui Penrose privind necalculabilitatea procesului gândirii
umane.
In fapt, într-o formă generală, acest tip de propoziţii autoreferenţiale pot fi exprimate sub
forma:
„Vei exprima un adevăr prin care vei comunica o falsitate?

20
Similar, propoziţiile de tip Gödel pot fi reformulate sub forma:
„Vei recunoaşte adevărul unei propoziţii (sau a acestei propoziţii) care afirmă că nu-l vei
putea recunoaşte?”
Teorema lui Gödel pune în balanţă sintaxa sau formalismul sintactic faţă în faţă cu semantica
sau semnificaţia declaraţiilor. Datorită formalizării, deci, sistemul formal îşi pierde orice
înţeles de sine, adică îşi pierde chiar semantica. Deci, se poate scrie o propoziţie adevărată,
cu înţeles, dar care nu poate rezulta din demonstraţiile sistemului nostru formal. În concluzie,
întotdeauna într-un sistem formal există o propoziţie adevărată care nu poate fi demonstrată.

2.5 Teoreme de tip Gödel din rezultatele lui Turing


O parte importantă a argumentelor lui Gödel, din punct de vedere istoric, a fost
indecidabilitatea consistenţei axiomelor. Lucrările lui Turing sunt ulterioare celor lui Gödel.
Cele două argumente au multe în comun, aspectele cheie ale teoremei lui Gödel putând fi
deduse direct utilizând procedura lui Turing [12].
O proprietate esenţială a unui sistem formal este aceea că ar trebui să fie o chestiune de
computabilitate de a decide sau nu dacă un şir dat de simboluri constituie o dovadă, în cadrul
sistemului, a unei afirmaţii matematice date. Adică, trebuie să existe un algoritm pentru a
verifica demonstraţiile.
Dacă Hilbert ar fi avut succes în găsirea sistemului său matematic de axiome şi de legi de
procedură, suficient de puternic pentru a decide, prin demonstraţie formală, adevărul sau
falsitatea oricărei propoziţii matematice corect formulată în cadrul sistemului, atunci ar exista
o metodă algoritmică generală de a decide adevărul unei astfel de propoziţii. Urmând
procedura, s-ar ajunge, în final, peste propoziţia căutată, ca linie finală în demonstraţie. Dacă,
în schimb, s-ar da peste negata ei în linia finală, atunci s-ar infirma propoziţia.
Una sau alta dintre aceste două eventualităţi ar trebui să apară întotdeauna (niciodată
simultan, dacă există consistenţă). Astfel, procedura mecanică s-ar termina într-un stadiu şi
am avea un algoritm general pentru a decide adevărul sau falsitatea tuturor propoziţiilor din
sistem. Aceasta însă contrazice rezultatele lui Turing din capitolul anterior, rezultate prin care
am arătat că nu există un algoritm general pentru a decide adevărul propoziţiilor matematice.
Astfel, se demonstrează, în consecinţă, teorema lui Gödel că nici una dintre schemele de tipul
propus de Hilbert nu poate fi completă în sensul discutat. Din demonstraţia lui Turing nu
apare, la prima vedere, existenţa unei propoziţii de tip Gödel, Gk(k), care este adevărată, dar
nu poate fi demonstrată în sistem. Fiind dat un algoritm pentru a decide dacă o maşină Turing
se opreşte, putem produce o maşină Turing pe care noi o vedem că nu se opreşte şi, totuşi,
algoritmul nu sesizează acest lucru. Astfel, avem o propoziţie pe care o putem vedea,
utilizând intuiţia, că trebuie să fie adevărată, adică faptul că maşina nu se opreşte, dar
acţiunea algoritmică dată nu ne poate spune aceasta.

21
2.6 Verificarea exhaustivă

Metoda cea mai simplă de a verifica validitatea unei afirmaţii este aceea de a fi capabil de a
dovedi pentru toate cazurile existente că proprietatea respectivă afirmată este adevărată [1].
Spre exemplu, să considerăm următorul enunţ: „dacă n este un întreg şi 2≤n≤7, atunci n 2+2
nu este divizibil cu 4”. Putem dovedi afirmaţia respectivă calculând valorile corespunzătoare
ale expresiei n2+2 pentru toate cele 6 valori întregi ale lui n în [2,7]. Acestea sunt 6, 11, 18,
27, 38, 51. Se poate verifica faptul că nici unul din aceste numere nu este divizibil cu 4.
Metoda aceasta de demonstraţie poate fi o abordare eficientă în situaţia în care avem de
verificat un număr rezonabil de mic de cazuri particulare. În situaţia unei afirmaţii de genul:
„dacă n este un întreg, şi 2≤n≤500, atunci n2+2 nu este divizibil cu 4”, verificarea exhaustivă
apare anevoioasă. Ar fi posibil, totuşi, în această situaţie de a utiliza un calculator.

Un asemenea tip de abordare însă nu poate fi utilizat în a demonstra afirmaţii ce reclamă un


număr infinit de mare de cazuri de verificat. De exemplu, afirmaţia :”dacă n este un întreg,
atunci n2+2 nu este divizibil cu 4” este valabilă pentru toate valorile lui n, însă nu poate fi
dovedită prin verificare exhaustivă. Pentru demonstrarea ei este necesar să apelăm la alte
metode de demonstraţie.

Din nefericire, nu există o procedură algoritmică sau automată care să stabilească momentul
în care putem utiliza sau nu un calculator pentru demonstrarea prin verificare sau exhaustivă.
În prezenţa unei asemenea proceduri, am fi fost însă capabili să demonstrăm cu ajutorul
calculatorului toate problemele din matematică. Spre exemplu, fie marea teoremă a lui
Fermat: Nu există un cvadruplu x, y, z, w pentru care să fie valabil x w+yw=zw, w≥3. Această
teoremă ar fi putut fi demonstrată uşor în situaţia în care am fi putut decide dacă un anumit
program scris pe un calculator, program ce calculează membrul stâng şi membrul drept al
ecuaţiei, se opreşte sau nu. Programul va face aceste calcule luând valorile lui x, y, z şi w în
ordine, una după cealaltă. Teorema lui Fermat afirmă de fapt că nu există 4 numere x, y, z şi
n naturale cu proprietăţile menţionate şi care să satisfacă această egalitate. Programul pe
calculator ar testa pentru fiecare valoare egalitatea membrului stâng cu a celui drept, şi în
situaţia în care ar găsi o asemenea egalitate s-ar opri şi ar afişa valorile celor 4 numere găsite.
Dacă aceasta ar fi situaţia, am demonstra falsitatea teoremei lui Fermat prin ceea ce se
cheamă contra exemplu. Uneori, contraexemple se pot găsi prin căutare exhaustivă. Spre
exemplu, să considerăm următoarea afirmaţie: „fiecare număr impar mai mare decât 1, care
nu este prim, are forma 2+p pentru un anumit număr p” afirmaţia noastră este falsă, şi
demonstrăm acest lucru printr-o simplă căutare, în care găsim că 27 este un contraexemplu.

În situaţia teoremei lui Fermat, dacă această teoremă este însă adevărată, atunci programul
nostru de verificare exhaustivă nu s-ar opri niciodată. Turing îşi pune astfel problema de a
găsi o procedură de asemenea algoritmică prin care să stabilim dacă un program asemenea
celui folosit pentru demonstrarea teoremei lui Fermat s-ar opri sau nu. În situaţia în care ar
exista o asemenea procedură, aceasta ar putea stabili validitatea teoremei prin simpla decizie
a faptului că programul de verificare nu se opreşte niciodată. Din nefericire însă, din punctul
de vedere al demonstrării asistate de calculator, Turing a demonstrat că o asemenea procedură
nu există, şi prin urmare nu există algoritmi care să poată stabili adevărul matematic.

22
Algoritmii prin ei înşişi nu pot decide adevărul. Se pot genera la fel de uşor folosind algoritmi
atât adevăruri matematice cât şi falsităţi. Un alt exemplu de procedură indecidabilă este
secvenţa 3n+1. Fie n un număr natural n≥2. fie următoarea procedură:

Dacă n=1 atunci STOP


Dacă n este par atunci se înlocuieşte n cu valorea n/2
Dacă n este impar, atunci se înlocuieşte n cu valoarea 3n+1

Verificarea opririi unui asemenea tip de procedură nu poate fi făcută prin mijloace formale,
deşi condiţiile de oprire sunt prezente în procedură. În concluzie, demonstraţia prin verificare
exhaustivă are o aplicabilitate foarte limitată şi constituie doar un interes parţial în abordarea
noastră. Demonstraţia lui Turing la imposibilitatea deciderii adevărului matematic printr-o
procedură mecanică dă răspuns problemei Entscheidungsproblem a lui Hilbert.

2.7 Demonstraţia prin deducţie directă

Demonstraţia prin deducţie directă presupune că se porneşte de la o formă de implicaţie de


tipul „dacă p atunci q” şi se bazează pe presupunerea că ipoteza p este adevărată [1]. Pasul
următor este de a găsi o afirmaţie care este implicată de presupunere sau de alte fapte
cunoscute. Fiecare pas la rândul lui procedează în aceeaşi manieră, ajungându-se în final cu
atingerea concluziei q. Evident, logica acestei metode este bazată pe regula numită modus
ponens:

dacă p, atunci q
p
--------------
├q

„dacă este soare, atunci este lumină”. Presupunând adevărată existenţa soarelui, urmează
logic prezenţa luminii.

Fie următoarele două exemple:

Suma oricăror 2 întregi impari este un întreg par.

Pentru a demonstra această afirmaţie prin metoda directă deductivă, reformulăm afirmaţia în
forma condiţională, adică:

Dacă x şi y sunt întregi atunci x + y este un întreg par.

Demonstraţie: presupunem valabilă ipoteza că x şi y sunt întregi impari, prin urmare x poate
fi scris x=2k+1 şi y=2m+1, fiind întregi arbitrari. Substituim pe x şi y în x+y, şi obţinem după
simple operaţii că 2k+1+2m+1=2(k+m+1). Deoarece k+m+1 este întreg, suma x+y este pară.
Q.e.d.

23
Dacă d divide pe a şi a divide pe b, atunci d divide b.

Demonstraţie: presupunem ipoteza adevărată. Urmează logic din definiţia divizibilităţii că


există întregii m şi n astfel încât a = dm şi b = an. În continuare, substituind pe a din prima
ecuaţie obţinem pe b = an = dmn dovedind validitatea afirmaţiei.

2.8 Utilizarea contrapoziţiei

Aceasta presupune în demonstraţie cunoaşterea următorului fapt: dacă există o declaraţie


condiţională de tipul dacă p atunci q, contrapoziţia sa, dacă nu q atunci nu p are aceeaşi
valoare de adevăr [1]. Reamintim că tabelul de adevăr pentru implicaţia p → q este:

p q p→q
A A A
A F F
F A A
F F A

Un exemplu de utilizare a contrapoziţiei în a demonstra „dacă A atunci B”, se face prin


presupunerea că B este fals. Următorul pas este de a găsi o declaraţie care este implicată de
către presupunere sau premisă sau din faptele cunoscute. Fiecare pas procedează în aceeaşi
manieră în a găsi o declaraţie implicată de cele anterioare sau de fapte cunoscute.
Demonstraţia se încheie atunci când declaraţia implicată afirmă că A este fals.

Să se demonstreze următoarea afirmaţie: ”dacă x2 este impar, atunci x este impar”. Pentru a
demonstra această afirmaţie folosim metoda indirectă de a demonstra contrapoziţia sa: „dacă
x este par, atunci x2 este par”.

Demonstraţie: presupunem ipoteza din contrapoziţie că x este par. Prin urmare, x se poate
scrie x=2k pentru un anumit k întreg. Ridicând pe x la pătrat şi făcând substituţia pentru x
obţinem x2 = (2k)2 = 4k2 = 2(2k2). Expresia din partea dreaptă a ecuaţiei reprezintă un număr
par, şi prin urmare, x2 este par. Q.E.D.

2.9 Demonstraţia prin contradicţie

Prin definiţie, înţelegem prin contradicţie o declaraţie falsă. Pe baza utilizării acestor tipuri de
declaraţii s-au dezvoltat metode indirecte de demonstrare ce aparţin clasei demonstraţiei prin
contradicţie, numită de asemenea şi prin reducere la absurd. În acest gen de demonstraţie,
pornim de la premisa că declaraţia care urmează a fi demonstrată este falsă. În continuare, se
aduc argumente până când se ajunge la o contradicţie [1].

24
Originea demonstraţiei prin contradicţie se regăseşte în natura gândirii umane. În mod
frecvent oamenii raţionează în viaţa zilnică în acest fel, exemplificat în continuare. „Emil o
vede pe Delia, care apare venind din oraş. Observând că ea are hainele uscate, Emil trage
concluzia că afară nu plouă.” Demonstraţia lui Emil se bazează pe următorul raţionament, şi
anume că dacă ar fi plouat (adică presupunerea că afirmaţia este falsă), atunci Delia ar fi avut
hainele ude de ploaie (consecinţa evident falsă). Rezultă aşadar că premisa trebuie să fie
adevărată, adică faptul că nu plouă.

Uneori, demonstraţia prin contradicţie este o metodă de alegere deoarece raţionamentul care
ne conduce la o contradicţie ne facilitează acest lucru. Să exemplificăm acest fapt prin
următorul exerciţiu: să se demonstreze următoarea declaraţie privind divizibilitatea: dacă n
este un întreg, atunci n2+2 nu este divizibil cu 4.

Demonstraţie: să presupunem că declaraţia este falsă. Astfel, 4 divide pe n2+2 pentru un


anumit întreg n. Aceasta înseamnă că n2+2 este egal cu 4k, pentru un anumit întreg k.
Considerăm în continuare cele 2 cazuri în care n este par şi respectiv în care n este impar.
Dacă n este par, atunci n = 2m, pentru un anumit întreg m. Substituind valoarea lui n,
obţinem 4k = m2+2 = (2m)2+2 =4m2+2. Aplicăm operaţia de împărţire a ambilor membri prin
2 şi obţinem 2k=2m2+1. Aceasta ne spune că un număr par(2k) este egal cu un număr
impar(2m2+1), ceea ce evident este o contradicţie. Prin urmare n nu poate fi par. Să
presupunem în continuare că n este impar. Atunci n = 2m+1, pentru un anumit întreg m.
Substituind similar pentru n, obţinem 4k = m2+2= (2m+1)2=4m2+4m+3. În membrul drept îl
izolăm pe 3 şi obţinem 4k-4m2-4m=3, ceea ce ne spune că numărul 3 din partea dreaptă, care
este impar, este par ca urmare a membrului stâng, şi care evident ne conduce la concluzia din
contradicţie că n nu poate fi impar. Un alt exemplu de demonstraţie prin contradicţie se aplică
pentru următoarea afirmaţie legată de numere prime: „fiecare întreg mai mare decât 1 este
divizibil printr-un număr prim.”

Demonstraţie: presupunem această afirmaţie ca fiind falsă. Aceasta însemnă că un anumit


întreg n mai mare ca 1 nu este divizibil printr-un număr prim. Din moment ce un număr prim
se divide pe el însuşi n nu poate fi un număr prim. Astfel, există cel puţin un întreg d astfel
încât d îl divide pe n, cu proprietatea că d este mai mic decât n şi mai mare decât 1.
Presupunem că d este cel mai mic divizor al lui n, aflat între 1 şi n. Dar d nu este un număr
prim, altminteri ar fi fost un divizor prim al lui n. Astfel, există un întreg pe care să-l notăm
cu a care îl divide pe d cu proprietatea că a este mai mic decât d şi mai mare decât 1. din
moment ce a îl divide pe d şi d îl divide pe n, având pe a care divide pe d şi pe d care îl divide
pe n. Conform tranzitivităţii menţionată anterior urmează că a îl divide pe n. Dar obţinem a
divide pe n şi a mai mic decât d şi mai mare decât 1, ceea ce evident contrazice presupunerea
că d este cel mai mic divizor al lui n. Q.E.D.

Demonstraţii de tipul „dacă şi numai dacă”

Declaraţia de tipul „A dacă şi numai dacă B” este forma concisă a două declaraţii de
implicaţie, „dacă A atunci B” şi „dacă B atunci A”. În locul declaraţiei „A dacă şi numai dacă
B”, putem să folosim următoarea declaraţie „A este o condiţie necesară şi suficientă pentru

25
B” sau „B este o condiţie necesară şi suficientă pentru A”. Acest tip de declaraţie atrage după
sine obligativitatea de a furniza 2 demonstraţii, una pentru fiecare declaraţie condiţională.

Spre exemplificare, să demonstrăm următoarea declaraţie despre proprietatea unor întregi: „x


este impar dacă şi numai dacă 8 divide pe x2-1”.

Demonstraţie: aceasta presupune că va trebui să demonstrăm următoarele 2 declaraţii: a) dacă


x este impar, atunci 8 divide pe x2-1
b) dacă 8 divide pe x2-1, atunci x este impar

Să presupunem că x este impar. Atunci îl putem scrie pe x = 2k+1 pentru un anumit întreg k.
Substituind pe x în x2-1= 4k2+4k=4k(k+1). În continuare observăm că k şi k+1 sunt doi
întregi consecutivi, unul este impar şi celălalt trebuie să fie par, astfel încât produsul k(k+1)
este evident par. Aşadar k(k+1)=2m, pentru un anumit întreg m. Substituind pentru k(k+1)
obţinem x2-1=4(2m) ceea ce înseamnă imediat 8m. Prin urmare am arătat că 8 îl divide pe x 2-
1 ca şi demonstraţie a părţii A.

Pentru a demonstra partea B, presupunem că 8 îl divide pe x2-1. aceasta înseamnă că x2-1=8k


pentru un anumit întreg k. Aşadar avem x2=8k+1=2(4k)+1, care ne indică forma unui întreg
impar, rezultând că x2 este impar şi ca urmare a unei teoreme demonstrate anterior, rezultă că
x este impar, ceea ce demonstrează partea b. Prin aceasta declaraţia de tip „dacă şi numai
dacă” a fost demonstrată. Q.E.D.

Uneori, putem întâlni declaraţii de tip dacă şi numai dacă care pot fi demonstrate prin
înlănţuirea altor declaraţii de acelaşi tip. Astfel, demonstraţia se construieşte ca o secvenţă de
declaraţii de tip dacă şi numai dacă. Spre exemplu, pentru a demonstra „A dacă şi numai dacă
B”, va trebui să găsim o declaraţie C astfel încât „A dacă şi numai dacă C” şi „C dacă şi
numai dacă B”. Putem astfel trage concluzia că „A dacă şi numai dacă B” este adevărată, iar
demonstraţia se prezintă ca o înlănţuire „A dacă şi numai dacă C dacă şi numai dacă B”.

Putem aplica demonstraţia prin contradicţie şi pentru alte declaraţii ce implică proprietăţi ale
numerelor. Fie, de exemplu, următoarea teoremă ce trebuie demonstrată: „√2este iraţional”.

Demonstraţie: să presupunem mai întâi, în scopul obţinerii unei contradicţii, că √2 este


raţional. Astfel, putem scrie √2=m/n, unde m şi n sunt întregi. Dacă atât m cât şi n sunt
divizibile printr-un anumit întreg mai mare decât 1, atunci se va efectua această operaţie de
împărţire. În felul acesta, valoarea fracţiei nu se va modifica. Putem spune în acest moment
că atât m cât şi n nu pot fi numere pare. Operând algebric, putem scrie ecuaţia sub forma n
√2=m, ceea ce ne permite să ridicăm ambii membri la pătrat, şi obţinem m2=2n2. Deoarece
m2 este de 2 ori valoarea lui n2, deducem că m2 este par, prin urmare m este de asemenea par
deoarece pătratul unui număr par este întotdeauna un număr par, astfel încât m = 2k pentru un
anumit k. Substituind pe 2k în m obţinem 2n2=4k2. Împărţind ambii membri obţinem n2=2k2.
Acest rezultat arată că n2 este par şi prin urmare şi n este par. Am stabilit astfel că ambele
numere m şi n sunt pare. Aceasta este însă în contradicţie cu reducerea lui m şi n făcută
anterior, prin care aceştia nu puteau fi pari, ceea ce trebuia demonstrat. Q.E.D.

26
Un alt exemplu de demonstraţie prin contradicţie, care merită interes, este teorema lui
Euclid:”există o infinitate de numere prime”.

Demonstraţie: presupunem că există un număr finit de asemenea prime, şi p1...pn (prin această
presupunere am făcut o declaraţie de tip ¬p, unde prin p am înţeles teorema lui Euclid). Fie
numărul N obţinut prin multiplicarea tuturor primilor şi adăugarea lui 1, N= p1 p2.... pn+1.
Numărul N astfel obţinut trebuie să fie divizibil printr-un prim, adică unul dintre numerele
p1...pn. Dar se observă că N are restul 1 atunci când este împărţit la oricare dintre primii p i,
unde i este între 1 şi n, adică N=1 mod pi. Am obţinut aşadar un număr N care este prim, dar
care nu este unul dintre numerele p1...pn. Acest lucru este în contradicţie cu presupunerea
făcută că setul de numere prime este finit, şi ca urmare deducem contrariul, şi anume că sunt
o infinitate de numere prime.

Formalizarea demonstraţiei prin contradicţie se poate face prin următoarea definiţie, folosind
noţiunea de predicat, care este o funcţie de tipul P:N→B, adică valoarea de adevăr a
predicatului P asupra unui număr natural n, notată cu P(n) este 1 sau 0 în funcţie de faptul
dacă predicatul este adevărat sau fals. Prin definiţie, o demonstraţie prin contradicţie are un
predicat P. Complementul ¬P este arătat a fi fals, ceea ce implică că P este adevărat.

2.10 Inducţia şi demonstraţia prin inducţie

Demonstraţia prin inducţie este o metodă avansată folosită pentru a arăta că toate elementele
unei mulţimi infinite au o proprietate specificată. De exemplu, putem folosi demonstraţia prin
inducţie pentru a arăta că o anumită expresie aritmetică calculează o cantitate dorită pentru
fiecare atribuire de valori variabilelor sale, sau că un anumit program funcţionează corect
pentru toţi paşii sau pentru toate valorile de intrare [1].

Procesul inductiv, care de fapt înseamnă a generaliza o anumită proprietate observată la un


număr finit de elemente studiate, este specific naturii înţelegerii umane, şi care de fapt constă
într-un proces de condensare sau comprimare a informaţiei sau datelor observate. Procesul
gândirii inductive este specific ştiinţelor empirice, dar poate fi utilizat şi în matematică, în
contextul raţionamentului matematic inductiv. Vom ilustra acest lucru printr-un exemplu. Să
considerăm următoarea egalitate implicând cantităţi numerice: 1+8+27+64=100. Studiind
natura numerelor implicate în această egalitate, putem observa că membrul stâng poate fi
scris ca o sumă de cuburi.

13+23+33+43 =102.

Din punct de vedere matematic, o persoană ar putea fi interesată de înţelegerea mai profundă
a unei asemenea relaţii, în care o sumă de cuburi în ordine succesivă devine egală cu un
pătratul unui număr. În aceasta constă specificul raţionamentului inductiv, şi anume de a
încerca, de a extrage o anumită proprietate sau proprietăţi care definesc comportamentul unei
declaraţii observabile. Astfel, ne-am putea întreba: există o regulă, sau se poate întâmpla ca
suma cuburilor unei succesiuni de numere să fie egală cu pătratul unui număr? Ce motivaţie
matematică am avea să afirmăm acest lucru? Acest gen de întrebare ne conduce imediat la

27
necesitatea de a generaliza întrebarea în cazul sumei cuburilor numerelor pozitive:
13+23+33+...+n3. Astfel, în vederea stabilirii unei proprietăţi generale, ne vom baza pe o
succesiune de cazuri particulare, spre exemplu începând cu n=1, unde putem spune că

13=12.
n=2: 13+23=32.
n=3: 13+23+33=62.
n=4: 13+23+33+43=102.
n=5: 13+23+33+43+53=152.

Apare foarte interesant, şi întradevăr greu de crezut că toate aceste sume de numere a unor
cuburi succesive constituie pătrate în mod accidental. Gândirea naturală inductivă ne
îndeamnă să sugerăm că aceste observaţii implică o lege generală. Din punct de vedere
matematic însă, trebuie să fim mai prudenţi şi să admitem că putem formula următoarea
teoremă într-un context mai restrâns: suma primelor n cuburi este un pătrat. În felul acesta,
am ajuns la o afirmaţie matematică în care este descrisă cumva o misterioasă proprietate de
regularitate. Următoarea întrebare pe care o putem pune, este de ce trebuie ca sumele de
numere succesive ridicate la cub să fie pătrate. Pentru a răspunde la această întrebare, am fi
intuitiv înclinaţi să verificăm şi următoarele cazuri, n=6, n=7, ş.a.m.d. . Din punct de vedere
matematic însă, procedăm la o investigaţie mai profundă a proprietăţii numerelor implicate, şi
vom studia natura pătratelor din partea dreaptă a egalitaţii. Ce putem spune despre aceste
pătrate:1,3,6,10,15,...? Există vreo lege după care acestea cresc? Se observă că diferenţa
dintre 2 baze succesive creşte:3-1=2, 6-3=3,10-6=4,.... . regularitatea observată este evidentă,
însă ea va apare mai evidentă atunci când vom vedea că bazele respective sunt de fapt sumele
primelor n numere: 1+2=3, 1+2+3=6, 1+2+3+4=10, ş.a.m.d. aşadar, dacă această regularitate
este de natură generală, şi suntem foarte înclinaţi să credem astfel, atunci teorema pe care ne-
am propus să o formulăm, ar putea avea o formă mai exactă în următoarea exprimare: pentru
n natural, 13+23+...+n3=(1+2+3+...+n)2. fără a intra în detaliile de transformare, teorema
respectivă va căpăta forma finală: 13+23+...+n3=(n(n+1)/2)2. în continuare, d.p.d.v.
matematic, inducţia sau raţionamentul inductiv se va încheia prin specificarea fazei finale,
care înseamnă validarea etapei inductive, şi anume presupunerea şi verificarea că proprietatea
este valabilă şi pentru cazul n+1.

În baza celor arătate, putem să enunţăm următoarea definiţie a demonstraţiei prin inducţie
matematică completă: fiind dat un predicat P (vezi demonstraţia prin contradicţie), etapele
demonstrării prin inducţie sunt următoarele:

1) Etapa de bază, care stabileşte că proprietatea P(k) este adevărată pentru un anumit
întreg k.
2) Enunţarea ipotezei inductive. Aceasta presupune că pentru un anumit număr arbitrar
n≥k, declaraţiile sau proprietăţile P(k), P(k+1), ... , P(n) sunt adevărate.
3) Pasul final sau etapa inductivă de a demonstra că P(n+1) este adevărat, fiind dată
ipoteza inductivă.

Apare limpede în această definiţie că o demonstraţie prin inducţie, implicând predicatul P


stabileşte că P este adevărat pentru toate numerele naturale n≥k deoarece pasul inductiv

28
stabileşte adevărul pentru P(n+1) pentru un întreg arbitrar n≥k. De asemenea, rezultă că
inducţia poate fi folosită pentru a arăta că un anumit predicat este adevărat pentru un subset
de numere naturale. Spre exemplu, ipoteza că fiecare număr natural par este divizibil cu 2
este una care poate fi definită doar asupra numerelor pare. Exemple de demonstraţie prin
inducţie:

Să considerăm funcţia S : N→N, având următoarea expresie S(n):

Teoremă: Suma S(n), definită prin


n

i
i 1

este egală cu n(n+1)/2, pentru oricare n natural.

Demonstraţie: valoarea predicatului P asupra lui n, adică P(n), este adevărat dacă
S(n)=n(n+1)/2 şi fals altminteri.

Stabilirea bazei se face în mod clar văzând că S(0)=0, care este valabilă atât pentru expresia
sumei, cât şi în forma

Ipoteza inductivă:S(k)=k(k+1)/2 pentru k=0,1,2,...,n.

Pasul inductiv: prin definiţia sumei pentru S dată mai sus, putem scrie următoarea relaţie
S(n+1)=S(n)+n+1. Astfel, S(n+1)=n(n+1)/2+n+1. Factorizând pe n+1 şi rescriind expresia
obţinem: S(n+1)=(n+1)(n+1+1)/2=(n+1)(n+2)/2 ceea ce este exact forma dorită. Astfel,
presupunerea făcută, că S(n)=n(n+1)/2 este adevărată pentru toate valorile lui n.

Să se demonstreze următoarea teoremă:

n! ›2n pentru n≥4.

Demonstraţie: se va folosi inducţia completă asupra lui n.

Stabilirea bazei:4!=24›16=24

Ipoteza inductivă: presupunem un k. k! > 2k, k natural.

Pasul inductiv: (k+1)! > 2k+1. Acest lucru înseamnă în mod direct: (k+1)!=(k+1)k! > (k+1)(2k)
> 2x2k, din moment ce k+1 ≥ 2, şi care este 2k+1. Astfel, inducţia este completă şi teorema
verificată.

Exerciții şi probleme

1. Arătaţi că suma S(k) de mai jos are valoarea S(k) = 2k – 1:

S(k) = 2k-1 + 2k-2 + ... + 21 + 20

29
2. Arătaţi că următoarele identităţi asupra seriilor geometrice sunt adevărate:

j
=

j
j= (

3. Arătaţi prin inducţie că n3-7n+3 este divizibil cu 3, nZ, n  0.

4. Consideraţi primul pas în algoritmul lui Euclid pentru determinarea celui mai mare
divizor comun a două numere întregi pozitive a şi b, având a > b:

a = qb + r,

unde q şi r sunt întregi cu 0  r < b. Demonstraţi că r < a/2.

5. Utilizaţi inducţia asupra lui n  0 pentru a demonstra următoarea sumă:


n

 (i  2)2
i 0
i
 (n  1)2 n1 , pentru n  0.

6. Utilizaţi inducţia pentru a demonstra următoarea sumă:

n
1 1
i
i 2
2
 1
n
, pentru n intreg si n  2.

7. Demonstraţi prin inducţie următoarea sumă:


n
1 1
2 n
 
j 1 2
j
 1, unde n este intreg si n  1.

8. Arătați că dacă x2 este impar atunci x este impar.

9. Arătați că dacă x este impar și y este par atunci x - y este impar.

10. Arătați că x este par dacă și numai dacă x2 – 2x + 1 este impar.

11. Arătați că dacă 2 | 5n atunci n este par.

30
CAPITOLUL 3

MULŢIMI

3.1. Noţiunea de mulţime

Noţiunea matematică de mulţime s-a desprins din conceptele familiare legate de percepţia a ceea ce se
numeşte colecţie, clasă, familie, grup, agregat, grămadă, etc., cuvinte sinonime între ele. În istoria
matematicii, menţionăm anul 1872, în care Görg Cantor definea conceptul de mulţime astfel:
„reuniunea într-un tot a unor obiecte ale intuiţiei sau ale gândirii noastre bine determinate şi diferite
între ele.”

Vom înţelege aşadar printr-o mulţime o colecţie de lucruri sau obiecte ce poartă numele de elemente
sau membri [1]. Esenţial în înţelegerea conceptului de mulţime este faptul că aceasta e văzută ca un
obiect distinct, deşi este formată dintr-o colecţie, chiar nelimitată de obiecte distincte. Obiectele care
formează o mulţime trebuie să fie distincte. Nu putem astfel să definim o mulţime în sens matematic
pe baza unor obiecte care nu sunt bine „determinate”. Spre exemplu, nu putem vorbi de mulţimea
ideilor trecute sau viitoare. Prin urmare, mulţimile şi elementele lor trebuie restricţionate la anumite
clase de obiecte clar specificate. Spre exemplu, putem vorbi de mulţimea literelor alfabetului
conţinând 26 de elemente, sau de mulţimea pantofilor de tenis, care probabil are un număr foarte mare
de elemente. Mai putem vorbi matematic şi de mulţimea universală sau universul, notată uzual cu U,
şi definită precis ca fiind acea mulţime care conţine toate elementele. Evident, U va conţine, printre
altele, şi mulţimea literelor alfabetului şi mulţimea pantofilor de tenis.

În lumea matematică, s-a încetăţenit punctul de vedere în care înţelegem mulţimea ca fiind formată
din elemente susceptibile de a avea anumite proprietăţi şi, astfel, de a avea între ele sau cu elemente
ale altor mulţimi anumite relaţii. Această idee, clară din punct de vedere matematic, va fi foarte utilă
în capitolele care urmează. Uneori, în limbajul contemporan al domeniului ştiinţei calculatoarelor,
echivalent cu noţiunea de mulţime întâlnim termenul de set, provenind din literatura de limbă engleză.

Calitatea de membru al unei mulţimi

Un membru al unei mulţimi trebuie gândit ca având proprietatea clară de a fi un obiect distinct x ce
este conţinut de mulţimea în cauză, şi notăm cu x  A, ceea ce însemnă că „elementul x aparţine
mulţimii A” sau „A îl conţine pe x” sau „x este în A”. Notaţia x  A trebuie evitată în situaţia în care
prin x înţelegem un membru. Vom vedea că această notaţie se aplică la nivelul relaţiilor între
submulţimi. Pe baza aceleiaşi definiţii, putem scrie x  A în situaţia în care este adevărat cazul contrar,
¬x  A. Se va citi „x nu aparţine lui A”. Facem remarca următoare, legată de natura membrilor unei
mulţimi: mulţimile pot conţine alte mulţimi ca şi membri. Astfel, mulţimea {1,{1}} este o mulţime, şi
putem scrie următoarele proprietăţi: 1  M şi {1}  M.

31
Definirea mulţimilor

A defini o mulţime înseamnă a descrie elementele ei într-un fel sau altul. Modul direct de a descrie o
mulţime este prin listarea sau înşiruirea elementelor sale separate de virgulă şi încadrate de semnul
acoladă. Astfel, notăm mulţimea M = {a,b,c} sau N = {a,{b,c}}. O caracteristică importantă a
mulţimilor este aceea că nu se admite apariţia repetată a aceloraşi elemente. În anumite situaţii, se
utilizează o notaţie eliptică, folosind trei puncte. Spre exemplu: A = {1,2,3,4,5,6,7,8,9,10} poate fi
scrisă şi sub forma A = {1,2,3,…,10} sau A = {1,2,3,…,9,10}. Prin aceste trei puncte se denotă în
mod informal o secvenţă de elemente pe care nu mai dorim să o scriem în mod explicit.

Mulţimea care nu are nici un element se numeşte mulţimea vidă (setul vid sau nul), şi se notează cu {}
sau . O descriere a mulţimii vide ar putea fi aceea a tuturor numerelor întregi, care nu sunt nici pare,
nici impare.

Un alt mod de definire al mulţimilor este descrierea care constă în a enunţa o proprietate restrictivă,
caracteristică elementelor mulţimii, şi pe care vrem să o delimităm în cadrul unei mulţimi mai vaste
sau de referinţă. În acest caz, o mulţime M va fi definită sub forma {x│P}.

Egalitatea mulţimilor

Două mulţimi sunt egale, prin definiţie, dacă au aceleaşi elemente, şi în acest caz notăm A = B. Se
remarcă aici că nu e importantă ordinea particulară sau aranjamentul elementelor în cadrul unei
mulţimi. Spre exemplu mulţimile {x,y,z} şi {z,x,y} sunt egale, deoarece conţin aceleaşi elemente. În
cazul în care două mulţimi nu sunt egale, folosim notaţia A  B. Spre exemplu, mulţimea
{x,y,z}  {y,z}. Să reamintim ca o primă concluzie privitoare la caracteristicile mulţimilor
următoarele:
1) Nu există apariţii repetate de elemente.
2) Nu există ordine particulară sau aranjament între elemente.

Mulţimi finite şi infinite

Conceptul de finit şi infinit este direct legat de operaţia de numărare a elementelor unei mulţimi.
Evident, aceasta în situaţia în care o mulţime M este diferită de mulţimea vidă. În cazul în care
operaţia de numărare ar fi oprită după un anumit timp, sau ar epuiza elementele numărate, putem
spune că mulţimea M este o mulţime finită. Dacă operaţia de numărare nu se opreşte niciodată, atunci
M e considerată o mulţime infinită. În lumea reală a experienţei noastre comunicabile, vom avea de a
face numai cu mulţimi finite. Cu toate acestea, marele avantaj al definiţiei mulţimilor în matematică
este acela de a permite operarea cu mulţimi infinite concepute sau acceptate însă sub forma unor
obiecte finite. Spre exemplu, putem defini mulţimea N infinită a numerelor naturale şi să o manipulăm
ca pe un obiect finit distinct.

Mulţimile infinite sunt uneori notate prin listarea unor elemente urmate de trei puncte. De exemplu:
N  {0,1,2,3,...} , Z  {...,3,2,1,0 ,1,2 ,3,...} .

Definirea mulţimilor prin proprietăţi

În multe situaţii descrierea mulţimilor prin listarea elementelor e dificil de realizat. Un exemplu
comun este acel al numerelor raţionale notate cu Q sau a mulţimilor numerelor reale notate cu R.
Unde listarea câtorva din elementele mulţimii nu e definitorie pentru a descrie mulţimea respectivă.

32
Astfel, se preferă să descriem o proprietate pe care elementele mulţimii respective o satisfac. Spre
exemplu, mulţimea numerelor întregi impare poate fi descrisă ca fiind constituită din acele numere
întregi care au proprietatea că sunt egale cu 2k+1, k fiind întreg. Astfel, în general dacă admitem p ca
fiind o proprietate bine definită atunci putem descrie mulţimea astfel:

M  {x x are proprietatea p } . De pildă, Z impar  {x x  2k  1, k este întreg } .

Bineînţeles că putem de asemenea să descriem mulţimi finite prin găsirea proprietăţilor pe care
elementele acestora le posedă. Spre exemplu putem descrie mulţimea finită
{1,2,3,4,5,6,7,8,9,10,11,12} = {x x  N , 1  x  12} . De asemenea putem descrie mulţimi prin
scrierea expresiilor pentru elementele lor. De exemplu mulţimea pe care o botezăm pară poate fi
scrisă sub forma 2 k unde k  Z .

3.2. Submulţimi

Conceptul de submulţime poate fi introdus în raport cu proprietatea mulţimii univers, U. Astfel, dacă
A este una din mulţimile sale, atunci A este numită submulţime a lui U. Aşadar, o mulţime A este
numită submulţime a unei alte mulţimi B dacă fiecare element a lui A este de asemenea un element al
lui B şi scriem A  B. Unii autori folosesc şi relaţia A  B în care apare şi posibilitatea egalităţii
mulţimii A cu B şi care prin definiţie presupune prezenţa pentru orice x a implicaţiei
( x  A  x  B) , adică A = B.

Rezultă din această definiţie că fiecare mulţime A este de fapt o submulţime a ei însăşi. Astfel este
adevărat să scriem că A  A. De asemenea rezultă din această definiţie că mulţimea vidă este o
submulţime a oricărei alte mulţimi Ø  A.

Dacă e adevărat că A  B şi există un anumit element din B care nu aparţine în A, atunci A se


numeşte submulţime proprie a lui B. De exemplu mulţimea {a, b} este o submulţime proprie a lui
{a, b, c} . Similar N este submulţime a lui Z, Q submulţime a lui R. În cazul în care A nu are
proprietatea de a fi submulţimea a lui B putem să scriem A  B. De exemplu {a, b}  {a, c} sau
{1,0,1}  N .

Facem remarca de a se sesiza diferenţa dintre o submulţime şi un membru al unei mulţimi. De


exemplu dacă A este descrisă de elementele A  {a, b, c} , atunci putem să scriem că {a}  A şi de
asemenea a  A . Însă cele două concepte sunt diferite. Astfel submulţimea A nu e membru al lui
{a} , {a}  A . Dacă luăm alte exemple: Fie A formată din mulţimea a, b , A = a, b , a  A ,
{b}  A şi mulţimea {b} este inclusă în A, b  A , însă b  A , {b}  A ,.

Mulţimea putere

Colecţia tuturor submulţimilor unei mulţimi M se numeşte mulţimea putere a lui M.


Exemplu: Fie mulţimea M  {a, b, c} .

putere(M) = { Ø, {a},{b},{c},{ab},{ac},{bc}, M } .

Un aspect interesant legat de o problemă de programare este de a construi puterea a unei mulţimi
finite. Această aplicaţie va fi dezvoltată ulterior.

33
Folosirea diagramelor Euler-Venn

Aceste diagrame sunt folositoare pentru a vizualiza cazurile în care sunt descrise mulţimi. Ele constau
din una sau mai multe curbe închise în care interiorul fiecărei curbe reprezintă o mulţime. Spre
exemplu, în următoarea diagramă am arătat mulţimile A, B şi C.

În această diagramă am arătat că A este o submulţime a lui B şi mulţimea C nu are nici un element
comun cu B.

3.3. Strategii de demonstrare cu submulţimi

Un prim exemplu în care submulţimile aduc o definire precisă este în cazul egalităţii a două mulţimi
astfel în aceşti termeni spunem că două mulţimi sunt egale dacă ele sunt submulţimi una celeilalte [1].
A  B  ( A  B)^ ( B  A)

Demonstraţie:

Declaraţie Strategie de demonstrare


Pentru un x arbitrar ca element a lui A ( x  A ) să se
A B
arate că x  B
A B Se va găsi un element x  A x  B
A=B Se arată că A  B şi B  A

x ( x  A  x  B) x( x  A  x  B) y  A  y  B

Pentru situaţia în care vrem să arătăm că A=B atunci pentru oricare x cu proprietatea x  A avem
dubla implicaţie că x  B. Acest lucru presupune şi două direcţii şi anume o direcţie dacă x  A
atunci x  B şi acest lucru se arată alegând un obiect arbitrar pe care să-l notăm cu y, şi trebuie să
arătăm că y  A  y  B . Din moment ce am asumat că A = B aceasta înseamnă valabilitatea
relaţiei de dublă implicare adică y  A  y  B .

Din moment ce definiţia egalităţii este o declaraţie de tip  putem presupune valabilitatea
următoarelor două relaţii y  A  y  B şi y  B  y  A dar trebuie să arătăm în continuare că

34
y  A  y  B aşa cum se doreşte. Cealaltă situaţie de a arăta că B este inclus în A se poate
dezvolta similar.

Presupunând valabilitatea relaţiei A  B şi  B  A adică faptul că A este o submulţime a lui B şi


B submulţime a lui A, înseamnă că trebuie de fapt să arătăm că A = B. Prin definiţie acest lucru este
adevărat  pentru orice x  A  x  B . Dacă alegem acum un obiect arbitrar y şi arătăm că
y  A  y  B adică arătăm că y  A  y  B şi y  B  y  A şi folosim în continuare pe y
în presupunerea că A  B obţinem primul caz iar folosindu-l pe y în presupunerea că
B  A obţinem al doilea caz.

Să se arate că mulţimea A  B având următoarele definiţii A  {x x este prim, 42  x  51} şi


B  {x x  4k  3, k  N} .

Demonstraţie: Considerăm pentru început că x  A şi alegem pentru x valorile 42 şi 51. În continuare


arătăm că în intervalul (42,51), x nu satisface proprietatea de a fi prim pentru extremi şi găsim alte
numere x=43 şi x=47. Şi putem arăta că:

43 = 4(10) + 3
47 = 4(11) + 3

Astfel în ambele cazuri ale elementului lui A se regăseşte forma elementelor lui B. Astfel x  B şi
A  B ceea ce trebuia demonstrat.

Cazurile de demonstraţie care arată non incluziunea mulţimilor se tratează astfel: fie două mulţimi A
şi B, mulţimea A este A  {3k  1 k  N} , B  {4k  1 k  N} . Să se arate că sunt valabile
următoarele relaţii  A  B, B  A . Prin listarea câtorva elemente din fiecare mulţime
A  {1,4,7,...}, B  {1,5,9,...}. Putem să arătăm că A nu este inclus în B deoarece 4  A, 4  B. De
asemenea putem să arătăm că B  A deoarece 5  B, 5  A .

3.4. Operaţii cu mulţimi

Operaţiile clasice care sunt legate de teoria mulţimilor sunt cele de reuniune, intersecţie şi
complementaritate.

Reuniunea mulţimilor

Prin definiţie fie A şi B reuniunea celor două mulţimi este mulţimea căror elemente se află în A şi în
B sau atât în A cât şi în B.

Ca definiţie formală A  B  {x x  A sau x  B}

Remarcă: Folosirea cuvântului „sau” în acest context se referă la ambele mulţimi. De exemplu: Dacă
A  {a, b, c} şi B  {c, d} atunci A  B  {a, b, c, d}. Lucru care se arată în diagrama Venn prin
haşurarea ambelor mulţimi A şi B.

Proprietăţi a reuniunii

A Ø = A

35
Comutativitate
A B  B  A

Asociativitate
A  ( B  C)  ( A  B)  C
A A  A
A  B este adevărat dacă şi numai dacă A  B  B

Condiţii ale submulţimilor

Menţionăm o proprietate importantă legată de condiţia ca o mulţime să fie submulţime.


A  B  A B  B.

Demonstraţie

Din moment ce avem o declaraţie de tip  va trebui să demonstrăm două declaraţii şi anume
A  B  A  B  B . Presupunem adevărat că A  B . Bazat pe această premisă trebuie să arătăm
că A  B  B .

Să considerăm x  A  B. Urmează de aici că x  A sau x  B. Din moment ce am presupus că A  B


urmează că x  B , şi astfel A  B  B . Dar deoarece întotdeauna este adevărat că B  A  B
urmează că A  B  B . Dovedim astfel prima parte a demonstraţiei. În continuare trebuie să arătăm
că A  B  B  A  B . Presupunem adevărat A  B  B . Dacă x  A atunci x  A  B . Şi din
moment ce am presupus că A  B  B urmează că x  B şi prin urmare A  B.

Operaţiile de reuniune pot fi definite şi pentru o colecţie arbitrară de mulţimi într-un mod natural.
n
Astfel reuniunea a n mulţimi A1, …, An poate fi natural scrisă A  A A
i 1
i 1 2  ...  An . Reuniunea

unei colecţii infinite de mulţimi poate fi notată similar A A
i 1
1 2  ...  An . Dacă notăm că I o

mulţime de indici şi A este o mulţime pentru fiecare i  I, atunci reuniunea mulţimilor în colecţie
poate fi notată:  Ai . În anumite situaţii este util de a defini mulţimi formate din cuvintele unui
iI
anumit limbaj. De exemplu dacă considerăm W ca fiind mulţimea tuturor cuvintelor din limba
română, atunci W ar putea fi reprezentat ca o reuniune infinită de mulţimi. Pentru fiecare i  0 fie Ai

mulţimea tuturor cuvintelor formate din i litere astfel că W va putea fi scris ca  A . În situaţia în
i
i 1
care vrem să limităm numărul de litere dintr-un cuvânt să zicem la 20, atunci W va fi scris reuniunea
tuturor mulţimilor Ai până la 20. Să presupunem că vrem să calculăm reuniunea mulţimilor
Ai  {2i,2i} , unde i este un număr impar natural. Spre exemplu A3  {6,6} , A5  {10,10} .
Dacă considerăm mulţimea tuturor numerelor naturale impare ca fiind notată cu impar, atunci am
putea avea reuniunea impar ai şi care este -10, -6, -2, 2, 6, 10 etc. Ai  {...,10,6,2,2} .

iimar

Intersecţia mulţimilor

Se defineşte ca fiind mulţimea tuturor elementelor care se află atât în A cât şi în B. Şi se defineşte ca
fiind format A  B  {x x  A si x  B} . De exemplu A  {a, b, c} , B  {c, d} , A  B = {c} .

36
Dacă A  B  Ø este vid atunci se spune că A şi B sunt disjuncte. În diagrama Venn intersecţia este
reprezentată:

Proprietăţi:
A Ø = Ø
A B  B  A
Asociativitate
A  ( B  C)  ( A  B)  C
A  A=A
A  B dacă şi numai dacă A  B  A

Ultima proprietate se va demonstra similar cu cea din cazul proprietăţii de reuniune.

Operaţia de intersecţie de asemenea poate fi reprezentată pentru o colecţie arbitrară de


n
mulţimi. A  A A
i 1
i 1 2  ...  An . Intersecţia seturilor numerelor infinite:

A  A A
i 1
i 1 2  ...  An  ... .

Putem avea
intersecţii infinite, de exemplu considerând mulţimea
Ai  {x x  N si x  i,  i  x  i} . Atunci vom avea o mulţime infinită pentru valoarea i natural
respectiv o mulţime finită pentru un indice i impar.

Verificarea proprietăţii de asociativitate a intersecţiei şi reuniunii

Fie 3 mulţimi A, B, C. Reprezentaţi-le cu diagrama „frunză de trifoi”. Oricare ar fi mulţimile A,B,C


avem formula ( A  B)  C  A  ( B  C) . Acest lucru îl mai exprimăm spunând că intersecţia este
asociativă. Formula ( A  B)  C  A  ( B  C) arată că cele două moduri de a situa parantezele la
gruparea A B C dau acelaşi rezultat. Aşadar notăm:
A  B  C  ( A  B)  C  A  ( A  C) . Acest lucru se observă clar din construcţia diagramei
[6]:

37
Construim ( A  B)  C  A  ( B  C)
În mod similar se demonstrează şi asociativitatea pentru reuniune.

3.5. Diferenţe de mulţimi

Dacă B  A, se poate defini diferenţa dintre A şi B care este formată din elementele care aparţin lui A,
fără să aparţină lui B:

D  A B

Mai putem nota diferenţa A \ B este mulţimea obiectelor care sunt elemente ale lui A şi nu ale lui B.
Termenul A \ B se citeşte „A fără B”. Se mai întâlnesc de asemenea notaţii privitoare la definiţii
A \ B  {x x  A şi nu x  B} , A \ B  {x x  A şi x  B} .

Exemplu:
Fie A  {a, b, c} şi fie B  {c, d} , A \ B  {a, b}

În diagrama următoare se poate observa prin zonele haşurate diferenţele dintre mulţimile A \ B şi
B \ A [5].

Acelaşi lucru se poate observa şi în următoarea reprezentare [6]:

Reprezentarea prin mulţimi poate fi foarte utilă în specificaţii de probleme. De exemplu: Dacă A este
mulţimea lalelelor din acest magazin iar B mulţimea florilor galbene din acest magazin, atunci A  B
este mulţimea lalelelor galbene (din acest magazin). A  B este mulţimea florilor din acest magazin

38
care satisfac cel puţin una din cele două condiţii: să fie o lalea sau să fie galbenă. A \ B este mulţimea
lalelelor (din magazin) care nu sunt galbene. B \ A este mulţimea florilor galbene (din magazin) care
nu sunt lalele. Dacă nu există lalele galbene în magazin, atunci A  B  Ø. Spunem atunci că
mulţimile A şi B sunt disjuncte. S-ar putea ca toate lalelele din magazin să fie galbene. Această
situaţie se exprimă imediat în două moduri diferite, însă echivalente: A  B  A \ B = Ø.

Introducem conceptul de diferenţă simetrică sau mai adesea numit sumă disjunctivă a lui A şi B.
Aceasta este formată din elementele care aparţin lui A sau exclusiv aparţin lui B şi se notează
S=A  B.

În termenii reuniunii intersecţiei şi a complementului putem exprima următoarea relaţie


A  B  ( A  B )  ( A  B )  ( A  B )  ( A  B ) [5].

Într-un univers desenăm A şi B două mulţimi şi haşurăm oblic A  B ; zona haşurată vertical este
A  B ; zona haşurată în ambele moduri este ( A  B )  ( A  B ) , ea fiind identică cu
( A  B )  ( A  B ) . Formal exprimăm
regula de diferenţă prin următoarea relaţie A  B  {x x  A sau x  B dar nu ambele} .

În termenii reuniunii intersecţiei şi diferenţei putem exprima următoarea relaţie:


A  B  ( A  B)  ( A  B) , care poate fi demonstrată pe baza diagramelor Venn.

Suma disjunctivă se bucură de următoarele proprietăţi:

A  B  B  A (comutativitate)
( A  B)  C  A  ( B  C) (asociativitate)
A  Ø = A = Ø  A (există un element neutru)
A  A = Ø (existenţa unui simetric)
A  ( B  C)  ( A  B)  ( A  C) (distributivitate faţă de intersecţie)

Diferenţa are o proprietate importantă de ne asociativitate. Am văzut că „  ” şi „  ” sunt asociative.


Ne propunem să comparăm expresiile: ( A \ B) \ C şi A \ ( B \ C) [6]:

39
3.6. Operaţii combinate cu mulţimi

Există mai multe proprietăţi utile care pot fi observate prin combinarea diferitelor operaţii prin
mulţimi. Utilizarea diagramelor Venn apare adesea folositoare în încercarea de a vizualiza mulţimile
construite pe baza diferitelor operaţii.
Spre exemplu A  ( B  C ) este reprezentată de câtre regiunile haşurate din figură.

Proprietăţi combinate ale reuniunii şi intersecţiei

a) A  ( B  C)  ( A  B)  ( A  C) (distributivitatea faţă de reuniune)


b) A  ( B  C)  ( A  B)  ( A  C) (distributivitatea faţă de intersecţie)
c) A  ( A  B)  A (legea absorbţiei)
d) A  ( A  B)  A (legea absorbţiei)

Proprietăţile enunţate se pot demonstra folosind diagrame Venn.

40
3.7. Alte forme ale incluziunii

În loc să scriem: A  B putem tot aşa de bine să scriem A  B  A sau A  B  B sau în sfârşit
A  B  Ø şi A  B  R , R fiind mulţimea de referinţă.

Folosind legile de reuniune intersecţie şi echivalenţă relaţia de incluziune capătă următoarea formă
A  B  A  B  A  A  B  B  A  B  Ø. Această relaţie se poate de asemenea
reprezenta pe baza diagramei din figură [5].

Se pune problema de a demonstra proprietăţile enunţate anterior în continuare prezentând proprietatea


a distributivităţii: A  ( B  C)  ( A  B)  ( A  C) ,
arătăm că x  A  ( B  C)  x  ( A  B)  ( A  C) .
x A  (B  C) dacă şi numai dacă x  A si x  B  C
dacă şi numai dacă x  A si fie x  B sau x  C
dacă şi numai dacă fie (x  A si x  B) sau (x  A si x  C)
dacă şi numai dacă x  (A  B) (A  C) QED

Proprietatea B se demonstrează după următorul procedeu [6]:

3.8. Antidistributivitatea

A, B, C  A \ ( B  C)  ( A \ B)  ( A \ C) A \ ( B  C)  ( A \ B)  ( A \ C)
Interpretăm aceste formule spunând că diferenţa este antidistributivă la dreapta în raport cu
reuniune şi cu intersecţia [1][5][6].

41
Proprietăţi ale complementului

a) ( A' )'  A sau ( A)  A


b) Ø '  U U '  Ø
c) A  A'  Ø A  A'  U
d) A  B dacă şi numai dacă B'  A'
e) ( A  B)'  A'B'
f) ( A  B)'  A'B'
g) A  ( A'B)  A  B
h) A  ( A'B)  A  B

3.9. Numărarea mulţimilor finite

Mărimea unei mărimi se numeşte cardinalitatea sa. De exemplu dacă S  {a, b, c} atunci
cardinalitatea lui S, S  {a, b, c}  3

A  {1,2,3,4,5} , B  {2,4,6,8}
A  B  7 A  B  {2,4} A  B  2

În situaţia în care cunoaştem valorile pentru cardinalitatea lui A a luiB şi a intersecţiei celor
două putem afla cardinalitatea reuniunii lor: A  B  A  B  A  B [1].
Această regulă se poate descoperi prin desenare a diagramelor Venn. Se extinde la 3 sau mai
multe mulţimi:

A  B  C  A  ( B  C)
 A  B  C  A  ( B  C)
 A  B  C  B  C  ( A  B)  ( A  C )
 A  B  C  B C  A B  AC  A B C

42
Exemple [1]

1. Presupunem că avem A, B, C care sunt formate din uneltele necesare a trei muncitori pentru
execuţia unei lucrări. Pentru convenienţă să notăm muncitorii cu A, B şi C. Presupunem că muncitorii
folosesc în comun anumite unelte şi de asemenea să presupunem că A foloseşte 8 unelte, B 10 unelte
şi C 5 unelte. Presupunem că A şi B folosesc 2 unelte şi B şi C folosesc în comun 2 unelte. În fine mai
presupunem că A, B, C folosesc împreună 3 unelte. Câte unelte trebuie pentru terminarea lucrării?
A B C  ?

A  B  C  A  B  C  B  C  A  B  A  C  A  B  C = 18

2. Presupunem că există 200 de studenţi din anul I care participă la cursurile de calculatoare,
matematică şi fizică. Rezultatele au arătat că 90 de studenţi participă la calculatoare, 110 la
matematică şi 60 la fizică. Mai departe 20 de studenţi participă la calculatoare şi matematică. 20 de
studenţi participă la calculatoare şi fizică şi 30 la matematică şi fizică. Ne interesează să aflăm care
sunt studenţii care participă la cele trei cursuri. Să numim cele trei grupe C, M, P. Prin urmare vrem să
aflăm C  M  P .
C  90
M  110
P  60
C  M  20
C  P  20
M  P  30
200  C  M  P  C  M  C  P  M  P  C  M  P  90 + 110 + 60 – 20 – 20 –
30 + C  M  P = 190 + C  M  P .
C  M  P  10

3.10. Numărarea diferenţelor dintre mulţimi

A = {1, 3, 5, 7, 9} B = {2, 3, 4, 8, 10} A-B = {1, 5, 7, 9} A  B  4


În situaţia în care cunoaştem cardinalul lui A şi cardinalul lui A  B sau cardinalul lui A-B, atunci
A  B  A  A  B . Regula se poate afla direct prin diagramele lui Venn. Există două cazuri
speciale de tip „dacă atunci” care pot fi verificate intuitiv.

Dacă B  A atunci A  B  A  B
Dacă A  B = Ø atunci A  B  A

Dorim să aflăm câte unelte sunt necesare fiecărui muncitor adică unelte care nu sunt împărţite cu alţii,
de exemplu muncitorul A are nevoie de o ladă de scule de mărimea A  B  C  . Putem calcula
această valoare folosind atât regula diferenţă
cât şi regula de reuniune. Astfel
A  B  C   A  A  ( B  C)  A  ( A  B)  ( A  C) 
 A   ( A  B)  ( A  C)  A  B  C   8 – (3 + 2 – 2) = 5

43
5 unelte personale sunt ale muncitorului A.

Exerciții şi probleme

1. Fie A, B şi C trei mulţimi oarecare. Arătaţi că dacă A  C = B  C şi A  C = B  C, atunci


A = B.
(Indicaţie: Fie x  A, atunci x  A  C este adevărat.)

2. Fie A, B şi C trei mulţimi oarecare. Arătaţi că:

(C  (A  B))  (B  C)  (A  C) = C.

3. Fie A, B şi C trei mulţimi oarecare. Dacă A  B (adică, A este o submulţime a lui B sau A este
egală cu B), arătaţi că (C  B)  A = .

4. Fie A = {2k + 7 | k ∈ Z} și B = {4k + 3 | k ∈ Z}.


a) Este A ⊂ B?
b) Este B ⊂ A?

5. Desenați o diagramă Venn pentru trei mulțimi A, B, C, cu unele zone umbrite. Apoi găsiți o
expresie pentru a reprezenta zona umbrită.

6. Fie A = {2k + 5 | k ∈ Z} și B = {2k + 3 | k ∈ Z}. Arătați că A = B.

7. Găsiți o regulă pentru reuniunea a trei mulțimi: | A ∪ B ∪ C | = ?

8. Trei programe utilizează un grup de procesoare după cum urmează, unde A, B și C reprezintă
mulțimile de procesoare folosite de cele trei programe:
| A | = 20, | B | = 40, | C | = 60, | A ∩ B | = 10, | A ∩ C | = 8, | B ∩ C | = 6.
Dacă există 100 de procesoare disponibile, care este valoarea lui | A ∩ B ∩ C |?

44
CAPITOLUL 4

STRUCTURI ORDONATE

4.1. Mulţimi ordonate. Tuple

În capitolul anterior am văzut că mul imile sunt utilizate pentru a reprezenta informa ii sau date
neordonate. Prezentul capitol introduce no iuni şi nota ii pentru structuri care prezintă o anumită
ordine în ele [1].

Conceptul de mul ime ordonată este înrădăcinat în natura secven ială a unor date. Spre exemplu: o
propozi ie în limbaj natural are o structură secven ială pentru cuvintele care o compun. Definim astfel
o mul ime ordonată, sau un tuplu, ca fiind o colec ie de obiecte numite elemente, în care primul
element, al doilea element şi aşa mai departe urmează unul după celălalt într-o ordine bine stabilită.

Similar ca în cazul mul imilor, elementele unui tuplu, sunt de asemenea numite membri, obiecte sau
componente. Nota ia consacrată pentru tuple este de a scrie elementele separate prin virgulă încadrate
între două paranteze rotunde.

Un tuplu se mai numeşte uneori şi secven ă de obiecte sau vector şi este reprezentat de lista acestora
într-o anumită ordine. Spre exemplu, (7, γ4, 45) este un tuplu sau o secven ă.

O caracteristică esen ială a tuplului, care îl deosebeşte de o mul ime este aceea că secven a
elementelor este definitorie. În cazul mul imilor, nu contează ordinea în care sunt scrise elementele.
Spre exemplu tuplul (7, 34, 45) nu este acelaşi cu (45, 7, γ4).

O a doua caracteristică ce deosebeşte tuplul de o mul ime este legată de permisiunea existen ei
repeti iilor elementelor. Într-o mul ime nu admitem ca un element să fie scris în mod repetat. Acest
lucru însă este permis în cazul tuplelor. Spre exemplu: (7, 7, γ4, 45).

Tuplele sunt întotdeauna secven e finite. O secven ă constând din n elemente se numeşte n-tuplu. Spre
exemplu secven a (γ, 87) se numeşte β-tuplu sau pereche ordonată. Secven a (7, B, 1γ) este un γ-
tuplu sau triplet ordonat.

Tuplul (secven ele, pot, fi, finite, sau, infinite) este un 6-tuplu.

Tuplul care n-are nici un element se numeşte 0-tuplu şi se notează cu două paranteze rotunde ( ).

Două n-tuple unul (x1, …, xn) şi celălalt (y1, …, yn) se spune că sunt egale dacă xi = yi, pentru i  1 şi
i  n , şi notăm (x1, …, xn) = (y1, …, yn). Astfel perechea ordonată (γ,7)  (7,3) nu sunt egale.

Din moment ce tuplele sugerează ideea de ordine, acestea se deosebesc fundamental de mul imi, astfel
mul imile {b,a,+} şi {+,a,b} sunt egale, şi putem scrie {b, a,}  {, a, b} . În schimb tuplele (t,o,o,t)
şi (o,t,t,o) nu sunt egale, t , o, o, t   (o, t , t , o) .

45
4.2. Produsul cartezian al mulţimilor

Există multe aplica ii în care avem nevoie de a reprezenta informa ia în formă de tuplu unde
elementele fiecărui tuplu provin din mul imi cunoscute. O astfel de mul ime este numită produs
cartezian. Ideea de a reprezenta perechi ordonate de elemente apar inând a două mul imi a fost
introdusă de Rene Descartes. Produsul cartezian se mai numeşte produs încrucişat a două mul imi [1].

Defini ie: Dacă A şi B sunt mul imi, atunci produsul cartezian a lui A şi B care este notat cu A B
este mul imea tuturor perechilor ordonate (a,b) astfel încât, a  A şi b  B . În nota ie finală vom
avea A  B  {( a, b) a  A si b  B}

Spre exemplu: Dacă A  {x, y} şi B  {0,1} atunci A  B  {( x,0), ( x,1), ( y,0), ( y,1)} . În situa ia în
care una dintre mul imi este vidă, de pildă A ţ Ø, nu vom putea aplica produsul cartezian conform
defini iei deoarece nu există perechi ordonate cu primele elemente din mul imea vidă. Prin urmare
A B = Ø.

Generalizând putem spune că A B este nevid dacă şi numai dacă atât A cât şi B sunt mul imi
nevide. În cazul general în care avem orice număr de mul imi A1, …, An putem scrie
A1  ...  An  {( x1 ,..., xn ) xi  Ai } . Dacă toate mul imile Ai într-un produs cartezian sunt aceeaşi
mul ime A atunci putem folosi nota ia prescurtată An  A  ...  A . Folosind această nota ie formulăm
următoarele defini ii pentru mul imile A1  {( a ) a A} şi A0  {( )} . Evident că în aceste condi ii
apare adevărată rela ia A'  A şi A0  Ø.

Exemplu: Fie mul imea A  {a, b, c} putem scrie următoarele produse carteziene:

A0  {( )}
A1  {( a), (b), (c)}
A2  {( a, a), (a, b), (a, c), (b, a), (b, b), (b, c), (c, a), (c, b), (c, c)}

Tuplele permit accesarea aleatoare a oricăror componente. Componentele unui n-tuplu pot fi indexate
în diferite feluri. De exemplu:

Fie t  A  B  C . Acest element poate fi reprezentat în următoarele moduri:

(t1 , t2 , t3 )
(t (1), t (2), t (3))
(t[1], t[2], t[3])
(t ( A), t ( B ), t (C ))
( A(t ), B (t ), C (t ))

Acestea denotă nota iile de scriere cu referire de un fel sau altul la elementul t ca şi membru al
produsului cartezian A  B  C

4.3. Tablouri, matrici, înregistrări

Produsele carteziene şi tuplele sunt legate foarte strâns de obiecte familiare programării. În ştiin a
calculatoarelor un tablou unidimensional de mărime n cu elementele apar inând unei mul imi A este

46
un n-tuplu în produsul cartezian An. Astfel vom putea să ne gândim la produsul cartezian An ca fiind
mul imea tuturor tablourilor unidimensionale de mărime n asupra lui A. Astfel dacă x egal cu x 1,
…,xn, atunci în mod uzual componenta xi este notată în limbaje de programare prin x[i].

Un tablou bidimensional care se numeşte şi matrice poate fi conceput ca un tablou de obiecte care
sunt indexate prin linii şi coloane. Dacă x este o matrice care are m linii şi n coloane, spunem că x este
o matrice m  n . De exemplu dacă x este o matrice 3 4 atunci putem scrie:

 x11 x12 x13 x14 


x   x21 x22 x23 x24 
 x31 x32 x33 x34 

Acelaşi x poate fi reprezentat ca un 3-tuplu a cărui componente sunt 4-tuple după cum urmează: x ţ
((x11, x12, x13, x14),( x21, x22, x23, x24),( x31, x32, x33, x34)).

În programare componenta xi,j este uzual notată prin x[i,j].

Similar putem gândi la produsul cartezian (A4 )3 ca fiind mul imea tuturor tablourilor bidimensionale
asupra lui A având trei linii şi patru coloane. Conceptul acesta se poate extinde şi la dimensiuni
superioare. De exemplu ((A5 )7 ) 4 reprezintă mul imea tuturor tablourilor tridimensionale asupra lui A
constând din 4 tuple a cărui componente sunt 7 tuple a cărui componente sunt 5 tuple a elementelor
din A.

Putem gândi de asemenea că produsul cartezian A B este mul imea tuturor înregistrărilor sau
structurilor cu două câmpuri A şi B.

4.4. Reprezentarea tuplelor în memoria calculatoarelor

Tuplele sunt reprezentate în spa ii continue de memorie. Astfel, fiecare componentă a tuplului x ţ (x1,
…,xn) necesită ε celule de memorie. Dacă B este adresa de început a memoriei alocate tuplului x,
atunci evident că x1 se află la loca ia B, x2 se află la loca ia B+ε, iar în general xk se va afla la loca ia
B  M (k  1) . Astfel fiecare componentă xk a tuplului x poate fi accesată în timpul necesar pentru a
evalua rela ia B  M (k  1) [1].

Timpul de acces pentru tablourile multidimensionale este de asemenea redus. De exemplu să


presupunem că x este o matrice cu trei linii şi patru coloane, reprezentată în forma unui γ – tuplu
având fiecare element un 4 – tuplu.

x = ((x11, x12, x13, x14), ( x21, x22, x23, x24), ( x31, x32, x33, x34))

Presupunem că fiecare componentă a lui x necesită ε celule de memorie. Dacă B este începutul
adresei de memorie alocată pentru x, atunci x11 este evident la loca ia B. x2,1 se află la loca ia B + 4ε
şi x3,1 se află la loca ia B + 8ε. Un element arbitrar xj,k se va afla la loca ia dată de expresia B + 4M(j
– 1) + M(k – 1).

Acest gen de expresii se mai numesc şi polinoame de adresă. Fiecare componentă x j,k va putea fi
accesată în timpul necesar calculului polinomului de adresă, timp apropiat de o constantă pentru 
valori ale lui j, k.

47
4.5. Liste

O listă este o secven ă ordonată finită de zero sau mai multe elemente care pot fi repetate. După
această defini ie o listă ar apare similară cu un tuplu. Diferen a majoră între tuple şi liste constă în
păr ile care pot fi accesate aleator în cele două structuri ordonate. În cazul tuplelor, putem accesa
aleator orice element într-un interval de timp constant. În cazul listelor, putem accesa aleator într-un
interval de timp constant doar elementele aflate la capetele listei, adică primul element al listei care se
numeşte „capul” (head) listei respectiv ultimul element care se numeşte „coada” (tail) listei. Din
moment ce listele se deosebesc astfel de tuple, ele vor fi notate prin înşiruirea elementelor separate
prin virgulă şi încadrate de paranteze ascu ite. Spre exemplu o listă este următoarea: Ţw, x, y, z>.
δista vidă este notată cu Ţ >. Numărul de elemente dintr-o listă defineste lungimea listei. Astfel lista
Ţw, x, y, z> are lungimea 4. Capul ei este w şi coada ei este lista Ţx, y, z>. În general dacă δ este o
listă atunci folosim nota ia head(L) şi tail(L) pentru a denota opera iile de identificare a elementelor
respective [1]. De exemplu:

head(<w, x, y, z>) = w
tail(<w, x, y, z>) = <x, y, z>

O altă opera ie pe care o putem face cu liste este aceea de construc ie. Astfel dacă h este un element
de un anumit tip şi δ, o listă, atunci cons(h,δ) – construim lista cu capul h şi coada δ.

cons(w, <x, y, z>) = <w, x, y, z>


cons(a, < >) = < a >
cons(mai <mare, decât>) = <mai, mare, decât>

Opera iile cap, coadă şi construc ie pot fi realizate în regim dinamic în timpul execu iei unui program.
δegătura între cele trei opera ii este redată de următoarea ecua ie: cons(head(δ), tail(δ)) ţ δ

δistele nu au restric ii privitoare la natura obiectelor pe care le pot con ine, în felul acesta este foarte
folositor să reprezentăm informa ia în forme de liste în care elementele sunt la rândul lor liste, în care
elementele sunt la rândul lor liste etc.

Fie următoarele elemente:

L head(L) tail(L)
< a, <b> > a < <b> >
< <a>, <b,a> > <a> < <b,a> >
< < < >,a ,< > >, b, < > > < < >, a, < > > < b,< > >

Dacă toate elementele listei δ provin dintr-o mul ime particulară A, atunci se spune că lista
este o lista asupra lui A.

Dacă {a,b,c} atunci putem forma listele cu următoarele elemente: Ţ >, Ţa>, Ţa,b>, Ţb,a>,
<b,c,a,b,c>.

4.6. Reprezentarea listelor

Cea mai simplă modalitate de a reprezenta o listă în memoria unui calculator este de a aloca un bloc
de memorie pentru fiecare element din listă. Blocul de memorie va con ine elementul precum şi o
adresă care se numeşte legătură (în limba engleză pointer) către următorul bloc de memorie care leagă
astfel următorul element din listă. În felul acesta nu este necesar ca elementele din listă să se afle unul
după celălalt în memoria calculatorului [1]. Astfel crearea sau ştergerea unui element din listă se poate

48
face în mod dinamic în timpul execu iei programului. Să considerăm de exemplu lista δ, δţŢb, c, d,
e>.

head(L) = b tail(L) = <c,d,e> cons(a,L)=<a,b,c,d,e>

În figură am arătat model de reprezentare a listei în memorie [1]. Săge ile din figură reprezintă o
adresă sau o legătură, iar fiecare bloc con ine elementul din listă şi adresa câtre următorul bloc de
memorii. Ultima săgeată din figură corespunzătoare elementului e este îndreptată simbolic spre
pământ. Prin aceasta arătăm că acolo este punctul terminal al listei. Acelaşi gen de reprezentare se
găseşte şi la listele vide. În figură am mai arătat modul de executare a opera iilor care conduc la
aflarea capului listei, respectiv a cozii listei. De asemenea se arată opera ia de a construi o nouă listă
prin adăugarea elementului a la lista δ.

4.7. Şiruri şi limbaje

Definim printr-un şir (string) o secven ă ordonată şi finită în acelaşi timp con inând zero sau mai
multe elemente care sunt plasate unul lângă celălalt în urma unei opera ii de juxtapunere. Elementele
individuale ce alcătuiesc un şir apar in unei mul imi finite care se numeşte alfabet (notat de regula cu
Σ). Dacă notăm prin A un alfabet, atunci şirul de elemente ce se formează din acest alfabet se spune
că este un şir asupra lui A [1]. Spre exemplu: Dacă avem alfabetul format din mul imea {a,b,c} atunci
putem forma şiruri asupra lui A astfel: a, ba, bba, aacabb etc. εul imea care defineşte alfabetul poate
fi alcătuită din simboluri alfanumerice. Astfel putem avea mul imea simbolurilor din alfabetul latin a
minusculelor {a,b,c,d,e,f,…,z} sau alfabetul grecesc {α, , , , ,…,ω} sau cifrele binare {0,1} sau
zecimale {0,1,2,3,4,5,6,7,8,9} sau {a-z, A-Z, 0-9}. Şirul care nu con ine nici un element se numeşte
şirul vid şi se poate reprezenta fie prin litera alfabetului grecesc λ (frecvent in lit. de limba engleză),
fie prin litera mică e (empty). Numărul de elemente care apar într-un şir defineşte lungimea şirului
respectiv. Aceasta se notează prin numele şirului încadrat de bare verticale. Spre exemplu lungimea
lui λ |λ|=0 ( e  0 ). δungimea şirului |aacabb| = 6 (adica şase simboluri), iar 0101  4 .

Concatenarea şirurilor

Se numeşte concatenare opera ia de a alipi (plasa) două şiruri x şi y unul în continuarea celuilalt,
formând astfel un nou şir. De exemplu: dacă xţ01, yţ101 atunci concatenarea x  y sau xy 01
101ţ01101. Dacă avem for  mat  format . Concatenarea se bucură de proprietatea de
asociativitate, care o putem scrie prin rela ia w(xy)ţ(wx)y. Opera ia de concatenare se poate aplica pe
acelaşi şir, situa ie în care reprezentăm numărul de repetări ale şirului printr-un supra-indice sau
putere. Spre exemplu:

Dacă w este concatenat cu el însuşi de i ori notăm cu wi. Cu această nota ie evident putem scrie
wi+1=wi◦w.

49
Remarcăm faptul că dacă şirul apare ca parte a unui alt şir, atunci evident că el nu va contribui la noul
şir format prin concatenare, aşa că putem scrie de exemplu: 1001◦eţ1001 sau în general sλţλsţs unde
s este un şir oarecare.

Există o puternică legătură între şiruri şi liste. Deoarece ambele se definesc ca secven e finite de
elemente. δegătura între ele este importantă în aplica iile de programarea calculatoarelor, în care e util
frecvent să recunoaştem anumite tipuri particulare de şiruri. Aceasta presupune ca un şir să fie
descompus în elementele sale componente care să poată apoi fie reprezentate într-o listă. De exemplu
şirul aacabb poate fi reprezentat de lista Ţa,a,c,a,b,b>. Similar şirul vid  sau e poate fi reprezentat
de lista vidă Ţ >. Nota ia de concatenare se poate extinde şi pentru cazul zero şi scriem w0 = e.

O altă opera ie pe care o putem face cu şirurile este aceea de a le reversa adică de a construi şirul
având aceleaşi elemente însă în ordine inversă. Spre exemplu dacă w este un şir de forma ua unde
a  ∑ atunci putem scrie wR=au. Evident că este valabilă următoarea rela ie: dacă w = 0 atunci
wR=w=e şi evident de asemenea e valabilă rela ia (wR)R=w.

Limbaje

δimbajele se reprezintă convenabil folosind nota ia exponen ială. Un limbaj se defineşte ca o mul ime
de şiruri. Dacă considerăm că A fiind un alfabet, atunci un limbaj asupra lui A va fi o mul ime de
şiruri asupra lui A. εul imea tuturor şirurilor asupra lui A este notată cu A* astfel orice limbaj
construit asupra lui A va fi o submul ime a lui A*. Spre exemplu, dacă considerăm mul imea A egală
cu a atunci putem construi patru limbaje simple asupra lui A, şi anume: mul imea vidă, mul imea
formată din elementul  care este şirul nul, după aceea putem forma mul imea formată din elementul
a apoi o mul ime infinită {  , a, aa, aaa, …} [1]. Prin aceasta am arătat posibilitatea de a concatena.

Fie de asemenea următoarele exemple:

Dacă avem ∑ ţ {0,1}, δ ţ {0,01,011,0111,01111,…} sau dacă avem ∑ţ{a,…,z} atunci putem forma
limbajul L = {ab, cd, efghi, s, z}.

Observăm de aici că limbajele pot fi finite sau infinite. Pentru orice număr natural n concatenarea unui
şir s cu el însuşi de n ori se va nota astfel: s0ţλ, s'ţs, s2ţss şi s3=sss etc. Reprezentarea limbajelor,
spuneam că se face convenabil utilizând nota ia exponen ială. Spre exemplu următoarele limbaje, sunt
concis definite folosind această nota ie:
{an| n  N} ţ {λ, a, aa, aaa, …}
{abn| n  N} ţ {a, ab, abb, abbb, …}
{anbn| n  N} ţ { λ, ab, aabb, aaabbb, … }
{(ab)n| n  N} ţ { λ, ab, abab, ababab, … }

Concatenarea limbajelor

Deoarece limbajele sunt mul imi de şiruri, ele pot fi combinate implicând opera iile uzuale ale
reuniunii, intersec iei, diferen ei şi complementului aplicate mul imilor. Pe lângă acestea mai există o
cale importantă de a combina limbajele folosind opera ia de concatenare, astfel două limbaje δ şi ε
pot fi combinate pentru a ob ine mul imea tuturor şirurilor concatenate ale lui δ cu şirurile lui ε. Se
ob ine astfel un nou limbaj care se cheamă limbajul concatenat, sau limbajul produs al lui δ şi ε notat
cu δε. Astfel de exemplu: dacă δ este egal cu şirurile δ ţ {ab, ac} şi ε ţ {a, bc, abc} atunci
limbajul produs δε ţ {aba, abbc, ababc, aca, acbc, acabc}. De asemenea opera ia de concatenare
aplicate limbajelor ne permite să folosim următoarele proprietă i: δ{  } = {  }L = L, LØ = ØL = Ø.
Este de asemenea uşor de a arăta că opera ia de concatenare este asociativă. Pe de altă parte se poate
uşor observa că opera ia de concatenare nu este comutativă şi prin urmare limbajul εδ

50
n  N produsul (concatenare) cu el însuşi de n ori se notează δn = {s1s2…sn| sk  L k }. Pentru
nţ0 prin defini ie notăm δ0 ţ {λ} [1]. Exemple:

Să se calculeze anumite limbaje produs sau concatenate pentru limbajul sursă egal cu δ ţ {a, bb}. Şi
astfel ob inem δ0 ţ {λ}, δ' ţ δ ţ{a, bb}, δ2 = LL = {aa, abb, bba, bbbb}, L3 = LL2 = {aaa, aabb, abba,
abbbb, bbaa, bbabb, bbbba, bbbbbb}.

Închiderea unui şir

Dacă δ este un limbaj, se defineşte închiderea lui δ (uneori spunem închidere stelată sau Kleene) şi o
notăm cu δ* mul imea tuturor concatenărilor posibile ale şirurilor din δ. Cu alte cuvinte este valabilă
rela ia δ* = L0  L1  L2  …  Ln  … . Într-un alt mod de nota ie putem scrie δ* = {w  ∑*| w =
w1◦…◦wk, k ≥ 0, w1,…,wk  L} [1]. Spre exemplu dacă δ este format din δ ţ {01,1,100} atunci
110001110011  L*, pentru că este realizat prin concatenarea cuvintelor lui L astfel: 110001110011 =
1◦100◦01◦1◦100◦1◦1. Considerând nota ia definită mai sus, acceptăm valabilă rela ia Ø* = {e}. Din
defini ia implicând nota ia exponent, derivăm următoarea nota ie: δ+= L1  L2  L3  … . Evident că
în aceste condi ii este adevărat că δ* = L+  {λ}. Remarcăm însă că următoarea rela ie nu este în mod
necesar adevărată adică δ+ = L* –{λ}. De exemplu dacă δ ţ {λ, a}, atunci δ+ = L*. Trebuie să facem
observa ia orice alfabet A reprezintă un limbaj prin el însuşi, iar închiderea sa coincide de fapt cu
defini ia ini ială dată lui A* ca fiind mul imea tuturor şirurilor asupra lui A. Enun ăm în continuare
următoarele proprietă i valabile pentru închiderea unui limbaj:

a) {λ} ţ Ø* ţ {λ}
b) λ  L  L+ = L*
c) L* = L*L* = (L*)*
d) (L*M*)* = (L*  M*)*=(L  M)*
e) L(ML)* = (LM)*L

Să arătăm o demonstra ie pentru proprietatea e.


Să examinăm structura unui şir arbitrar, fie x  L(ML)*. Din moment ce L concatenat cu (ML)* este
rezultatul concatenării lui δ şi al lui (εδ)* putem scrie că x = ly unde l  δ şi y  (ML)*. Din moment
ce y  (ML)* urmează că y va apar ine lui (εδ)n pentru orice n. Dacă n ţ 0 atunci y ţ λ şi este valabilă
rela ia x = ly = lλ = l  L atunci y este de forma y = w1…wn unde wk  ML pentru cazul în care k=n=1
astfel vom putea să scriem pe fiecare wk  ML wk = mklk unde mk  M, lk  L.

În continuare vom putea să scriem pe x ca şi o concatenare a şirurilor din εδ x = ly l  L y  (ML)*


x=l(w1…wn) l  L wk  (ML) x=l(m1l1…mnln) l  L lk  L mk  M

Din moment ce noi putem grupa şirurile cu paranteze în orice fel dorim, le putem scrie şi în
următoarea ordine:

x = (lm1l1…mn)ln l  L lk  L mk  M
x = (z1…zn)ln zk  LM ln  L
x = uln u  (LM)* ln  L

În felul acesta am arătat că x  (LM)*L prin urmare L(ML)*  (LM)*L.

Acest argument este reversibil. Prin urmare avem L(ML)* = (LM)*L Q.E.D.

4.8. Relaţii

Defini ie: Conceptul de rela ie este inspirat de ideea legăturii apartenen ei sau a asocierii între obiecte.
Putem astfel defini informal o rela ie ca fiind o mul ime de n tuple în care elementele din fiecare tuplu

51
sunt legate între ele într-un anumit mod. Din punct de vedere formal putem defini o rela ie astfel: dacă
R este o submul ime a produsului cartezian A1 ...  An atunci R se spune că este o rela ie n – ară
asupra lui A1 ...  An . Spre exemplu: considerând laturile unui triunghi dreptunghic având lungimile
x, y, z în care z este ipotenuza, atunci putem scrie rela ia x 2  y 2  z 2 , oricare 3-tuplu de umere reale
pozitive (x, y, z) având această proprietate, se va numi un triplu pitagoreic. Spre exemplu: (3, 4, 5) sau
(1, 3 , β) , satisfac această defini ie. O asemenea rela ie a unui triplu pitagoreic poate fi descrisă

formal sub forma unei mul imi de tripluri ordonate, şi o notăm cu PT  ( x, y, z ) x 2  y 2  z 2 . 
Dacă ne referim la mul imea numerelor reale pozitive, atunci putem scrie rela ia
  
PT  R  R  R . Din moment ce există mai multe submul imi ale unei mul imi, apare evident
posibilitatea de a exista mai multe rela ii, cea mai simplă rela ie este mul imea vidă, pe care o
denumim rela ia vidă, aceasta evident are şi dimensiunea cea mai mică. Rela ia cu dimensiunea cea
mai mare este produsul cartezian A1 ...  An pe care o denumim rela ia universală. Dacă R este o
rela ie şi (x1,…,xn)  R acest lucru îl notăm sub forma R(x1,…,xn). Spre exemplu rela ia PT(1, 3 , 2)
înseamnă că triplul (1, 3 , 2)  PT.

Dacă R este o rela ie binară, atunci afirma ia (pereche x,y  R) poate fi notată prin R(x,y). εai putem
utiliza de asemenea şi următoarea expresie xRy.

Rela iile binare sunt în general cele mai răspândite. Spre exemplu dacă utilizăm rela ia bazată pe
inegalitatea de tip mai mic dintre m şi n atunci putem să scriem în loc de (m, n)  sau  (m, n) să
scriem m Ţ n, adică particularizarea formei anterioare xRy. În mod similar rela ia de egalitate este
foarte utilă fără ca în general să ne gândim la ea ca fiind o rela ie binară [1][5].

Rela iile binare sunt în general succeptibile de mai multe reprezentări: prin tabele, prin săge i, prin
tăieturi. Dintre acestea primele două sunt direct accesibile. O rela ie exprimată sub forma R  A  B ,
poate fi reprezentată prin tabele astfel: se trasează o serie de linii verticale, corespunzătoare câte unui
element din mul imea A şi o serie de linii orizontale corespunzătoare câte unui element din B.
Intersec ia dintre liniile verticale şi cele orizontale ce corespunde rela iei între elementele lui A
respectiv ale lui B se marchează printr-un punct îngroşat (vezi figura):

Figura denotă rela ia x | y în care Aţ{1, β, γ} iar Bţ{1, β, γ, 4, 5, 6, 7}, elementele x  A şi y  B.

Reprezentarea prin săge i a unei rela ii binare R  A  B se realizează astfel: Elementele lui A şi B
se reprezintă simbolic prin puncte din plan unindu-se apoi printr-o săgeată orientată de la x câtre y
oricare x  A cu oricare y  B dacă şi numai dacă perechea (x,y)  R [1][5].

52
Făcând observa ia că mul imea {A} este de fapt o submul ime a lui {B} nu mai este necesar la
reprezentarea prin săge i să marcăm de două ori punctele 1, β, γ care reprezintă acelaşi elemente. Vom
ob ine următoarea figură a reprezentării prin săge i [5]:

Să considerăm un element c ţ (a,b) apar inând lui A B . Se defineşte proiec ia elementului c pe


mul imea A ca fiind elementul a. Dacă notăm cu E, având proprietatea E  A  B , proiec ia lui E pe
A, atunci aceasta este formată din mul imea elementelor lui A care sunt proiec ia unui element a lui E.
Se numeşte tăietură x ţ a, a mul imii E, mul imea elementelor y ale lui B pentru care (a,y)  E.

Cu referire la următoarea figură [5]:

Dacă c23=(a2,b3) atunci a2 conform defini iei este proiec ia lui c23 pe A.

Considerăm E  A  B cu următoarea reprezentare [5]:

53
E = {c11, c21, c31, c32, c52, c13, c23, c24, c34, c54,}; Proiec ia lui E pe A este: {a1, a2, a3, a5}. Tăietura x =
a1, a mul imii E este mul imea{b1,b3}.

Dacă x  A, tăietura lui R prin x pe care o notăm cu R(x) este mul imea elementelor y  B pentru care
(x,y)  R.

εul imea tăieturilor unei rela ii R numită câtul lui B prin R şi notăm B | R, este suficientă pentru a
determina în întregime rela ia R.

Tăietura lui R prin a1 este {b1,b3}. Tăietura lui R prin a2 este {b1, b3, b4} etc. Putem scrie în
reprezentarea de mai jos pe primul rând elementele lui A iar pe rândul β tăieturile corespunzătoare lui
R.

 a1 a2 a3 a4 a5 
b , b  b1 , b3 , b4  b1 , b2 , b4    b2 , b4 
 1 3

Se observă că cel de-al doilea rând este alcătuit din câtul lui B prin R.

Din cele prezentate rezultă cea de-a treia reprezentare posibilă a rela iilor binare numită prin tăieturi.
În loc să considerăm un element x  A pentru a defini o tăietură, putem considera o submul ime
x  A . Tăietura R(x) al lui R prin x  A este reuniunea tăieturilor R(x), x  A; R(x) este aşadar
submul imea lui B formată din toate elementele y  B pentru care x,y  R atunci când x  X.
Exemplu:

Avem

R(a2) = {b1, b3, b4}


R(a3) = {b1, b2, b4}
R(a2, a3) = {b1, b2, b3, b4} = B

4.9. Numărarea tuplelor

Se pune problema în multe aplica ii de a număra mul imi de tuple, liste sau şiruri. Din moment ce
aceste structuri reprezintă secven e ordonate finite de obiecte, singura diferen ă este modul în care le
reprezentăm, şi nu faptul dacă există mai multe structuri de un tip decât de celălalt. Spre exemplu,
considerând mul imea {a, b}putem forma opt 3-tuple, opt liste de lungime 3, respectiv opt şiruri de
lungime γ. În acest context, fără a pierde din generalitate, se pune problema de a discuta numărarea
mul imilor de tuple. Vom porni de la regula de bază de numărare a produselor carteziene de mul imi
finite [1].

Se doreşte a se afla cardinalitatea produsului cartezian A B pentru mul imile finite A şi B sau alte
cuvinte cât de multe perechi ordonate (doi – tuple) sunt în A B . De exemplu: dacă admitem A ţ {a,
b, c} şi B ţ {0, 1, β, γ}, vom putea să scriem toate cele 1β tuple aferente. Dacă facem observa ia că
fiecare element din A poate fi împerecheat cu oricare cele 4 elemente din B şi că există γ elemente din
A atunci ar apare următoarea rela ie: A  B  (3)(4)  12 .

Putem astfel să enun ăm o regulă generală numită regula produs care arată valoarea cardinalului a
două mul imi finite A şi B. A  B  A B . Se poate observa că rela ia poate fi generalizată pentru
produsul cartezian a γ sau mai multe mul imi finite. De exemplu: fie A  B  C şi mul imea

54
A  ( B  C ) . Acestea nu sunt egale deoarece un element arbitrar din A  B  C este un trei – tuplu
de forma (a, b, c). În timp ce un element arbitrar din mul imea A  ( B  C ) este un doi – tuplu de
forma (a, (b, c)). Cu toate că cele două mul imi nu sunt egale, ele au aceleaşi cardinalitate, ne putem
convinge de aceasta, făcând următoarea dezvoltare A  B  C  A  ( B  C )  A B  C  A B C .
Dacă extindem rela ia regulei produs la orice număr de mul imi, vom ob ine şi alte rela ii utile pentru
numărarea tuplelor de obiecte. De exemplu: pentru orice mul ime finită A şi orice număr natural n
n
vom avea următoarea regulă produs An  A .

4.10. Numărarea şirurilor ca şi tuple

Regula produs derivată anterior poate fi utilizată pentru a număra şiruri la fel ca şi tuplele deoarece un
şir poate fi reprezentat ca şi un tuplu. Acest lucru va apare exemplificat în continuare [1]:

Exemplul 1: Să presupunem că dorim să numărăm numărul şirurilor de lungime 5 asupra alfabetului


A, A ţ {a, b, c}. Orice şir de lungime 5 poate fi considerat ca şi un 5 – tuplu. De exemplu şirul abcbc
poate fi reprezentat ca şi tuplul (a, b, c, b, c). În acest fel numărul de şiruri de lungime 5 asupra lui A
este egal cu numărul de 5 tuple asupra lui A care este dat de regula produs astfel:
5
A5  A  35  243 .

Exemplul β: Să presupunem că dorim să numărăm numărul de şiruri de lungime 6 asupra alfabetului


A = {a, b, c, d} care începe fie cu a sau cu c şi con ine cel pu in o apari ie a lui b. inând cont de
faptul că şirurile pot fi reprezentate ca şi tuple, vom număra numărul de 6 tuple asupra lui A care
încep fie cu a sau cu c şi con in cel pu in o apari ie a lui b. E util în continuare să împăr im problema
în două subprobleme mai simple. Notăm cu U mul imea 6 – tuplelor asupra lui A care încep cu a sau
cu c. Astfel U  a, b A5 . În continuare notăm cu S submul imea lui U constând din acele 6 – tuple
care nu con in nici o apari ie a lui b. Cu alte cuvinte S  a, c a, c, d  . εul imea U – S va fi
5

astfel mul imea dorită a tuturor 6 – tuplelor asupra lui A care încep fie cu a sau c şi con in cel pu in o
apari ie a lui c.

U S U  S
 a, c A5  a, c a, c, d 
5

 a, c A  a, ca, c, d 


5 5

 2(45 )  2(35 )
 1562

Exerciții şi probleme

1. Fie A o mul ime arbitrară şi fie R o rela ie tranzitivă asupra lui A, adică, R  A  A, iar pentru
to i x, y, z  A, dacă (x, y)  R şi (y, z)  R atunci (x, z)  R. Arăta i că rela ia de compozi ie
R2 = R o R este tranzitivă.

2. Fie A o mul ime oarecare nevidă şi fie L o rela ie asupra lui A definită astfel:

L = {(a, a) | a  A}
Presupunem că R este o rela ie tranzitivă asupra lui A, adică, R  A  A, iar pentru to i x, y, z
 A, dacă (x, y)  R şi (y, z)  R atunci (x, z)  R. Arăta i că rela ia R  L este tranzitivă.

55
3. Fie A o mul ime care con ine doar trei şiruri,  , x, y , unde x şi y au fiecare lungimea 1 şi
 este şirul vid.
(a) Care este A3 ?
(b) Cât de multe şiruri sunt în A care au lungimea mai mică sau egală cu 5?

4. Fie δ și ε două limbaje. Demonstrați următoarele:


a) L = L = 
b) L* = L*L* = (L*)*
c) (L*M*)* = (L*  M*) = (L  M)*

5. În termenii închiderii stelate şi a concatenării mul imilor, descrie i limbajele care


con in următoarele:
a) Şiruri asupra mul imii {0, 1} începând cu 01.
b) Şiruri începând cu 0 care alternează între 0 şi 1.

56
CAPITOLUL 5

GRAFURI ŞI ARBORI

5.1. Definiţia grafurilor

În general o reprezentare grafică oricare ar fi ea, este un anumit mod de a cuprinde informaţia care se
adresează capacităţii umane de a percepe obiectele de simţ. Astfel că reprezentarea grafică se adresează în
particular percepţiei obiectelor vizuale.

În matematica discretă, grafurile au aceleaşi menire de a reprezenta o mulţime de obiecte, în care unele
dintre ele sunt conectate cu altele într-un anumit mod. Obiectele poartă denumirea de noduri sau vârfuri,
iar conexiunile între obiecte, se numesc muchii (dacă sunt neorientate) sau arce (dacă sunt orientate). Spre
exemplu, Europa ar putea fi reprezentată printr-un graf în care nodurile sunt statele Europei iar muchiile
sunt graniţele comune între statele alăturate. De pildă, România şi Franţa ar fi două noduri, fără a exista o
muchie între ele. De asemenea, într-o altă reprezentare, oraşele şi drumurile între acestea ar putea fi
reprezentate printr-un graf. Evident, oraşele ar fi nodurile iar drumurile ar fi muchiile. De exemplu, o
variantă restrânsă a hărţii rutiere a României apare în figura următoare [9].

Spunem că două noduri sunt adiacente dacă există o muchie care le leagă. Din punct de vedere grafic, un
graf poate fi desenat în mai multe moduri, ca în figura următoare, de exemplu, în care nodurile sunt notate
cu 1, 2, 3 şi există muchii între 1-3 şi 1-2.

57
Uneori în anumite aplicaţii apare o problemă interesantă de a încerca să colorăm un graf, folosind
numărul cel mai mic posibil de culori, ţinând cont de restricţia ca două zone adiacente să fie colorate
diferit. Această aplicaţie este cunoscută sub numele de „problema hărţii”. Din punctul de vedere al
grafului, aceasta înseamnă că oricare două noduri distincte vor trebui să aibă culori diferite. Se numeşte
un graf ca fiind n–colorabil dacă există o repartiţie de n culori către nodurile sale astfel încât oricare două
noduri adiacente să fie colorate diferit. Se numeşte număr cromatic al unui graf cel mai mic număr n
pentru care graful este n–colorabil. De exemplu numărul cromatic al grafului de mai sus cu oraşele şi
drumurile din Romania este 3. Alte exemple sunt date în figura următoare:

Număr cromatic = 2 3 4 6

Nu se cunoaşte încă o metodă convenabilă pentru determinarea numărului cromatic al unui graf arbitrar
dat. O aplicaţie, ce poate fi rezolvată individual, ca temă, este aceea de a colora un graf ce reprezintă harta
Europei, folosind un număr minim de culori distincte.

Un graf al căror arce sunt conexiuni între toate perechile de noduri distincte, se numeşte un graf complet.
Se poate uşor observa că numărul cromatic al unui graf complet având n noduri este n.

Un graf se numeşte planar, dacă poate fi desenat într-un plan astfel încât nici una dintre arce să nu se
intersecteze. Graful prezentat la început este planar. De asemenea, un graf complet având 4 noduri este
planar, dar un graf complet având 5 noduri nu mai poate fi planar.

Legat de problema colorării grafului menţionăm celebra conjectură a celor patru culori enunţată în sec.
XIX, care a rămas nedemonstrată mai bine de 100 de ani şi care afirmă că orice graf planar este 4 -
colorabil. În general, pentru marea majoritate a hărţilor, trei culori sunt de ajuns. În anumite cazuri rare,
în care o regiune este înconjurată de un număr impar de regiuni care se ating una pe alta într-un ciclu este
nevoie de patru culori (vezi figura de mai sus). Abia în 1976 rezultatul a fost verificat de Appel şi Haken
prin utilizarea unui calculator care a testat peste 1900 de cazuri speciale. A fost prima teoremă majoră
demonstrată cu ajutorul unui calculator.

Numim graf direcţionat, sau pe scurt digraf, un graf în care fiecare arc este îndreptat într-o anumită
direcţie. Spre exemplu dacă într-un graf nodurile reprezintă oraşe iar arcele sunt căi de o singură direcţie,
între oraşe avem de a face de un digraf. Arcele se reprezintă prin săgeţi [1].

58
Se defineşte gradul unui nod numărul de arce la care este conectat. În situaţia la care există o buclă, se
mai adaugă doi la valoarea gradului, care este un arc ce pleacă şi sfârşeşte în acelaşi nod.

Pentru grafurile orientate definim gradul interior al unui nod ca fiind numărul de arce îndreptate spre acel
nod, iar prin grad exterior al unui nod înţelegem numărul de arce care pleacă din acel nod.

Definim un nod sursă acela care are gradul interior zero şi aferent lui definim un nod recipient care are
gradul exterior zero. De exemplu în digraful din figura de mai sus, nodul c este un nod sursă, iar nodul b
este un nod recipient.

Dacă într-un graf există mai mult decât o muchie între o anumită pereche de noduri, graful se numeşte
multigraf, sau dacă există arce orientate se numeşte multigraf orientat. Un exemplu ar fi grafurile care
reprezintă căi între oraşe. Un asemenea graf care reprezintă căi între o mulţime de oraşe poate fi un
exemplu de multigraf.

5.2. Reprezentarea grafurilor

Din punct de vedere computaţional suntem interesaţi să reprezentăm grafurile ca date. Acest lucru este
convenabil din moment ce noi putem defini un graf în termeni de tuple, mulţimi sau submulţimi.

De exemplu, am putea defini un graf G ca şi o pereche (N,A) unde N este o mulţime de noduri iar A este
o mulţime de muchii. Dacă G este un digraf, atunci arcele în A pot fi reprezentate prin perechi ordonate,
unde perechea (a, b) reprezintă arcul cu o săgeată de la a la b. În acest caz mulţimea A, a arcelor, este o
submulţime a lui N x N adică A este o relaţie binară asupra lui N [1]. De exemplu: digraful din figura
precedentă are mulţimea nodurilor {a, b, c} iar mulţimea arcelor {(a,b), (c,b), (c,a)}. Dacă G este un
multigraf direcţionat, atunci putem reprezenta arcele ca şi un multiset (multimulţime) de perechi ordonate,
de exemplu: multisetul [(a, b), (a, b), (b, a )] reprezintă trei arce, două de la a la b şi unul de la b la a.

Definiţie [1]: Un multiset este o colecţie de obiecte care pot conţine apariţii repetate de elemente, fără să
existe o ordine particulară de aranjare a elementelor. Pentru a diferenţia multisetul de mulţime,
elementele se încadrează între paranteze drepte. De exemplu, [a, x, b, x] este un multiset cu patru
elemente. Două multiseturi X şi Y sunt egale, şi scriem X =Y, dacă numărul de apariţii ale fiecărui
element din ambele multiseturi este acelaşi. De exemplu, [a, x, b, x] = [x, x, b, a], dar [a, x, b, x] ≠ [a, x,
b].

Dacă un graf nu este direcţionat, putem reprezenta muchiile sale în mai multe feluri. Putem totuşi să
păstrăm notaţia a unor perechi ordonate, fiind de acord că reprezintă o legătură nedirecţionată între a, b.
Putem, de asemenea, să reprezentăm prin mulţimea {a, b}. De exemplu: pentru graful din figura iniţială,
putem scrie mulţimea nodurilor {1, 2, 3} şi mulţimea muchiilor ca fiind {{1,2},{1,3}}.

59
5.3. Grafuri ponderate

Există situaţii în care e util să asociem o anumită informaţie unei muchii. Spre exemplu într-o hartă a
drumurilor distanţele dintre noduri pot apare în graf, ca în harta de mai sus.

Graful se numeşte ponderat dacă fiecare muchie sau arc are asociată un număr numit pondere (weight).
Astfel, putem reprezenta un arc (a,b) care are o pondere w sub forma unui trei – tuplu (a, b, w).

Sunt situaţii în care putem reprezenta un graf neponderat ca unul ponderat. De exemplu într-un multigraf
în care dorim să facem distincţie între arce multiple ce pot apare între două noduri, vom putea asigna
ponderi diferite fiecărui arc creând astfel un multigraf ponderat.

5.4. Grafuri şi relaţii binare

Din cele prezentate rezultă că orice relaţie asupra mulţimii A se poate concepe ca G = (A, R), având
nodurile A, şi arcele R. Spre exemplu: dacă A = {1, 2, 3} şi R = {(1,2), (1,3), (2,3), (3,3)}, atunci putem
reprezenta digraful corespunzător acestei relaţii binare. Reprezentarea unei relaţii binare sub forma unui
graf este adesea foarte utilă în încercarea de a stabili proprietăţile relaţiei binare respective [1].

Uneori este util de a discuta despre grafuri care sunt părţi ale altor grafuri. Astfel, graful (N', A') este un
subgraf al grafului (N, A) dacă N' este inclus în N şi A' este inclus în A [1].

Aceste 4 grafuri sunt subgrafuri ale grafului de mai sus.

60
5.5. Căi în grafuri

Unul din principalele avantaje ale reprezentării grafurilor este acela de a permite găsirea şi utilizarea unor
căi de parcurgere de la un nod la altul printr-o secvenţă de muchii sau arce. In termeni formali, definim o
cale de la nodul x0 la xn ca fiind o secvenţă de muchii pe care o reprezentăm printr-o secvenţă de noduri
x0, x1,…, xn astfel încât să existe o muchie de la nodul xi-1 la xi pentru cazul în care i = 1, n. O cale oferă
posibilitatea ca anumite muchii sau noduri să apară mai mult decât o singură dată. Astfel, denumim un
ciclu ca fiind o cale care are un început şi un sfârşit în acelaşi nod şi în care nici o muchie nu apare mai
mult decât o dată.

Un graf care nu conţine cicluri se numeşte aciclic. Lungimea unei căi x 0,…,xn e definită de numărul n al
muchiilor. Exemplu: Fie graful [1],

Putem identifica spre exemplificare câteva căi din acest graf, astfel calea b, c, d, b, a - vizitează nodul b
de două ori. Lungimea căii este 4. Calea a, b, c, b, d – vizitează b de două ori şi foloseşte muchiile între b-
c de două ori - lungimea este 4. Calea a, b, c, a este un ciclu de lungime 3. Calea a, b, a nu este un ciclu
deoarece muchia de la a la b apare de două ori – are lungimea 2.

5.6. Grafuri conectate

Definiţiile date anterior pentru o cale şi un ciclu se aplică atât grafurilor cât şi grafurilor orientate. Apare
însă o situaţie în care este necesară definirea fiecărui graf în mod separat. Astfel, numim un graf conectat
dacă există o cale între fiecare pereche de noduri. Un graf direcţionat sau orientat este conectat dacă
atunci când direcţia este ignorată, graful nedirecţionat rezultant este conectat.

Să considerăm două probleme cu grafuri semnificative. Prima problemă este a trasa prima figură fără a
ridica creionul de pe hârtie şi fără a retrasa o linie [1].

Se observă că problema poate fi soluţionată pornind de la unul din colţurile de jos şi terminănd la celălalt
colţ de jos. Cea dea doua figură scoate în evidenţă natura problemei de tip graf. Astfel, spunem că există o
cale care traversează fiecare muchie o singură dată.

61
Cea dea doua problemă se numeşte problema podurilor din Königsberg şi care reprezintă topologia a
două insule aflate pe râul Pregel. Problema este de a găsi un traseu parcurgând fiecare din cele 7 poduri
doar o singură dată [1].

În acest sens Leonard Euler a dat o soluţie la această problemă printr-o reprezentare sub forma unui
multigraf. Nodurile din acest multigraf reprezintă cele 4 zone de uscat, iar muchiile reprezintă cele 7
poduri. În urma reprezentării sub forma de graf, se arată că nu există o soluţie la problema dată, adică nu
există vreo cale care să conţină fiecare muchie a grafului exact o singură dată şi care ulterior s-a numit
cale Euler. Pentru exemplul anterior a problemei de trasare putem găsi o cale Euler, însă nu în cel de-al
doilea caz al podurilor. De asemenea putem defini în acelaşi context ceea ce se numeşte un circuit Euler.
Acesta se defineşte ca fiind orice cale care începe şi se termină în acelaşi nod şi conţine fiecare muchie a
grafului exact o singură dată. Observăm că pentru prima problemă nu există circuite Euler şi de asemenea
nici în cea dea doua. Se lasă studenţilor ca exerciţiu de seminar de a stabili condiţia de existenţă a căilor
în aceste exerciţii.

Euler a demonstrat că într-un multigraf (conex) există un circuit Eulerian dacă şi numai dacă toate
nodurile sale au grade pare. Aşa cum am văzut, se defineşte gradul unui nod ca fiind numărul de arce
pentru care nodul este punct terminal. De asemenea, se poate arăta că într-un multigraf există o cale
euleriană dacă şi numai dacă graful are exact 2 noduri având grade impare. O astfel de cale trebuie să
plece dintr-unul din cele două noduri şi să se termine în celălalt. În multigraful problemei din Königsberg
nu există nici circuit eulerian nici o cale euleriană, deoarece toate patru noduri au grade impare.

Există un algoritm al lui Fleury pentru construcţia unui circuit eulerian. Dacă acesta există, algoritmul
poate fi descris în următorii cinci paşi:

1) se alege un nod oarecare de start


2) de la acel nod se alege un arc de traversare considerând următoarea regulă: nu se traversează
niciodată un nod al grafului redus decât dacă nu există o altă alegere
3) Se marchează acel arc (muchie) memorându-se astfel incat să nu mai fie traversat încă o dată
4) Se traversează acel arc ajungând în următorul nod
5) Se repetă paşii de la 2 la 4 până când toate arcele au fost traversate şi ne-am întors la nodul de
start

62
5.7. Traversarea grafurilor

Un graf poate fi traversat pornind de la un anumit nod v şi vizita toate nodurile x care pot fi
atinse din nodul v călătorind pe o cale de la v la x. Dacă un nod a fost deja vizitat, acesta nu se va
mai vizita a doua oară. Există doi algoritmi foarte răspândiţi de traversare, numiţi traversarea mai
întâi în lăţime şi respectiv mai întâi în adâncime [1][7][9].

Traversarea în lăţime

Procedeul de traversare în lăţime presupune vizitarea fiecărui nod x care n-a fost încă vizitat
pentru care există o cale de lungime k de la v la x. Dacă graful are n noduri, atunci procedeul de
traversare porneşte de la nodul v şi poate fi descrisă astfel:

Pentru k=(0, n–1) se execută vizitarea astfel:


♦ se formează mai întâi un şir constând dintr-o cale de lungime nulă, care conţine doar nodul
rădăcină;
♦ până când prima cale în şir se termină la nodul ţel sau şirul este gol:
♦ îndepărtează prima cale din şir;
♦ creează noi căi, extinzând prima cale către toţi vecinii nodului terminal;
♦ respinge toate căile noi cu bucle;
♦ adaugă noile căi, dacă există, în coada şirului;
♦ dacă se găseşte nodul ţel se anunţă succes, altfel se anunţă eşec.

Procedeul de traversare în lăţime poate fi descrisă şi în pseudo-cod astfel:

Se inserează nodul start în lista deschisă.


while ( )
{
if (open-list = empty) then return fail
else
n = first_node(open-list); /* ia primul nod n din lista deschisă */
if (goal(n)) then return success; /* goal(n) este o funcţie logică care returnează adevărat (T) dacă
n este ţelul şi fals (F) altfel */
remove(n, open-list);
se adaugă la coada lui open-list toţi copiii lui n care nu sunt in open-list cu pointeri asociaţi
nodului n;
}

În limba engleză termenul folosit este breadth-first-search.

63
Exemplu:

Dacă pornim din nodul a atunci putem executa următoarele traversări de tip I în lăţime pe care le
putem reprezenta prin următoarele şiruri:

abcdefg
abcdfeg
acbdefg
acbdfeg
dbefagc

Facem menţiunea că traversarea mai întâi în lăţime poate fi aplicată pornind din orice nod de
exemplu una din traversările întâi din lăţime care pornesc din d poate fi reprezentată prin şirul:

dbefagc

Traversarea în adâncime

Procedura de traversare în adâncime poate fi deschisă astfel: (similar ca la traversarea în lăţime


cu o singură excepţie):

♦ se formează mai întâi un şir constând dintr-o cale de lungime nulă, care conţine doar nodul
rădăcină;
♦ până când prima cale în şir se termină la nodul ţel sau şirul este gol:
♦ îndepărtează prima cale din şir;
♦ creează noi căi, extinzând prima cale către toţi vecinii nodului terminal;
♦ respinge toate căile noi cu bucle;
♦ adaugă noile căi, dacă există, în fruntea şirului;
♦ dacă se găseşte nodul ţel se anunţă succes, altfel se anunţă eşec.

În pseudo-cod procedura arată astfel:

64
Se inserează nodul start în lista deschisă;
while ( )
{
if (open-list = empty) then return fail
else
n = first_node(open-list); /* ia primul nod n din lista deschisă */
if (goal(n)) then return success; /* goal(n) este o funcţie logică care returnează adevărat (T) dacă
n este ţelul şi fals (F) altfel*/
remove(n, open-list);
se adaugă în fruntea lui open-list toţi copiii lui n care nu sunt în open-list cu pointeri asociaţi
nodului n;
}

Exemplu:

abdegfc
abdfgec
acbdegf
acbdfge

Fie următorul graf:

65
Căutarea în adâncime: S, A, B, C, E, D, F, G

Arborele de căutare pentru metoda de căutare-întâi-în-adâncime

5.8. Arbori

Din punct de vedere informal, un arbore este o structură similară cu un arbore real, exemplu: arborele
genealogic al unei familii.

Obişnuim să desenăm arborii cu vârful în jos conform figurii următoare. Din punct de vedere formal, un
arbore este un graf conex care nu are cicluri. Arborii aduc cu ei o terminologie specifică şi anume
elementele sunt numite noduri, iar legăturile dintre noduri sunt ramuri. Nodul care se află în vârf se
numeşte rădăcină. Nodurile care se află imediat dedesuptul unui nod se numesc copiii săi, iar nodul
imediat deasupra unui nod dat se numeşte nod părinte. Dacă un nod nu are copii, atunci se numeşte nod
frunză. Introducem de asemenea termenii de înălţime sau adâncime a unui arbore ca fiind lungimea căii
calei mai lungi ce porneşte de la nodul rădăcină şi se termină la un nod frunză [1].

66
Părţi ale unui arbore

Fie arborele din figura precedentă. Considerăm A – rădăcină, copiii din A sunt B, C şi D. Părintele lui F
este B. Frunzele sunt E, F, J, H şi I. Înălţimea (adâncimea) acestui arbore este egală cu 3.

Este util uneori să definim subarbori: dacă X este un nod într-un arbore T, atunci X împreună cu toţi
descendenţii săi formează un arbore S având X ca şi rădăcină. S este numit subarborele lui T. Dacă y este
părintele lui x atunci S este uneori numit un subarbore a lui y [1].

În figură am reprezentat un subarbore a arborelui precedent. Din moment ce A este părintele lui B, putem
să afirmăm că acest arbore este un subarbore a nodului A. În situaţia în care nu ţinem cont de ordonarea
copiilor unui arbore, atunci în acele situaţii arborele poate fi numit un arbore neordonat. Un arbore se
numeşte ordonat dacă există o ordonare unică a copiilor fiecărui nod. Un exemplu de reprezentare prin
arbori ordonaţi se întâlneşte la expresii algebrice. Expresia x – y poate fi reprezentată printr-un arbore a
cărui rădăcină este semnul „–” şi de la care pornesc doi subarbori, unul pentru x în stânga şi unul pentru y
în dreapta. Remarcăm că ordonarea este foarte importantă deoarece spre exemplu operaţia de scădere nu
este comutativă.

De exemplu, în figură s-a arătat modalitatea de a exprima două expresii: 3 – (4 + 8) şi respectiv (4 + 8) –


3.

5.9. Reprezentarea arborilor

Se pune problema de a reprezenta un arbore sub forma unui obiect de date. Ideea de bază în orice
reprezentare este de a putea restabili arborele în final pe baza reprezentării sale. O metodă este de a scrie
arborele ca o listă a cărui prim element este rădăcina şi a cărui elementele următoare sunt liste ce
reprezintă sub-arbori ale rădăcinii [1].

Spre exemplu: Arborele având un singur nod r este reprezentat prin <r>, iar lista reprezentării arborelui
pentru expresia algebrică a – b este < –, <a>, <b> >.

Într-un alt exemplu, expresia 3 – (4 + 8) este

67
< –, <3>, < +, <4>, <8> > >.

Un exemplu mai complicat invocă reprezentarea arborelui prin următoarea listă [1]:

T = < r, < b, <c>, <d> >, <x, < y, <z> >, <w> >, < e, <u> > >.

Remarcăm că T are ca rădăcină pe r din care se pot forma următorii 3 subarbori:

< b, <c>, <d> >


< x, < y, <z> >, <w> >
<e, <u>>

În mod similar < b, <c>, <d> > are ca rădăcină pe b, care are doi copii, c şi d. Se poate astfel continua
obţinându-se arborele din figură.

Reprezentarea pe calculator a arborilor

Să reprezentăm un arbore ca şi o listă şi să vedem dacă aceasta se poate la rândul ei înscrie în memoria
unui calculator. Să considerăm arborele T din figură [1]:

În memoria calculatorului arborele T se desfăşoară astfel:

Avem T = < a, <b>, <c>, <d, <e> > >. În continuare în mod similar ca prezentare (vezi paragraful
anterior) folosind aceeaşi notaţie avem figura [1]:

68
5.10. Arbori binari

Un arbore binar este un arbore ordonat care poate fi fie vid fie are proprietatea că fiecare nod are
doi subarbori numiţi stâng şi drept şi care la rândul lor sunt arbori binari. Arborele binar vid se
defineşte implicit ca lista < >.

Din moment ce fiecare nod are doi subarbori, reprezentăm un arbore binar nevid ca şi o listă cu
trei elemente de următoarea formă: <L, X, R>, unde X este rădăcina, L este subarborele stâng şi
R subarborele drept.

În situaţia în care am avea un arbore doar cu nodul x atunci l-am reprezenta cu lista < < >, x, < >
>. Când desenăm un arbore binar uneori obişnuim să omitem subarborii vizi.

De exemplu: Fie următorul arbore reprezentat prin lista: < < < >, a, < > >, b, < > >.

În mod normal:

69
Reprezentarea pe calculator a arborilor binari

Un arbore binar reprezentat sub forma unei liste poate fi reprezentat considerând următorul
exemplu:

Din moment ce fiecare nod are doi subarbori, reprezentăm un arbore binar nevid ca şi o listă cu
trei elemente de următoarea formă: <L, x, R>, unde x este rădăcina, L este subarborele stâng şi R
subarborele drept. De exemplu, arborele cu un singur nod x se reprezintă <<>, x, <>>. Arborele
T din figură se reprezintă prin lista: T = <<<d>, b, <e>>, a, <c>>

În memoria calculatorului va apare [1]:

Arbori binari de căutare

Arborii binari pot fi utilizați pentru reprezentarea mulțimilor a căror elemente pot avea a anumită
ordine. În acest caz, se definește arborele binar de căutare cu proprietatea că pentru fiecare nod
element al arborelui, fiecare nod din subarborele său stâng precede nodul element și fiecare nod
din subarborele drept succede nodul element. În figura de mai jos este reprezentat un arbore
binar, cu adâncimea 2, în care prin 3 litere sunt abreviate cele 6 luni ale anului în ordinea
alfabetică FEB, IAN, JUL, NOV, OCT, SEP [1].

70
5.11. Arbori de acoperire

Există o teoremă care afirmă că un graf admite un graf parţial care este un arbore dacă şi numai dacă el
este conex. Un astfel de arbore se numeşte arbore parţial. În aplicaţiile din ştiinţa calculatoarelor
preferăm denumirea de arbore de acoperire. Termen provenit din literatura de limbă engleză (spanning
tree).

Teorema anterioară permite să se construiască convenabil un arbore de acoperire al unui graf. Dacă graful
G este conex, căutăm dacă există o muchie care prin înlăturarea ei să transforme graful într-un neconex.
Dacă o astfel de muchie nu există, G este un arbore. Dacă ea există o suprimăm şi căutăm o nouă muchie
pentru a o înlătura etc [1].

În figura de mai sus, este reprezentat un graf urmat de doi arbori de acoperire. Acest exemplu arată că un
graf poate avea mai mulţi arbori de acoperire. Fiecare din cei doi arbori satisfac definiţia dată şi anume
constituie câte un subgraf care este un arbore care conţine toate nodurile grafului. În situaţia în care avem
un graf conex a cărui muchii sunt ponderate, putem defini un arbore de acoperire minim (arbore parţial cu
valoare totală minimă), astfel încât suma ponderilor muchilor să fie minimă din mulţimea tuturor arborilor
de acoperire.

Considerăm un graf neorientat, conex, G = (V, E) şi pentru fiecare muchie (u, v)  E avem un cost w(u,v)
specificând costul necesar conectării între u şi v. Dorim să găsim o submulţime aciclică T  E care
conectează toate vârfurile şi al cărei cost total w(T )   w(u, v)
( u , v )T
este minimizat. Deoarece T este

aciclică şi conectează toate vârfurile, ea va forma un arbore, numit arbore de acoperire, deoarece
„acoperă” graful G. Problema determinării arborelui T o vom problema arborelui de acoperire minim.

Dezvoltarea unui arbore de acoperire minim

Să presupunem că avem un graf neorientat conex G = (V, E), cu o funcţie de cost w : E → R şi dorim să
găsim un arbore de acoperire minim pentru G. Vom folosi algoritmi de generare care folosesc o abordare
de tip „greedy” a problemei, deşi diferă prin modul în care implementează această abordare [15].

71
Această strategie „greedy” este implementată de următorul algoritm „generic”, care dezvoltă arborele de
acoperire minim adăugând o muchie o dată. Algoritmul foloseşte o mulţime A care este întotdeauna o
submulţime a unui arbore de acoperire minim. La fiecare pas este determinată o muchie (u,v), care poate
fi adăugată la A, respectând proprietatea de mai sus, în sensul ca A  (u, v) este, de asemenea, o
submulţime a unui arbore de acoperire minim. Numim o astfel de muchie o muchie

Algoritmul de tip greedy se descrie în pseudo-cod astfel:

AA-Generic(G,w)
A<-0
while A nu formează un arbore de acoperire do găseşte o muchie (u,v) sigură pentru
A<- A  (u, v)
return A

Algoritmii de tip greedy sunt prezentaţi în literatură purtând numele autorului care i-a descoperit [15].

Algoritmul lui Kruskal

Intrare: un graf conex G=(V, E) cu costuri w


Ieşire: ET, mulţimea muchiilor constituind arborele de acoperire minim al lui G
Sortează muchiile din E în ordinea crescătoare a costurilor w(ei1) ≤ … ≤ w(ei|E|)
ET ← Ø; contor ← 0 //iniţializează mulţimea muchiilor si mărimea ei
k←0
while contor < |V| - 1
k ← k +1
if ET  {eik} este aciclic
ET ← ET  {eik}; contor ← contor + 1
returnează ET

Fie graful:

Folosim algoritmul lui Kruskal pentru a construi un arbore minim de acoperire şi presupunem pentru
acesta că muchile au fost sortate în următoarea ordine: {a,e},{b,d},{c,d},{a,b},{a,d},{e,d},{b,c}.

În tabelele următoare se arată dezvoltarea de acoperire ET pornind de la valorile în momentul iniţializării:

{}
{{a,e }}
{{a,e},{b,d}}
{{a,e},{b,d},{c,d}}
{{a,e},{b,d},{c,d},{a,b}}

72
Algoritmul lui Prim

Intrare: un graf conex G=(V, E) cu costuri w


Ieşire: ET, mulţimea muchiilor constituind arborele de acoperire minim al lui G
VT ← {v0} //mulţimea nodurilor arborelui poate fi iniţializată cu oricare nod
ET ← Ø
for i ← 1 to |V| - 1do
găseşte o muchie de cost minim e* = (v*, u*) dintre toate muchiile (u,v) astfel încât vVT şi
u{V-VT}
VT ← VT  {u*}
ET ← ET  {e*}
returnează ET

Algoritmul lui Prim porneşte din oricare din noduri şi caută o muchie care are costul minim conectat la
acel nod. Adaugă muchia arborelui şi apoi continuă încercând să găsească noi muchii de pondere minimă,
astfel încât un nod să se afle în arbore şi celălalt în afara lui.

Algoritmul lui Prim se poate de asemenea utiliza pentru a găsi un arbore de acoperire la un graf fără
ponderi. Acest lucru se realizează asigurând o pondere de valoarea 1 tuturor muchilor din graf. Exemplu:

1) Se cere să se construiască arborele de acoperire minim pentru graful de mai sus.

Algoritmul se opreşte deoarece W=V. Astfel, S este un arbore de acoperire.

2) Aplicaţi algoritmul lui Prim şi Kruskal pentru a găsi arborele de acoperire minim al grafului [15]:

73
Noduri Coada de prioritate a nodurilor

a(-,-) b(a,3) c(a,5) d(a,4)


b(a,3) c(a,5) d(a,4) e(b,3) f(b,6)
e(b,3) c(a,5) d(e,1) f(e,2) i(e,4)
d(e,1) c(d,2) f(e,2) i(e,4) h(d,5)
c(d,2) f(e,2) i(e,4) h(d,5) g(c,4)
f(e,2) i(e,4) h(d,5) g(c,4) j(f,5)
i(e,4) h(d,5) g(c,4) j(i,3) l(i,5)
j(i,3) h(d,5) g(c,4) l(i,5)
g(c,4) h(g,3) l(i,5) k(g,6)
h(g,3) l(i,5) k(g,6)
l(i,5) k(g,6)
k(g,6)

Arborele de acoperire minim cu algoritmul lui Prim cuprinde muchiile: ab, be, ed, dc, ef, ei, ij, cg, gh, il,
gk.

74
75
Exerciții şi probleme

1. Găsiți grafuri planare cu număr minim de noduri care au numerele cromatice 1, 2, 3, și


4.

2. Care este numărul cromatic al grafului care reprezintă harta României. Explicați
răspunsul.

3. Încercați să găsiți condiția necesară și suficientă pentru un graf nedirecționat de a avea


o cale Euler. Indicație: Uitați-vă la gradele nodurilor.

4. Încercați să găsiți condiția necesară și suficientă pentru un graf nedirecționat de a avea


un circuit Euler. Indicație: Uitați-vă la gradele nodurilor.

3. Fie următorul graf [1]:

a. Arătați cum se realizează traversarea în lățime pornind din nodul f.


b. Arătați cum se realizează traversarea în adâncime pornind din nodul f.

3. Fie expresia algebrică a x (b + c) – (d / e). Reprezentați expresia printr-un arbore. În


continuare, reprezentați arborele printr-o listă.

4. Desenați arborele care este reprezentat prin lista:

<a, <b, <c>, <d, <e>> >, <r, <s>, <t>>, <x>>.

5. Fie următorul graf ponderat [1]:

Găsiți doi arbori minimi de acoperire distincți.

76
CAPITOLUL 6

FUNCŢII

6.1. Definiţie

Funcţiile deţin un loc central în matematică. În acest capitol suntem interesaţi în a introduce câteva
funcţii precum şi proprietăţi ale funcţiilor cu aplicabilitate în domeniul ştiinţei calculatoarelor.

Denumirea de funcţie a fost introdusă de Leibniz prin 1692. Fie două mulţimi X şi Y. Dacă pentru
fiecare element x din X, asociem exact un element y din Y, atunci am realizat o ceea ce numim o
funcţie de la X la Y. Funcţiile se notează de regulă prin litere, spre exemplu f, g, h. Astfel, dacă xX
şi yY putem scrie funcţia f(x) = y, şi spunem că f este aplicată lui x şi are valoarea y. Funcţia mai
poate fi numită şi transformare, mapare sau operator. Ideea de bază, însă, în definiţia unei funcţii este
că fiecare element din X este asociat exact cu un element din Y.

Reprezentarea funcţiilor

De exemplu, asocierea fiecărui număr natural cu pătratul său

Următoarele asocieri definesc o funcţie g de la A ={a,b,c} la B={1,2,3}:

Putem descrie o funcţie printr-un desen. De exemplu, o funcţie g poate fi descrisă în trei feluri, prin
diagrame Venn, digrafuri sau grafuri carteziene, astfel [1]:

Exemple de asocieri care nu sunt funcţii:

77
6.2. Exemple de funcţii

Funcţii Booleene

În algebra booleană lucrăm pe mulţimea de valori booleene B={0, 1}.

O funcţie booleană cu n intrări şi m ieşiri este o funcţie matematică f:Bn->Bm.

Deoarece domeniul şi codomeniul unei astfel de funcţii sunt mulţimi discrete, funcţiile booleene pot fi
definite prin tabele de adevăr:

x y f(x, y)
001
010
101
111

Numărul de funcţii booleene cu n intrări şi m ieşiri este |Bm||Bn|, adică (2m)2n.

De exemplu, pentru n=2 variabile şi m=1 ieşiri avem 222=24=16 funcţii booleene posibile:

x y f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15


0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
id x AND x XOR x OR x NOR NOT NOT x NAND
x y x=y y=>x x=>y id 1
0 y y y y y x y

Tuplele sunt funcţii

Tuplul (22, 14, 55, 1, 700, 67) poate fi văzut ca o listare a valorilor funcţiei:

unde f este definit de egalitatea

78
6.3. Proprietăţile funcţiilor

Functia injectivă

Definitie:
Fie f : A→ B o functie, f este o functie injectivă sau, este o injecţie, dacă pentru oricare două
elemente x si y ale lui A, x≠y, avem f(x)≠f(y) [1].
Proprietăti:
Dacă x si y sunt elemente oarecare din A cu proprietatea f(x) = f(y), atunci rezultă x = y.
O functie f : A→ B nu este injectivă dacă există cel putin două elemente x si y din A, x ≠y, astfel
încât f(x) = f(y)

Functia surjectivă

Definitie:
Fie f : A→ B o functie, f este o functie surjectivă sau, o surjecţie, dacă pentru oricare element bB
există cel putin un element aA, astfel încât f(a) = b [1].

Functia bijectivă

Definitie:
O functie f : A→ B care este simultan injectivă si surjectivă se numeste functie bijectivă sau,
bijecţie [1].

79
6.4. Compunerea funcţiilor

Considerăm functiile f : A → B si g : B → C, unde domeniul de valori al functiei f coincide cu


domeniul de definitie al functiei g.

Fie a un element al multimii A. Elementul f(a) apartine multimii B, în acest caz functia g îi asociază
acestuia un element din multimea C, anume g(f(a)). În acest fel, putem asocia oricărui element unic a
 A, un element unic din multimea C, anume f(g(a)).

În acest fel am definit o functie h al cărui domeniu de definitie este cel al functiei f, iar domeniul de
valori este cel al functiei g.

Deci, h : A → C, unde h(a) = g(f(a)) pentru orice a  A.

Functia h astfel definită se notează cu g o f si se numeste compunerea functiei g cu functia f

Date fiind următoarele trei functii f : A →B, g : B → C, si h : C → D, atunci functiile h o (g o f), (h o


g) o f au sens si între ele are loc egalitatea: h o (g o f)=(h o g) o f.

6.5. Funcţia inversă

Fie o multime oarecare A, functia identică a multimii A (1A) se va nota astfel: 1A : A → A, 1A(a) = a
pentru orice a  A.

Definind o multime A si 1A functia sa identică, atunci vom avea proprietătile:

1. Oricare ar fi multimea B si functia f : A → B, atunci f o 1A = f.


2. Oricare ar fi multimea C si functia g : C → A, atunci 1A o g = g.

Definitie
Functia f : A → B este inversabilă dacă există o functie g, g : B → A ce îndeplineste conditiile: g
o f = 1A si f o g = 1B.
Functia g se numeste inversa functiei f si se notează cu f -1
Functia f, f : A → B este inversabilă dacă si numai dacă este bijectivă.

6.6. Funcţii şi calculabilitate

Elaborarea unui model şi analiza acestuia sunt subiectele principale în teoria oricărei ştiinţe. Este util
de a analiza conceptul de funcţii calculabile. Pentru început, putem reprezenta conceptual printr-o
schemă bloc ca în figură o varietate de modele de dispozitive de calcul. La acest nivel al modelării,
dispozitivul calculează funcţia f : X → Y definită de f(x) = y, unde x este obiectul de intrare de tipul X
(x  X), iar y este obiectul de ieşire de tipul Y (y  Y).

x y
f

Modelul general de calculabilitate

80
Pentru anumite dispozitive, funcţia f va fi o funcţie parţială, adică pentru anumite intrări x, funcţia nu
este definită sau nu produce o ieşire. Vom nota în acest caz funcţia cu f(x). Similar, scriem f(x), ori
de câte ori f este definită pentru intrarea x. Setul tuturor intrărilor pentru care funcţia f este definită se
numeşte domeniul funcţiei şi vom nota domf = {x : f(x)}. Mulţimea valorilor funcţiei este definită de
condiţia valf = {y : x  domf, y = f(x)}.

Putem de asemenea să modelăm dispozitive de calcul cu multiple intrări şi ieşiri. Modelul general este

x1 y1
f
xn ym

Modelul general de
calculabilitate cu
multiple intrări şi ieşiri.
prezentat in figura alăturată. Dispozitivul calculează funcţia f : X1  ...  Xn  Y1  ...  Ym, definită de
f(x1, ... xn) = (y1, ... ym), unde prin simbolul  înţelegem produsul cartezian. În acest caz, x1, ... xn sunt
obiecte de tipul X1, ... Xn (x1  X1, ... xn  Xn), iar y1, ... ym sunt obiecte de tipul Y1, ... Ym.

Din moment ce X1  ...  Xn este doar un anumit set X, iar Y1  ...  Ym este un anumit set Y, rezultă că
dispozitivul cu mai multe intrări şi ieşiri poate fi văzut ca o descriere mai detaliată a unui dispozitiv cu
o singură intrare şi ieşire, unde intrarea este un n-tuplu de obiecte iar ieşirea este un m-tuplu de
obiecte.

În afară de calculul funcţiilor, putem aplica de asemenea conceptul de calculabilitate pentru „calculul
mulţimilor”. Problema este interesantă deoarece o mulţime este o colecţie de obiecte distincte, dar
care poate fi tratată ca o unitate, sau ca un singur obiect. Astfel, fiind dat un set X, definim în acest
sens o funcţie caracteristică a lui X, notată λ(x), sub forma: λ(x) = 1, dacă x  X, respectiv λ(x) = 0,
dacă x  X. Ideea de „calcul” a setului X se poate defini în condiţiile existenţei unei funcţii calculabile
f, care poate satisface una din următoarele relaţii:

(1) f = λ(x); dispozitivul calculează funcţia caracteristică a setului X.


(2) domf =X; dispozitivul acceptă la intrare sau recunoaşte setul X.
(3) valf = X; dispozitivul generează setul X.

6.7. Conceptul de algoritm


Noţiunea de algoritm apare definită formal relativ recent (secolul XX). Rădăcina cuvântului provine
de la numele unui matematician persan, Abu Ja’far Mohammed ibn Musâ al-Khowârizm. Tratatul lui
se numeşte „Kitab al-jabr wa’l-muqabala“. Cea mai directă şi precisă formulare a conceptului de
algoritm apare prin 1930, în tratatele matematicianului Alan Turing, chiar dacă, în matematică,
algoritmii datează din antichitate. Algoritmul reprezintă, în esenţă, o modalitate de a rezolva
problemele şi poate fi caracterizat prin următoarele [12]:
— este o procedură sistematică aplicabilă în general la orice mărime de numere;
— în orice caz particular procedura se termină;
— se obţine un răspuns definit într-un număr finit de paşi;
— la fiecare pas sunt clar definite operaţiile care trebuie executate;
— decizia în momentul în care procesul se termină poate fi clar luată;

81
— descrierea întregii proceduri poate fi prezentată în termeni finiţi, în ciuda faptului
că se poate aplica la numere de orice mărime.
Ce este algoritmic pentru o reprezentare a numerelor este, de asemenea, algoritmic şi pentru o altă
reprezentare.
Conceptul de algoritm, în general, este asociat istoric cu termenul de maşină Turing. Aceasta este mai
degrabă o abstractizare matematică decât un obiect fizic şi a fost concepută de Alan Turing în 1935—
1936 pentru a răspunde vestitei probleme propusă de marele matematician german David Hilbert.
Problema propusă de David Hilbert, numită „Entscheidungsproblem“, este enunţată astfel: există oare
o procedură mecanică generală, care ar putea, în principiu, să rezolve toate problemele de matematică
(aparţinând unei anumite clase convenabil clar definite), una după alta? Alan Turing, Alonso Church
şi Kurt Gödel au răspuns fiecare problemei lui Hilbert.

6.8. Maşina Turing


Turing a remarcat dificultatea de a decide ce este o procedură mecanică, cum poate fi formalizat
conceptul unei maşini, astfel încât operaţiile sale să poată fi descrise în termeni elementari. Turing a
privit creierul uman ca un exemplu de maşină, astfel încât orice activităţi ar putea fi îndeplinite de
matematicieni în rezolvarea problemelor, acestea ar putea fi conduse de o procedură mecanică.
Conceptul lui Turing se referă la o maşina idealizată matematică. Aceasta cuprinde [12]:
- un set finit de stări interne;
- deşi are un set finit de stări, maşina trebuie să fie capabilă să trateze cu intrări
nerestricţionate în mărime;
- să fie capabilă să apeleze un spaţiu de stocare extern nelimitat;
- să producă o ieşire de mărime nelimitată.
Turing şi-a imaginat maşina sa ca un fel de robot. Maşina Turing are un dispozitiv de citire, un
dispozitiv de scriere, un dispozitiv de ştergere şi admite o banda de hârtie de lungime infinită.

Maşina Turing

Banda e marcată în pătratele şi în fiecare pătrăţel există câte un semn. Banda se poate deplasa înainte
şi înapoi. Aceeaşi bandă poate fi folosită ca intrare, ca dispozitiv extern de stocare, şi ca ieşire prin
ştergere şi reînscriere a semnelor. Turing nu face o clară distincţie între intrare şi stocare externă,
deoarece în multe operaţii rezultatele intermediare pot juca un rol identic ca şi o intrare. Când
calculele sunt terminate, dispozitivul se opreşte şi răspunsul e afişat de o parte a dispozitivului de
citire. Banda de hârtie a fost presupusă infinită deoarece şi foile utilizate de un matematician pot fi
nenumărate, dar numărul de semne de pe ea este finit.
Vom presupune, pentru simplitate, că semnele sunt doar 1 si 0 (0 este ‘blank’). Comportarea maşinii
este complet determinată de starea sa internă şi de intrare. Dacă notăm diferitele stări interne prin
etichete notate zecimal, operaţia maşinii Turing va fi complet specificată de o anumită listă.

82
Exemplu: maşina UN+1 care incrementează un număr unar (iniţial ea se află în starea zero). Cu cifra
mică (prima cifra) vom nota stările, iar cu cifra mare (cea de-a doua cifră) notăm semnele de pe
bandă. Cu R şi L vom reprezenta deplasarea dispozitivul la dreapta şi respectiv stânga. In figură se
arată funcţionarea maşinii pentru numărul 3 aflat iniţial pe bandă. Maşina este descrisă prin
următoarea secvenţă [12]:

00 => 00R - se deplasează la dreapta (şterge 0 si scrie apoi 0)

01 => 11R

10 => 01STOP

11 => 11R

Pas 1 ... 0 0 0 0 1 1 1 0 ... Stare 0, R
Pas 2 ... 0 0 0 1 1 1 0 0 ... Stare 1, R
Pas 3 ... 0 0 1 1 1 0 0 0 ... Stare 1, R
Pas 4 ... 0 1 1 1 0 0 0 0 ... Stare 1, R
Pas 5 ... 1 1 1 0→1 0 0 0 0 ... Stare 0, STOP

Funcţionarea maşinii UN+1.

Un alt exemplu de program pentru adunarea a două numere în cod unar este reprezentat în continuare:
00 => 00R
01 => 10R
0+ => 00STOP
10 => 21L
11 => 11R
1+ => 1+R
20 => 00R
21 => 21L
2+ => 2+L

Intrarea şi ieşirea maşinii de adunare


a numerelor unare

83
Maşina va deplasa toate semnele de 1 din stânga semnului plus în dreapta celui de-al doilea număr
reprezentat în unar. Semnul "+" va fi şters.

Definiţia formală a maşinii Turing


O maşină Turing (MT) standard este definită ca un 7-tuplu M = (Q, Σ, Γ, δ, q0, β, F), unde Q este
mulţimea de stări interne, Σ este alfabetul de intrare, care nu conţine simbolul blanc β (Σ ⊆ Γ − { β}),
Γ este alfabetul simbolurilor de pe bandă, δ este funcţia de tranziţie, δ: Q × Γ → Q × Γ × {L, R} (L şi
R denotă deplasarea benzii la stânga, respectiv la dreapta), q0  Q este starea iniţială sau de start, β
este simbolul blanc, iar F este mulţimea stărilor finale sau acceptoare.
Să considerăm, de exemplu, o MT definită de:
Q = {q0, q1},
Σ = {a, b},
Γ = {a, b, β},
δ(q0, a) = (q0, b, R),
δ(q0, b) = (q0, b, R),
δ(q0, β) = (q1, β, L),
F = {q1}.
Dacă aplicăm la intrare şirul w = aabb, MT se va comporta astfel:

6.9. Teza Church-Turing


Dacă s-a stabilit cum se pot construi maşini Turing care îndeplinesc operaţii aritmetice şi logice
simple, atunci se pot uşor imagina masini care execută sarcini mai complicate, de natură algoritmică.
Turing afirmă că o maşină de acest tip poate fi facută în acest fel să îndeplinească orice operaţie
mecanică. Adjectivele computabil, recursiv, efectiv, asociate cu substantivul algoritm vor fi utilizate
în legătură cu operaţiile mecanice ce pot fi îndeplinite de astfel de tipuri de maşini teoretice. Clasa
operaţiilor îndeplinite sub aceste atribute va fi exact aceeaşi şi dacă se lărgeşte definiţia maşinilor în
toate privintele. Apare conceptul de paralelism; se câstigă în eficienţă, viteză, performanţe de calcul,
natura operaţiilor rămâne însă neschimbată.
Întrebarea fundamentală care se pune este dacă acest concept al maşinii Turing încorporeaza în
realitate fiecare operaţie aritmetică şi logică pe care am dori să o numim mecanică.

84
Ideile lui Alonzo Church, Emil Post, şi Alan Turing s-au dovedit a fi echivalente şi soluţiile lor s-au
dovedit apropiate. Astfel s-a concretizat ceea ce avea să se numească ‘teza Church-Turing’ şi care
constă în ideea că o maşină Turing sau echivalentă defineşte în realitate ceea ce înţelegem matematic
prin procedură algoritmică (efectivă, recursivă, mecanică).
În acest context se poate pune întrebarea dacă sistemele fizice reale care includ şi creierul uman şi
care se supun legilor precise ale fizicii sunt capabile să îndeplinească mai multe, mai puţine sau
aceleaşi operaţii ca maşinile Turing.

6.10. Maşina Turing universală


Ideea de bază este de a codifica o listă de instrucţiuni pentru o maşină arbitrară T într-un şir de 0 si 1
ce pot fi reprezentate pe o bandă. Aceata bandă e utilizată apoi ca parte iniţială de intrare pentru o
anumită maşină Turing particulară U, numită maşină Turing universală, care apoi acţionează asupra
restului intrării exact cum ar fi acţionat maşina T. Maşina Turing universală este o "imitaţie"
universală. Partea iniţială a benzii dă maşinii universale U completa informaţie de care are nevoie
pentru ca ea să imite exact orice maşina dată T [12].
Este necesar de a găsi o modalitate matematică de a numerota maşinile Turing. Considerăm o listă de
instrucţii pentru o maşină particulară:
R,L,=>,STOP;
starile 0 si 1.
Pentru a face economie, "=>" nu mai e codificată şi nici simbolurile care o preced imediat, bazându-se
în schimb pe originea numerică a instrucţiilor pentru a specifica care trebuie să fie aceste simboluri.
Pentru aceasta trebuie să ne asigurăm că nu există pauze în aceasta ordine, furnizând instrucţiuni
suplimentare inactive. Se propune următoarea codificare:

0 pentru 0;
10 pentru 1;
110 pentru R;
1110 pentru L;
11110 pentru STOP.

Pentru a îmbunătăţi codificarea, mai putem să lăsăm afară 00, care fără ambiguitate poate fi codificat
cu un singur 0 sau, chiar mai mult, poate fi omis. Primul grup de digiţi din orice maşină poate fi şters,
pentru că este identic la toate maşinile. De asemenea, se poate şterge şi 110 din final. Prin urmare,
rezultă în urma codificării listei de instrucţii un număr n, care reprezintă a n-a maşină Turing.
Pentru masina "UN+1" codificarea e următoarea:
101011010111101010=177642, deci maşina "UN+1" este a 177642-a maşina Turing.
Observaţii: rezultă că vasta majoritate a primelor numere naturale nu dau deloc maşini Turing
funcţionale.
Fie, de exemplu, următoarea listă a primelor 13 maşini Turing:
T0: 00 => 00R, 01 => 00R

85
T1: 00 => 00R, 01 => 00L
T2: 00 => 00R, 01 => 01R
T3: 00 => 00R, 01 => 00STOP
T4: 00 => 00R, 01 => 10R
T5: 00 => 00R, 01 => 01L
T6: 00 => 00R, 01 => 00R, 10 => 00R
T7: 00 => 00R, 01=> ???
T8: 00 => 00R, 01 => 100R
T9: 00 => 00R, 01 => 10L
T10: 00 => 00R, 01=> 11R
T11: 00 => 00R, 01=> 01STOP
T12: 00 => 00R, 01 => 00R, 10 => 00R
Maşinile T0-T2 nu sunt "utile", pentru că nu se opresc niciodată. O maşină Turing se presupune că se
opreşte. Maşina T3 este prima maşină Turing care se opreşte (la primul semn pe care îl întâlneşte îl
şterge şi se opreşte). Maşina T4, după primul 1 intră în starea 1 în care nu ştie ce să facă. Maşinile
T8-T10 au aceeaşi problemă. Maşina T7 este incorect specificată, pentru că şirul de 0 şi 1 din codul ei
implică o secvenţă de cinci de 1 succesivi pentru care nu există nici o interpretare, deci maşina se va
bloca la "vederea" primului 1 pe bandă. Maşinile T5,T6,T12 au probleme similare cu T0-T2. Doar
maşinile T3 si T11 sunt funcţionale. Maşina T12 este identică cu T6.
Să considerăm acţiunea maşinii Turing T4 asupra unei secvenţe finite de 0 şi 1 pe bandă care sunt
alimentate de la dreapta. Vom privi acest şir ca un număr m, conform cu schema dată anterior. Să
presupunem că după o succesiune de paşi maşina T4 ajunge să se oprească. şirul de digiţi produşi de
maşină la stânga reprezintă rezultatul calcului efectuat. Să citim acest număr de asemenea ca o
reprezentare binară şi fie el numarul p. Prin urmare, putem scrie relaţia care exprimă faptul că atunci
când a n-a maşină Turing acţionează asupra lui m va produce numărul p.
Tn(m)=p.
Vom considera această relaţie ca exprimând o operaţie particulară, care este aplicabilă perechilor de
numere n şi m în scopul de a produce numărul p. Având date două numere m şi n, putem determina
din el numărul p, "vazând" ce face a n-a maşină Turing asupra lui m. Această operaţie particulară este
în intregime o procedură algoritmică şi, deci, rezultă că poate fi îndeplinită şi de o anumită maşină
particulară U, adică U va acţiona asupra perechilor m şi n pentru a produce p. Maşina U va trebui să
examineze structura succesiunilor de digiţi în expresia lui n, astfel încât înlocuirea corespunzatoare în
digiţii lui m (adică banda lui Tn) să poată fi facută. Lista sa de instrucţiuni va furniza o modalitate de a
citi intrarea corespunzătoare codificată în numărul n şi va executa la fiecare pas modificarile
corespunzătoare asupra lui m în acelaşi mod ca şi când ar fi făcute de maşina Tn,
U(n,m) = Tn(m) = p,
relaţie care defineşte maşina Turing universală, valabilă pentru fiecare pereche (n,m) pentru care Tn e
o maşină Turing complet specificată. Maşina Turing U va imita perfect a n-a masină Turing.
Toate calculatoarele moderne de uz general sunt în realitate maşini Turing universale (alimentând
orice maşină U mai întâi cu un anumit program corespunzator - partea iniţială a benzii de intrare -
maşina poate fi facută să mimeze comportarea oricărei maşini Turing).

86
Observaţii: În descrierea noastră anterioară programul a luat forma doar a unui singur număr (numărul
n), dar în principiu sunt posibile şi alte proceduri, existând variaţii pe descrierea Turing originală.

6.11. Problema decidabilităţii opririi


Turing a conceput maşina sa în termenii dacă a decide dacă sau nu a n-a maşina Turing se va opri
vreodată atunci când acţionează asupra numărului m. Problema importantă este de a putea decide dacă
sau nu Tn aplicat lui m va da vreodată în realitate vreun răspuns.
Exemplu de maşini care nu găsesc la un moment dat o instrucţiune corespunzătoare care să le spună
ce să facă sunt T4,T7. Un alt exemplu este şi T3 pentru care avem nevoie cel puţin de un 1 pentru ca
rezultatului să-i fie asignat un număr. Astfel, maşina legitimă este T11. Ieşirea este banda pe care
apare 0.
T11(m) = 0, oricare ar fi m.
Fie de exemplu celebra teoremă a lui Fermat: Există un set de numere naturale w, x, y, z pentru care să
fie satisfacută ecuaţia (x+1)w+3+(y+1)w+3=(z+1)w+3? Această problemă a lui Fermat este o problemă
de computaţie. Fiind date numerele x, y, z, w se cere să se decidă prin calcul dacă ecuaţia se satisface.
Ne putem imagina un program de calculator care rulează până când se stabileşte egalitatea. Dacă noi
am putea să stabilim că acest algoritm nu se opreşte, atunci am demonstra teorema lui Fermat.
În principiu, există vreo procedură algoritmică care să răspundă la această întrebare generală a opririi
maşinii Turing şi care să dea răspuns într-un mod complet automat? Turing a aratat că nu există o
asemenea procedură [12].
Demonstraţie: se aplică metoda reducerii la absurd. Se presupune că există o asemenea procedură
algoritmică, care să poată stabili dacă o maşină se opreşte sau nu. Prin urmare, va trebui să existe o
anumită maşină H care să decidă dacă sau nu se opreşte a n-a maşină Turing, atunci când acţionează
asupra numărului m. Fie aceasta:
H(n,m)= 0, dacă Tn(m) nu se opreste
= 1, dacă Tn(m) se opreste.
Presupunem că există o asemenea procedură. Să ne imaginăm o arie infinită care listează toate ieşirile
tuturor maşinilor posibile ce acţionează asupra tuturor intrărilor diferite posibile. Al n-lea rând va
arăta ieşirea celei de-a n-a maşină ca urmare a aplicării diferitelor intrări 0, 1, 2, 3,... .
Observaţie: aria reprezentată este ipotetică. Această tabelă ar putea fi generată dacă am putea utiliza
presupusa maşină H care să Tn n-ar putea
fi făcut, pentru că nu am şti niciodată când să plasăm pătratul într-o poziţie, din moment ce calculele
merg la nesfârşit.
În continuare, se elimină semnele pătrat prin înlocuirea lor cu 0, adică precedând acţiunea lui Tn
asupra lui m prin calcularea lui H(n,m). Apoi vom permite să acţioneze Tn asupra lui m numai dacă
H(n,m)=1. Tn(m) x H(n,m) acţionează prima dată:

m => 0 1 2 3 4 5 6 7 8 ...
n
||
0 0 0 0 0 0 0 0 0 0 ...
1 0 0 0 0 0 0 0 0 0 ...

87
2 1 1 1 1 1 1 1 1 1 ...
3 0 2 0 2 0 2 0 2 0 ...
4 1 1 1 1 1 1 1 1 1 ...
5 0 0 0 0 0 0 0 0 0 ...
6 0 0 1 0 2 0 3 0 4 ...
7 0 1 2 3 4 5 6 7 8 ...
8 0 1 0 0 1 0 0 0 1 ...
...
Dacă H există, atunci rândurile din tabelă reprezintă o secventă computabila, adică o secventă infinită
care are secvenţele succesive generate de un algoritm. Mai mult, fiecare secvenţă computabilă de
numere trebuie să apară undeva în tabela (poate chiar de mai multe ori în cadrul rândurilor). Există o
maşină Q(n,m) care să fie egală cu Tn(m)xH(n,m). La această maşina, care a generat tabelul, aplicam
diagonala lui Cantor (din diagonala principală). Rezultă 0,0,1,2,1,0,3,7,1,..., la care adaugăm un 1. Se
obţine 1,1,2,3,2,1,4,8,2, operaţie care reprezintă o procedură computabilă. Ea va fi furnizată de
secvenţa
1+Q(n,m),
adică de secventa
1+Tn(m)xH(n,m),
unde n=m. Tabelul trebuie să conţină fiecare secvenţă computabilă, deci şi noua secvenţă trebuie să
fie undeva în listă. şi totuşi nu e asa, pentru că noua secvenţă diferă de primul rând prin prima intrare,
de al doilea rând prin a doua intrare ş.a.md., prin urmare rezultă o contradicţie cu ipoteza maşinii H.
Răspunsul la problema lui Hilbert dat de Turing este următorul: nu există algoritm universal pentru a
decide dacă o maşină Turing are să se oprească.
Aceeaşi problemă se poate demonstra şi în felul următor: presupunem că există H. Prin urmare,
trebuie să existe şi o maşină K pentru algoritmul diagonal 1+Q(n;m) astfel încât
1+Tn(n)xH(n;m)=Tk(n).
Dacă substituim n=k în această relaţie, obţinem:
1+Tk(k)xH(k;k)=Tk(k).
Aceasta însă e o contradicţie, deoarece dacă Tk(k) se opreşte, obţinem relaţia: 1+Tk(k)=Tk(k), care este
imposibilă, din moment ce H(k;k)=1, pentru că Tk(k) s-a oprit. Dacă Tk(k) nu se opreşte, atunci
H(k;k)=0, ceea ce conduce la relaţia: 1+0
Concluzie: problema lui Hilbert nu are soluţie. Algoritmii prin ei înşişi nu pot să decidă adevărul
matematic. Validitatea unui algoritm trebuie întotdeauna stabilită prin mijloace externe. Puterea de
decizie aparţine ingeniozităţii şi bunului simţ într-un caz dat, în schimb nu există nici un algoritm care
să funcţioneze pentru toate problemele matematice şi nici pentru toate maşinile Turing şi toate
numerele asupra cărora pot acţiona.

88
6.12. Limitele calculabilităţii
Fie următoarea întrebare: există oare funcţii care să nu poată fi programate într-un limbaj de
programare (Lisp)? Admitem Lisp şi exemple de funcţii cu argumente şi valori în mulţimea
expresiilor simbolice:
Raspuns: DA, dacă ne folosim de noţiunea de cardinal al unei mulţimi.
Mulţimea S-expresiilor este de acelaşi cardinal cu mulţimea numerelor naturale, deci şi mulţimea
funcţiilor calculabile în LISP care sunt reprezentate ca S-expresii nu poate depăşi acest cardinal. În
schimb, mulţimea funcţiilor cu argumente şi valori S-expresii are acelaşi cardinal cu mulţimea
numerelor reale; de aici rezultă că există funcţii care nu pot fi programate în LISP, [Str86].
Există oare funcţii care, intuitiv, să fie calculabile, dar care să nu poată fi programate în LISP? Prin
funcţie intuitiv calculabilă se înţelege o funcţie căreia îi putem găsi valori prin orice argument dat în
domeniul ei de definiţie, cu condiţia să dispunem de resurse finite de calcul, dar suficient de mari. Nu
putem demonstra faptul că orice funcţie intuitiv calculabilă poate fi programată în LISP pentru că
noţiunea de funcţie intuitiv calculabilă este intuitivă, informală, pe când cea de LISP calculabilă este o
noţiune formală, care poate fi riguros definită prin următoarele argumentări, afirmând doar: în LISP
poate fi programată orice funcţie intuitiv calculabilă. Rezultă o variantă pentru LISP a celebrei teze
Church-Turing, care arată echivalenţa dintre noţiunea de funcţie intuitiv calculabilă şi funcţie
programabilă în alte limbaje matematice (limbajul maşinilor Turing sau al funcţiilor parţial recursive).
Un exemplu de funcţie care nu poate fi programată în LISP şi, deci, pe nici un alt calculator, conform
cu teza Church-Turing, este un program care să semnaleze execuţia la infinit a unui program. Fie
funcţia:
(DEFUN CICLEAZA()
(PROG()
CICLU (GO CICLU)))
Se pune problema dacă nu am putea scrie un program care să ajute la testarea funcţiilor LISP şi care
să ne spună din start dacă o funcţie se opreşte şi dă rezultat sau ciclează pe un argument dat. Scriem
funcţia SE-OPRESTE care să aibă un argument funcţional FN şi o variabilă X şi care să întoarcă T
atunci când funcţia unară FN se opreşte şi dă un rezultat pentru valoarea X a argumentului, şi NIL în
caz contrar. Demonstraţia se face prin reducere la absurd. Presupunem că avem definită o astfel de
funcţie:
(DEFUN SE-OPRESTE (FN X) … )
Construim atunci următoarea funcţie în LISP, numită funcţie diagonală:
(DEFUN DIAG(X)
(COND ((SE-OPRESTE X X) (CICLEAZA))
(T)))
unde CICLEAZA este funcţia LISP care nu se opreşte niciodată. Dacă evaluăm (DIAG 'DIAG),
aceasta se opreşte şi întoarce rezultatul T dacă şi numai dacă (SE-OPRESTE 'DIAG 'DIAG) întoarce
NIL, ceea ce este adevărat conform ipotezei făcute asupra funcţiei SE-OPRESTE, dacă şi numai dacă
(DIAG 'DIAG) nu se opreşte sau ciclează. Acest lucru este absurd şi, ca urmare, rezultă că funcţia
SE-OPRESTE nu poate fi programată în LISP. Acestea sunt tipuri de probleme indecidabile.
Alt exemplu de problemă indecidabilă este programarea unei funcţii care să testeze egalitatea a două
funcţii, de exemplu a următoarelor:
(DEFUN F1(X) X) este egală cu (DEFUN F2(X) (CHAR(CONS X X)))
Nu se poate scrie un astfel de program. Apare deci indecidabilitatea problemei opririi şi echivalenţei.
Aceasta stabileşte limitele calculului algoritmic, constituind astfel un rezultat fundamental al teoriei
matematice a calculabilităţii.

89
Exerciţii şi probleme

1. Fie Z = {0, 1, 1, 2, 2, …} mulţimea tuturor întregilor. Definiţi o funcţie g: Z  Z prin
următoarea formulă:
1  m, daca m este un intreg par; altfel,
g (m)  
m  3, daca m este un intreg impar.
(Astfel, de exemplu, g(0) = 1  0 = 1; g(1) = 1 + 3 = 4; g(1) = 1 + 3 = 2 etc.)
Demonstraţi că funcţia g defineşte o bijecţie de la Z la Z; adică, demonstraţi că g este injectivă şi
g este surjectivă.

2. Tudor are 15 bile de ping-pong, fiecare unic numerotate cu un număr între 1 și 15. El are, de
asemenea, o cutie roșie, o cutie albastră, și o cutie verde. (a ) În câte feluri poate Tudor plasa
cele 15 bile distincte în cele trei cutii? ( b ) Să presupunem acum că Tudor a pus 5 mingi de
ping-pong în fiecare cutie. În câte feluri poate el alege 5 bile din cele trei cutii, astfel încât să
aleagă cel puțin una din fiecare cutie?
3. Fie f : A  B şi g : B  C două funcţii. Răspundeţi la cele două părţi ale problemei:
(a) Dacă ambele f şi g sunt injecţii, atunci demonstraţi că funcţia compusă g o f : A  C este
o injecţie.
(b) Dacă funcţia g o f : A  C este o surjecţie şi g este o injecţie, atunci demonstraţi că
funcţia f este o surjecţie. (Această parte este independentă de (a).)

4. (a) Câte funcții există de la o mulţime cu 3 elemente la o mulţime cu 8 elemente? (b)


Câte funcţii injective există de la o mulţime cu 3 elemente la o mulţime cu 8 elemente?
(c) Câte funcţii surjective există de la o mulţime cu 3 elemente la o mulţime cu 8
elemente?

90
CAPITOLUL 7

LOGICA TRADIŢIONALĂ

7.1. Procesul inferenţial

În logica tradi ională o propozi ie (lat. propositio) este o declara ie că ceva este adevărat. Propozi ia se
referă la un enun vorbit (oratio enunciativa) şi se mai numeşte aser iune. O propozi ie categorică se
defineşte ca o propozi ie simplă care con ine un cuantificator şi doi termeni, subiectul şi predicatul.
Predicatul este fie asertat sau nu subiectului.

Un anumit lucru fiind cunoscut ca adevărat se numeşte fapt. Faptele nu sunt niciodată false, în schimb
aser iunile pot fi false. Pentru ca o aser iune să fie acceptată ca adevărată ea trebuie dovedită.
Inferen a logică este o procedură de a demonstra adevărul unei propozi ii (o declara ie informativă)
sau o aser iune reprezentată prin expresia ei verbală sau lingvistică.

A demonstra o propozi ie înseamnă a o pune în coresponden ă cu alte propozi ii sau fapte deja
acceptate şi a o deduce din acestea. Caracteristica esen ială a inferen ei logice este forma (logică)
acesteia, adică modul în care propozi iile sunt legate împreună. Con inutul informa iei fiecărei
propozi ii în parte este cunoscut intuitiv. Trebuie să facem aici distinc ie între ra ionament şi intui ie.
Intui ia înseamnă cunoaşterea directă fără reguli de intermediere (lat.intuere). Este un fel de percep ie
imediată a obiectelor. Ra ionamentul sau logica este modalitatea care descrie legile înlăn uirii corecte
a propozi iilor. Cuvântul logică vine din grecescul logos care denotă un concept complex legat de
sunet, limbaj, gândire sau ra iune.

Tradi ional, disciplina logicii a fost dezvoltată de Aristotel şi este descrisă în căr ile sale „Analiticele
prime” şi „Despre interpretare”. Lucrările sale de logică sunt reunite sub titlul „Organon”. Logica
tradi ională, fundamentată de Aristotel, respectă regulile formale şi este bivalentă – orice propozi ie
este ori adevărată ori falsă; nu există valori intermediare. În general logica presupune tautologii.
Aristotel a identificat faptul că to i oamenii ra ionează folosind aceleaşi principii, sau urmând aceleaşi
„scheme” de gândire numite de Aristotel „forme logice”. Procesul inferen ial poate fi analizat în
unită i de ra ionament, care se numesc argumente. Un argument este compus din cel pu in două
declara ii. O declara ie se numeşte premisă (sau premise) şi cealaltă este numită concluzie. Aristotel a
identificat diferite tipuri de forme logice şi a arătat că orice argument care urmează o astfel de formă
logică se numeşte valid. Un argument care con ine o eroare de ra ionament este invalid.

De exemplu:

Nici o pisică nu mănâncă carne


To i tigrii sunt mâncători de carne.
Rezultă: Nici un tigru nu este pisică.

E interesant de remarcat că ra ionamentul este valid. Observăm însă că una din premise este falsă,
întâmplător însă concluzia derivată este adevărată. Ce este important pentru un argument este ca să
respecte forma logică şi să pornească de la premise adevărate. În aceste condi ii argumentul devine
consistent sau temeinic şi putem fi absolut siguri de adevărul concluziei sale. Se spune că concluzia
urmează în mod necesar logic din premise şi nimeni nu poate stabili contrariul.

91
Atunci când regulile logicii nu sunt respectate (indiferent dacă există sau nu un adevăr real) are loc o
eroare de ra ionament. Acest lucru poate fi adesea observat cu ajutorul teoriei mul imilor.
Argumentele logice nu-şi mai au rostul atunci când premisele sunt false. Se poate ca un argument să
respecte aparent regulile logicii dar în realitate să fie eronat.

7.2. Modalidăţi de argumentare

Aristotel este, probabil, cel mai faimos argumentator. In contextul argumentării, este interesant de a
aminti cele trei modalită i, descrise de Aristotel, prin care o persoană poate fi determinată să-şi
schimbe opinia:

1. Ethos. Ethos-ul foloseşte încrederea şi se concentrează asupra vorbitorului, bazându-se pe:


 Reputa ia vorbitorului. Reputa ia unei persoane depinde de trecutul acesteia, de ceea ce se ştie
şi se vorbeşte despre persoana respectivă. Cu toate că adesea există o rela ie strânsă între
reputa ie şi realitate nu întotdeauna este aşa. Politicienii, de exemplu, sunt foarte preocupa i
de a-şi păstra o bună reputa ie, dar mul i dintre ei au încă lucruri din trecutul lor pe care
încearcă să le ascundă. O reputa ie bună a cuiva înseamnă adesea de a le aminti altora despre
trecutul său ireproşabil, probabil prin relatarea succeselor sale şi a felului în care i-a ajutat pe
ceilal i si a văzut adevărul acolo unde al ii nu l-au văzut.
 Credibilitatea vorbitorului. Credibilitatea depinde atât de competen a persoanei în cauză cât şi
de felul în care aceasta este înfă işată. Oamenii pot să creadă în cineva, care mai întâi trebuie
să le arate că are încredere în el însuşi. Pentru a folosi credibilitatea, respectivul trebuie să se
comporte ca un expert. Trebuie să vorbească ca şi când nu ar putea fi provocat, să folosească
gesturi puternice şi contactul vizual pentru a se înfă işa ca un lider.

2. Pathos. Pathos-ul face apel la emo iile interlocutorului, căutând să îl sensibilizeze şi să îi


trezească interesul.

Emo iile sunt sentimentele pe care to i oamenii le au. O cauză pentru implicarea emo ională este că
întotdeauna există un scop aflat în joc undeva. Emo iile noastre ne determină astfel să ne dorim ceva
sau nu. Şi când ob inem ceea ce ne dorim, avem emo ii în legătură cu faptul că avem acel lucru. Un
mod eficient de a implica emo iile este apelul la valori. În acest context, valoarea nu trebuie
confundată cu sensul valorii pe care o ob ii, de exemplu, cumpărând ieftin o casă bine construită.
Valorile sunt de fapt cele care ne conduc modul de a gândi şi comportamentul. Suntem sensibili, de
exemplu, de lipsa valorilor atunci când oameni nevinova i sunt afecta i. Ethos-ul se poate folosi
pentru a arăta propriile valori şi felul în care ceilal i sunt puşi înaintea ta. Se poate de asemenea apela
la scopurile interlocutorilor, la interesele lor, sau chiar la provocarea convingerilor lor. Limbajul are
un efect notabil asupra emo iilor, şi anumite cuvinte cheie pot declanşa sentimentele de care vorbim.

3. Logos. Logosul se concentrează asupra argumentelor folosind logica, explica iile ra ionale şi
dovezile demonstrabile.

7.3. Explicaţii raţionale

Principiul de bază al ra ionalismului este acela că adevărul poate fi cel mai bine descoperit prin
raționament și gândire rațională. Raționamentul folosește argumente raționale care se bazează pe
adevăruri acceptate și teorii dovedite. Acolo unde nu există dovezi raționamentul poate prevala. O
practică obișnuită în raționament este aceea de a stabili o legătură între două lucruri prin cauză și efect
de exemplu.

92
Raționaliștii consideră că lumea este deterministă, așadar toate evenimentele sunt înlănțuite prin
cauze și efecte. Ei susțin că acestea pot fi înțelese prin gândire. Logica și matematica sunt discipline
clasice raționale, la fel și filozofia.

Raționalismul a fost atacat de pozitivism, care caută dovezi empirice mai mult decât să se bazeze pe
gândirea individuală percepută ca nefiabilă. Principiul de bază al pozitivismului este că toată știința,
de fapt, se bazează pe informația „pozitivă” câștigată din experiența observabilă și că orice idei
dincolo de aceste fapte demonstrabile sunt metafizice. Rădăcinile pozitivismului sunt reprezentate de
empirism, care lucrează doar cu fapte observabile, dincolo de acestea fiind domeniul logicii și al
matematicii. Istoric, pozitivismul își are originea în iluminismul francez fiind fundamentat de
filozoful Auguste Compte, care a căutat înlocuirea abordării mentale a raționalismului aducând în
ecuație principiile științelor naturale (fizica, chimia, biologia). În vremea lui Compte, știința avea un
impact uriaș și înlocuia încet, încet religia ca autoritate principală în a stabili ceea ce este adevărat sau
fals. Chiar și azi, când ceva este afirmat științific este în general considerat irefutabil.

Este permis a se stabili dacă sunt adevărate sau false doar prin raționament numai propozițiile
analitice. ”Trandafirii sunt flori” este analitică, în timp ce ”Trandafirii sunt mirositori” este sintetică și
necesită dovadă.

Şase teze ale pozitivismului

Teză Semnificaţie

Naturalismul Principiile științelor naturale ar trebui utilizate


în științele sociale.

Fenomenalismul Doar fenomenele observabile oferă informații


valide.

Nominalismul Cuvintele cu valoare științifică au înțeles unic și


fix. Existența unui cuvânt nu implică existența a
ceea ce descrie.

Atomismul Lucrurile pot fi studiate prin reducerea lor la


cele mai mici părți (întregul este suma părților).

Legi științifice Scopul științei este să creeze legi generalizate


(utile pentru predicții).

Fapte și valori Faptele sunt căutate. Valorile nu au importanță


pentru știință.

Pozitivismul caută regularități empirice, care sunt corelațiile între două variabile. Aceasta nu necesită
să fie cauzală în natură, dar permite definirea legilor și efectuarea predicțiilor.

Pozitivismul logic pune accentul pe experiența simțurilor și încearcă să elimine propozițiile sintetice
și metafizice. Pentru fiecare obiect poate fi construită o propoziție ”mimetică” care să descrie cu
acuratețe obiectul. Pozitiviștii au folosit raționamente inductive, colectând informații și construind
teorii pe baza acestora. Printre pozitiviști se numără: Wittgenstein, Bertrand Russell, Alfred
Whitehead (Principia Mathematica) și Rudolph Carnap. Cu toate că s-a dovedit că pozitivismul nu
este adecvat pentru a studia în întregime experiența umană, a avut o mare influență și încă
influențează utilizarea experimentelor şi statisticilor în cercetarea socială. Raționamentul utilizează

93
adesea silogismul care include o premiză majoră, o premiză minoră și o concluzie bazată pe
combinația celor două premize.

7.4. Dovezi demonstrabile

Ştiin a şi argumentele ştiin ifice se bazează pe utilizarea dovezilor empirice. Cuvântul „empiric”
provine de la cuvântul grecesc „empeira”, însemnând ”experien ă” şi istoria sa este legată de Platon şi
de filosofii sofişti cunoscu i în a aduce argumente plauzibile şi convingătoare dar în fapt eronate
(cuvântul sofos in greacă înseamnă în elept, iste , dibace şi se regăseşte ca rădăcina şi în „sofisticat”
sau „filosofie”). Principiul de bază al empirismului este acela că adevărul provine doar din experien a
directă. Pentru a crede ceva empiriștii au nevoie de justificare și deci de dovezi. Dacă argumentezi
fără dovezi, un om de știință ți-ar anula argumentele ca fiind metafizice (în afara lumii fizice).
Empiriștii se opun intuiției, raționalității, autorității sau altor asemenea concepte. Ei resping mai ales
raționalismul susținând că gândirea nu este suficientă și că pentru a dovedi adevărul este nevoie de
dovezi empirice.

Dovezile nu pot fi negate, după cum caută să demonstreze curțile de judecată. Dacă dovedești ceva,
atunci e foarte greu de negat acest lucru fără a pune la îndoială validitatea dovezii. Dovada poate fi
reprezentată de statistici, imagini și experiență relatată. Pathos-ul poate fi evocat în dovezi pentru a le
da tentă emoțională. Ethos-ul este de asemenea important pentru a stabili credibilitatea martorului.

7.5. Forme de raţionament

Raționamentul asupra unui argument oferă motivația pentru care este făcută o anumită alegere și nu
alta. Enun ăm, în continuare, pricipalele tipuri de ra ionament identificate în practica inferen ială:

Raţionamentul inductiv

Pornind de la o regulă particulară se ob ine una generală. Ra ionamentul inductiv, sau induc ia, este
ra ionamentul care porneşte de la unul sau mai multe cazuri particulare ob inându-se un caz general.
Într-un argument inductiv, o concluzie se stabileşte pe baza unor anumite cunoştin e particulare.
Contrar însă inferen ei deductive, aşa cum vom vedea, concluzia derivată din ra ionamentul inductiv
nu e o necesitate logică, ci este doar probabilă. De exemplu, pe baza observa iei asupra culorii
penajului lebedelor, cineva poate trage concluzia că probabil toate lebedele au penajul alb. Aceasta nu
e o demonstra ie, in sensul că niciodată nu putem fi siguri că o nouă observa ie nu va fi o excep ie.
(De exemplu, după mul i ani în care s-a crezut că lebedele nu pot fi decăt albe s-au observat lebede
negre în Australia.) Aici trebuie să men ionăm a nu se face confuzie între ra ionamentul inductiv, care
este prin natura lui prezumtiv, şi metoda de demonstrare matematică prin induc ie, care este
demonstrativă. Ra ionamentul inductiv trage concluzii dintr-un şir finit de observa ii în aşa fel încât să
poată face o generalizare.

Concluziile pot fi ob inute după patru etape:

1. Observare: colectare de fapte, fără erori.


2. Analizare: clasificarea faptelor, identificarea tiparelor într-o regulă.
3. Concluzionare: de la tipare, se conchid generalită ile despre rela iile dintre fapte.
4. Confirmare: testarea concluziei prin mai multe observa ii.

Într-o argumentare inductivă, se poate:

94
 deduce o regulă generală într-un domeniu acceptat şi apoi aplica regula în domeniul unde se
doreşte ca interlocutorul să se situeze.
 da o mul ime de detalii, şi apoi se explică ce înseamnă toate.
 vorbi despre beneficiile particulare şi abia după aceea să se ajungă la beneficiile generale.
 lua ceea ce s-a întâmplat şi da explica ii plauzibile pentru ceea ce s-a întâmplat.

Ra ionamentele inductive pot include:

 Relaţii parte-întreg: unde întregul este considerat ca fiind asemenea păr ilor individuale (doar
că e mai mare).
 Extrapolări: unde zone în afara zonei de studiu sunt luate ca fiind zone de studiu.
 Predicţii: unde viitorul se presupune ca fiind la fel ca trecutul.

Exemple:

Exprimare inductivă: Exprimare comună:

Uite cum se comportă acei oameni. Ei trebuie Acei oameni sunt to i răi.
să fie răi.
To i prieteni tăi sunt buni. Şi tu po i fi bun. Fii bun.
Acest echipament de bază costă xxx. Va costa yyy. Aceasta include xxx pentru
Accesoriile sunt xxx, plus taxele xxx. În total, echipamentul de bază, xxx pentru accesorii şi
este o bună afacere la yyy. xxx pentru taxe.
Încălzirea a costat xxx, iluminatul yyy, alte Trebuie să reducem costurile deoarece
utilită i zzz, care toate însumează ttt. Până cheltuiala noastră a fost mai mare ca venitul.
acum venitul a fost vvv. Aceasta înseamnă că
trebuie să reducem costurile!

Promotorii induc iei, ca de pildă Francis Bacon, au văzut acest ra ionament ca o cale de în elegere a
naturii într-un mod fără erori, deoarece se deduc legi din observa ii obiective. Într-un ra ionament, a
începe cu detaliul înseamnă a fixa convingerea ta în realitate, începând de la sensuri imediate ale
datelor care pot fi văzute şi atinse şi apoi îndreptându-se spre „tabloul” mare de idei, adică principii şi
reguli generale.

Începând de la mic şi ajungând la mare poate fi mai pu in amenin ător decât a începe de la lucruri
mari. Oamenii de ştiin ă au creat legi ştiin ifice prin observarea unui număr de fenomene, găsind
similarită i şi deducând o lege care să explice toate lucrurile. O lege ştiin ifică bună este puternic
generalizată şi poate fi aplicată în mai multe situa ii pentru a explica alte fenomene. De exemplu,
legea gravita iei a fost folosită pentru a prezice mişcarea planetelor.

Ra ionamentele inductive sunt întotdeauna supuse dubiului, deoarece, prin defini ie, concluzia este are
un con inut mai mare decât dovada pe care se bazează. De exemplu, în teoria mul imilor, o regulă
creată în mod inductiv, este o mul ime mai mare din membrii lua i ca fiind puncte de plecare. Singurul
mod de a proba regula este identificând to i membrii mul imii. Acest lucru este de multe ori
impracticabil. Totuşi, poate fi posibilă calcularea probabilită ii că regula este adevărată. În acest caz,
ra ionamentele inductive pot fi făcute să fie mai valide şi probabile prin adăugarea de dovezi, deşi
dacă această dovadă este aleasă în mod selectiv, poate ascunde în mod fals dovada contrară. Astfel,
ra ionamentul inductiv necesită încredere şi dovada integrită ii mai mult decât ra ionamentul deductiv.
Ra ionamentul inductiv este de asemenea numit şi generalizare deoarece ia cazuri particulare şi
creează o lege generală.

95
Raţionamentul deductiv

Ra ionamentul deductiv sau deduc ia porneşte de la o regulă generală şi deduce apoi cazuri
particulare. Deduc ia începe de la o teorie sau ipoteză acceptată, de aceea se mai numeşte ”deduc ie
ipotetică”. Deduc ia este utilizată de către oamenii de ştiin ă care consideră o lege ştiin ifică generală
şi o aplică unui anumit caz presupunând că legea este universal adevărată. Deduc ia poate fi utilizată
şi pentru a verifica o induc ie aplicând-o invers, chiar dacă în acest caz teoria ini ială este presupusă
ca fiind adevărată doar temporar.

Exemplu:

Exprimare deductivă: Exprimare comună:

Gravita ia face lucrurile să cadă. Mărul a căzut Mărul a căzut din pom. Gravita ia func ionează.
din pom datorită gravita iei.
To i sunt la fel – doar uită-te la el. Uită-te la el. To i sunt la fel.
Toyota face maşini minunate. Să i-o arăt pe Aceste maşini sunt minunate. Probabil sunt
aceasta. făcute de Toyota.
Există o lege împotriva fumatului. Nu mai fuma. Nu mai fuma, te rog!

Ra ionamentul deductiv presupune că legea fundamentală de la care se argumentează este aplicabilă


în toate cazurile. Aceasta permite de a lua o regulă şi de a o aplica poate undeva unde nu era menită
de a fi aplicată. În ştiin ă se porneşte de la o lege presupusă generală a unui caz particular iar apoi se
fac multe experimente deductive pentru a demonstra că legea este adevărată în multe circumstan e
diferite. În teoria mul imii, o deduc ie este o submul ime a regulii luate la punctul de început. Dacă
regula este adevărată şi deduc ia este o submul ime adevărată (nu o conjunc ie) atunci deduc ia este
aproape sigur adevărată. Folosirea ra ionamentul deductiv este de obicei o formă de ra ionare
credibilă şi “sigură”, dar se bazează pe adevărul asumat al regulii sau al legii pe care este fondat.

Concluziile deductive pot fi valide sau invalide. Argumentele valide se supun regulii ini iale. Pentru
validitate, adevărul sau falsitatea regulii ini iale nu sunt luate în considerare. Astfel, concluziile valide
pot să fie neadevărate, iar concluziile invalide pot să fie adevărate. Când o concluzie este şi validă şi
adevărată, atunci o considerăm temeinică. Când este validă, dar neadevărată, atunci o considerăm
netemeinică.

Metoda deductivă începe cu o generalizare acceptată, adică un adevăr general valabil deja formulat
sau stabilit şi îl aplică pentru a descoperi noi rela ii logice. Adică, prin deduc ie putem în elege sau
stabili natura unui lucru necunoscut sau nesigur prin asocierea lui sau gruparea lui cu un lucru ştiut
sau în eles.

Argumentele deductive sunt formulate în două moduri:

1. De la general la particular. Acesta este modul la care cei mai mul i oameni se gândesc atunci când
se gândesc la deduc ie. De exemplu, silogismul clasic:

To i oamenii sunt muritori.


Socrate este un om.
Prin urmare, Socrate este muritor.

2. De la general la general. Un alt mod de deduc ie de a ajunge la noi generalizări prin silogism. De
exemplu:

To i pomii au re ele de rădăcini.


Toate re elele de rădăcini au nevoie de nitrogen.

96
Prin urmare, to i pomii au nevoie de nitrogen.

În amândouă din aceste exemple putem discerne trei păr i: o afirma ie de început a generalizării, o
concluzie finală şi un pas intermediar care asociază prima afirma ie cu concluzia. Observăm aşadar că
trei identită i sau concepte diferite (numite “termeni”) sunt prezente în cel de-al doilea exemplu.
Acestea sunt “pomii”,”sistemele de rădăcini”, şi “(obiecte care) au nevoie de nitrogen”. Deduc ia,
deci, asociază sau rela ionează doi termeni prin mijlocul unui al treilea termen comun, numit mijlociu
sau intermediar. Astfel, putem în elege cum primii doi termeni sunt raporta i unul fa ă de celalalt.
Afirma ia finală a rela iei este numită concluzie şi exprimă fie convergen a (identitate), fie divergen a
(non-identitate) – fie „X este Y” sau „X nu este Y” sau afirma ii asemănătoare. Un alt mod de a
exprima acest proces este de a spune că deduc ia începe cu două judecă i care împart un concept
comun (termen), şi că prin raportarea acestor două judecă i una către cealaltă prin termenul comun, o
a treia judecata urmează obligatoriu. Astfel avem un argument din trei păr i: judecată, judecată şi
judecata concluzivă. Când acest argument deductiv din trei păr i este aranjat într-o formă potrivită sau
structură logică, argumentul este numit silogism.

Dar înainte să intrăm în analiza silogismelor, trebuie spuse pu in mai multe despre deduc ie ca un tot
întreg. Am specificat mai devreme că deduc ia începe cu o generalizare acceptată. O asemenea
afirma ie ridică două întrebări: (1) De unde vin aceste generalizări? şi (2) De ce sunt acceptate sau
presupuse adevărate?

Generalizările folosite în gândirea deductivă vin din diferite surse:

 Concluzie inductivă
 Alte argumente deductive (de tipul de la general la general)
 Revela ia sau inspira ia
 Presupunerea. Se referă la lucruri ce nu pot fi dovedite dar sunt presupuse adevărate. În
ultimă instan ă, toată cunoaşterea trebuie să înceapă pornind de la un set de lucuri care se
cred a fi adevărate.

În toate cele patru cazuri, sursa imediată poate fi în cele mai multe cazuri autoritativă şi mai pu in
experien a personală. Adică, acestea pot fi dobândite de la un ter care ne prezintă generalizarea
pentru a fi acceptată în baza autorită ii, caz în care intervine credin a sau încrederea în autoritatea
sursei. Nu to i pot să facă experimente inductive pe scară largă pentru a afla dacă o anumită
generalizare este adevărată. Prin urmare, se consultă literatura şi se acceptă generalizarea pe
considerente de autoritate.

Pentru a clarifica cea de-a doua întrebare, de ce generalizările sunt acceptate, ar trebui spus că o
generalizare dată într-un argument este presupusă a fi temeinică sau adevărată sau agreată de to i dacă
nu este contrazisă. Orice generalizare dată poate fi falsă sau inacceptabilă pentru scopul argumentului,
astfel că orice concluzie dedusă de aici, deşi poate fi formal validă (structural în regulă), va fi
neadevărată. Generalizările folosite în deducere sunt deseori produsele induc iei, şi sunt astfel
subiectul posibilelor erori ale procesului de induc ie. Astfel, riscurile deduc iei sunt următoarele două:

1. Premisele (generalizările) nu sunt adevărate, sau sunt reprezentări neadecvate ale realită ii, fie
deoarece au fost derivate prin induc ii eronate, fie pentru că sunt false de la prima
vedere.(argument neadevărat)
2. S-a comis o eroare formală de procedură.(argument invalid)

Avantajul pe care deduc ia îl are fa ă de induc ie este în special unul de forma: dacă premisele (sau
generalizările) sunt admise, şi dacă procedura este corectă, atunci concluzia urmează în mod necesar.
Se observă că puterea unei concluzionări deductive nu poate fi contestată, deşi concluzia în sine poate
fi infirmată. În ultimă instan ă, calitatea concluziei este direct dependentă de calitatea generalizărilor

97
pe care se bazează; şi din moment ce generalizările ob inute prin induc ie sunt oarecum nesigure,
rareori putem face deduc ii absolut indiscutabile.

În gândirea obişnuită combinăm induc ia şi deduc ia pentru a ne ajuta să în elegem lumea din ce în ce
mai bine. În mod continuu înregistrăm cazuri şi apoi extragem informa ia totală de la fiecare pentru a
atinge o concluzie finală. Studiul logicii ne va asigura că concluziile noastre vor fi exacte şi valide pe
cât de mult posibil. Fiecare este intersat în special ca propriile concluzii să merite de a fi luate în
seamă, demne de încredere şi rezonabile, cu tot ce implică ele. Pentru acestea însă, aten ia, exactitatea
şi abilitatea unei buni cercetări amănun ite sunt absolut necesare.

După cum s-a putut vedea, concluziile gândirii inductive şi ale celei deductive pot fi greşite. În cazul
induc iei, saltul poate fi prea depărtat sau incorect: probabilitatea include întotdeauna posibilitatea
negativă. În cazul deduc iei, premisele folosite în argument pot să nu fie adevărate. Într-adevăr, putem
afirma concluziv că „A şti înseamnă a asuma riscul de a fi greşit” deoarece „în prezent ştim doar o
parte...”.

Inferenţa abductivă

Este procesul de creare a unei ipoteze explicative. A este observat. Dacă B ar fi adevărat, atunci A ar
fi adevărat. Așadar B ar putea fi adevărat. Inferen a abductivă, sau ”inferența către cea mai bună
explicație”, este o metodă de raționament prin care se alege ipoteza care dacă ar fi adevarată ar
explica cel mai bine situația dată. Raționamentul abductiv pornește de la un set de fapte acceptate și
inferează cea mai bună explicație a acestora. Acest raționament creează o ipoteză care ar putea fi
adevarată sau nu, ceea ce ar putea necesita o ulterioară muncă de verificare. Termenul ”abducție” este
utilizat uneori şi pentru a exprima generalizarea ipotezei, sau pentru a explica observații sau
concluzii, dar definiția anterioară este cea utilizată în mod obișnuit în domeniul filozofiei și al
calculatoarelor. Procesul abducției poate avea și o parte subconștientă importantă, de exemplu când
un expert se bazează pe cunoştin e tacite pentru a explica un fenomen nou. Henri Poicaré, notabil
printre altele pentru cercetările sale în domeniul inspira iei matematice, a spus: ”Dovedim prin știință,
dar descoperim prin intuiție”.

Exemplu: Un medic, întâlnind un set de simptome pe care nu le mai întâlnise până atunci ia în
considerare bolile care au simptome similare și se întreabă dacă situația prezentă se aseamănă cu una
dintre ele.

Raționamentul prin analogie

Înseamnă relaționarea lucrurilor pentru a descoperi alte situații. A este ca B. R este în A. S este în B.
Deci R este ca S. În raționamentul prin analogie, este găsită o analogie pentru un lucru sau o situație
dată. Alte atribute ale situației analoage sunt de asemenea preluate pentru a reprezenta atribute ale
situației date.

Pentru a folosi analogia:

 Începe cu un domeniu țintă în care vrei să creezi noi înțelesuri.


 Găsește un domeniu general de potrivire în care unele lucruri se aseamănă cu cele din
domeniul țintă.
 Găsește obiecte specifice din domeniul de potrivire.
 Găsește obiecte legate de acestea în domeniul țintă.
 Transferă atributele de la domeniul de potrivire la domeniul țintă.

98
Exemplu: Această companie e ca o cursă de cai. A alergat repede și a câștigat cursa, iar acum are
nevoie de hrană și odihnă pentru o vreme.

Raționamentul cauză și efect

Arată cauza și efectul rezultat. Când prezinți un argument, arată relația cauză-efect. Ajută-i pe ceilalți
să vadă de ce lucrurile se petrec sau se vor petrece astfel. Arată scopul. Leagă lucrurile de valori
superioare. Arată legătura inevitabilă între ce se întmplă inițial și ce se întâmplă ulterior. Treci dincolo
de corelație (care ar putea indica o coincidență) dând dovezi irefutabile ale cauzalității. Dacă nu poți
dovedi legătura cauzală, ai putea avea succes doar afirmând-o pentru că puțini oameni pun la îndoială
o aserțiune cauză-efect.

Exemplu:

Exprimare de tip cauză şi efect: Exprimare comună:

Dacă te ajut, vei avea mai mult succes. Te voi ajuta.


Când rândunelele pleacă, vare este pe sfârşite. Vara este pe sfârşite.
Noul aditiv pentru combustibil face ca mașina să Adaugă mașinii noul aditiv de combustibil.
meargă mai bine.

Oamenii au nevoie de explicații și de posibilitatea de a prevedea ceea ce urmează să se întâmple. De


asemenea este necesar să părem raționali în fața celorlalți și e necesar ca ei să pară raționali pentru
noi. Când o persoană explică un fenomen prin relația cauză-efect este ca o asigurare pentru noi că
persoana respectivă este într-adevăr rațională și atunci avem o mai mare încredere în argumentele
sale.

Această nevoie de explicații a oamenilor are anumite consecințe psihologice: poți da un argument
prin relația cauză-efect chiar dacă în realitate nu există o relație cauzală și cu toate acestea e
surprinzător numărul celor care îți vor accepta fără îndoială explicația.

Ra ionamentul cauză şi efect se poate înlan ui de la cauză spre efectele sale sau invers, de la efecte
spre cauza acestora:

 Raționamentul cauză-efecte: începe de la cauză și merge spre efecte.

În descrierea unei situații cauză-efecte, se începe cu prezentarea cauzei și se continuă cu prezentarea


efectelor.

Exemplu:

Exprimare de tip cauză-efecte: Exprimare comună:

Mama a certat copilul. Copilul a fost certat de mamă.


Dacă îmi trimiți banii îți voi trimite bunurile. Îți voi trimite bunurile dacă îmi trimiți banii.
Oamenii au aruncat mingea în afara terenului. O mașină a poliției a fot lovită de minge.
Aceasta a lovit o mașină care trecea. Aceasta fusese aruncată în afara terenului.
Sărăcia este în creștere. Oamenii sunt disperați. Rata criminalității crește pentru că oamenii sunt
Rata criminalității crește. disperați din cauza sărăciei.

Raționamentul cauză-efect este în general persuasiv și ajută la obținerea de răspunsuri pentru


întrebarea ”de ce?” făcând propoziția rațională și obiectivă și nu doar o aserțiune oarbă.

99
Din punct de vedere lingvistic este adesea mai ușor să începi prin prezentarea cauzei și nu a efectului.
Propoziția este astfel mai ușor de spus și de înțeles.

Începând prin prezentarea cauzei se creează o tensiune creativă întrucât se așteaptă dezvăluirea a ceea
ce se întâmplă în consecință. Acest lucru face auditoriul mai interesat de expunere.

Este posibil ca o cauză să aibe efecte multiple. Acest lucru poate fi folosit pentru a arăta forța unei
simple acțiuni.

O relație falsă cauză-efect este atunci când ceva nu ne place (armele de exemplu) și încercăm să ne
motivăm convingerea (de exemplu: deținerea armelor duce la creșterea ratei criminalității).

 Raționamentul efecte-cauză: se începe cu efectul și se face cale inversă spre cauză.

Când este descrisă o relație cauză-efect, se începe cu prezentarea efectelor și se parcurge drumul
invers spre cauză. Acest lucru se poate face folosind întrebarea ”de ce s-a întâmplat asta?”, astfel se
stârnește curiozitatea, iar explicația este adusă ulterior. Utilizarea expresiei ”pentru că/ din cauza”
pentru a lega efectele de cauză poate fi eficientă. Poate fi utilă și expresia: ”Dacă vrei...atunci..”.

Exemplu:

Exprimare de tip efecte-cauză: Exprimare comună:

Ai pierdut jocul pentru că nu m-ai ascultat. Nu m-ai ascultat așa că ai pierdut jocul.
Economia este în criză. Președintele este prea Politica externă a președintelui cauzează criza
ocupat cu politica externă. economiei.
Dacă vrei să conduci lumea trebuie să muncești Muncește din greu acum și vei putea conduce
din greu acum. lumea.
Pot să beau o ceașcă de cafea? Sunt foarte Sunt foarte însetat. Pot să beau o ceașcă de cafea?
însetat.

Prezentarea efectelor înaintea cauzei ancorează afirmația în realitate. Face o propoziție care nu poate
fi negată întrucât afirmă efecte cunoscute. Adevărul reprezentat de efecte este apoi reflectat prin ceea
ce ar putea fi o cauză ipotetică. Când ceva se întâmplă există nevoia unei explica ii şi a unui răspuns
la întrebarea „de ce s-a întâmplat”. Astfel, dacă prezin i o chestiune, oamenii vor începe să se întrebe
de ce s-a întâmplat.

Raţionamentul comparativ

Compară un lucru sau un eveniment cu un altul. Ra ionamentul comparativ stabileşte importan a unui
lucru comparându-l cu altul. Distan a dintre cele două lucruri sau fenomene care se compară indică
importan a celui comparat. Pentru a sublinia importan a unui lucru compară-l cu un exemplu slab.
Pentru a sublinia lipsa de importan ă a unui lucru compară-l cu un exemplu superior.

Pentru a crea un argument logic stabileşte mai întâi validitatea reperului. Pentru o argumentare mai
pu in logică reperul poate fi acceptat fără a fi validat anterior.

Există mai multe moduri de a compara. De pilda:

 Compară ceea ce oamenii au (sau nu) cu ceea ce au ceilal i.


 Compară trecutul cu viitorul.
 Compară realul cu idealul.
 Compară cuvintele şi ac iunile cu valorile.

100
Exemplu:

Exprimare comparativă: Exprimare comună:

Cred ca so ia ta şi-ar dori ceva frumos pentru Aceasta este potrivită pentru tine.
tine. Ce părere ai de asta?
Cum vom şti când am reuşit? Să discutăm asta A reuşi înseamnă să ai profit maxim.
mai întâi.
Convingerea noastră spune că trebuie să-i Nu ar trebui să-l ajutăm pe acest om.
ajutăm pe cei ce nu se pot ajuta singuri. Poate
acest om să se ajute singur?

Compara ia este o formă de judecată foarte naturală întrucât este dificil să evaluăm ceva fără reper. De
exemplu vrem să aflăm dacă ceva este mai bine sau mai rău – dar mai bine sau mai rău decât ce? Dacă
po i stabili un reper restul urmează în mod natural. Compara ia nu presupune doar că reperul
considerat este cel potrivit ci şi că diferen a dintre obiectul comparat şi reper este cea de care depinde
cât de bun sau rău este obiectul comparat.

Raţionamentul după un criteriu

Se referă la compara ia relativă la un criteriu stabilit. Se începe prin definirea criteriului prin prisma
căruia va fi judecată concluzia, iar apoi urmează identificarea celei mai bune decizii, date fiind
condi iile. Într-o argumentare logică întâi se stabileşte validitatea criteriului. Într-o argumentare mai
pu in logică criteriul este considerat drept corect de la început. În general, criteriile care fac apel la
valori comune sunt probabil mai uşor de acceptat. Stabilirea crteriilor asigură legitimitatea
argumentelor viitoare chiar dacă criteriile sunt presupuse adevărate fără motiva ie.

Raţionamentul condiţional

Este de forma ”dacă....atunci”. Ra ionamentul condi ional se bazează pe o construc ie ”dacă A atunci
B”, construc ie care arată că B este adevărat dacă A este adevărat.

Acest ra ionament nu spune nimic despre situa ia în care A este fals, în acest caz B putând fi atât
adevărat cât şi fals. Un ra ionament condi ional clasic este utilizat în silogisme, când o premiză majoră
generală este combinată cu o premiză minoră particulară pentru a forma o concluzie. Silogismele sunt
uşor de eronat şi există numeroase erori de ra ionament.

Capcana cărţilor

O capcană clasică a fost utilizată de Wason şi Johnson-Laird (1972) pentru a arăta cât de uşor greşim
în ra ionament. Patru căr i sunt aşezate ca mai jos:

E K 4 7
Se dă

Se enun ă construc ia condi ională: ”Dacă o carte are o vocală pe o parte, atunci are un număr par pe
cealaltă parte”. Problema este să se decidă care sunt căr ile care trebuie minim întoarse pentru a
dovedi că este adevărată construc ia condi ională.

Mai mult de jumătate din persoane au răspuns E şi 4.

101
Pentru a afirma antecedentul, E este corect. E este vocală şi deci ar trebui să aibă un număr par pe
cealaltă parte. Dacă ar fi un număr impar pe cealaltă parte, propozi ia ar fi falsă, deci E trebuie întors
pentru a verifica.

Dar alegerea lui 4 înseamnă afirmarea consecin ei. Chiar dacă 4 este par poate avea vocală sau
consoană pe partea opusă şi construc ia ar rămâne adevărată.

Doar 4% au răspuns E şi 7. 7 ar putea nega consecin a şi deci trebuie verificat. Dacă ar avea vocală pe
cealaltă parte construc ia ar fi falsă.

Aten ie la construc iile ”dacă...atunci”, atât în cazul vostru cât şi al celorlal i. Se poate de asemenea să
face i construc ii false din punct de vedere logic şi cu toate acestea pu ini să vă contrazică.

Raţionamentul decompoziţional

Înseamnă a în elege păr ile ca să în elegi întregul. Desface i obiectul în cauză în păr i componente.
Analiza i păr ile şi felul în care se potrivesc. Apoi trage i concluzii în legătură cu întregul.

Exemplu: Doresc să aflu cum func ionează un cub rubic. Îl desfac pentru a-i observa mecanismul
ascuns. Reasamblându-l încet, pot să-i explic func ionarea aparent magică în termenii geometriei
tridimensionale.

Î i ascult argumentele şi îmi notez fiecare element. Aduc contra-argumente pentru fiecare element.
Distrugând păr ile, presupun apoi că am distrus întreaga argumentare.

Știin a abordează decompozi ional lucrurile descompunându-le în bucă i cum sunt atomii, de exemplu,
sau chiar mai mici. No iunea că un lucru este suma elementelor sale are deci o mare credibilitate.
Problema în ceea ce priveşte ra ionamentul decompozi ional este că un lucru poate fi mai mult decât
suma elementelor sale. Un om este mai mult de cât muşchi şi oase. Nu po i în elege func ionarea unei
maşini studiind izolat elementele sale.

Recomandarea în ra ionamentul decompozi ional eficient este să în elegi păr ile dar nu să presupui că
întregul este suma acestora. Cel mai important lucru este să în elegi rela iile dintre păr i. Problema
este că numărul rela iilor este direct propor ional cu pătratul numărului păr ilor, făcând complicată
în elegerea completă chiar şi a unui dispozitiv simplu. Decompozi ia este foarte utilă şi adesea
furnizează o imagine completă, dar sunt şi situa ii în care nu este cea mai potrivită abordare.

Logica modală

Se referă la argumentarea necesită ii şi posibilită ii. Descrie lucrurile în func ie de posibilitate şi


necesitate. De asemenea analizează şi modul în care ele se intersectează. Nu stabileşte lucruri în
termeni absolu i ai adevărului, dar spune cât de aproape sunt.

Pentru necesitate, vorbeşte despre cât de necesar este un lucru. Astfel, se folosesc cuvinte ca: este
posibil, este permis, trebuie, este necesar.

A vorbi despre cât de adevărat sau necesar este un lucru î i oferă mai mult poten ial în ra ionamente
astfel că acum ai o continuitate analogă a alternativelor, mai bine decât să ai simpla decizie de tip „da”
sau „nu” dacă un lucru este fals sau adevărat, necesar sau nu.

Exemplu:

102
Exprimare modală: Exprimare comună

Uşa s-ar putea să fie deschisă. Uşa este deschisă.


Tu trebuie să faci acest lucru. Fă acest lucru.
Ei ar putea să vină aici. Ei vor veni aici.

Logica tradi ională se bazează pe extensie, prin aceea că adevărul logicii este găsit în cadrul
enun urilor suport. Logica modală este bazată pe intenţie, prin aceea că adevărul este acolo unde îl
găseşti, iar realitatea multor situa ii este imposibilitatea determinării adevărului exact.

Tradi ional, există trei moduri sau modalită i reprezentate de logica modală, (i) posibilitate, (ii)
probabilitate şi (iii) necesitate. Astfel:

 O propozi ie este posibilă dacă poate fi adevărată (sau poate fi falsă).


 O propozi ie este necesară dacă trebuie să fie adevărată (si nu poate să fie falsă).
 O propozi ie este contingentă dacă nu este necesar adevărată (un adevăr contingent este
adevărat în cazuri date, dar poate să nu fi fost adevărat).

Modalită ile se reprezintă utilizând operatori modali. Operatorii modali de bază unari sunt □ pentru
necesitate şi ◊ pentru posibilitate. În nota ie simbolică putem scrie:

De exemplu, este posibil să plouă astăzi dacă şi numai dacă nu e necesar că nu va ploua astăzi.

Operatorii necesitate şi posibilitate au aspectul unei rela ii booleene şi satisfac şi legi analogice cu cele
ale lui De Morgan:

Nu este necesar ca X să fie adevărat = Este posibil ca X să nu fie adevărat

Nu este posibil ca X să fie adevărat = Este necesar ca X să nu fie adevărat

Modalită ile posibilită ii şi necesită ii sunt de asemenea cunoscute ca modalităţi aletice (aletheia
înseamnă adevărat în greacă). Logica deontică este logica specifică a datoriei, unde necesitatea are o
calitate morală acolo unde se află.

Raţionamentul pro-vs-contra

Foloseşte argumente şi pro şi contra pentru un caz. Ra ionamentul pro-vs-contra caută să echilibreze
argumentele pro şi argumentele contra ale unui caz.

Acest ra ionament deobicei va sfârşi prin o concluzie, indiferent dacă argumentele por sau contra sunt
mai puternice, astfel precipitând o concluzie rezonabilă. Lucrurile care întăresc un argument pro (şi
vice versa) includ:

 Mai multe argumente logice.


 Mai multe dovezi afişate (incluzând ac iunile şi percep iile altor oameni).
 Accentul mai mare pus pe cuvintele cheie.
 Mai multe argumente pentru caz.

103
Începând cu partea favorabilă î i permite să umpli mintea celeilalte persoane cu punctele cheie, astfel
încât a doua listă devine mai pu in uşor de preluat. Începând cu partea nefavorabilă î i permite să-l
faci să sune rezonabil, şi apoi să dobori fiecare argument nefavorabil cu argumente mai puternice
pentru cazul contrar.
Po i de asemenea să alegi între a da totul pe de o parte şi totul pe de alta, sau alternând cu fiecare parte
(în zilele noastre sunt bune argumentele pro şi contra pentru a compara rela ii).

Exemplu:

Exprimare pro-vs-contra: Exprimare comună:

Este util şi ieftin, dar pe de altă parte nu va Nu va dura mult şi te va face să ară i sărac.
dura mult şi te va face să ară i sărac.
Lui Ionel îi place, lui Dan îi place, lui Adrian îi Majoritatea oamenilor le place.
place, lui Stefan îi place. Doar lui Stan şi Ana
nu le place.
Uită-te pe lista de caracteristici... Dar când Când încerci acasă, s-ar putea să …
încerci acasă, s-ar putea să …

Oferind argumente şi pro şi contra pentru un caz, îl face pe cel care argumentează să pară mai
nepărtinitor, neutru şi deci demn de încredere. De asemenea îl face mai pu in confident argumentul
contra dacă deja s-a discutat ideea. Cantitatea şi calitatea pot fi confuze şi mai multe argumente pentru
o parte poate să pară că acea parte este o alegere mai bună.

Raţionamentul pe bază de mulţimi

Se bazează pe categorii şi calitatea de membru a rela iilor. Ra ionamentul mul imii se găseşte în teoria
mul imilor. Argumentul său cataloghează dacă anumite lucruri sunt sau nu parte dintr-un grup, astfel
„Un câine este un animal, nu o legumă”.

Atribuirea de bază este una din calită ile de membru, adică un item poate fi catalogat într-o mul ime
dată sau un grup dat. Aceasta poate însemna că şi itemul şi mul imea există de la bun început. Atunci,
argumentul poate include considera ii ale intersec iei dintre mul ime şi implica iile acesteia.

Ra ionamentul mul imii include astfel deseori enun uri cum ar fi:
 A este un B
 Dacă A este un B atunci …
 A nu este un B, dar este un C
 A este şi un C şi un D, prin urmare …

Exemplu:

Exprimare pe bază de mul imi: Exprimare comună:

El lucrează pentru Micrsoft. Oamenii de la El lucrează pentru Microsoft şi este


Microsoft sunt inteligen i. Astfel el este inteligent.
inteligent.
Dacă acest CD este la standard Criptarea ISO va fi folosită aici.
interna ional atunci va folosi ISO ca şi cod
standard de criptare.
Dacă el e şi italian şi locuieşte în New Lui probabil îi place pizza.
York, atunci probabil lui îi place pizza.

104
Teoria mul imii face atentă distinc ie despre ce este un lucru şi despre ce nu este. Este astfel foarte
precisă asupra defini iilor şi pune mult accent aici. Implică şi rela iile membrilor şi ierarhiile, căutând
membrii de sus sau de jos ai unei clase.

Verbul „ a fi ” este important aici. Când spunem despre un lucru că „ este ” un membru al unei
mul imi, noi presupunem că are toate proprietă ile unei mul imi. O eroare obişnuită a mul imii este
când spunem despre o persoană următoarele „ tu eşti prost “. Persoana (sau al ii) pot să ia această
descriere pentru a indica că nu sunt altceva decât proşti, având toate calită ile prostiei. Aceasta poate
cauza efecte psihologice importante.

Raţionament sistemic

Întregul este mai mare decât suma păr ilor sale. În elegem un lucru prin considerarea lucrului ca un
întreg sistem. Analizăm nu doar păr ile ci şi rela iile dintre păr i.

Po i să foloseşti ra ionamentul descompunerii pentru a identifica păr ile, dar treci peste asta când iei în
considerare lucrurile adi ionale dincolo de aceste păr i.

Exemplu: „Eu pledez pentru o nouă pia ă în mijlocul oraşului prin luarea în considerare a esteticii
spa iului şi a rela iilor dintre pia ă şi clădirile mari din jurul ei. Eu iau în considerare şi dinamica
mişcării şi pauzele oamenilor din timpul zilei şi a week-end-ului”.

Un „ sistem “ este o mul ime de păr i conectate, fiecare poate fi luată în considerare ca şi un sistem în
felul ei. O parte individuală poate să aibă orice număr de rela ii diferite cu oricare altă parte a
sistemului. Astfel sunt rela iile între mine şi scaunul pe care stau, bazate pe spa iu, frecare,
electromagnetism, gravita ie şi aşa mai departe.

Un sistem închis presupune că nu există nici o influen ă exterioară. Ştiin a agreează sistemele închise
pentru că acestea permit răspunsuri total deterministe.

Un sistem deschis este un sistem în care toate lucrurile pot fi conectate cu orice alt lucru. Sistemul
deschis fundamental este universul, cu orice parte capabilă să influen eze orice altă parte. Acesta este
mult mai greu de analizat şi în eles, dar este şi mult mai real.

Sistemele pot lua în considerare atât păr i ale sistemului care au scop şi dorin e cât şi păr i ale
sistemului care nu au scop şi dorin e. Astfel, de exemplu, o companie este compusă din oameni,
oameni care pot avea scopuri peste acea companie (şi astfel fac ob inerea scopului companiei mult
mai complex decât poate să pară).

Raţionamentul silogistic

Extrage concluzii din premise. Ra ionamentul silogistic implică folosirea silogismelor pentru a
extrage concluzii din premise.

7.6. Silogismul standard

Figura centrală în logica lui Aristotel este silogismul. Silogismele sunt argumente care iau mai multe
par i, de obicei cu două afirma ii care sunt presupuse a fii adevărate (sau premise) care duc la o
concluzie. Acestea iau formă generală:

Premisa principală: O afirma ie generală.


Premisa secundară: O afirma ie secundară.
Concluzia: Bazată pe cele două premise.

105
De exemplu,

To i oamenii sunt muritori. - premisă principală


Eu sunt om. - premisă secundară
De aceea, eu sunt muritor. - concluzia.

Este compus din 3 propozi ii două din ele numite premise şi una concluzie. O premisă se numeşte
majoră şi cealaltă premisă se numeşte minoră.

În general silogismul poate fi scris într-o formă concisă astfel:

To i M sunt P
To i S sunt M
Rezultă: To i S sunt P

Termenul care apare atât în premisa majoră cât şi în premisa minoră se numeşte termen mediu
(mijlociu). Subiectul concluziei este termenul minor, iar predicatul în concluzie este termenul major.
Orice alt argument care urmează această formă va fi valid unde m, p şi s sunt înlocuite de obiecte
particulare.

Aristotel a identificat câteva scheme de ra ionament comune tuturor oamenilor şi le-a categorisit în
patru tipuri de propozi ii:

1. universal afirmative: „To i S sunt P”,


2. particular afirmative: „Unii S sunt P”,
3. universal negative: „Nici un S nu este P”,
4. particular negative: „Unii S nu sunt P”.

Acestea sunt numite: A, E, I, and O, conform tabelului de mai jos [3][11].

Cele patru propoziţii categorice după Aristotel


Nume Simbol Latină Engleză Exemple
Universal
A Omnis S est P Every S is P “Fiecare câine este un mamifer.”
affirmative
“Nici un paianjen nu este o fiin ă
Universal negative E Nullus S est P No S is P
zburătoare.”
Particular “Unele creioane sunt obiecte
I Quidam S est P Some S is P
affirmative galbene.”
Quidam S non est Some S is not “Unele mese nu sunt obiecte
Particular negative O
P P rotunde.”

Pătratul tradiţional al opoziţiei

106
Astfel propozi iile pot fi clasificate după cantitate, universale sau particulare, după calitate, afirmative,
respectiv negative. Există câteva relaţii logice între aceste tipuri de propozi ii conform pătratului
tradi ional al opozi iei.

Două propozi ii sunt contradictorii dacă ele diferă atât prin calitate cât şi prin cantitate. Ele nu pot fi
ambele adevarate şi ambele false (A şi O; E şi I).

To i oamenii sunt oneşti.


Unii oameni nu sunt oneşti.

Două propozi ii se numesc contrare, dacă ele sunt ambele universale dar diferă prin calitate. Ele nu
pot fi ambele adevărate şi ambele false (A şi E).

To i oamenii sunt oneşti.


Nici un om nu este onest.

Din două propozi ii contradictorii, dacă una este adevărată cealaltă trebuie să fie falsă. Din două
propozi ii contrarii dacă una este adevărată cealaltă este falsă dar dacă una este falsă cealaltă este în
mod necesar adevărată.

Exemplu, dacă propozi ia: „To i oamenii sunt oneşti” este falsă nu este necesar adevărat că nici un om
nu este onest.

Două propozi ii sunt subcontrare dacă şi numai dacă nu pot fi ambele false dar pot fi ambele adevărate
(I şi O)

O propozi ie este subalterna alteia dacă şi numai dacă trebuie să fie adevărată dacă subalterna ei este
adevărată, şi superalterna trebuie să fie falsă dacă subalterna este falsă (I fa ă de A; O fa ă de E)

Aceste rela ii logice ne permit anumite inferen e valide immediate în cazul în care cunoaştem, în lipsa
oricărui alt lucru, dacă o anumită propozi ie categorică cu aceiaşi termeni este adevărată sau falsă.
De exemplu, dacă propozi ia “Toate pisicile sunt mamifere” este adevărată, atunci putem face
următoarele ra ionamente:

- Este adevărat că ‘anumite pisici sunt mamifere’ prin subalternare (dacă A este adevărat atunci
I este adevărat, prin subalternare).
- Este fals că ‘nici o pisică nu este mamifer’ (A şi E nu pot fi ambele adevărate, deşi pot fi
ambele false)
- Este fals că ‘anumite pisici nu sunt mamifere’ (dacă A este adevărat atunci O este fals, din
moment ce A şi O nu pot fi ambele adevărate şi nu pot fi ambele false, fiind contradictorii)

În anumite cazuri însă, nu putem deduce adevărul sau falsitatea unei propozi ii categorice din adevărul
sau falsitatea unei alte propozi ii categorice cu aceiaşi termeni. De exemplu, dacă ştim că “Toate
pisicile sunt peşti” este falsă atunci numai pe baza acestei informa ii nu putem ra iona în mod valid că
‘nici o pisică nu este peşte’, din moment ce ambele A şi E pot fi false. De asemenea, nu putem deduce
din această informa ie dacă e adevărat că ‘anumite pisici sunt peşti’, din moment ce subalternarea
func ionează numai în cazul în care A este adevărată şi nu când este falsă. Putem însă face
ra ionamentul valid, pornind de la falsitatea că “Toate pisicile sunt peşti”, că ‘anumite pisici nu sunt
peşti’, deoarece aceste propozi ii sunt contradictorii, iar din moment ce contradictoriile nu pot fi
ambele adevărate şi nu pot fi ambele false, rezultă că în mod necesar una este adevărată şi cealaltă
este falsă.

107
7.7. Mod şi Figură

Fiecare formă standard de silogism va avea trei termeni, care apar utiliza i de două ori în cele trei
propozi ii care formează silogismul. Termenul predicat va fi folosit premisa majoră şi în concluzie,
termenul subiect în premisa minoră şi în concluzie, iar termenul mediu în cele două premise.
Aranjamnetul celor patru propozi ii A, E, I, sau O determină modul silogistic sau ordonarea celor trei
propozi ii care formează silogismul. Un silogism cu toate propozi iile de tip A, ca mai sus, este în
modul AAA. Unul care are propozi ii de tip E ca premisă majoră şi concluzie şi o propozi ie de tip I
ca premisă minoră va fi în modul EIE. Astfel, ordinea propozi iilor determină modul unui silogism.
Din moment ce există patru tipuri de propozi ii categorice şi trei propozi ii în fiecare silogism, vor
exista în total 64 de moduri silogistice posibile. În plus, există 16 aranjamente posibile ale celor patru
tipuri de propozi ii A, E, I sau O având rolul de premisă majoră:

AAA EAA IAA OAA


AAE EAE IAE OAE
AAI EAI IAI OAI
AAO EAO IAO OAO

AEA EEA IEA OEA


AEE EEE IEE OEE
AEI EEI IEI OEI
AEO EEO IEO OEO

AIA EIA IIA OIA


AIE EIE IIE OIE
AII EII III OII
AIO EIO IIO OIO

AOA EOA IOA OOA


AOE EOE IOE OOE
AOI EOI IOI OOI
AOO EOO IOO OOO

Aceste 64 de moduri pot fi aranjate conform lui Aristotel în patru figuri, figura fiind determinată de
rolul termenului mediu în premise.

1) termenul mediu este subiect în premisa majoră şi predicat în minoră.


2) termenul mediu este predicat în ambele premise
3) termenul mediu este subiect în ambele premise
4) termenul mediu este predicat în premisa majoră şi subiect în minoră.

Exemplu: Fie următorul tip de silogism: nici un P nu este M, to i S sunt M, rezultă nici un S nu este P.
Uneori putem stabili convenabil valabilitatea unei forme prin diagrame Venn.

1) Nici un P nu este M
2) To i S sunt M

Astfel, din moment ce termenul mediu nu poate apărea în concluzie, există doar patru aranjamente
posibile de termeni: termenul mediu poate fi subiect sau predicat al premisei majore sau subiect sau
predicat al premisei minore. Aranjamentul uzual al acestor patru figuri este următorul:

108
MP PM MP PM
(1) SM (2) SM (3) MS (4) MS
--- --- --- ---
SP SP SP SP

Deoarece există 64 de moduri şi patru figuri, se vor putea forma 256 de silogisme posibile. Fiecare din
acestea se distinge de celelalte printr-un mod şi figură distincte. Exemplele (1) şi (2) de mai sus sunt
silogisme categorice de tip AAA-1 categorical syllogisms. Modul lor este AAA, având figura întâi .

7.8. Silogisme ipotetice

Silogismele ipotetice sunt diferite de silogismele standard şi astfel au regulile lor proprii. Într-un
silogism ipotetic prima premisă (sau propozi ia principală) prezintă o condi ie incertă („dacă A, atunci
B”) sau o problemă („fie A fie B”, ”S şi T nu pot fi amândouă adevărate”) care trebuie să fie rezolvată
de a doua premisă pentru a urma o concluzie validă. Fermitatea problemei este mereu în formă de
afirma ie sau nega ie. Cele trei tipuri de silogisme ipotetice pe care le vom studia sunt silogismul
condi ional, silogismul disjunctiv şi silogismul conjunctiv [3][11].

Silogismul condiţional:

Dacă A e adevărat, atunci B e adevărat (Dacă A, atunci B).

Forma de bază a silogismului condi ional este: Dacă A este adevărat, atunci B este şi el adevărat
(Dacă A, atunci B). Apare printr-o premisă principală, o premisă minoră şi o concluzie.

Propozi ia principală pentru acest silogism prezintă un argument condi ional pentru efectul că dacă un
lucru este adevărat, atunci altul este de asemenea adevărat. De exemplu, „Dacă acesta este azot lichid,
atunci temperatura lui este mai mult de 400 de grade sub zero”. Adevărul antecedentei (primei
afirma ii implică sau stabileşte adevărul următoarei (a doua afirma ie). Urmează că (1) dacă primul
lucru nu este adevărat - care aşa este, este negat („Acesta nu este azot lichid”) - atunci nu se poate
trage nicio concluzie despre al doilea lucru, şi (2) dacă al doilea lucru nu este adevărat sau este negat
(„Acesta nu are mai mult de 400 de grade sub zero”), atunci nici primul nu este adevărat, din moment
ce al doilea ar fii fost adevărat dacă primul era adevărat. Mai departe, dacă al doilea lucru e adevărat,
aceasta nu dovedeşte de la sine că primul este adevărat - antecedentul dovedeşte că următorul este
adevărat, dar următorul nu poate dovedi că antecedentul este adevărat (ca şi în acest caz, când alte
substan e au temperaturi mai mici de 400 de grade, ca şi azotul lichid). Astfel avem două forme valide
şi două invalide ale silogismului condi ional. Formele valide sunt:

Dacă A, atunci B
Şi A, deci B
(Afirm antecedentul, deci afirmăm consecin a)

Dacă A, atunci B
Dar nu B, deci nu A
(Negăm consecin a, apoi negăm precedenta)

Formele invalide şi capcanele respective lor sunt:


Dacă A, atunci B
Şi B, deci A
(Capcana afirmării consecin ei) (ACs)

Dacă A, atunci B
Nu A, deci nu B

109
(Capcana negării antecedentei) (NA)

După cum se poate vedea, ordinea afirmării sau negării este cea care determină validitatea procedurii.
Afirmarea consecin ei prima oară sau negarea consecin ei prima oară este metoda invalidă.

Silogismul condi ional poate fi un argument simplu de trei termeni ca şi „Dacă acel bărbat este
poştaşul, poşta a sosit; şi acel bărbat este poştaşul, aşadar poşta a sosit”. Sau poate fi un argument mai
complex cu mai mult de trei termeni. Forma silogismului poate fi extrem de liberă, cu o afirma ie
„atunci” în fa a sau în urma unei afirma ii „dacă”; şi afirma ia conclusivă poate folosi fie „de aceea”
sau „atunci”, ”astfel”, ”aşa” sau „deci, prin urmare”. Observa i că de asemenea şi propozi iile
negative pot fi afirma ii, ca atunci când ai vrea să zici „Eu afirm că prosopul nu este în dulapul meu”.

În acest caz, pentru a păstra nega ia ar trebui să afirmăm propozi ia şi pentru a scăpa de nega ie ar
trebui să îi negăm afirma ia. Aceasta produce în douăsprezece forme de silogism condi ional.

De exemplu:

Dacă A, atunci nu B
Dar B, de aceea A (valid)
Dacă nu A, atunci nu B
Dar A, de aceea B (valid)

Dacă nu A, atunci B
Dar nu B, de aceea A (valid)

Aici sunt nişte exemple ale diferitelor forme:

 Dacă via a e o luptă, atunci eu sunt cu totul implicat în via ă, din moment ce mă chinui să
în eleg logica. Şi via a e o luptă, deci sunt cu totul implicat în via ă. (valid)
 Dacă Cindy s-a dus la plajă, a ars-o soarele. Dar ea nu a fost arsă de soare, deci nu s-a dus la
plajă. (valid)
 Dacă Sarah vine târziu trebuie să o luăm de la început. Văd că o luăm de la început, deci
Sarah a venit târziu. (ACs)
 Dacă aceasta e cartea lui Wilson, atunci ea con ine un eseu de Swift. Dar aceasta nu e cartea
lui Wilson, deci nu con ine un eseu de Swift. (valid)
 Dacă acest film nu este despre cai, atunci mă voi uita la el. Dar nu mă voi uita la el, deci este
despre cai. (valid)
 Dacă nu folosim benzină premium, motorul va şuiera la accelera ie. Şi motorul şuieră la
accelera ie, deci nu folosim benzină premium. (ACs)
 Aici este scheletul a multor propozi ii a multor terapeu i:

Tu eşti trist.
Eu sunt calificat să ajut oameni trişti.
Eu pot să te fac fericit.

Aşadar, când un terapeut zice „Tu eşti trist”, pacientul în elege ideea că terapeutul îl poate face fericit.
Calificarea unui terapeut poate fi înrămată pe un perete sau pe o placă de aramă afară. Acest principiu
este de asemenea folosit în multe profesii, de unde este în regulă ca frizerii să î i critice părul (de fapt
produce un contrast cu felul în care va arăta părul tău în curând).

Silogismele condi ionale sunt completate rareori cu toate trei propozi iile – de cele mai multe ori doar
propozi ia principală şi cea secundară sunt necesare şi uneori este suficientă doar premisa principală.

110
Concluzia silogismelor condi ionale este de cele mai multe ori nespusă şi este indicat ca ascultătorul
să o tragă pentru el însuşi.

Agen ii de publicitate iubesc silogismele condi ionale pentru că le dau un mod de a ocoli legi care
interzic reclamelor să spună direct minciuni. Minciuni ca, ”folosi i parfum, atrage i femei” sunt de
asemenea pu in evidente şi oamenii care cred silogismul nu vor crede neapărat şi minciuna directă a
concluziei.

Silogisme categorice:

Dacă A e în C atunci B e în C.

Silogisme disjunctive:

Dacă A e adevărat, atunci B e fals.(A sau B).

Acest silogism prezintă două alternative în forma „fie.....fie”; una dintre alternative este pentru
motivele formale presupuse a fi necesar adevărate, aşadar negând unul îl lasă pe celălalt ca singură
posibilitate. Cele două posibilită i, numite disjuncte, sunt afirmate în premisa principală; este una şi
trebuie negată în premisa secundară; iar cealaltă este afirmată în concluzie. Aceasta este forma validă,
care poate fi arătată după cum urmează:

Fie A fie B
Nu A, deci B
(negarea primei disjuncte, afirmarea celei de a doua)

Fie A fie B
Nu B, deci A
(negarea celei de a doua disjuncte; afirmarea primei)

Procedura opusă celei de a afirma prima oară şi după a nega este, oricum, incorectă. Excep ie când
membrii sunt explicit contradictorii, aşa că amândoi nu ar putea să fie adevăra i, afirmarea unui
disjunct (în premisa secundară) nu neagă cealaltă. De exemplu, a spune „Fie s-a luat curentul, fie s-a
ars becul; s-a luat curentul, deci nu s-a ars becul”, ar fii eronat, pentru că în timp ce presupunem că
una dintre disjuncte este categoric adevărată, amândouă ar putea fi adevărate – nu am verificat becul
şi de aceea nu putem fi siguri de starea acestuia. Din moment ce a doua disjunctă nu a fost investigată,
nu poate fi negată din principiu. (Când membrii disjunctei sunt în contradictoriu, ca în „Planta este fie
vie, fie moartă” argumentul ar trebui, pentru a evita confuziile, să fie schimbat în forma conjunctivă a
silogismului şi prelucrat de acolo). Greşeala de a afirma prima oară disjuncta şi după aceea de a nega
cealaltă arată astfel:

Fie A fie B
Şi A, deci nu B

Fie A fie B
Şi B, deci nu A

Greşeala de a afirma disjuncta (AD)

Câteva exemple de forme valide şi invalide:

 Acesta este fie un dic ionar fie o carte de chimie. Nu este un dic ionar, deci este o carte de
chimie. (valid)

111
 Fie bateria este moartă fie ceva e în neregulă cu aprinderea. Da, bateria este moartă, deci nu
poate fi nimic în neregulă cu aprinderea. (AD)
 Fie nu func ionează cuptorul, fie am uitat să pun drojdie. Dar cuptorul func ionează, deci am
uitat să pun drojdie. (valid)
 Fie am studiat silogisme disjunctive, fie o să îl greşesc pe acesta. Am studiat silogisme
disjunctive, deci nu îl voi greşi pe acesta. (AD)

Amintim că, la fel ca în al treilea exemplu, pentru a reduce o nega ie trebuie negată afirma ia acesteia.

Probabil s-a observat deja că în timp ce pentru motive de formă presupunem una dintre cele două
disjuncte a fi adevărată, este posibil ca în multe situa ii amândouă să fie false şi că problema să nu
poată fi redusă la o simplă opozi ie din două păr i. Ar putea fi o a treia (sau patra, sau cincea)
alternativă, sau ar putea fi o eroare în exprimarea rangului într-una sau ambele disjuncte (de exemplu:
„Cartea e fie foarte interesantă şi instructivă sau complet fără valoare.”). Pentru a reduce o problemă
greşită la o opozi ie fie/fie este o mare greşeală. Dar cu toate acestea, în cazuri specifice silogismului
disjunctiv este foarte folositor pentru că ne ajută să ne decidem între alternative despre a căror adevăr,
natură şi existen ă am fost deja de acord.

Silogismul conjunctiv

În premiza principală a acestui silogism sunt prezente două propozi ii, numite conjuncte, amândouă
nu pot fi adevărate simultan. Premiza minoră afirmă conjuncta adevărată şi concluzia, apoi o neagă pe
cealaltă, care trebuie să fie falsă din defini ie. Forma validă este:

A nu poate fi şi B şi C
A este B, deci A nu este C
(afirmăm prima conjunctă; o negăm pe a doua)

A nu poate fi şi B şi C
A este C, deci A nu este B
(afirmarea celei de a doua conjuncte; negarea celei dintâi)

Acum, ştim din defini ie că amândouă conjunctele nu pot fi adevărate. Dar, ulterior, dacă ne uităm la
un exemplu „Tu nu po i fi şi mamă şi tată” – putem în elege uşor că poate nici o conjunctă nu e
adevărată. Adică, A nu poate fi şi B şi C, dar A nu trebuie să fie una din ele. A poate fi D sau E. În
exemplul nostru, mai degrabă de a fi mamă sau tată po i să nu fii părinte deloc. De aceea, încercarea
de afirma o conjunctă (cea rămasă) prin negarea mai întâi a celeilalte este o procedură invalidă:

A nu poate fi şi B şi C
A nu este B, deci A este C

A nu poate fi şi B şi C
A nu este C, deci A este B

Eroarea de a nega conjuncta (NC)

Exemple de forma:
 O lege nu poate fi şi schimbătoare şi dreaptă. Această lege este schimbătoare, deci nu este
dreaptă. (valid)
 Nu pot să mă duc şi la film şi să îmi termin şi lucrarea. Şi trebuie să îmi termin lucrarea. De
aceea nu mă pot duce la film. (valid)
 El ştia că nu se poate duce şi la film şi să îşi termine şi lucrarea, deci nu s-a dus la film.
Aşadar trebuie să îşi fi terminat lucrarea. (NC)

112
 Petre nu poate fi şi un geniu şi un prost. Şi Petre cu siguran ă nu e un geniu. Bănuiesc că asta
înseamnă că e un prost. (NC)

Ca şi cazul altor tipuri de silogisme ipotetice, opozi iile create pot avea neajunsuri de grad,
reprezentare şi aşa mai departe. A spune „Nu po i fi şi normal şi anormal” de exemplu, ar duce la o
concluzie validă, dar concluzia nu ar fi probabil adevărată din moment ce sănătatea mintală a unei
persoane este în eleasă mai degrabă ca o regiune de-a lungul unei linii decât ca un pol sau altul.

Silogismele sunt interesante în particular în persuasiune, pentru că includ presupuneri pe care mul i
oameni le acceptă şi care permit afirma ii false sau (de multe ori nespuse) concluzii care par a fi
adevărate. Este o diferen ă între adevăr şi validitate în silogisme. Un silogism poate fi adevărat, dar nu
valid. Poate fi de asemenea valid, dar nu adevărat. Începe i cu premize care sunt presupuse a fi
adevărate. Apoi folosi i doar logica ra ională pentru a deriva o concluzie. Ave i grijă să fie aplicată
corect. ine i sentimentele departe de acestea.

Exemplu:

Exprimare silogistică: Exprimare comună:

To i oamenii au poten ial. Tu eşti o persoană. Unii oameni au poten ial. Tu eşti o persoană. Tu
Tu ai poten ial. ai poten ial.
Unele banane sunt galbene. Unele banane sunt Unele banane sunt galbene. Unele banane sunt
verzi. Nu ştiu dacă sunt banane şi galbene şi verzi. De aceea unele banane sunt şi verzi şi
verzi. galbene.
A omorî este greşit. A împuşca mortal pe A împuşca mortal pe cineva este crimă. A
cineva este o crimă. De aceea a împuşca pe omorî este greşit. De aceea a împuşca pe cineva
cineva mortal este greşit. mortal este greşit.

În afară de silogism mai men ionăm aici şi alte două forme de ra ionament deductiv, prima se numeşte
modus ponens –mod de afirmare:

Dacă p atunci q
p
Rezultă├: q

Dacă e metal atunci conduce electricitatea


Este metal
Rezultă: conduce electricitate

Dacă e soare atunci e lumină


Este soare
Rezultă: e lumină

A doua este Modus tollens – mod de negare:

Dacă p atunci q
q
Rezultă:  p

Dacă e metal conduce electricitate


Nu conduce electricitate
Rezultă: nu e metal

113
Există forme invalide de folosirea acestor tipuri de ra ionament. Exemplu: O formă comună invalidă
se numeşte eroarea negării antecedentului.

Dacă p atunci q
p
Rezultă:  q

Dacă e soare atunci e lumină


Nu e soare
Rezultă: nu e lumină

Dacă are culoarea statojiu atunci este o culoare amestecată


Nu are culoarea statojiu
Rezultă: nu este o culoare amestecată.

Al doilea tip de eroare: eroarea afirmării consecin ei

Dacă p atunci q
q
Rezultă p

Dacă e soare atunci e lumină


E lumină
Rezultă: este soare

Dacă este senator este cetă ean


Este cetă ean
Rezultă: este senator

În exemplele anterioare am observat că în negarea antecedentului am avut premise adevărate şi o


concluzie falsă. Am putea avea situa ii în care să avem premise adevărate şi o concluzie adevărată. Ce
face un asemenea ra ionament invalid este că permite altor situa ii de a avea premise adevărate şi o
concluzie falsă. Demonstra ia invalidită ii se face prin arătarea unor exemple în acest sens.

Alte exemple:

Nici un P nu este M
To i S sunt M
Rezultă nici un S nu e P

Forma prezentată este derivată de fapt dintr-o altă formă adică se urmează următoarea procedură:
Ceea ce a fost universal, premisă negativă universală este înlocuită cu contrara sa. Premisa universală
afirmativă pe de altă parte nu e echivalentă cu contrara sa.

7.9. Capcane silogistice

Putem face multe afirma ii în conversa ie sau afirma ii scrise, implicând conexiunile logice dintre ele.
Trist este că, logica şi adevărul pe care noi le presupunem, nu sunt tot timpul acolo.

Lua i în considerare afirma ia şi concluzia următoare:

Afirma ia 1: To i bărba ii sunt animale.


Afirma ia 2: Unele animale sunt vegetariene.

114
Afirma ia 3: Unii bărba i sunt vegetarieni.

Aceasta pare a fi o concluzie rezonabilă, dar atunci lua i în considerare următoarele:

Afirma ia 1: To i bărba ii sunt animale.


Afirma ia 2: Unele animale sunt femele.
Afirma ia 3: Unii bărba i sunt femele.

Acum concluzia pare a fi ridicolă şi falsă – dar raţionamentul este exact la fel ca şi în primul
exemplu. Astfel, primul exemplu are o concluzie falsă: Animalele care sunt vegetariene nu sunt
necesar bărba i.

Ce se întâmplă aici este că noi folosim ce ştim noi că este adevărat ca o substituţie pentru logica
afirma iei. În situa ii mai pu in clare, noi folosim aceleaşi presupuneri nespuse şi credin e despre
sfârşituri mai pu in acceptabile.

Există un număr de silogisme înşelătoare ce pot păcăli logicianul neglijent. Ra ionamentul silogistic
foloseşte logica ra ională şi de aici teoria mul imii se aplică iar cea mai bună metodă de vizualizare
este diagrama Venn. Diagrama de mai jos este un desen valid ce explică primele două afirma ii din
exemplu.

ANIMALE
vegetarieni
bărba i

Concluzia acestor exemple cade în capcana presupunerii că subgrupurile „animalele vegetariene” şi


„bărba ii” se suprapun neapărat, întrucât acesta nu este neapărat necesar în declara iile unu şi doi.
Chiar dacă concluzia ar putea fi adevărată, ea nu trebuie să fie adevărată.

Observa i că acestea nu sunt metode exclusiv reciproce şi mai multe dau imagini diferite pe arii
suprapuse. În argumenta ia clasică, de exemplu, argumentele sunt încadrate fie inductive fie
deductive.

Silogisme eronate

În multe cazuri, erorile silogistice sunt forme „clasice” de erori.

Afirmarea consecin ei: Dacă A atunci B. B e adevărată, deci A e adevărată. Dacă B urmează după A,
atunci po i presupune că po i merge înapoi şi în sens opus.

Asta presupune că o afirma ie „dacă ... atunci” este comutativă, ca dată „Dacă A atunci B” poate fi
întoarsă în „Dacă B, atunci A”. B-ul sau partea „atunci” a afirma iei este numită ‚consecin ă’ (partea
A „antecedentă”). A afirma o consecin ă este una dintre cele 13 greşeli a lui Aristotel.

De exemplu:

Eu sunt în Londra, Anglia. Eu sunt în Anglia, deci sunt în Londra.

115
Dacă mă înşeli, o să lipseşti de acasă mult. Lipseşti de acasă mult, deci trebuie că mă înşeli.

Negarea antecedentului: Dacă A atunci B. A e falsă, deci B e falsă.

A dovedi netemeinicia unei afirma ii ară i cum poate fi cauzată de altceva. După ară i că cauza nu se
întâmplă (după presupui că dovedeşte că antecedenta este de asemenea falsă).

Exemplu:

Dacă îi dai unui bărbat un pistol, el poate omorî pe cineva. Dacă nu are pistol, atunci nu va omorî pe
nimeni.

Dacă lucrezi din greu vei ob ine un post bun. Dacă nu lucrezi din greu nu vei ob ine un post bun.

Eu sunt în Londra, Anglia. Eu nu sunt în Londra, deci nu sunt în Anglia.

Când ştii că „Dacă A e adevărată atunci B e adevărată”, această afirma ie e validă doar pentru A şi B
adevărate. Dacă A e falsă, atunci nu e neapărat necesar ca B să fie şi ea falsă. Un loc unde aceasta e
adevărată e logica Booleană unde A şi B pot avea multe alte stări.

Patru termeni: To i A sunt B. To i C sunt D. Aşa că to i A sunt D.

Face i două afirma ii şi face i un salt nespus care conectează cele două afirma ii cu o a treia, făcută
afirma ie conclusivă.

Exemplu:

To i câinii sunt mamifere. To i peştii sunt animale. Deci to i câinii sunt animale. (adevărată, dar
nedemonstrată de cele două afirma ii)

Omul este un animal inteligent. Nicio femeie nu e bărbat. Aşadar nicio femeie nu e bărbat inteligent.

Silogismele ar trebui să aibă doar trei termeni, cu unul din termeni fiind podul dintre premiza
principală şi cea secundară, care formează concluzia. Deci unde apar patru termeni în premiza
principală şi cea secundară, aceste două afirma ii sunt deconectate logic şi nu se poate trage o
concluzie logică. Uneori poate părea că sunt trei termeni (ca şi în al doilea exemplu de mai sus).

Majoră ilicită: To i X sunt Y. Niciun P (care e o submul ime a lui Y) nu e X. De unde niciun P nu e Y.
Presupunere nespusă: To i Y sunt X.

Exemplu:

To i londonezii sunt europeni. Niciun parizian nu e londonez. Deci niciun parizian nu e european.

Acesta e un caz particular de silogism categoric, unde suprapuneri de submul imi sunt considerate a fi
diferite în fiecare afirma ie. Astfel, eroarea în exemplul de mai sus apare când prima afirma ie este
presupusă a fi reversibilă (că dacă to i londonezii sunt europeni, atunci to i europenii sunt londonezi).

Mai formal, predicatul (Y) concluziei (niciun P nu e Y) se referă la to i membrii acelui grup. Totuşi,
acelaşi termen (Y) în premiza principală (to i X sunt Y) se referă doar la unii membrii (X) al grupului.
Principala în sine este premiza principală, prima afirma ie din silogism.

Minoră ilicită: To i X sunt Y. To i X sunt P. Deci to i P sunt Y.


Presupunere nespusă: To i P sunt X.

116
Exemplu:

To i locuitorii New York-ului sunt frumoşi. To i locuitorii New York-ului sunt inteligen i. Deci to i
oamenii inteligen i sunt frumoşi.

Acesta este un caz particular de silogism categoric, unde a doua afirma ie se presupune a fi
reversibilă. În exemplu este presupus că afirma ia despre locuitorii New York-ului şi inteligen a (to i
oamenii inteligen i locuiesc în New York) este reversibilă. Mai formal, subiectul (P) şi concluzia (to i
P sunt Y) se referă la to i membrii unei categorii, dar acelaşi termen (P) în premiza secundară (to i X
sunt P) se referă doar la unii membrii unei categorii. Secundara în sine este premisa secundară, al
doilea termen al silogismului.

Mijloc nedistribuit : To i A sunt B. To i C sunt B. Deci to i C sunt A.


B se presupune că acoperă to i membrii în această categorie.

Exemplu:

To i locuitorii Californiei sunt frumoşi. Toate femeile sunt frumoase. Deci toate femeile locuiesc în
California.

To i proştii se comportă aiurea. Tu te-ai comportat aiurea. Deci tu eşti un prost.


To i elefan ii sunt mari. Unii băie i sunt mari. Deci unii băie i sunt elefan i.

Problema aici este că termenul mijlociu (care conectează primele două afirma ii) se presupune că se
referă la acelaşi lucru – tipic pentru to i membrii, totuşi asta este uneori adevărat. Astfel, în primul
exemplu de mai sus, nici to i locuitorii Californiei, nici toate femeile nu acoperă to i oamenii frumoşi
din lume (unii bărba i britanici sunt frumoşi). În concluzie, presupunerea „rezonabilă” este că primele
două afirma ii sunt de forma AţB şi CţB, din care concluzia de bază matematica este CţA. Din
păcate silogismele lucrează cu grupuri şi nu cu variabile matematice.

Am văzut că inferen a logică este o procedură de a ob ine noi informa ii din combinarea celor
existente, dar în fapt inferen a este tautologică, adică informa ia care este prezentată în concluzie e
deja con inută în premize. Mai men ionăm aici că mai există şi alte mijloace pe care omul le are de a
dobândi noi cunoştin e. Acestea se referă la caracteristicile psihice şi care presupun inspira ia, intui ia,
percep ia etc. Spre exemplu: dacă observăm două fe e şi trei muchii ale unui cub ajungem să
cunoaştem că obiectul este un cub. Această cunoaştere nu e rezultatul inferen ei logice ci a unui
proces numit în psihologie gestald, denotă capacitatea de percep ie derivată de anumite obiecte.

7.10. Principiile logicii

Principiul identităţii

Principiul identită ii a fost identificat în opera lui Aristotel. El defineşte identitatea ca “un fel de
unitate” [3]:
“o unitate de existenţă a unei pluralităţi, sau aceea care rezultă din considerarea
mai multor lucruri ca unul, ca atunci când spunem că un lucru este identic cu sine,
caz în care acelaşi lucru e socotit ca două lucruri”

Identitatea este definită în trei sensuri:

117
 identitatea în număr;
 identitatea în specie;
 identitatea în gen.

Cea mai curentă este identitatea numerică.

Principiul identită ii este formulat şi de către Leibniz, astfel:

“fiecare lucru este ceea ce este. A este A, B este B, etc.”

Identitatea poate fi formulată nu numai la nivel logico-sintactic al elementelor construc iei logice, ci
şi la nivel semantic, însemnând că, dacă o compozi ie este adevărată, atunci ea este adevărată.

Principiul identită ii trebuie în eles ca fiind baza oricărei argumentări corecte. Nu se poate face un
pas înainte într-un ra ionament dacă, referindu-ne la ceva, în elegem, de fapt, altceva. Termenii pe
care îi folosim trebuie să aibă aceleaşi în elesuri, altminteri oamenii nu s-ar putea în elege între ei.
Nu trebuie confundat principiul identită ii cu o tautologie sau cu un truism. Când spunem “A este A”,
precizăm că A (care poate fi un obiect sau o no iune) este el însuşi, şi nu este totodată altceva.
Utilizarea verbului a fi în această expresie nu exprimă nici posedarea unei însuşiri (ca în formula
“casa este frumoasă”), nici apartenen a la o clasă (“vulpea este un animal”), nici o opera ie de
identificare (“Paris este capitala Franţei”), nici o condi ie de existen ă (“afară este frig”).

Aşadar, principiul identită ii nu se referă la simpla rela ie de identitate dintre dintre obiecte sau
no iuni, ci enun ă esenţa fiecărui lucru sau obiect ca fiind fundamentală, persistentă, dincolo de
orice fel de modificare.

Nesocotirea principiului identită ii conduce, inevitabil, la argumentări invalide. Folosind într-o


argumentare accelaşi cuvânt, având la început un în eles, iar apoi un alt în eles, se încalcă principiul
identită ii, generându-se paralogisme.

Principiul identită ii are un con inut semantic şi stabileşte clar cadrul de folosire a cuvintelor omonime
şi sinonime, pentru a evita sofismele. Omonimia şi sinonimia apar în limbajul natural deoarece aici se
poate realiza o coresponden ă multivocă de tipul semn – mai multe obiecte, un obiect – mai multe
semne. Dacă acelaşi cuvânt exprimă no iuni diferite, avem de-a face cu omonimie. Dacă sensurile
diferite sunt înrudite, au aceeaşi origine, vorbim de polisemie. Polisemia facilitează încălcarea
principiului identită ii prin aceea că se poate trece de la un în eles la altul cu uşurin ă. Sinonimia apare
cănd aceeaşi no iune este exprimată de cuvinte diferite.

În logica modernă, principiul identită ii sus ine o lege specifică a calculelor logice care afirmă că orice
variabilă este echivalentă cu ea însăşi. De asemenea, se permite astfel substituirea, adică o parte a unei
formule poate fi înlocuită cu o forma echivalentă cu aceasta. În ştiin a calculatoarelor se asigură
coresponden a semantică dintre simboluri şi obiecte prin utilizarea limbajelor formale construite
artificial. Se asigură astfel o corespondenţă biunivocă între simboluri şi obiecte, de tipul: un simbol
– un obiect, un obiect – un simbol.

Principiul necontradicţiei (contradicţiei excluse)

O formulare precisă a acestui principiu se găseşte, de asemenea, în opera lui Aristotel, însă sub
numele său tradi ional de principiul contradicţiei [3]:

118
“este peste putinţă ca unuia şi aceluiaşi subiect să i se potrivească şi totodată să nu
i se potrivească, sub acelaşi raport, unul şi acelaşi predicat [...] într-adevăr, este
peste putinţă ca un om să-şi poată închipui că unul şi acelaşi lucru este şi totodată
nu este”

În formularea lui Leibniz, principiul necontradic iei apare ca o formă negativă a identită ii, asociindu-
se şi exigen a ter ului exclus. Formularea se rezumă astfel:

“O propoziţie este sau adevărată, sau falsă”

Din aceasta se derivă alte două enun uri:

 O propoziţie nu poate să fie adevărată şi falsă în acelaşi timp. (Principiul contradicţiei)


 Nu se poate ca o propoziţie să fie nici adevărată, nici falsă. (Principiul terţului exclus)
o Dacă ne referim la proprietăţi, principiul se enun ă astfel: “e imposibil ca un lucru să
posede şi să nu posede aceeaşi proprietate în acelaşi timp şi sub acelaşi raport”.
o Referindu-ne la valoarea de adevăr, ob inem formularea: “e imposibil ca o propoziţie
să fie şi să nu fie adevărată în acelaşi timp şi sub acelaşi raport”.
o Cu referire la sistemele logice formale, principiul devine: “e imposibil ca o formulă
bine formată să fie şi să nu fie o teză a sistemului în acelaşi timp şi sub acelaşi raport”.

Considerând principiul necontradic iei (şi, după cum vom vedea, al ter ului exclus) cu principiul
identită ii, observăm că, dacă principiul identită ii are o conexiune cu operatorul logic al afirma iei (un
lucru este ceea ce este), adică e exprimat fără folosirea nega iei, principiul necontradic iei are
conexiune directă cu operaţia logică a negaţiei.

Spre exemplu, fie o propozi ie p şi negata ei, ¬p, cum ar fi A este B şi respectiv A nu este B. Vedem că
principiul necontradic iei se aplică la propozi ii contradictorii, adică acelea la care una este negata
celeilalte, stabilind că cele două propoziţii contradictorii nu pot fi ambele adevărate în acelaşi
timp şi sub acelaşi raport. Dacă una e adevărată, cealaltă trebuie să fie falsă. Folosind reprezentarea
prin tabela valorilor de adevăr:
p ¬p

1 0
0 1
Vedem că prima linie a tabelului exprimă exact acest principiu: “dacă p e adevărat, atunci ¬p este
fals”.

E interesant să mai men ionăm că acest principiu al necontradic iei a fost folosit de către Aristotel în
argumentarea sa împotriva concep iilor sofiste, din care se putea deduce că omul constituie criteriul
adevărului (Protagoras lansase teza că “omul este măsura tuturor lucrurilor”).

Principiul necontradic iei a fost demonstrat de Aristotel prin procedeul reducerii la absurd.
Convenind în minte că principiul nu ar fi valabil, se analizează consecin ele rezultate şi care, dacă
sunt inacceptabile, rezultă că se elimină ipoteza nevalabilită ii. Consecin ele absurde ale acestei
ipoteze sunt:

1) Dispariţia însuşirilor esenţiale ale lucrurilor: toate însuşirile ar fi doar accidentale,


deoarece doar accidentalul poate să fie şi să nu fie; ar dispare proprietă ile, caracteristicile
definitorii ale tuturor lucrurilor; spre exemplu, am ajunge la aser iuni de tipul “pătratul are şi
nu are patru laturi”, etc.
2) Toate lucrurile s-ar confunda cu unul singur, adică ar dispare şi cerin a principiului

119
identită ii: “dacă A este ¬A, atunci este şi ¬B, deci este şi B” ş.a.m.d.
3) Nu s-ar mai putea deosebi adevărul de fals, fiindcă toate aser iunile ar fi adevărate şi în
acelaşi timp false.

În concluzie principiul necontradic iei reprezintă o condiţie necesară a gândirii logice. În orice
discurs logic exigen a necontradic iei e respectată în mod natural, asigurându-se consecven a logică a
argumentării. Cu alte cuvinte, putem spune că a argumenta corect înseamnă în primul rând a nu te
contrazice.

În realitate nu se poate concepe existen a contradic iilor logice. Men ionăm însă că o teorie logică nu
este valabilă în mod absolut, ci numai raportată la un anumit univers.

Spre exemplu, în logica clasică, universul se divide exclusiv în două: adevărul şi falsul. Clasa
propozi iilor e distribuită exact în două subclase exclusive: familia propozi iilor adevărate şi familia
propozi iilor false, orice propozi ie fiind con inută în una din aceste două subclase.

Există însă posibilitatea de a avea şi alte universuri, în care propozi iile să poată primi mai multe
valori logice: necesar, posibil, contingent, imposibil, astfel încât să avem valori intermediare între
adevăr şi fals. Le putem numi grade de adevăr, cum ar fi mai mult sau mai pu in adevărat, respectiv
mai mult sau mai pu in fals. O propozi ie adevărată în acest univers nu impune automat condi ia
falsită ii asupra celorlalte, ci poate să înglobeze alte propozi ii ca şi cazuri apropiate adevărului. Un
exemplu de astfel de sistem logic dezvoltat formal e atribuit matematicianului Lotfi Asker Zadeh şi
poartă denumirea de logică fuzzy.

Principiul terţului exclus

Dacă în tabelul de adevăr anterior, prin prima linie, am specificat condi ia necontradic iei, este necesar
să adăugăm o a doua linie prin care stipulăm principiul ter ului exclus. Principiul necontradic iei
stabileşte că două propozi ii contradictorii nu pot fi ambele adevărate, însă nu răspunde la întrebarea
dacă pot fi ambele false. Răspunsul la această întrebare este dat de principiul ter ului exclus (lat.
tertium non datur). În formularea sa clasică principiul se enun ă astfel [3]:
“două propoziţii contradictorii nu pot fi ambele false în acelaşi timp şi sub acelaşi
raport”
Rezultă că una din ele este în mod necesar adevărată. Într-o altă exprimare, e imposibil ca un atribut
nici să aparţină, nici să nu aparţină unui subiect.

Originea denumirii acestui principiu o regăsim chiar în formularea dată de Aristotel când se referă la
problema termenilor mijlocii:

“dar este cu neputinţă nici ca să existe un termen mijlociu între cele două membre
extreme ale unei contradicţii, ci despre orice obiect trebuie neapărat sau să fie
afirmat, sau negat fiecare predicat”

Leibniz cuprinde în aceeaşi sferă şi principiul necontradic iei, şi al ter ului exclus. Astfel:
“o propoziţie este sau adevărată, sau falsă”

Acesta este chiar principiul necontradic iei, dar con ine două enun uri adevărate:

1) Adevărul şi falsul nu sunt compatibile în aceeaşi propoziţie (o propozi ie nu poate fi


adevărată şi falsă).
2) Opusul (negata) adevărului şi a falsului nu sunt compatibile (nu există mijlociu între adevăr

120
şi fals, sau: nu se poate ca o propozi ie să fie nici adevărată, nici falsă).

Rezultă într-adevăr că cele două principii (al contradic iei excluse şi al ter ului exclus) pot fi asociate
într-un principiu unic, principiul combinat al contradicţiei şi terţului exclus.

Demonstraţia principiului ter ului exclus se poate face prin reducere la absurd, urmându-l pe
Aristotel. Dacă principiul n-ar fi adevărat, ar însemna să admitem consecin e absurde şi să acceptăm,
înainte de toate, că există termeni intermediari între adevăr şi fals. Dacă între termenii extremi ai unei
contradic ii s-ar interpune un termen mijlociu, atunci din pricina amestecului calită ilor nu s-ar putea
enunţa nimic adevărat. Mai mult, procesul interpunerii de termeni mijlocitori ar trebui continuat la
infinit, dar realitatea nu este aşa – universul observabil ne relevează existen a a numeroase propozi ii
contradictorii, în care situa ii operează şi ter ul exclus.

Principiul raţiunii suficiente

Principiul ra iunii suficiente este datorat lui Leibniz, iar afirmarea sa este fundamentată în distincţia
pe care o putem face între două feluri de adevăruri: adevăruri de raţionament şi adevăruri de fapt
[3]:

 adevărurile de ra ionament sunt necesare şi opusul lor este imposibil;


 adevărurile de fapt sunt contingente şi opusul lor este posibil.

Când un adevăr este necesar, îi putem găsi temeiul în analiză, descompunându-l în idei şi adevăruri
mai simple, pănă ajungem la primitive.

Situa ia adevărului de ra ionament e reglementată de principiul necontradic iei, în timp ce principiul


adevărului de fapt e determinată de principiul ra iunii suficiente.

În temeiul acestui principiu, considerăm că:

“nici un fapt nu poate fi adevărat sau real, nici o propoziţie veridică, fără să
existe un temei, o raţiune suficientă pentru care lucurile sunt aşa şi nu altfel, deşi
aceste temeiuri nu ne pot fi de obicei cunoscute”

Într-o altă formulare, acelaşi principiu apare sub denumirea de principiul condiţionării:

“orice lucru e dependent în existenţa şi manifestările sale de existenţa şi


manifestările altor lucruri”

Astfel se exprimă interdependenţa, sau conexiunea universală.

Rezultă, în concluzie, că ra ionamentele noastre sunt întemeiate pe două mari principii: principiul
necontradic iei, în care includem şi ter ul exclus, şi principiul ra iunii suficiente, având toate ca
fundament principiul identită ii.

Condi ionarea se exprimă în limbajul logic în genere prin propoziţii condiţionale de tipul “dacă p,
atunci q”, unde simbolurile p si q reprezintă propozi ii.
 condi ia necesară se recunoaşte îndeobşte prin expesia “dacă... nu”;
 condi ia suficientă se recunoaşte îndeobşte prin expresia “dacă”;
 condi ia necesară şi suficientă se recunoaşte indeobşte prin expresia “dacă şi numai
dacă”.

121
Se disting şase tipuri de condi ionare [3]:

1) Condiţionarea necesară – suficientă: exprimă condi ia necesară alături de consecin a


suficientă; falsitatea condi iei, dar nu şi adevărul său, atrage falsitatea consecin ei; în sens
invers: adevărul consecin ei, dar nu şi falsitatea sa, impune adevărul condi iei.
Exemplu: numărul care nu e divizibil prin 2 nu e divizibil nici prin 30; numărul care e
divizibil prin 30 e divizibil şi prin 2.
2) Condiţionarea suficientă – necesară: exprimă condi ia suficientă alături de consecin a
necesară; adevărul condi iei se aliază cu adevărul consecin ei, iar falsitatea consecin ei, cu
falsitatea condi iei.
Exemplu: toate elementele grupei litiului sunt întotdeauna monovalente; deci, elementele care
nu sunt întotdeauna monovalente nu fac parte din grupa litiului.
3) Condiţionarea necesară şi suficientă – suficientă şi necesară: adevărul sau falsul condi iei se
îmbină cu adevărul sau falsul consecin ei, iar adevărul sau falsul consecin ei sunt legate de
adevărul sau falsul condi iei.
Exemplu: un număr e divizibil prin 3 dacă şi numai dacă suma cifrelor sale e devizibilă prin
3.
Aceasta este condi ionarea cea mai strânsă care poate lega două enun uri.
4) Condiţionarea necesară – necesară: afirmă condi ia necesară alături de consecin a necesară;
falsul condi iei apare alături de adevărul consecin ei; falsul consecin ei apare alături de
adevărul condi iei.
Exemplu: dacă nu e adevărat că unii oameni sunt egoişti, atunci e adevărat că unii oameni nu
sunt egoişti; iar dacă nu este adevărat că unii oameni nu sunt egoişti, atunci este adevărat că
unii oameni sunt egoişti.
5) Condiţionarea suficientă – suficientă: afirmă că adevărul condi iei se asociază cu falsul
consecin ei, iar adevărul consecin ei, cu falsul condi iei.
Exemplu: lichidul antigel împiedică înghe area apei doevedeşte că nu a fost prezent lichid
antigel.
6) Condiţionarea necesară şi suficientă – necesară şi suficientă: afirmă condi ia necesară şi
suficientă alături de consecin a necesară şi suficientă; adevărul şi falsul condi iei se îmbină cu
falsul şi adevărul consecin ei, iar adevărul şi falsul consecin ei sunt legate de falsul şi
adevărul condi iei.

Acesta este raportul dintre no iuni şi propozi ii contradictorii. Exemplu: în mul imea poligoanelor,
calitatea de triunghi respinge calitatea de netrilater, iar calitatea de trilater respinge calitatea de
netriunghi; de asemenea, proprietatea de netriunghi înlătură proprietatea de trilater, după cum
proprietatea de netrilater înlătură proprietatea de triunghi.

Exerciții și probleme

1. Care din următoarele ra ionamente este invalid:


a. Dacă este metal atunci conduce electricitatea
Conduce electricitate
Rezultă: Este metal
b. Dacă e soare atunci e lumină
Nu e lumină
Rezultă: Nu e soare
c. Dacă este senator atunci este cetă ean
Este senator
Rezultă: Este cetă ean
d. To i oamenii sunt muritori
To i poe ii sunt oameni

122
Rezultă: To i poe ii sunt muritori.
e. Nici un mamifer nu are pene.
Toate păsările au pene.
Rezultă: Nici o pasăre nu e mamifer.

2. Da i un exemplu care demonstrează clar invaliditatea afirmării consecin ei.

3. Este fiecare argument deductiv cu premise adevărate şi o concluzie falsă invalid?


Este fiecare argument deductiv invalid un argument cu premise adevărate şi o concluzie
falsă?

4. Poate exista un argument invalid cu premise adevărate şi o concluzie adevărată?


Poate exista un argument valid cu premise false şi o concluzie falsă?
Dacă da, da i un exemplu. Dacă nu, motiva i răspunsul.

5. Care din următoarele argumente este temeinic și care netemeinic? In fiecare caz, explicați de
ce.
a) Toate animalele sunt mamifere; toți delfinii sunt animale; prin urmare, toți delfinii sunt
sunt mamifere.
b) Toate mamiferele sunt animale; toți delfinii sunt animale; prin urmare, toți delfinii sunt
mamifere.
c) Nici o mâncare bogată în proteine nu este fără carne; astfel, nici o mâncare fără carne nu
este bogată în proteine.
d) Nici o flacără nu este umedă și rece; astfel, nimic umed și rece nu este o flacără.

6. Explicați diferența de formă logică între a) și b) din exercițiul anterior.

7. Pentru fiecare din următoarele dterminați dacă este un argument. Dacă da, indicați
premisele și concluzia. Dacă nu, explicați de ce.
a) De când toate zilele naționale sunt sărbători legale și nici o sărbătoare legale nu este zi de
salar, nici o zi națională nu este zi de salar.
b) De când al doilea război mondial, America s-a implicat activ în politica europenă.
c) Astăzi este marți, așa că măine este miercuri.
d) Dacă astăzi este marți, mâine este miercuri.
e) Străzile sunt ude; prin urmare, trebuie că a plouat.
f) Cănd rezervorul este plin, vom fi gata de călătorie.

8. Corect sau incorect?


a) Fiecare argument cu premise adevărate și o concluzie adevărată este valid.
b) Fiecare argument cu premise adevărate și o concluzie adevărată este temeinic.
c) Toate argumentele valide sunt temeinice.
d) Toate argumentele temeinice sunt valide.
e) Un argument valid trebuie să aibă o concluzie adevărată.
f) Un argument valid trebuie să aibă premise adevărate.

9. Dați un exemplu pentru fiecare din următoarele: modus ponens, eroarea de a afirma
consecința, modus tollens, eroarea de a nega antecedentul.

10. Pentru fiecare din următoarele, dați un exemplu care clar demonstrează invaliditatea sa:
a) Toți oamenii religioși cred într-o putere superioară; prin urmare, toți credincioșii într-o
putere superioară sunt religioși. (Indicație: Formulați un argument paralel invalid evident, și
anume un argument având o premisă evident adevărată și o concluzie evident falsă.)
b) Unii câini nu sunt animale agresive. Astfel anumite animale agresive nu sunt câini.

123
c) Nu vom lua niciodată împreună salată și înghețată. Nu luăm salată. Așa că trebuie că luăm
înghețată.

11. Stabiliți dacă fiecare din următoarele perechi sunt contradictorii, contrare sau nici una nici
alta.
a) „Nimic de valoare nu este comun.” și „Anumite lucruri de valoare sunt comune.”
b) „Toți asistenții medicali sunt femei.” și „Anumiți asistenți medicali nu sunt femei.”
c) „Toate căsătoriile se sfârșesc prin divorț.” și „Nu toate căsătoriile se sfârșesc prin divorț.”
d) „Toți românii sunt onești.” și „Nici un român nu este onest.”
e) „Unii vecini sunt prietenoși.” și „Unii din vecini nu sunt prietenoși.”
f) „Planetele se mișcă pe orbite perfect circulareîn jurul Pământului.” (Aristotel) și
„Planetele se mișcă pe orbite perfect circulare în jurul șoarelui.” (Copernicus)

124
CAPITOLUL 8

LOGICA MODERNĂ

8.1. Propoziții și predicate

În perioada recentă lucrările unor matematicieni printre care menţionăm pe Frege, Russell,
Wittgenstein au ridicat logica digitală la un limbaj matematic.
Orice afirmaţie poate fi, la un moment dat, adevărată, falsă sau indecidabilă. Logica nu se
ocupă de afirmaţii indecidabile. Afirmaţiile pe care le putem decide se numesc propoziţii. Nu toate
afirmaţiile se încadrează în categoria propoziţiilor. Există în limbajul natural şi alte forme lingvistice
care nu au valoare de adevăr, exemplu: comenzile, rugăciunile etc.
Diferenţa majoră dintre logica tradiţională şi modernă constă în modul în care sunt tratate
propoziţiile. Logica tradiţională consideră doar un tip particular de propoziţii, adică propoziţii care au
o formă atributivă însemnând că S posedă atributul P. În logica modernă propoziţiile au un grad mai
mare de generalitate. Introducem aici conceptul de predicat prin care arătăm o afirmaţie în care se
recunoaşte prezenţa unei variabile. Astfel, un predicat va fi un enunţ P(x) în care apare variabila x.
Fiecare tip de variabilă poate lua valori într-o mulţime bine determinată, astfel că pentru fiecare
alegere dată a valorii variabilelor, predicatul se transformă într-o propoziţie cu valoarea de adevăr
bine stabilită [7]. Spre exemplu propoziţia: Ursul are blană → Blană(urs), Ursul este mamifer →
Mamifer(urs).

Exemple de propoziţii adevărate şi reprezentarea lor:


Albatrosul are pene  Pene(Albatros)
Albatrosul este o pasăre  Pasăre(Albatros)

Presupunem următoarea expresie ca fiind adevărată: Pene(Coco) unde Coco este un simbol care
denotă un obiect care are pene, aducând o constrângere a ceea ce poate fi, deoarece Coco satisface
predicatul Pene. În limbajul logicii se pot forma conjuncţii sau disjuncţii.
Zboară(Coco)  Depune_ouă(Coco)
Zboară(Coco)  Depune_ouă(Coco)

În limbajul logicii se utilizează următoarele conective logice, care mapează combinaţii de adevărat
sau fals în adevărat sau fals. , , ¬,  sunt cele patru conective logice.

O anumită afirmaţie adevărată implică negata ei ca fiind falsă.


Exemplu, dacă propoziţia:  pene(coco) este adevărată, pene(coco) este falsă:

¬Pene(Coco) este adevărată dacă Pene(Coco) este falsă.


Fie expresia:
Pene(Coco)  Pasăre(Coco).
Implicaţia  seamănă cu una dintre regulile antecedent-consecinţă. Expresia este adevărată dacă:

125
a) Coco este ceva pentru care ambele predicate, Pene şi Pasăre, sunt satisfăcute;
b) ambele predicate nu sunt satisfăcute;
c) Pene(Coco) este falsă, dar Pasăre(Coco) este adevărată.

Tabelele de adevăr ale conectivelor logice

Notaţia p  q este similară cu enunţul „dacă p, atunci q“ şi este diferită de enunţul „q numai dacă p“.
În figura 8.1 sunt reprezentate tabele de adevăr aferente celor patru conective logice.
Implicaţia pq este echivalentă logic cu (p)q
p  q  ( p)q)
Din tabelele de adevăr se pot demonstra proprietăţile conectivelor logice. Acestea sunt:
a) comutativitatea
E1  E2  E2  E1
E1  E2  E2  E1
b) distributivitatea
E1  ( E2  E3 )  ( E1  E2 )  ( E1  E3 )
E1  ( E2  E3 )  ( E1  E2 )  ( E1  E3 )
c) asociativitatea
( E1  E2 )  E3  E1  ( E2  E3 )
( E1  E2 )  E3  E1  ( E2  E3 )
d) legile lui de Morgan
( E1  E2 )  E1  E2
( E1  E2 )  E1  E2
e) dubla negaţie
( E )  E

8.2. Utilizarea cuantificatorilor

Cuantificatorii determină situaţia în care expresiile sunt adevărate:


a) cuantificatorul universal  („oricare“, „pentru toate valorile“)

126
 x[Pene(x)  Pasăre(x)]
Ca orice altă expresie, aceasta poate fi adevărată sau falsă. Dacă este adevărată, înseamnă că
se obţine o expresie adevărată atunci când se substituie oricare obiect pentru x în interiorul
parantezelor drepte;
b) cuantificatorul existenţial  („există“)
 x[Pasăre(x)]
Atunci când este adevărată această expresie, înseamnă că există cel puţin un obiect posibil
care, atunci când este substituit lui x, face ca expresia din paranteze să fie adevărată.

8.3. Ierarhia calculului logic

Logica are un vocabular bogat, principalele elemente fiind prezentate în figura 8.2. La cel mai de jos
nivel avem obiecte şi variabile, cu acestea se pot forma termeni [7].

Vocabularul logicii

Obiectele dintr-un univers se numesc termeni. De asemenea, variabilele asupra obiectelor acelui
univers formează termeni. Funcţiile sunt şi ele termeni, precum şi argumentele şi valorile returnate.
Astfel, termenii sunt singurele elemente care apar ca argumente ale predicatelor. Împreună ele
formează formule atomice. Formulele atomice şi negatele lor formează literali. Formulele bine
formate (engl. well-formed formulas, abr. wffs) se definesc în continuare recursiv, astfel: literalii sunt
formule bine formate; alături de conectivele logice , , ,  se formează de asemenea formule
bine formate; cuantificatorii universal şi existenţial conduc şi ei la formule bine formate. În loc de
formulă bine formată se mai utilizează şi denumirea de expresie.
Facem următoarele precizări legate de structura formulelor bine formate. O formulă bine formată în
care toate variabilele, dacă există, sunt în interiorul acţiunii cuantificatorului se numeşte propoziţie.
De exemplu:
 x[Pene(x)  Pasăre(x)]
x[Blană(x)  Mamifer (x)]

127
Variabilele, precum x, care apar în câmpul de acţiune al cuantificatorilor aferenţi se spune că sunt
legate. Contrar, variabilele care nu sunt legate se spune că sunt libere. De exemplu, următoarea
construcţie nu este o propoziţie deoarece conţine variabila liberă y:

x[Blană(x)  Mamifer (y)]

Termenii reprezintă singurul lucru care apare ca argumente la predicate. Variabilele pot reprezenta
numai obiecte şi nu pot reprezenta predicate. Acesta este limbajul calculului cu predicate de primul
ordin.
În baza vocabularului descris, calculul logic se ierarhizează pe 3 niveluri:
a) Calculul propoziţional. În acest tip de logică nu se admit nici un fel de variabile.
Permite formarea de propoziţii logice care descriu doar fapte.
Ex: Blană(Urs)  Mamifer (Urs)
b) Calculul cu predicate de ordinul I (first order logic). Aici variabilele sunt reprezentate
de către obiecte.
c) Calculul cu predicate de ordinul II (second order logic). Variabilele sunt reprezentate
de către predicate. În mod uzual în tehnicile de utilizarea logicii formale, folosim calculul
propoziţional şi calculul de ordinul I.

Versiunea calculului cu predicate de ordinul II implică o complexitate sporită şi este un deziderat de


realizat în domeniul logicii formale.

O formulă bine formată sau expresie constând dintr-o disjuncţie de literali se numeşte clauză:
(X1) (X2)... (XN) [A1 A2... AM  B1 B2... BK]
unde N, M, K pot fi eventual zero, iar A şi B sunt literali. Atunci când K = 1, clauza se numeşte clauză
Horn, adică o clauză cu cel mult un literal pozitiv.

Orice clauză Horn aparţine uneia din cele patru categorii:

 O regulă: 1 literal pozitiv, cel puţin un literal negativ. O regulă are forma

~P1 V ~P2 V ... V ~Pk V Q

Aceasta este echivalent logic cu

[P1^P2^ ... ^Pk] => Q

adică o implicaţie daca-atunci cu orice numă de condiţii dar o singură concluzie. De exemplu:

~om(X) V muritor(X) (Toţi oamenii sunt muritori);

De exemplu:
a) Om(Socrate)

b) x[Om(x)  Muritor(x)]
c) Muritor(Socrate)

"~părinte(X,Y) V ~strămoş(Y,Z) V strămoş(X,Z)" (dacă X este un părinte al lui Y şi Y este un


strămoş al lui Z atunci X este un strămoş al lui Z.)

128
Fie propoziţia: x este mama lui y. Reprezentarea propoziţiei este:
Este_mama_lui(x,y)
Clauza Horn apare:
(x)(y)(z)[Este_mama_lui(x,y)Este_mama_lui(y,z)

 Este_bunica_lui(x,z)]

 Un fapt sau unitate: 1literal pozitiv, 0 literali negativi. Examples: "om(socrate)",


"părinte(elena,călin)".
 Un ţel negat: 0 literali pozitivi, cel puţin 1 literal negativ.

De exemplu, dacă ţelul de demonstrat este: x[bărbat(x)  strămoş(elena, x)] (a se arăta că există un
descendent masculin al Elenei)

Telul negat va fi: bărbat(x) V strămoş(elena, x)]

 Clauza nulă: 0 positivi şi 0 literali negativi. Apare la sfârşitul demonstrării prin rezoluţie.

O clauză Horn este de exemplu:

Formula poate fi scrisă echivalent sun forma implicaţiei:

Clauza Horn este foarte importantă în raţionamentele logice. De exemplu, clauza Horn anterioară
înseamnă:
pentru a arăta u, arată p şi arată q şi ... şi arată t.
Inlănţuirea logică este de tip „înapoi” fapt ce se evidenţiază scriind formula cu operatorul consecinţă

Simbolurile logice în calculul cu predicate sunt interpretate ca fiind legate de lumea înconjurătoare.
Aceasta face posibilitate aplicarea calculelor cu predicate în inteligenţa artificială, unde simbolurile
corespund cu obiecte reale iar predicatele corespund cu relaţii în lumea înconjurătoare. Atunci când o
relaţie este valabilă în raport cu anumite obiecte, predicatul corespunzător este adevărat când este
aplicat obiectelor simbol corespunzătoare. Numim interpretare, o descriere completă a
corespondenţei dintre obiectele reale şi obiectele simbol, precum şi dintre relaţii

8.4. Logica propoziţională

În aplicaţiile de inferenţă logică în calculul propoziţional sau în logica proporţională, obişnuim să


folosim simboluri în general sub forma de litere mari pentru a exprima (reprezenta) propoziţiile
simple sau chiar cuvintele dintr-o propoziţie exprimată în limbaj natural. De asemenea, folosim
conective logice alături de paranteze, aceasta pentru a elimina posibilele confuzii în aplicarea
operaţiilor logice. Spre exemplu: P  Q  R poate fi analizat logic fie sub forma ( P  Q )  R
respectiv P  (Q  R ) . Aceasta este similar cu ambiguitatea expresiilor aritmetice cum ar fi
P  Q  R . Ordinea pornind de la operaţia logică cu rangul cel mai înalt spre cea cu rangul cel mai
scăzut este , , , ,  . În logica propoziţională ne confruntăm întotdeauna cu fapte. O

129
propoziţie complexă dobândeşte semnificaţie din semnificaţia părţilor sale. Fiecare conectivă logică
poate fi gândită ca funcţie, aşa cum adunarea este o funcţie care ia 2 m şi scoate o valoare similar
funcţiilor logice. Un mod convenabil de a analiza valoarea de adevăr a unei expresii este prin tabelul
de adevăr.

Tabelul de adevăr poate fi folosit nu numai de a defini conectivele, ci şi combinaţii mai complexe pe
care intervin simbolurile asociate propoziţiilor simple sau cuvintelor în limbajul natural. Spre exemplu
o propoziţie de genul: „Îţi iei geamantanul şi sacoşa” poate fi exprimată logic sub forma G  S . O
propoziţie de genul: ”Îţi iei geamantanul mare şi sacoşa mică” poate fi exprimată de asemenea
folosind aceeaşi notaţie. Propoziţia: „Îţi iei geamantanul sau sacoşa se poate exprima: G  S . O altă
expresie este: „Ori îţi iei geamantanul ori sacoşa”, unde nu intervine explicit cuvântul „sau”.

Ex: V  S: “Iti iei o valiza si o sacosa”.


“Iti iei o valiza mare si o sacosa mica”.
“Iti iei o valiza mare dar o sacosa mica”.
M  T: “Mergi cu masina sau cu trenul”.
“Mergi fie cu masina fie cu trenul”.
(M  T): “Nu vei merge cu masina sau cu trenul”.
“Nu vei merge nici cu masina şi nici cu trenul”.
(M ^ T): “Nu vei merge cu maşina şi cu trenul”.
“Nu vei merge cu maşina sau nu vei merge cu trenul”.
S → C: “Daca esti senator (atunci) esti cetatean”.
“Nu esti senator daca nu esti cetatean”.
“Pana cand nu esti cetatean nu esti senator”.
“Esti un cetatean daca esti un senator”.
“Esti un senator numai (doar) daca esti un cetatean”.

M ↔ F: “Esti o mama daca si numai daca esti o femeie parinte”.


Inseamna ca fiind o femeie parinte este o conditie necesara si suficienta pentru a fi o mama. A nu se
confunda cu M → F.
“Esti o mama numai daca esti o femeie” insemna ca fiind femeie este o conditie necesara pentru a fi o
mama.
“Esti o femeie daca esti o mama” inseamna ca fiind o mama este o conditie suficienta pentru a fi o
femeie.

O observaţie facem asupra implicaţiei logice. Spre exemplu fraza: „Dacă eşti senator atunci eşti
cetăţean”, poate fi exprimată sub forma S  C . Forme echivalente de exprimare sunt de exemplu:
„Eşti senator numai dacă eşti cetăţean”. Această formă nu trebuie confundată cu forma „dacă şi numai
dacă”. Spre exemplu în propoziţia: „Eşti mamă dacă şi numai dacă eşti o femeie părinte”, se poate
exprima: M  FP . Aceasta implică satisfacerea atâta condiţiei necesare cât şi a condiţiei suficiente.
Condiţia suficientă, pentru a fi femeie, este să fii mamă. Iar condiţia necesară pentru a fi mamă este de
a fi femeie, ceea ce se poate exprima M  F .

Propoziţiile complexe translatate în formă simbolică pot fi verificate prin tabelul de adevăr [9].

130
Exemplu: Să presupunem că avem următoarea expresie translatată prin derivare:
(( P  H )  H )  P . Se cere să se arate că expresia propoziţională este validă; acest lucru se face
completând tabelul de adevăr.

P H P H ( P  H )  H (( P  H )  H )  P
F F F F T
F T T F T
T F T T T
T T T F T

Exemple: Care din urmatoarele propozitii sunt adevarate sau false:

((Socrate  Om)  Grec)


((Socrate  Grec)  Socrate))  Grec
(((Tata  Fiu)  Familie) Familie)  Tata  Fiu

8.5. Inferenţa în logica propoziţională

Stabilirea validităţii unei inferenţe folosind tabele de adevăr poate fi extins la clase întregi de
inferenţe. Există anumite şabloane de inferenţe care apar în mod repetat, iar validitatea lor poate fi
arătată odată pentru totdeauna. Şablonul astfel reţinut devine ceea ce se numeşte regulă de inferenţă.
Anterior, ne-am familiarizat deja cu reguli de inferenţă precum silogismul, modus ponens sau modus
tollens.Odată regula stabilită, ea va putea fi utilizată în procesul inferenţial, fără a mai fi nevoie de a
construi tabele de adevăr [9].

Remarcăm posibilitatea de a folosi şi o altă notaţie faţă de cea tradiţională. În loc de notaţia a ├ b care
înseamnă b urmează logic din a, putem folosi
a

b
care ne arată că avem de-a face cu o regulă de inferenţă. Ori de câte ori avem o potrivire cu
configuraţia de deasupra liniei, regula de inferenţă va concluziona premisa dedesuptul liniei.

În continuare, prezentăm cele mai utilizate reguli de inferenţă în logica propoziţională [9]:

1. Modus Ponens sau Eliminarea Implicaţiei:

131
2. Eliminarea „şi” dintr-o conjuncţie a1  a2  a3  ...  an putem deduce logic oricare din
termeni implicaţi.

3. Introducerea „şi” dintr-o listă de propoziţii a1 , a2 ,..., an se poate deduce conjuncţia lor
a1  a2  a3  ...  an .

4. Introducerea „sau”. Dintr-o propoziţie putem deduce logic disjuncţia sa cu orice altceva
a1  a2  a3  ...  an .

5. Eliminarea dublei negaţii

6. Rezoluţia unitară

Rezoluţia este o formă generalizată de raţionament. În cazul particular rezoluţia ia forma din
a  b, b urmează logic a . În forma completă rezoluţia din a  b , b  c urmează logic a  c .

Regula de inferenţă prin rezoluţie în logica propoziţională are următoarea formă:

A B, B C sau  A  B, B  C


A C AC

Regula Modus Ponens nu ne permite să derivăm noi implicaţii, ci doar să derivăm concluzii atomice.
Rezoluţia este o formă mai puternică de raţionament, permiţând acest lucru. Generalizarea acestei
reguli simple ne va servi ca o regulă de sine stătătoare pentru a forma o procedură completă de
inferenţă in logica de ordinul întâi.

Trebuie remarcat aici că Modus Ponens este un caz special de rezoluţie:

A, A  B  True  A, A  B
B True B

(True  A) este de fapt modul "correct" de a scrie o propoziţie atomică în forma normală implicativă,
iar notaţia tipică (A) este o abreviere.

132
Strategii de demonstrare a teoremelor
În general, pentru a demonstra o teoremă, se pot utiliza două strategii:
a) O strategie evidentă este de a căuta înainte, pornind din axiome, utilizând regulile de
inferenţă logică şi sperând a da, în cele din urmă, peste teoremă;
b) Se foloseşte rezoluţia. Aceasta presupune arătarea faptului că negata unei teoreme nu poate
fi adevărată. La bază, demonstraţia prin rezoluţie prevede transformarea expresiilor
logice arbitrare într-o formă care permite rezoluţia. O axiomă dată se transformă
într-o nouă axiomă echivalentă, care este o disjuncţie de literali, adică într-o formă de
clauză. E1  E2 se transformă în ¬E1  E2, fiind echivalente.
Dăm în continuare căteva exemple [11]:

Dacă fie soţia mea fie eu am fi adus banii cu noi, atunci am fi putut plăti şi cina la restaurant şi taxiul.
Dacă am fi plătit taxiul n-ar fi trebuit să mergem pe jos acasă. Dar a trebuit să mergem pe jos acasa.
Deci, soţia mea nu a adus banii.

S=soţia, E=eu, C=cina plătită, T=taxiul plătit, MA=mers pe jos acasă

1. (S  E)=> (CT)
2. T=>MA
3. MA > S
4. (MA) 3 dubla negatie
5. T 2,4 modus tollens
6. (CT) => T tautologie
7. (CT) 6,5 modus tollens
8. (S  E) 1,7 modus tollens
9. S  E 8 De Morgan
10. S 9 simplificare

Marius şi Ion sunt la restaurant numai dacă şi Ana este acolo. Dacă Vanda este la restaurant
atunci Marius este la restaurant. Prin urmare, dacă Ion este la restaurant atunci Vanda este acolo
numai dacă şi Ana este acolo.

Premisele sunt:
1. (M  I) => A
2. V => M
Concluzia:
3. I => (V => A)  I  V  A
Demonstraţie:
4. (M  I)  A din 1
5. V  M din 2
6. M  I  A din 4
7. V  I A 5, 6 rezoluţie

De exemplu, pentru a demonstra Pasăre(Coco), arborele rezolutiv apare astfel [7]:

(2) Pene(Coco)

133
(1) ¬Pene(Coco)  Pasăre(Coco)  (4) Pasăre (Coco)

(3) ¬Pasăre(Coco)  (5) NIL
Cunoaştem din axiome următoarele:

¬Pene(Coco)  Pasăre(Coco)
Pene(Coco)
Adăugând negata expresiei care trebuie demonstrată, avem lista:

¬Pene(Coco)  Pasăre(Coco)
Pene(Coco)
¬Pasăre(Coco)
Procedând în prima şi în a doua axiomă ca mai sus putem adăuga o nouă expresie în listă:

¬Pene(Coco)  Pasăre(Coco)
Pene(Coco)
¬Pasăre(Coco)
Pasăre(Coco)
Apare acum, însă, o contradicţie. Se presupune că toate obiectele din listă sunt adevărate, deşi nu pot
fi simultan adevărate Pasăre(Coco) şi ¬Pasăre(Coco). Ca urmare, presupunerea care a dus la
această contradicţie trebuie să fie falsă, adică negata teoremei ¬Pasăre(Coco) este falsă, iar
Pasăre(Coco) este adevărată.
Demonstrarea pe bază de rezoluţie constă în alegerea clauzelor corecte pentru rezoluţie. Se urmăresc
două idei:
a) a fi sigur că fiecare rezoluţie implică teorema negată sau o clauză derivată direct
sau indirect utilizând teorema negată;
b) cunoşti locul unde te afli şi unde vrei să ajungi, aşa că se poate evalua diferenţa şi
folosi intuiţia.

8.6. Logica de ordinul întâi

Sintaxa logicii de ordinul întăi

Utilizatorul defineşte următoarele primitive, sub formă simbolică:

- Constante (indivizi sau obiecte din univers). De ex: 7, Petre


- Funcţii (mapeaza obiecte cu obiecte). De ex: Tatal-lui(Petre) = Ion, culoarea-
lui(Lapte) = Alb
- Predicate (mapează obiecte cu valori de adevăr) De ex: mai_mare(5, 3), Verde(iarba),
culoare(iarba, verde)

Cadrul formal al logicii de ordinul întâi asigură următoarele primitive:

134
- Variabile: De ex: r, s, x, y
- Conective logice: aceleaşi ca in logica propoziţională (nu, şi, sau, implicaţia,
echivalenţa)
- Cuantificatori: universal  şi existenţial .

Cuantificatorul universal corespunde conjuncţiei („şi”) prin aceea că x P(x) înseamnă că P este
adevărat pentru toate valorile lui x din domeniul asociat cu această variabilă. De exemplu, x
(balena(x)  mamifer(x)).

Cuantificatorul existenţial corespunde disjuncţiei („sau”) prin aceea că x P(x) înseamnă că P este
adevărată pentru anumite valori ale lui x din domeniul asociat cu această variabilă. De exmplu, x
(mamifer(x) ^ depune-oua(x)).

Cuantificatorul universal se foloseşte uzual alături de implicaţie pentru a forma reguli de tipul „dacă-
atunci”. De exemplu, x (român-gimnast(x)  sportiv-bun(x)), însemnând „Toţi gimnaştii români
sunt buni sportivi”. Rareori vom utiliza cuantificatorul universal pentru a face afirmaţii care acoperă
un grup de condiţii despre un anumit obiect. De exemplu, x (român-gimnast(x) ^ sportiv-bun(x)),
însemnând „Fiecare din lumea aceasta este gimnast român şi este bun sportiv”.

Cuantificatorul existenţial se utilizează uzual alături de „şi” pentru a specifica o listă de proprietăţi sau
fapte despre un obiect. De exemplu, x (român-gimnast(x) ^ sportiv-bun(x)), însemnând „Există un
gimnast român care este un bun sportiv”. O eroare comună este de a reprezenta propoziţia anterioară
în limbaj natural sub forma logicii de ordinul întâi astfel: x (român-gimnast(x)  sportiv-bun(x)).

Schimbarea ordinii cuantificatorilor universali nu alterează semnificaţia propoziţiei. De exemplu,


xy P(x,y) este logic echivalent cu yx P(x,y). Similar, se poate schimba ordinea cuantificatorilor
existenţiali. Pe de altă parte, schimbarea ordinii cuantificatorilor universali şi existenţiali duce la
schimbarea semnificaţiei. De exemplu, xysimpatizeaza(x,y) înseamnă „Fiecare simpatizează pe
cineva”. Iar, yxsimpatizeaza(x, y) înseamnă „Cineva este simpatizat de fiecare”.

În logica de ordinul întâi construim propoziţii din termeni şi atomi. Reamintim că un termen denotă
un obiect din lumea reală şi apare simbolic ca o constantă, variabilă sau o funcţie multiargument cu n
termeni. De exemplu, x şi f(x1, ..., xn) sunt termeni, unde fiecare xi este un termen. Un atom, care are
valoarea de adevărat sau fals, este fie un predicat multiargument cu n termeni, sau dacă P şi Q sunt
atomi atunci ~P, P V Q, P ^ Q, P => Q, P <=> Q sunt atomi. O propoziţie este un atom, sau, dacă P
este o propoziţie şi x o variabilă, atunci x P(x) şi x P(x) sunt propoziţii. În fine, o formulă bine
formată sau o expresie este o propoziţie care nu conţine variabile libere, adică are toate variabilele
legate prin cuantificatori universali sau existenţiali. De exemplu, x P(x, y) are variabila x legată ca o
variabilă universal cuantificată, în schimb variabila y este liberă.

8.7. Traducerea limbajului natural în logica de orinul întâi

Fiecărui grădinar îi place soarele.

(x)(gradinar(x) => place(x,Soare))

Poţi să păcăleşti pe unii tot timpul.

(x)(persoana(x) ^ (t)(timp(t) => poti-pacali(x,t)))

Poţi să păcăleşti pe toţi oamenii un anumit timp.

135
(x)(persoana(x) => (t) (timp(t) ^ poti-pacali(x,t)))

Toate ciupercile roşii sunt otrăvitioare.

(x)[(ciuperca(x) ^ roşie(x)) => otravitor(x)]

Nici o ciuperă roşie nu este otrăvitoare.

~(x)[ rosie(x) ^ ciuperca(x) ^ otravitor(x)]

sau echivalent

(x)[(ciuperca(x) ^ roşie(x)) => ~otravitor(x)]

Există exact două ciuperci roşii.

(x)(y)[(ciuperca(x) ^ roşie(x) ^ ciuperca(y) ^ roşie(y) ^ ~(x = y) ^ (z)(ciuperca(z) ^ roşie(z)) =>


((x = z) V (y = z))]

X este deasupra lui Y dacă X se află direct peste Y sau există o stivă de unul sau mai multe obiecte
aflate direct unul peste celălalt pornind cu X şi terminând cu Y.

(x)(y)[deasupra(x, y)  (peste(x, y) V (z)(peste(x, z) ^ deasupra(z, y)))]

8.8. Reguli de deducție pentru logica de ordinul întâi

Putem obtine un set de reguli, de deductie, pentru logica de ordinul întâi extinzand regulile de
deductie a certitudinilor cu cateva propozitii cu cuantificatori:
 Eliminarea universala: Din xP(x, ), putem folosi substitutia {x/g}si infera P(g, ), unde g
este un termen de baza (sau o constanta simbol sau o functie simbol aplicata la un termen fara
variabile). De xemplu, din(Ax)mananca(Ziggy, x) putem infera mananca(Ziggy, inghetata).
 Eliminarea existentiala: Din xP(x, ), putem folosi substitutia {x/c} si infera P(c, ), atata
timp cat c nu apare altundeva in baza de cunoştinţe. De exemplu, din (Ex)mananca(Ziggy, x)
inferăm mananca(Ziggy, cascaval).
 Introducerea existentiala: Din orice P(g, ), unde g este un termen de baza care nu apare in
, putem infera xP(x, ). De exemplu, din mananca(Ziggy, inghetata) putem infera
(Ex)mananca(Ziggy, x).

Generalizarea Modus Ponens

Extensia regurilor de deductiei a certitudiniilor, ne permite sa tratam cunatificatorii, care pot fi uniti
impreuna pentru a construi dovezi pentru logica de ordinul întăi. Oricum, gandirea prin cautare in
asemenea situatii nu este foarte eficienta pentru ca odata cu cresterea bazei de date, creste si
ramificatia. Pentru asta, o metoda mult mai eficienta a fost dezvoltata de regula de deductie Modus
Ponens Generalizat. Acesta metoda combina impreuna Introducerea-Si, (And-Introduction),
Eliminarea Universală, si Modus Ponens [9][10]:

 Se dau propozitiile atomice P1, P2, …, Pn, si implicatiile (R1R2…Rn)Q, unde Q si Ri,
pentru i=1,…,n, sunt propozitii atomice, si SUBST(, Pi)=SUBST(, Ri), pentru toti i,
deducem SUBST(, Q).

De exemplu, din P(c), Q(c), şi (Ax)(P(x) ^ Q(x)) => R(x), derivăm R(c)

136
Pentru a folosi Generalized Modus Ponens, toate propozitiile din baza de date trebuie puse intr-o
forma care se potriveste cu una din premisele regurilor Modus Ponens, ex: propoziţii Horn (P1  P2 
…  Pn  Q). Modus Ponens generalizat poate fi folosit atat in inlantuire de propozitii inainte
(forward) cat si inapoi (backward). Din pacare exista propozitii care nu se pot reduce la forma
Horn, si din aceasta cauza nu putem folosi Modus Ponens. Drept urmare o procedura de dovezi
folosind Modus Ponens poate fi incompleta.

Generalizarea rezolutiei

Din fericire, a fost demonstrat de catre Gödel cum ca in logica de ordinul de întâi daca o propozitie
este deductie dintr-un alt set de propozitii, atunci este o procedura dovada care ne arata acest lucru. O
astfel de procedura poarta numele de rezolutie (resolution), si a fost demonstrata de Robinson.
Regula de rezolutie este mai puternica decat Modus Ponens, si constitue o procedura completa de
deductie [9][10]:

 Din propozitia R  P1 ...  Pn si propozitia R  Q1  ...  Qm deducem propozitia rezolutie:


P1  ...  Pn  Q2  ...  Qm.

Principiul logic in aplicarea rezolutiei este ca o expresie care se rezolva (resolving expression) trebuie
sa aiba o disjuncta care este negarea unei disjuncte in alta expresie care se rezolva. Odata generalizata,
rezolutia poate fi folosita in proceduri de deductie universala, in algoritmi de inlantuire inspre inainte
sau inapoi, similar cu functionalitatea Modus Ponens. Avantajul este ca rezolutia este o procedura de
deductie completa. De fapt Modus Ponens poate fi vazut ca si un caz particular al rezolutiei.

Cea mai buna strategie in demonstrarea teoremelor prin rezolutie este de a arata ca negata teoremei nu
poate fi adevarata. Aceasta metoda poarta numele de reducere la absurd (reductio ad absurdum), si
este o metoda completa a procedurii de inferenta. Aceasta dovada implica urmatorii pasi:

1. Se presupune mai intai ca negatia teoremei este adevarata


2. Se demonstreaza plecand de la negarea teoremei cu ajutorul axiomelelor ca nu poate fi
adevarata.
3. Se deduce ca presupunerea facuta nu poate fi adevarata pentru ca duce la o contradictie.
4. Concluzia este ca teorema trebuie sa fie adevarata de vreme ce negata acesteia nu poate sa fie
adevarata.

Pentru ca rezolutia sa fie aplicata cu succes, axiomele trebuie puse in forme de clauze. De exemplu
daca consideram arbitrar o expresie (wff), aceasta trebuie transformata in clauza dupa cum urmeaza
[9][10]:

 Se cauta forma normala prenex (FNP) pentru wff. In wff toti cuantificatorii apar intr-o
secventa neintrerupta la inceput, cu dezvoltarea fiecaruia pana la sfarsitul wff, poarta numele
de PNF (prenex normal form). Pasii care se urmaresc pentru a obtine FNP pentru orice wff
sunt:

1. Se elimina implicatia si echivalenta, bazata pe transformarile:

PQ  (P  Q)  (Q  P)

P  Q  P  Q

2. Se redenumesc variabilele legate atata timp cat este necesar pentru a asigura ca
fiecare cuantificator contine o variabila distincta, si nici o varabila din wff nu este
singura sau legata.

137
3. Se elimina cuantificatorii nefolositori. De exemplu: daca apar ca xP sau xP, si P
nu contine variabila x.
4. Se folosesc legile lui De Morgan si legile transformarii cuantificatorilor pentru a
elimina toate aparitiile de negatii inainte de paranteze si cuantificatori.
5. Se aduna toti cunatificatorii intr-o secventa ordonata, la inceput, in care apar ei in wff
si ce ramane se considera plaja de actiune a acestora.

 Se elimina pas cu pas toti cuantificatorii existentiali (y), inlocuindu-se fiecare instanta a lui y
cu un nou simbol functional f, cu argumente toate legaturile variabilelor cuantificatorilor
universali inainte de y. f poarta numele de functie Skolem. Regula generala este:
cuantifiatorii universali determina care din argumente are nevoie functia Skolem. Prefixul
formei Skolem contine doar cunatificatori universali.

Exemplu: Urmatoarea wff este sub forma PNF: xyzw P(x, y, z, w). Eliminam y, si inlocuim
y cu functia Skolem f(x). Obtinem: xzw P(x, f(x), z, w), si apoi eliminam w si inlocuim w cu
functia Skolem g(x, z), intrucat x si z precede w. Obtinem: xz P(x, f(x), z, g(x, z)).

 Transformarea formei normale Skolem sub forma de clauze. Acest lucru implica ca sa mutam
disjunctiile pana la literali, sa eliminam conjunctiile si cunatificatorii universali.

Pentru a rezolva doua clauze, doua variabile (literali) trebuie sa se potriveasca exact, sigura diferenta
fiind, una este negata. Daca variabilele nu se potrivesc, atunci se foloseste o procedura de unificare
care are rolul de a face rezolvabila cele 2 clauze cu ajutorul unei substituiri. Fie C={c1, c2 … cn} un
set de clauze sau termeni. O substitutie  se numeste unificarea lui C daca c1 = c2 = … = cn. O
unificare  se numeste cea mai generala unificare (Most General Unifier – MGU), daca pentru orice
alt unificator  exista substitutia , pentru ca  = . Exista multe proceduri de unificare [9][10].

procedure unify(p, q, theta)


Scan p and q left-to-right and find the first corresponding
terms where p and q "disagree" ; where p and q not equal
If there is no disagreement, return theta ; success
Let r and s be the terms in p and q, respectively,
where disagreement first occurs
If variable(r) then
theta = union(theta, {r/s})
unify(subst(theta, p), subst(theta, q), theta)
else if variable(s) then
theta = union(theta, {s/r})
unify(subst(theta, p), subst(theta, q), theta)
else return "failure"
end

În ceea ce priveşte limitele logicii, putem spune că logica este imbatabilă pentru probleme pentru care
ea a fost dezvoltată. Există, însă, probleme grele pentru care logica nu oferă soluţii:
a) demonstrarea teoremelor poate dura prea mult. Demonstrarea teoremelor în general
necesită căutare, ceea ce atrage după sine o natură inerent exponenţială. Chiar şi strategiile de
eliminare a căutarii exponenţiale nu reduc acest caracter;
a1) toate strategiile de căutare sunt susceptibile pentru o versiune a problemei
opririi deoarece căutarea nu este garantată a se termina până când nu există o
dovadă reală.

138
Toate procedeele de demonstrare pentru calculul cu predicate de ordinul întâi sunt supuse
problemei opririi şi, prin urmare, se spune că sunt „semidecidabile“, deoarece ele
garantează a spune dacă o expresie este teoremă numai dacă expresia respectivă este
într-adevăr o teoremă;
b) demonstrarea teoremelor poate să nu ducă la soluţionarea problemelor practice, aceasta
implicând un efort enorm pentru formularea în termenii logicii; reformularea în alţi
termeni poate duce la o rezolvare mai simplă;
c) logica este puţin eficientă ca reprezentare pentru un anumit fel de cunoaştere. Notaţia
logicii pure (cu adevărat şi fals) nu permite exprimarea unor noţiuni ca: distanţe euristice,
diferenţe de stare sau ideea că o abordare practică este particular de rapidă etc.

Exemple de aplicare a rezoluţiei

Să presupunem că:
(a) Există un dragon.
(b) Dragonul doarme în peştera sa sau vânează în pădure.
(c) Dacă dragonul este flămând, atunci nu poate dormi.
(d) Dacă dragonul este obosit, atunci nu poate vâna.

Să se aplice rezoluţia pentru a răspunde la următoarele întrebări:


(i) Ce face dragonul când este flămând?
(ii) Ce face dragonul când este obosit?
(iii) Ce face dragonul când este flămând şi obosit?

Rezolvare:
Introducem predicatele [10]:
Dragon(x) : x este un dragon
Poate(x,y,z): y poate să facă x în z
Face(x,y,z) : y face x în z
Flămând(x) : x este flămând
Obosit(x) : x este obosit

Presupunem, de asemenea,

Poate(x,y,z) ← Face(x,y,z). (*)

Transformăm presupunerile (a), (b), (c) şi (d) în clauze:

(a) Dragon(A) ←
(b) Face(doarme,A,peşteră), Face(vânează, A, pădure) ←
(c) ¬Poate(doarme,A peşteră) ← Flămând(A)
(d) ¬Poate(vânează,A ,pădure) ← Obosit(A)

Transformăm presupunerile (a)-(d) şi (*) "în formă mulţime-teoretică:

(1) {Dragon(x)}
(2) {Face(doarme, A, peşteră), Face(vânează,A ,pădure)}
(3) {¬Flămând(A), ¬Poate(doarme,A ,peşteră)}
(4) {¬Obosit(A), ¬Poate(vânează,A, pădure)}
(5) {Poate(x,y,z), ¬Face(x,y,z)}

(i) Adăugăm următoarele clauze clauzelor de la (1) la (5):


(6) {Flămând(A)}
139
(7) {¬Face(x,y,z)}

Clauza (7) reprezintă scopul rezoluţiei. Vom încerca să concluzionăm □, prin instanţierea adecvată
a variabilelor x,y şi z.

(8) {Face(doarme, A, peşteră)}, x = vânează, y = A, z = pădure din (2) şi (7)


(9) {Poate(doarme, A, peşteră)} din (5) şi (8)
(10) {¬Poate(doarme, A, peşteră)} din (3) şi (6)
(11) □ din (9) şi (10)

(ii) Adăugăm următoarele clauze clauzelor (1)-(5).


(6) (Obosit(A)}
(7) {¬Face(x,y,z)} apoi
(8) {Face(vânează, A, pădure)}, x = doarme, y = A, z = peşteră din (2) şi (7)
(9) {Poate(vânează, A, pădure)} din (5) şi (8)
(10) {¬Poate(vânează, A, pădure)} din (4) şi (6)
(11) □ din (9) şi (10)

iii) Adăugăm următoarele clauze clauzelor (1)-(5):


(6) {Flămând(A)}
(7) {Obosit(A)}
(8) {¬Face(x,y,z)}
Clauza (8) este scopul rezoluţiei. Atunci:
(9) {¬Poate(doarme, A, peşteră)} din (3) şi (6)
(10) {¬Poate(vânează, A, pădure)} din (4) şi (7)
(11) {Face(doarme, A, peşteră)}, x = doarme, y = A, z = peşteră din (5) şi (9)
(12) {Face(vânează, A, pădure)}, x = vânează, y = A, z = pădure din(5) şi (10)
(13) {Face(vânează, A, pădure)} din (2) şi (11)
(14) {Poate(vânează, A, pădure)}, x = vânează, y = A, z = pădure din (5) şi (13)
(15) □ din(10) şi (14)

Se observă că inconsistenţa clauzelor de la (1) la (8) a fost demonstrată fără a utiliza clauza (8), care
era scopul nostru. Conform datelor iniţiale, situaţia în care dragonul este atât flămând cât şi obosit este
contradictorie. Deci nu putem decide ce va face dragonul când va fi atât flămând cât şi obosit.

Considerăm următoarele propoziţii despre două numere naturale în limbajul logicii de ordinul întăi:

(A): x y (xy), “Pentru fiecare număr natural x exită in alt număr natural y care e mai mic sau egal
cu el.”
(B): y x (xy), “Exită un anumit număr particular y care e mai mic sau egal cu orice număr natural
x.”

a. Determină (A) logic pe (B)?


b. Determină (B) logic pe (A)?
c. Incercaţi să dovediţi că (B) urmează din (A) folosind rezoluţia.
d. Incercaţi să dovediţi că (A) urmează din (B) folosind rezoluţia.

Soluţie

a. Nu, (A) nu determină logic pe (B).


b. Da, (B) determină logic pe (A).
c. Încercăm să dovedim că (A) determină pe (B).

140
Presupunem negata lui (B) pe care o notăm (B), şi încercăm să derivăm o contradicţie. Mai întăi
convertim(A) şi (B) la forma canonică. Pt. (B) aceasta implică mutarea lui  în spatele celor
doi cuantificatori.

Pentru ambele (A) şi (B) trebuie să introducem o funcţie Skolem:

(A) xF1(x)
(B) F2(y) y

Încercăm să soluţionăm cele 2 propoziţii. Aplicăm următoarea substituţie, {x/F2(y), y/F1(x)},


care e echivalentă cu {x/F2(y), y/F1(F2(y))}. Aceasta însă eşuează deoarece y e legat de o
expresie ce-l conţine pe y. Ca urmare rezoluţia eşuează şi (B) nu rezultă din (A).

d. Pornim cu premisele (B) si negata lui (A), care este (A):

(A) F1y
(B) xF2(x)

Utilizând substituţia {x/F1, y/F2(F1)} rezoluţia se închide conducănd la o contradicţie şi dovedind


că (B) determină pe (A).

8.9. Logica vagului


Ȋn lumea reală există multe incertitudini. Un anumit tip de incertitudine se referă la faptul că
subiectivitatea tipic umană şi recunoaşterea semnificaţiei cuvintelor determină ca graniţa dintre „da”
şi „nu” să fie ambiguă. Calculul propoziţional şi calculul predicatelor de ordinul întâi au un caracter
ideal, fiind destul de neadaptate modelării raţionamentelor specific umane. De exemplu, evaluarea
superficială a contextului, modificarea aprecierii asupra contextului în funcţie de informaţiile primite
nu sunt aproape niciodată precise ci, dimpotrivă, „vagi“ şi subiective. Ȋn acest sens, logica bivalentă
este prea rigidă.
Matematicianul Zadeh, propune teoria sau logica vagului (fuzzy logic) în anul 1965 [4][8]. Această
teorie şi-a găsit aplicabilitate în multe domenii tehnice. Recent, teoria vagului a constituit o unealtă
puternică în combinarea unor noi paradigme inspirate din biologie, cum ar fi algoritmii genetici sau
reţelele neuronale simulate, pentru a obţine cunoştinţe din datele observate.

8.10. Mulţimi vagi


Teoria vagului are la bază conceptul de mulţimi vagi (fuzzy sets) [4][8]. Mulţimile vagi sunt definite
în contrast mulţimile numite nevagi sau precise (crisp sets). Acestea din urmă corespund conceptului
tradiţional de mulţime introdus de Cantor şi care a fost prezentat în Capitolul 3. Ȋn mulţimile precise
putem discrima exact între calitatea de a fi sau a nu fi membru al unei mulţimi. Astfel, putem asocia
fie valoarea 1 fie 0 fiecărui obiect din mulţimea universală în funcţie de apartemenţa sau nu la
mulţimea precisă în cauză. Această funcţie de apartenenţă sau de a fi membru (membership function)
poate fi generalizată, astfel încât valorile asociate elementelor mulţimii universale să se încadreze într-
o anumită plajă ce indică gradul de a fi membru al mulţimii în cauză. Mulţimea respectivă primeşte un
caracter vag şi o vom numi mulţiime vagă prin definirea graduală a elementelor sale. Cel mai uzual
interval de definire a valorilor funcţiei de membru este [0, 1]. Tranziţia de la calitatea de a fi membru
la cea de nonmembru este graduală şi nu bruscă. Există foarte multe exemple de clase sau mulţimi
care nu pot fi definite satisfăcător în sens clasic matematic. De exemplu, „mulţimea tuturor numerelor
reale mult mai mare decăt 1”, sau „clasa copiilor mici”, sau „mulţimea femeilor tinere” etc.

141
Urmând exemplul lui Zadeh, să considerăm definirea mulţimii oamenilor înalţi în sens precis. Am
putea astfel, utiliza un predicat P(x), cu x ≥ 176 cm, unde x este înălţimea persoanei evaluată cu
calitatea de membru. Aceasta va implica o aproximare abruptă a conceptului de „înalt”. Din punct de
vedere ingineresc, avem de-a face cu o incertitudine datorată procesului de măsurare care este afectat
de zgomot. Va trebui să ţinem cont de o toleranţă sau eroare cu caracter aleator, astfel că de fapt vom
avea de a face cu 176 ± e. Astfel, o parte din elementele în discuţie aflate în apropierea marjei de
eroare vor cădea în interiorul sau în afara mulţimii oamenilor înalţi în mod aleator.
Prin definirea gradului de membru putem obţine o clasificare mai fină, astfel încăt tranziţia de la
calitatea de membru la cea de nonmembru este graduală. Gradul de membru pentru toţi membrii
defineşte o mulţime vagă. Fiind dată o colecţie de obiecte U, o mulţime vagă A din U se defineşte ca o
mulţime de perechi ordonate

unde μA(x) se numeşte funcţie de membru pentru mulţimea tuturor obiectelor x din U, simbolul 
însemnând „definit ca”. Funcţia de membru asociază fiecărui x un grad de membru μA(x) care este o
valoare reală în intervalul închis [0, 1]. Remarcă necesitatea de lucra în acest context cu perechi
ordonate de tipul <x, μA(x)>, spre deosebire de mulţimile precise unde lista obiectelor este suficientă
deoarece calitatea lor de membru este precis înţeleasă.

Definirea mulţimii oamenilor înalţi în mod precis (crisp) şi vag (fuzzy).


Termenul de fuzzy (tradus vag sau indistinct) sugerează o imagine a unei zone de graniţă şi nu o
frontieră abruptă. Definiţia unei mulţimi vagi extinde definiţia mulţimii precise prin valorile μ care
sunt permise în intervalul [0, 1] şi nu doar restricţionate la μ{0, 1}. Cu căt mai mari sunt valorile lui
μ, cu atât mai mare este gradul de membru. Astfel, o mulţime precisă sau clasică devine un caz
particular de mulţime vagă restrânsă la două grade, 0 şi 1.

8.11. Operaţii cu mulţimi vagi


Pentru a genera noi mulţimi din cele exsitente se definesc două operaţii, analog în oarecare măsură cu
adunarea şi multiplicarea. Ȋn figură se dau echivalentele cu diagramele Venn pentru operaţiile de
reuniune a) şi d), intersecţie b) şi e) şi complement c) şi f) [4].

142
De exemplu,

De exemplu,

Fie A şi B două mulţimi vagi definite pe universul mutual U. Reuniunea vagă A şi B este

şi

Intersecţia vagă a lui A şi B

şi

Complementul vag al lui A este

şi

143
Ȋn logica vagului propoziţiile pot fi adevărate sau false (ca în logica tradiţională), sau să posede o
valoare de adevăr intermediară, cum ar fi de exemplu „posibil adevărat”. Propoziţia „Svetlana este
este o femeie frumoasă” este un exemplu tipic de propoziţie vagă.
Reprezentările semnificaţiilor enunţurilor în logica vagului conţin:
a) valori vagi de adevăr:
absolut adevărat;
destul de adevărat;
mai mult sau mai puţin adevărat etc.
b) predicate vagi:
este mare;
este mult mai mare;
este înalt (cât de înalt?);

c) alteratori vagi de predicate:


destul de;
foarte;
extrem de;
practic;
de regulă.
d) cuantificatori vagi:
câţiva ;
destui;
mulţi;
cea mai mare parte.
Logica vagului presupune o gamă de valori de adevăr imprecise, deci un pas înainte este
extinderea valorilor de adevăr, astfel că în loc de adevărat şi fals se acceptă că fiecare propoziţie are
ca valori de adevăr un număr în intervalul [0,1]. Această valoare poate fi considerată ca fiind un grad
de credibilitate al propoziţiei.
Legat de construcţia propoziţiilor compuse sunt valabile următoarele reguli:
v(p) = 1-v(p)
v(p  q) = max(v(p),v(q))
v(p q) = min(v(p),v(q))
v(p  q) = max(v(p),1-v(q))
O altă posibilitate este acordarea unui factor de încredere (confidence factor; CF) fiecărei
propoziţii, acesta putând fi între ( -1) pentru sigur fals şi (+1) pentru sigur adevărat.

144
Exerciții și probleme

1. Care din următoarele relații în calculul cu predicate sunt adevărate sub toate interpretările?

2. Să considerăm că avem următoarele mulţimi R = {toţi oamenii cumsecade} şi S ={toţi


oamenii fericiţi}. Care din următoarele propoziţii este echivalentă cu expresia p(pS
 pR):
a. “toţi oamenii cumsecade sunt fericiţi”
b. “unii oameni nefericiţi sunt cumsecade”
c. “nici un om fericit nu este cumsecade”
d. “nici un om nefericit nu este necumsecade”

3. Imaginați-vă că avem două mulțimi, S = {Toți oamenii sinceri} și F = {toți oamenii fericiți}.
(a) Scrieți o expresie matematică, care este echivalentă cu „toți oamenii sinceri sunt fericiți".
(b) Scrieți o expresie matematică, care este echivalentă cu „nici un om nefericit nu este
nesincer".
(c) Scrieți o expresie matematică, care este echivalentă cu „unii oameni sunt atât fericiți cât și
nesinceri".
(d ) Scrieți o expresie matematică, care este echivalentă cu „există două persoane sincere diferite
care sunt nefericiți".

4. Folosiți logica propozițională pentru a demonstra următoarea declarație:

(A’  B)  (B → C) → (A → C)

5. Să se exprime următoarele propoziții folosing logica de ordinul întâi [9]:


a) Nu toți studenții urmează ambele cursuri de matematică și fizică.
b) Doar un student a căzut examenul de logică.
c) Doar un student a căzut la ambele examene de matematică și fizică.
d) Există un bărbier care barberește toți bărbații din oraș care nu se barberesc singuri.
e) Nimănui nu-i place de un profesor dacă profesorul nu este deștept.
f) Politicienii pot să înșele anumite persoane tot timpul, pot să-i înșele pe toți un anumit timp, dar
nu-i pot înșela pe toți tot timpul.

6. Reprezentați propoziția „Toți românii vorbesc aceeași limbă.” în calculul cu predicate. Utilizați
vorbeste(x, l) ca însemnând persoana x vorbește limbajul l.

7. O variantă de manipulare a datelor în logică fuzzy ar putea fi proiectarea unui calculator


utilizând logica ternară (baza 3), astfel încât datele ar putea fi stocate ca „adevărate", „false" și
„necunoscute". Dacă fiecare element în logica ternară este numit un flit , câți fliți sunt necesari
pentru a reprezenta cel puțin 256 de valori diferite?

145
Bibliografie

1. J.L. Hein, Discrete Structures, Logic, and Computabiitylit, 2nd edition, Jones and Bartlett Publ.
2002
2 Kenneth H. Rosen, Discrete Mathematics and Its Applications, 5th edition, McGraw-Hill, 2002.
3. P. Botezatu, Introducere in logică, ed. a 2-a, Polirom, Iasi, 1997.
4. G. J. Klir, Bo Yuan, Fuzzy Sets and Fuzzy Logic. Theory and Applications, Prentice Hall, 1995.
5. R. Faure, A. Kaufmann, M. Denis-Papin, Îndreptar de matematică modernă, Ed. Ştiinţifică,
Bucureşti, 1969.
6. Papy, Matematică modernă, Ed. Tineretului, Buc. 1967.
7. Winston, P.H., Artificial Intelligence, Addison Wesley Publ. Co., 1992.
8. Zadeh, L., "Fuzzy Logic," Computer, Vol.21, No.4, 1988, pp.83-93.
9. S. Russell, P. Norvig. “Artificial Intelligence- A Modern Approach.” Prentice Hall, 1992.
10. G. Metakides, A. Nerode, Principii de logică şi programare logică, Editura tehnică, Bucureşti
1998.
11. W. H. Brenner, Logic and Philosophy. An Integrated Introduction, Univ. of Notre Dame Press,
1993.
12. Penrose, R., The Emperor's New Mind-Concerning Computers, Minds and The Laws of Physics,
Oxford University Press, 1989.
13. Chaitin, G.J., “Gödel’s Theorem and Information,” Int. Journal of Theoretical Physics, Vol.21,
No.12, 1982.
14. Crisan, M., “Several Arguments for Defining an Hierarchial Cognitive Model,” Proceedings of the
International Conference on Cognitive Systems, ICCS’96, New Delhi, Dec. 1996.
15. Levitin, A., „Introduction to The Design and Analysis of Algorithms,” Addison Wesley, 2003.

146

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