Estratto del documento

Teoria degli algoritmi

Antonio Maida

1. Computabilità effettiva

Si indicherà con p0, p1, p2, … la successione crescente dei numeri primi, con p0=2.

Saranno considerati i due alfabeti H={⏐} e M={⏐, ∗⎬}.

Le parole di H sono le cifre o i numerali di M.

Una relazione R=R1×…×Rn è una relazione numerica se Rn⊆ωn, è una relazione alfabetica se Rn⊆WEn; nei due casi, l’insieme ambiente di R, ambR, è rispettivamente ωn o WEn.

Per cose note, gli insiemi ωn e WEn sono numerabili. E dunque, ogni relazione numerica o alfabetica è numerabile. Una funzione numerica od alfabetica y=f(x1…xn) è anche una funzione parziale; se poi domf=ambf la f è allora una funzione totale.

Costruttivismo

Il concetto di procedura è intuitivo; una procedura consta di una lista finita di istruzioni in base alle quali è possibile fare dei passi successivi senza equivoci. Tale concetto è poi formalizzabile in quello di semisistema di Axel Thue (1912-1954, Tönsberg, Norvegia).

Tramite il concetto di procedura si definiscono i seguenti pseudoconcetti, tipici del costruttivismo, riguardanti relazioni e funzioni, R=R1×…×Rn ed y=f(x1…xn), numeriche od alfabetiche, ma estendibili in modo ovvio a relazioni e funzioni arbitrarie purché numerabili. Una formalizzazione di tali concetti avverrà nella teoria delle funzioni ricorsive per quanto riguarda il caso numerico, e nella teoria degli algoritmi per quanto riguarda il caso alfabetico.

a). Una relazione R dicesi enumerabile (enR) se esiste una procedura che elenca i suoi elementi.

b). Una relazione R dicesi decidibile (adecR) se esiste una procedura che, per ogni x∈ambR, decide dopo un numero finito di passi se Rx.

c). Una funzione f dicesi parziale computabile (pcompf) se esiste una procedura che per ogni x, qualora x sia un argomento, calcola il valore fx dopo un numero finito di passi.

d). Una funzione f dicesi computabile (compf) se è totale e pcomp.

e). Una funzione alfabetica f su E che sia parziale computabile dicesi algoritmo in E. Si dice che f è applicabile a P∈WEn, se P∈domf.

Si prova che i concetti del costruttivismo sono riconducibili ad uno solo di essi. Ad esempio:

Una relazione R è decidibile se e solo se essa è enumerabile assieme al suo complementare.

Enumerabilità dell’insieme ambiente

Si osservi che ωn e WEn sono decidibili ed enumerabili.

Una elencazione di ωn è la diagonalizzazione. Ad esempio, la diagonalizzazione di ω2 è:

00, 01, 10, 02, 11, 20, 03, 12, 21, 30, …

Una elencazione di WEn è invece quella lessicografica. Ad esempio, l’elencazione lessicografica di WE, essendo E={a,b,c}, è la seguente:

∆, a, b, c, aa, ab, ac, ba, bb, bc, ca, cb, cc, aaa, aab, …

Aritmetizzazioni

Una aritmetizzazione di WEn (alfabetizzazione di ωn) è una funzione f:WEn→ωn (f:WMn→ωn) verificante le:

a) f è biunivoca e computabile.

b) Il cod(f) è decidibile.

c) Esiste una procedura che, per ogni y∈cod(f), trova quell’x∈domf, tale che f(x)=y.

Una particolare aritmetizzazione di WEn è la gödelizzazione g seguente. Per n=1, si elenchino gli x∈E con numeri dispari consecutivi g(x), iniziando dal dispari 3; se x∈WE, e poi W=x0…xn-1 allora g(W)=p0g(x0)…pn-1g(xn-1). Si procede allo stesso modo per n>1.

Una particolare alfabetizzazione di ωn è invece la seguente. Per ogni x∈ω si definisca induttivamente ϕ:ω→WM: ϕ0=∗, ϕx=ϕ(x−1)∗. Si porrà poi, per ogni x1…xn∈ωn, ϕn(x1…xn)=ϕ(x1)…ϕ(xn).

Ogni aritmetizzazione f induce una elencazione di WEn. Infatti, per b) e c), è possibile trovare il primo numero n1 e la P1∈WEn, tali che n1∈codf e f(P1)=n1. Iterando, si ottiene l’elencazione P1, P2, …

2. Funzioni ricorsive

La teoria delle funzioni ricorsive, dovuta essenzialmente a Gödel, è ricostruibile nell’aritmetica.

Funzioni iniziali

L’insieme Iniz delle funzioni iniziali è costituito dalle seguenti funzioni (totali), con i≤n:

La funzione Zero. Z:ω→ω, Zx=0.

La funzione Successore. N:ω→ω, Nx=x+1.

Le funzioni di Proiezione. Uni:ωn→ω, Uni(x1…xn)=xi.

Regole

Le regole sono le quattro seguenti:

Sostituzione s:

