3 Calculabilitate3

Descărcați ca pdf sau txt
Descărcați ca pdf sau txt
Sunteți pe pagina 1din 41

Calculabilitate

Ștefan Trăușan-Matu
Cuprins Capitole:
• Giumale – 3.1
• Lehman, Leighton & Meyer – 8.1, 8.2, 9.5
• Modele ale calculabilității • Hofstadter – pp. 71-74, cap 13
• Cardinalul mulțimii programelor
• Programul universal
• Teorema opririi a lui Turing
• Funcții parțial și total recursive
• Teza Church-Turing
• Mulțimi recursive și recursiv-enumerabile
• Predicate decidabile, semi-decidabile și nedecidabile
• Probleme decidabile, semi-decidabile și nedecidabile
• Teorema Rice
Noțiuni
• Problemă
• Program
• Algoritm
• Teoremă
• Funcție
• Mulțime
Elemente de matematică a mulțimilor infinite
• Cardinalul mulțimilor infinite

• Mulțimi numărabile
• Corespondență biunivocă

• Mulțimi de puterea continuumului


• Digonalizarea lui Cantor
Modele ale calculului
• Mașina Turing
• Calculul lambda
• Algoritmii Markov
• Sistemele Post
• Teoria funcțiilor primitiv recursive
Mașina Turing – spargerea codului Enigma
Mașina Turing
Calculator ideal; program
• Calculator ideal
• Numere naturale
• Perfect fiabil
• Toate citirile la intrare
• Programe
• i intrări și j ieșiri
• set finit de caractere
• Teoremă
Mulțimea tuturor programelor este numărabilă
Programul universal
Teoremă - Există un program care simulează orice alt program
Teorema opririi (a lui Turing)
Teoremă: Nu există un program care să poată spune despre oricare alt
program dacă se termină sau nu
Teorema de incompletitudine a lui Godel
Orice sistem formal care include aritmetica conține cel puțin o teoremă
care nu se poate demonstra
(sistem formal – axiome + reguli de derivare)
Demonstrație
1. Godelizare – fiecărei formule i se atribuie un număr natural unic

2. Teorema de genul „eu mint” nu poate fi demonstrată


Modelul masinii vs modelul ceasului
• Mașina Turing – ca o „râșniță” primește o intrare (pe bandă un șir de
caractere), funcționează și când se oprește, pe bandă e ieșirea – este
esențială oprirea, ca la o râșniță
Modelul „clasic al calculului”

• Ceasul – ideal nu se oprește niciodată și datele utile nu sunt când se


oprește ci în fiecare moment, este esențial să nu se oprească
• Sistem de operare
• Server
Scurt istoric al calculabilității, cu aplicație în
inteligența artificială
• Mașini de făcut raționamente
• Ramon Lull (1232-1316) – Ars Combinatoria, Ars Magna
(https://www.youtube.com/watch?v=8BgRamd6d-c)
• Leibniz – Characteristica Universalis (1666)
• Axioma a cincea, a paralelelor, din Elementele lui Euclid
Geometria neeuclidiană Teoria mulțimilor (Cantor) Lull
• Criza fundamentelor matematicii
• Abordări
• Logicismul
• Formalismul Teorema lui Godel
• Intuiționismul Matematica constructivă
Ce se poate calcula
Church, Turing, Post, Markov
Leibniz
Funcții recursive
• Definiție – O funcție aritmetică parțială este recursivă (calculabilă)

• Teoremă – Există funcții aritmetice nerecursive


• Deci, pentru că sunt mult mai multe funcții decât programe, atunci sunt
mult mai multe funcții necalculabile decât calculabile (recursive)!

• Există o altă teorie a calculului care consideră:


• funcții primitiv recursive (în cartea GED – algoritmii Bloop)
• funcții recursive (adăugând operatirul de minimizare -
• parțial
• total
Există funcții totale nerecursive
Fie f aritmetică (f:NN), totală
f(n)=1, dacă pn(k) este definit pentru k din N
f(n)=0, altfel
f nu este recursivă
Teza lui Church - Turing

Toate funcțiile calculabile


algoritmic sunt recursive

• https://plato.stanford.edu/entr
ies/church-turing/

• https://en.wikipedia.org/wiki/
History_of_the_Church%E2%8
0%93Turing_thesis
Mulțimi recursive
Definiție – O mulțime A inclusă în mulțimea numerelor naturale este
recursivă dacă:
1. funcția ei caracteristică este recursivă

2. SAU există un program cu o intrare care tipărește în timp finit „DA”


dacă intrarea este în mulțime și „NU” dacă nu este în mulțime
Mulțimi recursiv-enumerabile
Definiție – O mulțime A inclusă în mulțimea numerelor naturale este
recursiv-enumerabilă (r.e.) dacă:
1. funcția ei caracteristică este recursivă pe domeniul de definiție a lui f

2. SAU există o funcție recursivă a.î. A=def f

3. SAU există un program cu zero intrări care tipărește succesiv toate


elementele mulțimii A
Teoreme
1. A recursivă (rec)  A recursiv enumerabilă (r.e.)
Teoreme
2. A r.e. și N-A r.e.  A rec
Teoreme
3. a) Există mulțimi recursive
b) Există mulțimi r.e. dar nu recursive
c) Există mulțimi care nu sunt r.e.
Predicate decidabile
Un predicat T: (N x N x N x ... x N)  {adevărat, fals} este decidabil
dacă:
• mulțimea sa de adevăr {(x1,x2,x3, …,xn)| T(x1,x2,x3, …,xn) = adevărat}
este recursivă
• SAU există un program p care, pentru fiecare tuplu (x1,x2,x3, …,xn)
întoarce:
DA , dacă T(x1,x2,x3, …,xn) = adevărat sau
NU, dacă T(x1,x2,x3, …,xn) = fals.
Predicate semi-decidabile
Un predicat T: (N x N x N x ... x N)  {adevărat, fals} este semi-
decidabil dacă:
• mulțimea sa de adevăr {(x1,x2,x3, …,xn)| T(x1,x2,x3, …,xn) = adevărat}
este recursiv-enumerabilă și nu recursivă
• SAU există un program p care, pentru fiecare tuplu (x1,x2,x3, …,xn)
întoarce DA , dacă T(x1,x2,x3, …,xn) = adevărat și nu se oprește dacă
T(x1,x2,x3, …,xn) = fals.
• SAU există un program p care tipărește succesiv toate tuplele (x1,x2,x3,
…,xn) pentru care T(x1,x2,x3, …,xn) = adevărat
Probleme decidabile și semi-decidabile și
nedecidabile
• Problema demonstrării teoremelor în calculul cu predicate
Reducerea Turing
Definiție - Spunem că problema A se reduce Turing la problema B dacă
și numai dacă există o funcție F care transformă orice intrare i a
problemei A într-o intrare F(i) pentru problema B, astfel încât dacă A(i)
= 1 atunci B(F(i)) = 1.
Teorema lui Rice
Definiție – Proprietate extensională a programelor

Definiție – Proprietate extensională nebanală a programelor

Teoremă - Orice proprietate extensională nebanală a programelor


este nedecidabilă
Teorema lui Rice
Demonstrație
• Fie prop o proprietate extensională nebanală a programelor.
Presupunem, prin absurd, că e decidabilă
• Fie nonstop programul care buclează la infinit: etic goto etic
• nonstop poate sau nu să aibă prop
Giu

C. Giumale, note de curs


“The biggest advances will come not
from doing more and bigger and
faster of what we are already doing,
but from finding new metaphors, new
starting points.”

Terry Winograd
Beyond Calculation:
The Next 50 Years of Computing, 1997

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