Documente Academic
Documente Profesional
Documente Cultură
LOGICĂ ŞI
STRUCTURI DISCRETE
Marius Crişan
NOTE DE CURS
PENTRU UZUL STUDENŢILOR
CUPRINS
Capitolulă1.ăăNoţiuniăintroductive.....................................................................................................1
Capitolul 3. Mulţimiă.......................................................................................................................31
Capitolul 5. Grafuriăşiăarboriă........................................................................................................57
Capitolul 6. Funcțiiă.........................................................................................................................77
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.
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.
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).
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
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
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)
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
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”.
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,
Reciproca este
Reciproca este falsă. Aceasta se verifică printr-un contra-exemplu, de pildă pentru valorile x ţ 4 şi y
ţ −3.
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.
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”.
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 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:
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”.
Î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
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.
Dacă d | a și a | b, atunci d | b.
8
CAPITOLUL 2
ADEVĂRUL ŞI DEMONSTRAŢIILE
MATEMATICE
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ă.
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 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,
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.
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.
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,
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:
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:
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.
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.
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.
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.
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:
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.
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ă.
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.
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ă:
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.
dacă p, atunci q
p
--------------
├q
„dacă este soare, atunci este lumină”. Presupunând adevărată existenţa soarelui, urmează
logic prezenţa luminii.
Pentru a demonstra această afirmaţie prin metoda directă deductivă, reformulăm afirmaţia în
forma condiţională, adică:
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.
p q p→q
A A A
A F F
F A A
F F A
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.
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.
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ă.
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.
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”.
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.
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].
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ă.
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:
i
i 1
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
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.
Stabilirea bazei:4!=24›16=24
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
29
2. Arătaţi că următoarele identităţi asupra seriilor geometrice sunt adevărate:
j
=
j
j= (
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,
(i 2)2
i 0
i
(n 1)2 n1 , pentru n 0.
n
1 1
i
i 2
2
1
n
, pentru n intreg si n 2.
30
CAPITOLUL 3
MULŢIMI
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ă.
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.
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,...} .
Î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:
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.
Mulţimea putere
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.
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:
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.
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 .
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.
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
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 .
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
iI
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} .
iimar
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
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.
37
Construim ( A B) C A ( B C)
În mod similar se demonstrează şi asociativitatea pentru reuniune.
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].
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.
Î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} .
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)
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ă.
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].
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
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 AC 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
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
(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 = .
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ă.
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
Î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:
(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
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:
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)).
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.
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].
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 δ.
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.
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>.
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>.
Î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 δ.
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.
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}.
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
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
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):
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]:
Dacă c23=(a2,b3) atunci a2 conform defini iei este proiec ia lui c23 pe A.
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
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 .
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]:
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
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?
56
CAPITOLUL 5
GRAFURI ŞI ARBORI
Î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.
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.
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].
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.
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:
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:
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
♦ 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.
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
65
Căutarea în adâncime: S, A, B, C, E, D, F, G
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ă.
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> >.
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> > >.
Î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ă.
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]:
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>>
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.
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
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].
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}.
{}
{{a,e }}
{{a,e},{b,d}}
{{a,e},{b,d},{c,d}}
{{a,e},{b,d},{c,d},{a,b}}
72
Algoritmul lui Prim
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:
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
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
2. Care este numărul cromatic al grafului care reprezintă harta României. Explicați
răspunsul.
<a, <b, <c>, <d, <e>> >, <r, <s>, <t>>, <x>>.
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ă xX
şi yY 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
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]:
77
6.2. Exemple de funcţii
Funcţii Booleene
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
De exemplu, pentru n=2 variabile şi m=1 ieşiri avem 222=24=16 funcţii booleene posibile:
Tuplul (22, 14, 55, 1, 700, 67) poate fi văzut ca o listare a valorilor funcţiei:
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 bB
există cel putin un element aA, 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
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.
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.
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ă.
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
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:
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.
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]:
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
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
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.
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.
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ă.
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).)
90
CAPITOLUL 7
LOGICA TRADIŢIONALĂ
Î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:
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.
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:
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.
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ă.
Teză Semnificaţie
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.
Ş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.
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.
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.
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:
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:
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!
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.
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:
2. De la general la general. Un alt mod de deduc ie de a ajunge la noi generalizări prin silogism. De
exemplu:
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?
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.
Î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.
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.
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:
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:
Exemplu:
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).
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:
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.
100
Exemplu:
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.
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ă.
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ă
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ă
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:
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:
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:
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:
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ă.
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:
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.
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ă:
105
De exemplu,
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ă.
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:
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).
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).
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ă:
Aceste 64 de moduri pot fi aranjate conform lui Aristotel în patru figuri, figura fiind determinată de
rolul termenului mediu în premise.
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 .
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:
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)
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)
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:
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
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
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:
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ă p atunci q
q
Rezultă: p
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ă p atunci q
q
Rezultă p
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.
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.
114
Afirma ia 3: Unii bărba i sunt vegetarieni.
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
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
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:
115
Dacă mă înşeli, o să lipseşti de acasă mult. Lipseşti de acasă mult, deci trebuie că mă înşeli.
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.
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.
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.
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.
Exemplu:
To i locuitorii Californiei sunt frumoşi. Toate femeile sunt frumoase. Deci toate femeile locuiesc în
California.
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.
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”
117
identitatea în număr;
identitatea în specie;
identitatea în gen.
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.
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.
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:
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:
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.
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:
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 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]:
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.
“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:
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]:
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
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.
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ă.
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.
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Ă
Î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).
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.
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ă.
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 pq 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
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ă.
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:
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.
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.
O regulă: 1 literal pozitiv, cel puţin un literal negativ. O regulă are forma
adică o implicaţie daca-atunci cu orice numă de condiţii dar o singură concluzie. De exemplu:
De exemplu:
a) Om(Socrate)
b) x[Om(x) Muritor(x)]
c) Muritor(Socrate)
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)]
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)
Clauza nulă: 0 positivi şi 0 literali negativi. Apare la sfârşitul demonstrării prin rezoluţie.
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
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”.
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
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]:
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 .
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 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.
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.
1. (S E)=> (CT)
2. T=>MA
3. MA > S
4. (MA) 3 dubla negatie
5. T 2,4 modus tollens
6. (CT) => T tautologie
7. (CT) 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
(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.
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)).
Î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ă.
135
(x)(persoana(x) => (t) (timp(t) ^ poti-pacali(x,t)))
sau echivalent
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.
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).
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 (R1R2…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]:
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:
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:
PQ (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: xyzw P(x, y, z, w). Eliminam y, si inlocuim
y cu functia Skolem f(x). Obtinem: xzw 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: xz 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].
Î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.
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.
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,
(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)
(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)}
Clauza (7) reprezintă scopul rezoluţiei. Vom încerca să concluzionăm □, prin instanţierea adecvată
a variabilelor x,y şi z.
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 (xy), “Pentru fiecare număr natural x exită in alt număr natural y care e mai mic sau egal
cu el.”
(B): y x (xy), “Exită un anumit număr particular y care e mai mic sau egal cu orice număr natural
x.”
Soluţie
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.
(A) xF1(x)
(B) F2(y) y
(A) F1y
(B) xF2(x)
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ă.
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
şi
ş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?);
144
Exerciții și probleme
1. Care din următoarele relații în calculul cu predicate sunt adevărate sub toate interpretările?
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".
(A’ B) (B → C) → (A → C)
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.
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