Assegnate (m+1) funzioni g ed hi, la funzione f=f(g(h1,…,hm) ottenuta per sostituzione delle h nella g, è definita da f(x1…xn)=g(h1(x1…xn)…hm(x1…xn)).

Ricorsione r:

Assegnate due funzioni g ed h, la funzione f, ottenuta per ricorsione da g ed h, è quella definita dalle: f(x1…xn,0)=g(x1…xn), f(x1…xn,y+1)=h(x1…xn,y,f(x1…xn,y)).

Si conviene che, per n=0, g sia una costante k.

Minimalizzazione m:

Assegnata la funzione g, la funzione f, ottenuta per minimalizzazione da g, è quella definita da: f(x1…xn)=y⇔(g(x1…xn,y)=0 e x<y⇒(esiste g(x1…xn,x)≠0)).

Minimalizzazione normale n:

È il caso particolare di m quando la f è totale.

Funzioni e relazioni ricorsive

Si osservi che s ed r, ma non m, mutano funzioni totali in funzioni totali. In n, la g è normale.

Gli elementi delle chiusure

RP=Inz{s,r}, RG=Inz{s,r,n}, RPA=Inz{s,r,m}

sono rispettivamente le funzioni ricorsive primitive, ricorsive generali e parziali ricorsive.

Una relazione R⊆ωn si dirà ricorsiva primitiva (primR) se fR∈RP, ricorsiva (ricR) se fR∈RG, ricorsivamente enumerabile (renR) se esiste una funzione parziale ricorsiva f tale che domf=R.

La fR è la nota funzione caratteristica di R. Si prova che RP, contrariamente ad RG, è enumerabile.

Si hanno le:

RP⊂RG⊂RPA; RP≠RG; f∈RG⇒f totale; (f totale, f∈RPA)⇔f∈RG.

Tesi di Church e sue conseguenze

RG=comp

Tesi di Church: RG=comp.

Il senso della tesi è il seguente. Sicuramente RG⊂comp, poiché le funzioni primitive sono computabili e le regole conservano la computabilità. Viceversa, una prova del fatto che comp⊂RG non è realizzabile a causa della primitività del concetto di funzione computabile. Vi sono però vari argomenti a favore del viceversa. Intanto, tutte le funzioni notoriamente comp sono anche RG; in secondo luogo, tutti i tentativi fatti nel precisare il concetto di funzione computabile si equivalgono. La tesi sarà dunque valida fino a prova contraria.

La tesi implica ovviamente che: RPA=pcomp, ric=adec e ren=en.

Conseguenze della tesi di Church:

a) enRP⇒RP≠RG.

b) nonenRG.

Dim: Le due prove sono analoghe; per cui, si prova solo la a). Se RP è enumerabile allora, poiché è riconoscibile se una funzione è ad una o più argomenti, lo sarà anche l’insieme RP1 degli elementi di RP ad un solo argomento. Sia f1, f2,… una elencazione di RP1, e si consideri la funzione g(n)=fn(n)+1.

Assegnato n, per la enumerabilità di RP è possibile trovare dopo un numero finito di passi la funzione fn; per la computabilità di fn, sarà allora possibile calcolare fn(n) dopo un numero finito di passi, e quindi anche g(n). Allora g∈comp⊂RG. Ma g∉RP; diversamente, per qualche n si avrebbe g=fn, e quindi l’assurdo fn(n)=g(n)=fn(n)+1.

3. Algoritmi di Marköv

Si ricordi che, in generale ed in modo informale, un algoritmo in un alfabeto E è una funzione computabile che muta parole di E in parole di E.

Una prima precisazione del concetto di algoritmo si deve ad Andrei Marköv (1856-1922, Ryazan, Russia). Siano E’⊂E due alfabeti finiti, e →, • due segni non appartenenti ad E. Parole del tipo P→Q, P→•Q, essendo P,Q∈WE, diconsi rispettivamente produzioni semplici, e produzioni terminali in E o su E’. Con P→(•)Q si indica indifferentemente una produzione semplice o terminale.

Schema di algoritmo di Marköv A

Una schema di algoritmo di Marrköv in E o su E’ è una lista finita di r≥1 produzioni in E distinte:

aventi le Pi→(•)Qi

P1→(•)Q1

P2→(•)Q2

……

Pr→(•)Qr.

Notazioni

a) A:P→.

Se nessuna delle Pi occorre in P.

b) A:P├R o A:P├•R.

Se, essendo Ph la prima delle Pi occorrente in P, R è ottenuta da P rimpiazzandovi l’occorrenza più a sinistra di Ph→(•)Qh con Qh, e rispettivamente Ph è semplice o terminale.

c) A:P╞R o A:P╞•R.

Se esiste una sequenza R0, R1,…,Rk di k+1≥1 parole di E per le quali si abbia rispettivamente:

A:R0├R1├…├Rk oppure A:R0├R1├…├Rk−1├•Rk.

Anteprima
Vedrai una selezione di 4 pagine su 15
Teoria degli algoritmi Pag. 1 Teoria degli algoritmi Pag. 2
Anteprima di 4 pagg. su 15.
Scarica il documento per vederlo tutto.
Teoria degli algoritmi Pag. 6
Anteprima di 4 pagg. su 15.
Scarica il documento per vederlo tutto.
Teoria degli algoritmi Pag. 11
1 su 15
Sintesi

Teoria degli algoritmi

La teoria degli algoritmi è una branca della logica che applica i processi di deduzione e induzione tipici della logica formale alla computabilità e risolubilità in passi finiti di un algoritmo e, in generale, permette di analizzare le strutture logiche delle relazioni presenti negli algoritmi stessi.

Dopo un’introduzione generale al concetto di computabilità, si analizzano le caratteristiche delle funzioni ricorsive, attraverso le loro proprietà generali e l’analisi della tesi di Church.

Vengono poi analizzati, attraverso esempi significativi, gli algoritmi di Markov e la loro computabilità.

Si passa poi ad una discussione dettagliata della macchina di Turing, della quale viene fornita la definizione, il concetto di “calcolo”, la computabilità degli algoritmi secondo tale macchina e vengono forniti degli esempi esplicativi.

Vengono infine presi in analisi i semisistemi di Thue e le loro relazioni con le macchine di Turing.

D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi