Title: SISTEME CU AUTOORGANIZARE
1SISTEME CU AUTOORGANIZARE
2Continutul disciplinei (preliminar)
- Curs
- Cap. 1 Modele de computabilitate
- Cap. 2 FP Systems
- Cap. 3 Connex System
- Cap. 4 Automate celulare
- Cap. 5 Retele neuronale
- Proiect
- Limbajul SCHEME
- Connex Architecture in SCHEME
- Aplicatie
3Modele de computabilitate
- Toti cretanii sunt mincinosi Epimenides din
Knossos (Creta, sec. -6) - Geometrii neeuclidiene Carl Friedrich Gauss,
Janos Bolyai, Nikolai Ivanovich Lobachevsky
(1830) - Problema deciziei David Hilbert (1900)
- Teorema de incompletitudine Kurt Gödel (1931)
- Problema opririi masinii Turing Alan Turing
(1936)
4Paradoxuri logico-matematice
- Valoarea de adevar a propozitiei Eu mint
- Bertrand Russell (1872-1970)
- Multimile se clasifica in
- Multimi care se contin (multimea abstractiilor
este o abstractie) - Multimi care nu se contin (multimea cailor nu
este un cal) - multimea multimilor care nu se contin? (1901)
- Georg Cantor (1845-1918) mecanismul de
diagonalizare (1891)
5Diagonala lui Cantor
- n1 0 0 0 0 0 0 0 0 . . .
- n2 1 1 1 1 1 1 1 1 . . .
- n3 0 1 0 1 1 0 1 0 . . .
- n4 1 0 0 1 1 0 0 1 . . .
- n5 0 1 0 0 1 0 0 1 . . .
- n6 0 1 0 0 1 0 0 1 . . .
- n7 0 1 0 0 1 0 0 1 . . .
- n8 0 1 0 0 1 0 0 1 . . .
- . . .
- ------------------------------------
- n? 1 0 1 0 0 1 1 0 . . .
- Negatia in contextul unei totalitati (infinite)
6Ce este calculul?
- Mecanism independent de mintea omului
- Daca produce un rezultat, atunci îl produce, în
timp finit - Este descris printr-o secventa simbolica finita
- Problema
- cum decidem daca f(x) este calculabila?
7Modelul Masinii Turing (MT)
- Memorie infinita accesata de un cap de citire sub
controlul unui automat finit strict initial - MT (A, Q, C, f )
- A alfabetul finit al simbolurilor din memoria
MT - Q multimea finita a starilor automatului de
control - C up, down, - comenzile capului de citire
- ? A delimiteaza in memorie sirul de prelucrat
- f (A Q) ? (A Q C)
8Structura masinii Turing
Q
Automat finit (complex)
Up-down counter (infinit simplu)
C
Memorie infinita (infinita simpla)
A
Exemplu conversia unar-binar UB(nr_unar)
nr_binar Initial 0000000000...
? Final 1001... ?
9Exemplu paritatea unara
- A a, 0, 1, Q q0, q1, q4)
- Functia de tranzitie a MT
- f(q0, a) (, q1, up)
- f(q0, ) (, q2, down)
- f(q1, a) (, q0, up)
- f(q1, ) (, q3, down)
- f(q2, -) (0, q4, -)
- f(q3, -) (1, q4, -)
- f(q4, 0) (0, q4, -) // final state
- f(q4, 1) (1, q4, -) // final state
- Exemplu initial aaa... Final 1...
- ? ?
10Masina Turing Universala (MTU)
- MTU este o MT care primeste ca input descrierea f
a unei MT oarecare si inputul acesteia input - MTU(f, input) f, f(input)
- Initial
- descrierea_functiei_finput...
- ?
- descrierea_functiei_ff(input)...
- ?
11Church-Turing calculabilitate
- Teza Church-Turing o functie este calculabila
daca MT asociata se opreste dupa un numar finit
de cicluri cu automatul intr-o stare finala. - Teza Church-Turing nu este o teorema. Nimeni nu a
gasit un contraexemplu. - Cum aflam daca MT se opreste pentru o functie si
o intrare date?
12Problema opririi MT (1)
- Fie MT(A, Q, C, f ) cu intrarea in. Definim
- H(f, in) 1 daca MT se opreste pe in
- H(f, in) 0 daca MT nu se opreste pe in
- Teorema functia H(f, in) nu este calculabila.
- Demonstratie presupunem ca H este calculabila
pentru orice MT si orice intrare in. Definim o MT
G(, g, ), astfel incat pentru orice MT K(, k,
) este adevarat ca
13Problema opririi MT (2)
- H(G, k) 1 (G se opreste pe k) daca H(k, k)
0 si - H(G, k) 0 (G nu se opreste pe k) daca H(k, k)
1. - Consideram H(g, g) G se opreste sau nu ruland
pe propria descriere. Rezulta doua posibilitati - H(g, g) 1 ? G(g) se opreste ? H(g, g) 0
- H(g, g) 0 ? G(g) nu se opreste ? H(g, g)
1 - Deci, presupunerea initiala nu este adevarata
functia H nu este calculabila. Q.E.D.
14Date Informatie
- MTU(f, in) contine doua structuri simbolice
- f programul care prelucreaza datele are
semnificatie pentru functia MT - in datele prelucrate de program nu au
semnificatie pentru functia MT (au semnificatie
pentru user-ul MT) - Informatia structura simbolica ce actioneaza
prin intelesul asociat. - In contextul MTU numai f este informatie. Modelul
lui Turing distinge net datele de informatie si
ofera (impune!?) sugestia unei structuri fizice.
15Modelul Functiilor Recursive
- Definitie orice fNn ? N, unde N 0, 1, , i,
se poate calcula folosind functiile de baza - zero z(x) 0,
- increment inc(x) x 1
- selectie (proiectie) s(i, x0, x1, xm) xi,
- si aplicand regulile
- compozitiei
- f(x0, xn-1) g(h1(x0, xn) , hm(x0, xn-1)
), - recursiei primitive
- f(x, y) g(x, f(x, y-1) ), f(x, 0) h(x),
- minimizarii f(x) µyg(x, y) 0, minimul lui
y, daca exista, pentru care g(x, y) 0.
16Clasificarea functiilor recursive
- Functii primitiv recursive calculate folosind
functiile de baza, compozitia si recursia
primitiva - Functii partial recursive calculate folosind
functiile de baza, compozitia, recursia primitiva
si minimizarea - Teorema familia functiilor Turing-calculabile
coincide cu familia functiilor partial recursive.
17Exemple (1)
- ExFuncRec 1 Daca
- dif(x,y) x-y
- (unde 5-2 3, 2-50), atunci
- absDif(x,y) x-ydif(x,y) dif(y,x)
- In acest exemplu
- h0(x,y)x-y, h1(x,y)y-x,
- g(y1,y2)sum(y1,y2)y1y2
- absDif(x,y)sum(dif(x,y),dif(y,x))
18Exemple (2)
- ExFuncRec 2 functia decrement dec(x), x ? 0,n)
- Se calculeaza prin selectie astfel
- dec(x)s(x, z(x), z(x), inc(z(x)),
inc(inc(z(x))), ) - ExFuncRec 3 functia sum(x,y) se calculaeaza prin
recursie primitiva astfel - sum(x,0)x,
- sum(x, y)inc(sum(x, dec(y)))
19Exemple (3)
- sum(3,2)
- inc(sum(3,dec(2))
- inc(sum(3,1))
- inc(inc(sum(3,dec(1))))
- inc(inc(sum(3,0)))
- inc(inc(3))
- inc(4)
- 5
20Exemple (4)
- ExFuncRec 4 functia dif(x,y) x-y se calculeaza
recursiv astfel - dif(x,0) x
- dif(x,y) dec(dif(x, dec(y)))
- ExFuncRec 5 functia f(x)x/5 se calculeaza prin
minimizare, daca se calculeaza, astfel - f(x) µy5y-x0
21Structuri de circuit compozitia
- x0,
x1, xn-1 - f(x0,
x1, xn-1)
h1
hm-1
h0
g(h0, h1, hm-1)
22Data parallel (multi-threaded execution)
function vector H h0, h1, hn-1, input
vector X x0, xn-1 output vector
H(X) h0(x0), h1(x1) hn-1(xn-1)
. . .
x0 x1
xn-1 . . .
h0(x0) h1(x1)
hn-1(xn-1)
h0
h1
hm-1
23SIMD-like data parallel
X x0, xn-1 ? h(X) h(x0), h(x0), h(x0)
x0
x1
xn-1
. . .
h(x0) h(x1)
h(xn-1)
h
h
h
24Speculative composition
function vector H h0, h1, hn-1 scalar
input x output vector H(x) h0(x), h1(x)
hn-1(x)
x
. . .
h0(x)
h1(x)
hn-1(x)
h1
hm-1
h0
25Serial (pipeline) composition
x
Time parallelism
The general case
f(x) gp-1(gp-2( gp-3(
g0(x) ))) input stream ltx0,
xs-1gt output stream ltf(x0), f(xs-1)gt
f(x)
f(x) g(h(x))
h
g(h(x))
26Reduction composition
input vector X x0, xm-1 output
scalar g(X) g(x0, xm-1)
x0 x1 xm-1
g(x0, xm-1)
g(x0, x1, xm-1)
27Applying the primitive recursive rule
f(x,y) h(x, f(x, y-1)), where f(x,0)
g(x) f(x,y) h(x, h(x, h(x, h(x, g(x) )
))) ri f(x,i), (y i)
x, y f(x,y) r0
r1 r2
ri ri1
Gi
G2
G1
H
R
28Applying the minimization rule
- f(x) µy g(x,y) 0
- Gi(x) i, (g(x,i) 0) ri
x f(x) r0
r1 r2
ri
Gi
G2
G0
G1
R
29Concluzii asupra functiilor recursive
- Sugereaza o abordare de tip circuit, adica de tip
implicit paralel - Mecanismul de control nu este explicitat
- Este un model constructivist care nu permite
direct conceperea unei masini universale - Problema opririi este explicitata si bine
conturata prin partial recursivitate - Regula de baza (suficienta) este compozitia, la
care se pot reduce primitiv recursivitatea si
minimizarea