6
Il «blocco stradale» è un gioco da tavola che si gioca con un tabellone su cui è riprodotta una rete di strade; ogni via è disegnata in uno fra tre colori disponibili. Due avversari, che muovono alternativamente, col- locano le rispettive pedine (in forma di automobili o di motociclette) negli incroci di partenza. A turno ciascun giocatore sposta una pedina in un nuovo incrocio, percorrendo solo strade di uno stesso colore e che non siano occupate da altre pedine. Vince il primo che porta una pedina su un incrocio prefissato. Nell'illustrazione il giocatore con le Bugatti può spostarne una dall'incrocio A all'incrocio B; alla mossa successiva potrebbe vincere muovendo da B in E. Se l'avversario blocca quella strada muovendo una moto da C in D, il primo giocatore vince spostan- do una Bugatti da F a G. Se quindi la prima mossa spetta al giocatore conte Bugatti, questi dispone di una strategia vincente. In generale non è così semplice analizzare una posizione arbitraria del blocco stradale. Ci sono degli algoritmi, o procedure meccaniche, per stabilire quale giocatore abbia una strategia vincente in una data posizione, ma sono tutti «inefficienti»: il tempo per eseguirne uno cresce esponenzialmen- te come c", dove c è una costante maggiore di len è il numero di incroci della posizione di gioco. Anche se ogni algoritmo non impiegherà in ogni posizione un tempo esponenziale per trovare una strategia vincen- te per uno dei giocatori, dato un algoritmo qualsiasi ci sarà una infini- tà di posizioni che richiedono un tempo esponenziale di valutazione. VINCE LA MOTOCICLETTA A 3" VINCE LA BUGATTI VINCE LA MOTOCICLETTA VINCE LA BUGATTI .".: Agre. lielb A Problemi intrinsecamente difficili grado di giocare magistralmente a dama e a scacchi? La risposta è semplicemente che il diagramma delle consuete posizioni di questi giochi è costituito da un numero talmente spaventoso di punti, che il più veloce calcolatore esistente impieghe- rebbe anni per esaminarli tutti. I pro- grammi dei calcolatori che giocano a scacchi non generano l'intero albero ma solo un piccolo frammento, esattamente come un giocatore umano che esamini le possibili mosse. Ne segue che i program- mi non giocano in modo perfetto, anche se alcuni di essi sono sufficientemente ben fatti da sostenere il confronto con gioca- tori umani. Per quanto ciò sia molto improbabile, i matematici non sono riusciti a escludere l'eventualità che un domani i programmi dei calcolatori possano comprendere de- gli algoritmi per giocare in modo ottimale a dama o a scacchi, che siano più efficienti della procedura brutale di costruzione dell'albero di gioco. In effetti, per molti giochi sono già stati escogitati degli algo- ritmi pratici e ingegnosi. Così accade per il «nim», un gioco in cui un certo numero Per la soluzione di alcuni problemi matematici, in linea di principio risolubili, bisognerebbe disporre di un calcolatore delle dimensioni dell'universo, che lavorasse per un tempo almeno pari alla sua età di Larry J. Stockmeyer e Ashok K. Chandra A lcuni problemi matematici (in parti- colare nell'ambito della teoria dei numeri e della logica) possono essere risolti in linea di principio, ma solo ricorrendo a metodi che eccedono la ca- pacità del più potente calcolatore imma- ginabile. Alcune proprietà intrinseche dell'universo limiteranno sempre le di- mensioni e la velocità dei calcolatori. Il più potente calcolatore che si possa im- maginare di costruire non potrà essere più grande dell'universo conosciuto (meno di 100 miliardi di anni luce di diametro), né potrà essere costituito da componenti più piccoli di un protone (10 -13 centimetri di diametro), né infine potrà trasmettere informazioni a una velocità superiore a quella della luce (3 x 10 8 metri al secon- do). Date queste limitazioni, tale calcola- tore non potrebbe avere più di 10126 componenti. Albert R. Meyer del Massa- chusetts Institute of Technology e uno di noi (Stockmeyer) hanno dimostrato che questo calcolatore, al di là dell'ingegnosi- tà del progetto e della complessità dei suoi programmi, impiegherebbe almeno 20 miliardi di anni per risolvere alcuni problemi di cui è nota la risolubilità in linea di principio. Poiché presumibilmen- te l'universo non ha un'età superiore a 20 miliardi di anni, ciò sembra sufficiente per affermare che questi problemi sfidano l'analisi del calcolatore. I problemi che tengono in scacco il cal- colatore ideale per almeno 20 miliardi di anni costituiscono l'espressione più esa- sperata dei problemi intrattabili; oltre a questi casi estremi ve ne sono alcuni che per essere risolti richiederebbero anni ai moderni calcolatori ad alta velocità, quale che sia il metodo di risoluzione adottato. Ci sono poi problemi per i quali non è nota alcuna procedura veloce di risolu- zione, per quanto ve ne possano essere. Negli ultimi anni i matematici e gli specia- listi in elaborazione elettronica hanno formalizzato l'idea di non trattabilità, identificando con precisione diverse classi di problemi di questo tipo e dimostrando svariati teoremi per ognuna di esse. I ri- sultati di tutto questo lavoro sollevano diverse questioni fondamentali relativa- mente alle possibilità e alle limitazioni dei calcolatori. Problemi non trattabili sembrano sor- gere spesso in giochi quali gli scacchi, la dama, ecc. Supponiamo che due persone stiano disputando una partita a dama in cui sulla scacchiera ci siano solo quattro pezzi: tre pedine colorate e una nera. Se la mossa successiva spetta al colore, c'è una strategia che lo conduce alla vittoria qua- lunque sia la contro-strategia adottata dal nero. Se invece sulla scacchiera ci fosse una dozzina di pezzi, non sarebbe affatto banale scoprire se il colore dispone o meno di una strategia vincente. In linea di principio è possibile determinare la risposta «brutalmente», esaminando cioè tutti i modi possibili in cui il colore può continuare il gioco, e le contromosse del nero. Le strategie e le controstrategie si possono studiare sistematicamente co- struendo un «albero di gioco» formato da un insieme di punti collegati da frecce. Ogni punto corrisponde a una posizione sulla scacchiera, ossia alla disposizione complessiva dei pezzi e all'indicazione del giocatore cui spetta la mossa. Le mosse possibili in una certa posizione di gioco sono rappresentate da frecce che con- giungono i punti corrispondenti. Una po- sizione in cui non ci siano pezzi neri è una posizione vincente per il colore e viene contrassegnata come tale. Se non vi sono pezzi colorati viene invece contrassegnata come posizione vincente per il nero. Gli altri punti (posizioni di gioco) pos- sono ora venire classificati come vincenti per il nero o per il colore sulla base di alcune semplici regole. Se il colore può spostarsi dalla posizione A nella posizio- ne B eB è già stata classificata come vincente per il colore, anche A può venire contrassegnata allo stesso modo. Analo- gamente, se da A il colore può muovere solo verso posizioni già classificate come vincenti per il nero, A stessa verrà con- trassegnata come vincente per il nero. Questa procedura prosegue finché non sia più possibile contrassegnare alcun punto. Le posizioni non contrassegnate indirizzano verso una patta. Facendo at- tenzione che a punti differenti non corri- sponda una stessa posizione di gioco, il diagramma può essere costruito e con- trassegnato in un lasso finito di tempo. In questo modo ogni posizione iniziale può essere analizzata come patta, vincente per il colore o vincente per il nero. Un metodo di analisi di questo tipo vie- ne detto algoritmo: un insieme di istru- zioni ben determinato che può essere ap- plicato meccanicamente per trovare la soluzione a ogni esempio proposto di un problema. Se il problema deve essere ri- solto da un calcolatore è indispensabile disporre di un algoritmo, dato che il calco- latore è in grado solo di seguire le istru- zioni non ambigue di un algoritmo. Esempi di algoritmi sono le procedure insegnate alle scuole elementari per sommare e motiplicare numeri interi. Applicandole meccanicamente, esse for- niscono sempre il risultato corretto, per ogni coppia di numeri. La costruzione di un albero di gioco è un algoritmo che analizza qualsiasi posizione della dama. Sostanzialmente lo stesso algoritmo può essere utilizzato per analizzare giochi come gli scacchi e il «go», che non coin- volgano dadi, carte o altri elementi alea- tori. In generale, l'algoritmo di un gioco indica per ogni posizione quale è il gioca- tore (se ne esiste uno) che dispone di una strategia vincente. Perché allora i calcolatori non sono in 92 93

Problemi intrinsecamente difficili - download.kataweb.itdownload.kataweb.it/mediaweb/pdf/espresso/scienze/1979_131_7.pdf · calcoli non più difficili della somma di numeri (si veda

  • Upload
    buitram

  • View
    237

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Problemi intrinsecamente difficili - download.kataweb.itdownload.kataweb.it/mediaweb/pdf/espresso/scienze/1979_131_7.pdf · calcoli non più difficili della somma di numeri (si veda

Il «blocco stradale» è un gioco da tavola che si gioca con un tabellone sucui è riprodotta una rete di strade; ogni via è disegnata in uno fra trecolori disponibili. Due avversari, che muovono alternativamente, col-locano le rispettive pedine (in forma di automobili o di motociclette)negli incroci di partenza. A turno ciascun giocatore sposta una pedina inun nuovo incrocio, percorrendo solo strade di uno stesso colore e chenon siano occupate da altre pedine. Vince il primo che porta una pedinasu un incrocio prefissato. Nell'illustrazione il giocatore con le Bugattipuò spostarne una dall'incrocio A all'incrocio B; alla mossa successivapotrebbe vincere muovendo da B in E. Se l'avversario blocca quellastrada muovendo una moto da C in D, il primo giocatore vince spostan-

do una Bugatti da F a G. Se quindi la prima mossa spetta al giocatoreconte Bugatti, questi dispone di una strategia vincente. In generale nonè così semplice analizzare una posizione arbitraria del blocco stradale.Ci sono degli algoritmi, o procedure meccaniche, per stabilire qualegiocatore abbia una strategia vincente in una data posizione, ma sonotutti «inefficienti»: il tempo per eseguirne uno cresce esponenzialmen-te come c", dove c è una costante maggiore di len è il numero di incrocidella posizione di gioco. Anche se ogni algoritmo non impiegherà inogni posizione un tempo esponenziale per trovare una strategia vincen-te per uno dei giocatori, dato un algoritmo qualsiasi ci sarà una infini-tà di posizioni che richiedono un tempo esponenziale di valutazione.

VINCE LA MOTOCICLETTA

A 3"

VINCE LA BUGATTI

VINCELA

MOTOCICLETTA

VINCE LA BUGATTI

.".:

Agre.lielb

A

Problemi intrinsecamentedifficili

grado di giocare magistralmente a dama ea scacchi? La risposta è semplicementeche il diagramma delle consuete posizionidi questi giochi è costituito da un numerotalmente spaventoso di punti, che il piùveloce calcolatore esistente impieghe-rebbe anni per esaminarli tutti. I pro-grammi dei calcolatori che giocano ascacchi non generano l'intero albero ma

solo un piccolo frammento, esattamentecome un giocatore umano che esamini lepossibili mosse. Ne segue che i program-mi non giocano in modo perfetto, anchese alcuni di essi sono sufficientemente benfatti da sostenere il confronto con gioca-tori umani.

Per quanto ciò sia molto improbabile, imatematici non sono riusciti a escludere

l'eventualità che un domani i programmidei calcolatori possano comprendere de-gli algoritmi per giocare in modo ottimalea dama o a scacchi, che siano più efficientidella procedura brutale di costruzionedell'albero di gioco. In effetti, per moltigiochi sono già stati escogitati degli algo-ritmi pratici e ingegnosi. Così accade peril «nim», un gioco in cui un certo numero

Per la soluzione di alcuni problemi matematici, in linea di principiorisolubili, bisognerebbe disporre di un calcolatore delle dimensionidell'universo, che lavorasse per un tempo almeno pari alla sua età

di Larry J. Stockmeyer e Ashok K. Chandra

A

lcuni problemi matematici (in parti-colare nell'ambito della teoria deinumeri e della logica) possono

essere risolti in linea di principio, ma soloricorrendo a metodi che eccedono la ca-pacità del più potente calcolatore imma-ginabile. Alcune proprietà intrinsechedell'universo limiteranno sempre le di-mensioni e la velocità dei calcolatori. Ilpiù potente calcolatore che si possa im-maginare di costruire non potrà essere piùgrande dell'universo conosciuto (meno di100 miliardi di anni luce di diametro), népotrà essere costituito da componenti piùpiccoli di un protone (10 -13 centimetri didiametro), né infine potrà trasmettereinformazioni a una velocità superiore aquella della luce (3 x 10 8 metri al secon-do). Date queste limitazioni, tale calcola-tore non potrebbe avere più di 10126componenti. Albert R. Meyer del Massa-chusetts Institute of Technology e uno dinoi (Stockmeyer) hanno dimostrato chequesto calcolatore, al di là dell'ingegnosi-tà del progetto e della complessità deisuoi programmi, impiegherebbe almeno20 miliardi di anni per risolvere alcuniproblemi di cui è nota la risolubilità inlinea di principio. Poiché presumibilmen-te l'universo non ha un'età superiore a 20miliardi di anni, ciò sembra sufficiente peraffermare che questi problemi sfidanol'analisi del calcolatore.

I problemi che tengono in scacco il cal-colatore ideale per almeno 20 miliardi dianni costituiscono l'espressione più esa-sperata dei problemi intrattabili; oltre aquesti casi estremi ve ne sono alcuni cheper essere risolti richiederebbero anni aimoderni calcolatori ad alta velocità, qualeche sia il metodo di risoluzione adottato.Ci sono poi problemi per i quali non ènota alcuna procedura veloce di risolu-zione, per quanto ve ne possano essere.Negli ultimi anni i matematici e gli specia-listi in elaborazione elettronica hanno

formalizzato l'idea di non trattabilità,identificando con precisione diverse classidi problemi di questo tipo e dimostrandosvariati teoremi per ognuna di esse. I ri-sultati di tutto questo lavoro sollevanodiverse questioni fondamentali relativa-mente alle possibilità e alle limitazioni deicalcolatori.

Problemi non trattabili sembrano sor-gere spesso in giochi quali gli scacchi, ladama, ecc. Supponiamo che due personestiano disputando una partita a dama incui sulla scacchiera ci siano solo quattropezzi: tre pedine colorate e una nera. Se lamossa successiva spetta al colore, c'è unastrategia che lo conduce alla vittoria qua-lunque sia la contro-strategia adottata dalnero. Se invece sulla scacchiera ci fosseuna dozzina di pezzi, non sarebbe affattobanale scoprire se il colore dispone omeno di una strategia vincente. In lineadi principio è possibile determinare larisposta «brutalmente», esaminando cioètutti i modi possibili in cui il colore puòcontinuare il gioco, e le contromossedel nero.

Le strategie e le controstrategie sipossono studiare sistematicamente co-struendo un «albero di gioco» formato daun insieme di punti collegati da frecce.Ogni punto corrisponde a una posizionesulla scacchiera, ossia alla disposizionecomplessiva dei pezzi e all'indicazione delgiocatore cui spetta la mossa. Le mossepossibili in una certa posizione di giocosono rappresentate da frecce che con-giungono i punti corrispondenti. Una po-sizione in cui non ci siano pezzi neri è unaposizione vincente per il colore e vienecontrassegnata come tale. Se non vi sonopezzi colorati viene invece contrassegnatacome posizione vincente per il nero.

Gli altri punti (posizioni di gioco) pos-sono ora venire classificati come vincentiper il nero o per il colore sulla base dialcune semplici regole. Se il colore può

spostarsi dalla posizione A nella posizio-ne B eB è già stata classificata comevincente per il colore, anche A può venirecontrassegnata allo stesso modo. Analo-gamente, se da A il colore può muoveresolo verso posizioni già classificate comevincenti per il nero, A stessa verrà con-trassegnata come vincente per il nero.Questa procedura prosegue finché nonsia più possibile contrassegnare alcunpunto. Le posizioni non contrassegnateindirizzano verso una patta. Facendo at-tenzione che a punti differenti non corri-sponda una stessa posizione di gioco, ildiagramma può essere costruito e con-trassegnato in un lasso finito di tempo. Inquesto modo ogni posizione iniziale puòessere analizzata come patta, vincente peril colore o vincente per il nero.

Un metodo di analisi di questo tipo vie-ne detto algoritmo: un insieme di istru-zioni ben determinato che può essere ap-plicato meccanicamente per trovare lasoluzione a ogni esempio proposto di unproblema. Se il problema deve essere ri-solto da un calcolatore è indispensabiledisporre di un algoritmo, dato che il calco-latore è in grado solo di seguire le istru-zioni non ambigue di un algoritmo.Esempi di algoritmi sono le procedureinsegnate alle scuole elementari persommare e motiplicare numeri interi.Applicandole meccanicamente, esse for-niscono sempre il risultato corretto, perogni coppia di numeri. La costruzione diun albero di gioco è un algoritmo cheanalizza qualsiasi posizione della dama.Sostanzialmente lo stesso algoritmo puòessere utilizzato per analizzare giochicome gli scacchi e il «go», che non coin-volgano dadi, carte o altri elementi alea-tori. In generale, l'algoritmo di un giocoindica per ogni posizione quale è il gioca-tore (se ne esiste uno) che dispone di unastrategia vincente.

Perché allora i calcolatori non sono in

92 93

Page 2: Problemi intrinsecamente difficili - download.kataweb.itdownload.kataweb.it/mediaweb/pdf/espresso/scienze/1979_131_7.pdf · calcoli non più difficili della somma di numeri (si veda

11-4 12-3 9-2 10-1

4-8 4-8 4-8 I I 4-8 2-6 2-7 2-6 2-7

MUOVEIL COLORE

11-211-4 I 112-3

2-6 2-7

12-39-2 10-1 10-3 11-2 11-4

MUOVEIL NERO

MUOVEIL COLORE

MUOVEIL NERO

,z...

,,

. -

<12........."›

' 10 11

P.; ''....fli' i• •

.`,••••••• 12

13 14 15 16

17 18 19 20

21 22 23 24

25 26 27 28

291 31 32

Una posizione di gioco della dama (in alto) può essere analizzata con un «albero di gioco» (inbasso) per determinare se l'esito di questo gioco con informazione completa è una vittoria delcolore, del nero o una patta. Ogni punto del diagramma corrisponde a una posizione della dama; ilprimo punto sta per la posizione della figura. Ogni possibile mossa è rappresentata da una frecciacon due indici; il primo indica la casella occupata dalla pedina, il secondo quella verso cui puòessere mossa. Dato che tutti i punti della fila inferiore (in colore) corrispondono a posizioni in cuinon ci sono pedine nere, la posizione di partenza è vincente per il colore. Di norma, la costruzionedi un albero di gioco non rappresenta un metodo atto ad analizzare una qualsiasi posizione digioco, perché le sue dimensioni crescono esponenzialmente in funzione del numero di pedine.

di sassolini o di altri gettoni sono inizial-mente suddivisi in svariati mucchietti. Alproprio turno, ognuno dei giocatori puòrimuovere un certo numero di gettoni(almeno uno) da un mucchio a piacere. Ilgiocatore che riesce a togliere l'ultimogettone, vince.

Benchè sia possibile analizzare comple-tamente le posizioni del nim costruendoun albero di gioco, c'è un algoritmo moltopiù efficiente che consente di esaminareogni singola posizione eseguendo pochicalcoli non più difficili della somma dinumeri (si veda l'illustrazione a pagina96). L'algoritmo è così efficiente che ungiocatore umano può valutare nel giro dipochi minuti e col solo aiuto di carta epenna anche posizioni con migliaia di get-toni. In una simile situazione la costruzio-ne dell'albero di gioco richiederebbe annianche utilizzando il più veloce dei calcola-tori. Il gioco del nim illumina un puntoimportante: per la risoluzione di uno stes-so problema possono esserci sia algoritmiveloci, sia lenti.

'efficienza di un algoritmo dipende dal-l'incremento del tempo per eseguirlo

al crescere delle dimensioni dei dati iningresso. Il dato in ingresso è il particolareesempio del problema che deve essererisolto dall'algoritmo, come una specificaposizione della dama o del nim. L'ineffi-cienza dell'analisi della dama condottaper mezzo della costruzione di un alberodi gioco è rivelata dal fatto che il numerodi punti dell'albero cresce esponenzial-mente in funzione del numero di pedinedella posizione. In altri termini, per posi-zioni con n pedine l'albero è costituito daalmeno c" punti, dove c è una costantemaggiore di 1. Un piccolo incremento nelnumero delle pedine comporta un au-mento esplosivo delle dimensioni del dia-gramma e quindi del tempo necessario acostruirlo e a contrassegnarlo. Anche §enella dama regolare n è al massimo 24,l'algoritmo si applica a versioni arbitra-riamente estese del gioco, per esempio auna scacchiera 20 per 20 con 60 pedine.Naturalmente la crescita esponenziale deltempo di esecuzione si ha anche per que-sti più elevati valori di n. Al contrario, iltempo di esecuzione per l'algoritmo velo-ce del nim cresce come una funzione li-neare, quale 6n o 10n, dove n è il numerodi pedine della posizione. La rapida cre-scita delle funzioni esponenziali e l'in-cremento relativamente modesto di quel-le lineari rendono conto della differenteefficienza dei diversi algoritmi.

È generalmente ammesso che un algo-ritmo il cui tempo di esecuzione crescacome c" è inutilizzabile. Se c è di pocosuperiore a 1, diciamo 1,1 l'algoritmo puòessere impiegato per dati in ingresso mol-to piccoli. Ma anche così per dati in in-gresso più grandi esplode la crescitaesponenziale: lo specifico valore di c de-termina solo il punto in cui la crescitaesponenziale produce i suoi effetti e ren-de inutilizzabile l'algoritmo. Volendo ri-solvere un problema per cui si conoscanosolo algoritmi a tempo esponenziale, èmeglio cercare un altro algoritmo. Se si

scopre un algoritmo molto più veloce lerisorse investite nella sua ricerca verran-no ripagate a usura ogni volta che vengausato.

Esiste nondimeno il pericolo che l'inve-stimento non renda, perché non esistealcun algoritmo efficiente per la risolu-zione del problema. È possibile che la suacomplessità lo renda «intrinsecamenteesponenziale»: tutte le sue soluzioni algo-ritmiche richiedono una quantità espo-nenziale di tempo. Questa possibilità haindotto i matematici a tentare di dimo-strare che certi problemi sono intrinse-camente esponenziali. Per molti proble-mi, quali l'analisi delle posizioni nei gio-chi della dama e degli scacchi, i più velocialgoritmi conosciuti utilizzano tempiesponenziali, anche se non si è ancorariusciti a dimostrare l'impossibilità di al-goritmi efficienti.

La prima dimostrazione che un pro-blema fosse intrinsecamente esponenzia-le è stata esposta da Meyer e uno di noi(Stockmeyer) nel 1972 per un problemain quel settore della scienza dei calcolato-ri noto come teoria del linguaggio forma-le. Dimostrazioni analoghe per altri setto-ri della matematica seguirono di lì a poco.Nel 1976 è stato dimostrato che il pro-blema dell'analisi di svariati giochi è in-trinsecamente esponenziale. Uno di que-sti è il «blocco stradale», costituito da unatavola su cui è rappresentata una rete distrade che si intersecano. Ogni strada èdisegnata in uno di tre colori possibili.Ciascun giocatore dispone di alcuni con-trassegni che all'inizio vengono collocatiin alcuni incroci prescritti. A turno, i gio-catori muovono fino a un nuovo incrocio,una delle proprie pedine, seguendo lestrade con la clausola che siano tutte diuno stesso colore e che non siano occupa-te da altri contrassegni. Vince chi portaper primo una pedina in un incrocio indi-cato come «Traguardo».

Data una qualsiasi posizione di gioco

(una rete arbitraria di strade e unadisposizione iniziale di pedine a piacere)il problema dell'analisi consiste nel de-terminare quale giocatore disponga diuna strategia vincente. Noi abbiamo di-mostrato che il tempo di esecuzione di unqualsiasi algoritmo che risolva il proble-ma dell'analisi cresce come c", dove c èuna costante maggiore di 1 en è il numerodegli incroci della posizione. Va sottoli-neato che questa non è solo una buonacongettura confortata empiricamente dal-l'esame di diversi algoritmi e dal mancatorinvenimento di uno efficiente: la conclu-sione è stata asseverata da una dimostra-zione matematica.

E importante avere ben chiaro che ladimostrazione non dice che ogni posizio-ne con n incroci costringerà ogni algorit-mo a utilizzare un lasso esponenziale ditempo. Come nell'esempio della damacon tre pedine contro una, anche nel«blocco stradale» ci sono posizioni facil-mente analizzabili. La maggior parte deiproblemi di gioco non sono abbastanzacomplessi da farsi beffe di tutti gli algo-ritmi in ogni caso. Ciò che si è dimostrato

è che il problema dell'analisi per il bloccostradale riesce a tenere in scacco tutti glialgoritmi in alcuni casi. In altre parole, cisono delle posizioni difficili che, indipen-dentemente dall'algoritmo prescelto, locostringeranno a impiegare una quantitàesponenziale di tempo. Non sappiamoquasi nulla sulla frequenza di queste posi-zioni difficili. Tutto ciò che possiamo direè che esiste almeno una posizione siffattaper ogni valore di n.

Il concetto di algoritmo è stato indivi-duato in un senso matematicamente pre-ciso intorno agli anni trenta da alcuni lo-gici interessati allo studio di condizioniche consentissero di generare automati-camente con una procedura meccanica ledimostrazioni dei teoremi matematici. A.M. Turing, il noto matematico britannico,è stato uno dei pionieri dello sviluppo diuna precisa formulazione di questo pro-cesso. Egli suppose che ogni algoritmopotesse essere eseguito da una macchinaformata da un nastro di carta infinitamen-

Un albero di gioco (in basso) di una posi-zione della dama (in alto) può contenere siaposizioni finali in cui, mancando pedine in co-lore, risulta vincente il nero (punti neri) siaposizioni in cui, mancando le nere, vince ilcolore (punti in colore). Se la mossa spetta alcolore, questi può forzare la vittoria muovendodalla casella 15 in 100 in 11. Dunque, in questaposizione il colore ha una strategia vincente.

te lungo suddiviso in quadratini, da unmeccanismo di stampa che scriva e cancellisegni e da un apparato di osservazione ingrado di determinare se un certo quadrati-no è marcato o meno. Noto con il nome di«macchina di Turing», questo dispositivoideale può essere programmato per trova-re la soluzione di un problema con l'esecu-zione di un numero finito di osservazioni edi atti di stampa o di cancellazione.

A dispetto della sua semplicità, la mac-china di Turing non è superata in fatto dicapacità risolutiva da alcun altro apparatodi calcolo noto. Disponendo di tempo suf-ficiente, la macchina di Turing è in grado,in linea di principio, di risolvere qualsiasiproblema che sia risolubile con il più sofi-sticato dei calcolatori. Di conseguenza, lapossibilità di risolvere un problema conuna macchina di Turing viene general-mente accettata come condizione neces-saria e sufficiente per la sua risolubilitàalgoritmica.

Analogamente a una macchina di Tu-

MUOVEIL COLORE

15-10 12-815-11

MUOVEIL NERO

4-8 4-8 4-18

MUOVEIL COLORE

12-312-3 11-4

1 2 3

5 6 7 8

9 10 11

IMI.,

-- S' ",..0 12

13 14 15 16

17 18 19 20

21 22 23 24

-

25 26 27 28

29 30 31 32

94

95

Page 3: Problemi intrinsecamente difficili - download.kataweb.itdownload.kataweb.it/mediaweb/pdf/espresso/scienze/1979_131_7.pdf · calcoli non più difficili della somma di numeri (si veda

Il nim è un gioco a due in cui sassolini o altri gettoni sono disposti in mucchietti. Chi ha la mossatoglie un certo numero di sassolini (almeno uno) da uno dei mucchi; vince chi riesce a toglierel'ultimo sassolino. È possibile analizzare il nim in modo completo, ma inefficiente, costruendonel'albero di gioco; esiste peraltro un algoritmo molto migliore. Per sapere se il giocatore che nellaposizione in alto ha la mossa dispone di una strategia vincente, bisogna trascrivere uno sopral'altro e in notazione binaria il numero di sassolini che compongono i mucchi (al centro).Successivamente va calcolata la «somma-nim», scrivendo 1 sotto ogni colonna composta da unnumero dispari di 1, e O sotto quelle con un numero pari di 1. Se la somma-nim è zero, il primogiocatore può essere battuto, altrimenti può vincere muovendo al proprio turno in modo dacondurre a una posizione che dia somma-nim zero. Così, nella posizione in alto il primo giocatorepotrebbe togliere sei sassolini dal primo mucchio per raggiungere la posizione in basso. L'algo-ritmo somma-nim è efficiente indipendentemente da quale sia il numero di mucchi e di sassolini.

9 IN NOTAZIONE BINARIA È 10014 IN NOTAZIONE BINARIA È 1007 IN NOTAZIONE BINARIA È 111

SOMMA-NIM 1010

ring, un moderno calcolatore ad alta velo-cità dispone di una memoria e di un in-sieme di istruzioni per rintracciare le in-formazioni immagazzinate, elaborarle eimmetterne di nuove nella memoria. Lamemoria è generalmente suddivisa in unaserie di celle a cui è possibile accedereindipendentemente. Poiché questi calco-latori si indirizzano direttamente a qua-lunque cella, si parla di calcolatori conmemoria ad accesso casuale. È stato di-mostrato che un calcolatore di questo tipopuò risolvere esattamente gli stessi pro-blemi che possono essere risolti con unamacchina di Turing. Anche se alla mac-china di Turing sono necessari numerosipassi per simularne uno singolo di un cal-colatore con memoria ad accesso casuale,questa differenza nella potenza di calcolosvanisce quando si abbia a che fare contempi esponenziali. Se una macchina conmemoria ad accesso casuale può risolvereun problema in una quantità esponenzialedi tempo, lo può anche una macchina diTuring e viceversa. Se sappiamo che la ri-soluzione di un problema richiede un tem-po c", quale che sia l'algoritmo, ciò varràtanto per la macchina di Turing, quantoper il calcolatore con memoria ad accessocasuale e per ogni altro tipo di calcolatoreesistente e futuro. L'esatto valore di cdipende nondimeno dallo specifico appa-rato di calcolo che è stato prescelto.

Come si dimostra che, indipendente-mente dall'algoritmo, la risoluzione

di un problema richiede un tempo espo-

nenziale? Il metodo diretto consiste nel-l'immaginare tutti i possibili algoritmi diun problema e nel dimostrare che ognunodi essi richiede un tempo esponenziale.Nella maggior parte dei casi il metododiretto non ha dato risultati positivi. Ildifficile sta nel riuscire a scorgere, oltre aimetodi di risoluzione più ovvi, anchequelli più sofisticati. Gli algoritmi posso-no procedere in modo strano e misterio-so, e non è facile sapere se tutti questimodi sono stati scoperti ed esaminati.Così, a chi non abbia familiarità con lateoria dei giochi probabilmente sfuggi-rebbe la soluzione più rapida del nim e netrarrebbe la convinzione erronea che ilgioco richieda un tempo esponenziale.

Il metodo diretto è stato invece utileper la dimostrazione dell'effettiva esi-stenza di problemi di complessità intrin-secamente esponenziale. Questa è stataprovata all'inizio degli anni sessanta daMichael O. Rabin della Hebrew Universi-ty di Gerusalemme e da Juris Hartmanis eda Richard E. Stearns dei laboratori diricerca della General Electric. I problemisono stati costruiti con una tecnica di dia-gonalizzazione ideata nel secolo scorsodal matematico tedesco Georg Cantorper dimostrare che i numeri reali non pos-sono essere posti in corrispondenza biu-nivoca con gli interi positivi (si veda l'illu-strazione di pagina 100 in alto). I proble-mi intrinsecamente complessi costruitiper diagonalizzazione sono problemi soloin un senso astratto, visto che non riguar-dano nulla di concreto. Ciò non di meno,

essi giocano un ruolo fondamentale nelladimostrazione del fatto che certi problemipiù concreti sono intrinsecamente com-plessi.

La complessità della soluzione di dueproblemi apparentemente slegati può tal-volta essere connessa dimostrando cheuno di essi è «efficientemente riducibile»all'altro. Un problema P è efficientemen-te riducibile al problema Q se una solu-zione efficiente per Q può condurre a unasoluzione efficiente per P. La tecnicausualmente adottata per stabilire che traP e Q sussiste questa relazione consistenell'escogitare un algoritmo efficiente perP che nel corso del suo svolgimento ri-chiede delle informazioni a un algoritmoper Q .È necessario che l'algoritmo per Qfornisca «liberamente» le risposte: in altritermini, la determinazione delle rispostedi Q non deve aumentare il tempo di ese-cuzione dell'algoritmo per P. Per esem-pio, il problema di elevare al quadratodue numeri può venire efficientementericondotto a quello di moltiplicare duenumeri, poiché dato un numero da eleva-re alla seconda potenza l'algoritmo dimoltiplicazione può semplicemente fare ilprodotto del numero per sé stesso. Menoovvia è la possibilità di ridurre il problemadella moltiplicazione a quello dell'eleva-mento al quadrato, ma in effetti il prodot-to di due numeri di n cifre può esserecalcolato in un tempo proporzionale a napplicando due volte l'algoritmo per ilquadrato, poichè xy = (x + .0 214 —(x—y ) 2/4. A parte la doppia applicazionedell'algoritmo per l'elevamento al qua-drato, il calcolo della formula richiede untempo proporzionale a n, il che in questocontesto è da considerarsi efficiente, vistoche non si conosce un modo per moltipli-care o elevare al quadrato dei numeri intale lasso di tempo.

Se sappiamo che un problema P può

essere efficientemente ridotto a unproblema Q, la complessità di P non puòessere molto maggiore di quella di Q.Questo fatto ci ha consentito di dimostra-re che il problema dell'analisi per il bloccostradale è così complesso da essere intrin-secamente esponenziale. ChiamiamoEXP la classe dei problemi che possonoessere risolti in un tempo esponenziale.Noi abbiamo dimostrato che ogni pro-blema in EXP può essere efficientementeridotto al problema dell'analisi per ilblocco stradale. In questo caso il metododi riduzione è più complesso che per ilprodotto e l'elevamento al quadrato.Dato che EXP consiste di tutti i problemirisolubili in tempo esponenziale, com-prende anche quelli di complessità intrin-secamente esponenziale costruiti colmetodo di diagonalizzazione. Questi ul-timi possono essere ricondotti efficiente-mente al blocco stradale, sicché il pro-blema della sua analisi deve essere intrin-secamente esponenziale.

In EXP c'è il problema di individuare leposizioni vincenti della dama, che dunqueè riducibile a quello del blocco stradale.A ogni posizione della dama corrispon-de una posizione del blocco stradale, in

SI TOLGANOSEI SASSOLINI 3 IN NOTAZIONE BINARIA È 11

DAL PRIMO MUCCHIO 4 IN NOTAZIONE BINARIA È 1007 IN NOTAZIONE BINARIA È 111

SOMMA-NIM 000

96

Page 4: Problemi intrinsecamente difficili - download.kataweb.itdownload.kataweb.it/mediaweb/pdf/espresso/scienze/1979_131_7.pdf · calcoli non più difficili della somma di numeri (si veda

R1

R2

A

D

A

M(1) M(2) M(3) M(4) M(5) M(6) M(7) M(8) M(9)

AZZERA R1 E R2

AGGIUNGI 1 A R1

NO

s ì

vAGGIUNGI 1 A R2

E SOTTRAI 1 DA R1

NO

NO

ALT: LA PAROLAÈ UN PALINDROMO

ALT: LA PAROLANON È UN PALINDROMO

Si

100

modo che la posizione della dama sia vin-cente per il primo giocatore se lo è lacorrispondente posizione del blocco stra-dale. Tale corrispondenza vale, oltre cheper la dama, anche per gli scacchi, il go,l'ex, il nim e molti altri giochi non d'az-zardo. Il blocco stradale è quindi un gioco

universale: la sua soluzione ne fornirebbeuna a molti altri.

La tecnica della riducibilità efficiente èstata sfruttata per provare teoremi dicomplessità intrinseca riguardanti la ri-cerca delle posizioni vincenti nel go e nel-la dama, quando questi giochi siano estesi

a scacchiere arbitrariamente grandi. Il goè stato studiato da David Lichtenstein eMichael Sipser dell'Università di Califor-nia, e la dama da A. S. Fraenkel e Y.Yesha del Weizmann Institute of Sciencein Israele, da M. R. Garey e D. S. Johnsondei laboratori Bell, e da T. Schaefer della

CALMA Company. Essi hanno mostratoche una soluzione efficiente per il go e ladama ne fornirebbe una a moltri altriproblemi per i quali si sono invano cercatidegli algoritmi veloci. Non si può scartarela sia pur remota eventualità che essi di-spongano di un algoritmo efficiente, percui non è conclusivamente dimostrato cheil go e la dama siano intrinsecamenteesponenziali, anche se un importante pas-so in questa direzione è stato compiuto.Potrebbe darsi che il metodo seguito perstabilire la complessità intrinseca delblocco stradale non si applichi al go e alladama e che sia necessario trovare tecni-che più ingegnose. Ciò nonostante, lo sta-bilire la complessità intrinseca via diago-nalizzazione e riducibilità efficiente si ri-vela un metodo proficuo, oltre che per ilblocco stradale, anche per certi problemidi logica e teoria dei numeri.

Ci sono svariate congetture matemati-che che possono venire formulate inmodo semplice e non ambiguo, ma la cuiverità resta un mistero. L'esempio più il-lustre è forse costituito dall'ultimo teo-rema di Fermat. Nel diciassettesimo seco-lo il prodigioso matematico francese Pier-re de Fermat, padre della moderna teoriadei numeri, scrisse ampie note sulla suacopia di un trattato greco di matematica.In una di queste è formulato il cosiddettoultimo teorema di Fermat: «È impossibileche un cubo sia la somma di due cubi, unaquarta potenza la somma di due quartepotenze o, in generale, per ogni numeroche sia una potenza maggiore di due, es-sere la somma di due siffatte potenze. Diciò ho scoperto una dimostrazione vera-mente mirabile che non sta in questostretto margine». In altre parole, non esi-stono degli interi positivi x, y, z e n con nmaggiore di 2, tali che x" + y" = . Perquanto i migliori matematici degli ultimitre secoli si siano sforzati di provare (oconfutare) questa proposizione, nessunovi è riuscito (si veda l'articolo L'ultimoteorema di Fermat di Harold M. Edwards,in «Le Scienze» n. 124, dicembre 1978).

T n altri casi la dimostrazione di una con-gettura è stata trovata solo dopo anni

di tentativi da parte dei migliori matema-tici. Una di queste congetture è il teoremadei quattro colori, formulato nel 1852,ma dimostrato solo nel 1976 da KennethAppel e Wolfgang Haken dell'Universitàdell'Illinois. Il teorema afferma che è pos-sibile assegnare ad ogni regione, in unaqualunque carta sul piano, uno fra quat-tro colori in modo che regioni adiacentinon abbiano mai lo stesso colore. Appel eHaken hanno sviluppato la loro dimo-strazione con l'aiuto massiccio di calcola-tori ad alta velocità, che hanno speso1200 ore per colorare effettivamente cir-ca 2000 carte in circa 200 000 modi (siveda l'articolo La soluzione del problemadei quattro colori di Kenneth Appel eWolfgang Haken, in «Le Scienze», n.113, gennaio 1978).

Visto il ruolo decisivo giocato dal calco-latore nella dimostrazione del teoremadei quattro colori, è opportuno chiedersise esso potrebbe condurre a termine il

Una memoria ad accesso casuale di un calcolatore è costituita da una serie di celle M (1), M(2),M(3),..., alle quali il calcolatore può accedere direttamente. In questo esempio R1 e R2 sono dueregistri di memoria addizionali. L'algoritmo qui illustrato stabilisce se una sequenza assegnata dicaratteri alfabetici è palindroma, se cioè può essere letta anche a rovescio, come «radar». Unasequenza viene collocata in memoria, seguita immediatamente da un simbolo (un asterisco)che ne indica la fine. Quando all'algoritmo viene presentata in ingresso una sequenza di ncaratteri, esso porta a termine il suo esame e fornisce una risposta definitiva in al più 6n + 5 passi.

1012

10"

101°

109

108

107

108

10'

104

103

102

10

10n

L'efficienza di un algoritmo dipende dal tasso di crescita del suo tempodi esecuzione all'aumentare delle dimensioni dei dati del problema. Iltasso di crescita è descritto da una funzione. Gli algoritmi che esibisco-no un tempo esponenziale di crescita hanno possibilità di impiegolimitate nei programmi di calcolo, poiché il loro tempo di esecuzione sidilata paurosamente all'aumentare delle dimensioni dei dati del pro-

FUNZIONE TIPO n = 1 n = 3 n = 10 n = 30 n = 100 n = 300 n = 1000

6n LINEARE 6 18 60 1,8 x 102 6 x 102 1,8 x 103 6 x 103

n 2 QUADRATICA 1 9 102 9 x 102 104 9 x 104 106

1,1 n ESPONENZIALE 1,1 1.33 2,59 17,5 13 781 2,62 x 10' 2 2.47 x 104'

2 n ESPONENZIALE 2 8 1024 1,07 x 109 1,27 x 103° 2,04 x 10" 1,07 x 103°'

10 n ESPONENZIALE 10 103 1010 1030 10100 103°° 101000

1000

blema. L'algoritmo «albero di gioco» è inefficiente nel caso delladama, dato che il suo tempo di esecuzione cresce esponenzialmente;al contrario l'algoritmo «somma-nim» è efficiente, infatti l'incrementodel suo tempo di esecuzione è lineare. È possibile che, per piccolivalori di n, una funzione lineare abbia a superarne una esponenzia-le, però oltre un certo valore n l'esponenziale sarà sempre maggiore.

98 99

Page 5: Problemi intrinsecamente difficili - download.kataweb.itdownload.kataweb.it/mediaweb/pdf/espresso/scienze/1979_131_7.pdf · calcoli non più difficili della somma di numeri (si veda

ALGORITMO 1 ALGORITMO 2 ALGORITMO 3 ALGORITMO 4 • • • PROBLEMA DIAGONALE

INGRESSO 1 SI NO NO Sì INGRESSO 1 NO

INGRESSO 2 Si NO NO Sì INGRESSO 2 Sì

INGRESSO 3 NO sì NO sì INGRESSO 3 Sì

INGRESSO 4 sì NO sì sì INGRESSO 4 NO

La diagonalizzazione è un procedimento concettuale che permette dicostruire problemi intrinsecamente complessi, ossia problemi risolubilisolo con algoritmi il cui tempo di esecuzione cresca esponenzialmente.Si immagini una tabella (a sinistra) in cui nella prima riga siano elencatitutti gli algoritmi che rispondono sì o no ai problemi in ingresso in menodi 2" passi, dove n indica le dimensioni del dato in ingresso. Tutti ipossibili ingressi di questi algoritmi sono elencati nella prima colonna.Entrambe le liste sono infinite; all'interno della tabella si leggono lerisposte che gli algoritmi darebbero per ogni ingresso. Un «problema

diagonale» intrinsecamente complesso viene costruito considerando lerisposte che giacciono sulla diagonale (in colore) e modificando ogni sìin un no e ogni no in un sì (a destra). Allora, per esempio, la rispostaal problema diagonale per l'ingresso 3 è sì, in quanto la terza rispostasulla diagonale è no. Questo ci assicura che le risposte al problema dia-gonale sono diì erse da quelle di tutti i problemi contenuti nell'elenco, ecioè di tutti i problemi il cui algoritmo sia eseguibile in un tempo infe-riore a 2 . Quindi il problema diagonale può essere risolto solamenteda un algoritmo che utilizzi almeno un lasso esponenziale di tempo.

VARIABILI CONNETTIVI QUANTIFICATORI APPARTENENZA

a.b.c,....z variano su numeri A = e V per tutti xES x è nell'insieme S

A,B,C,...,Z variano su insiemidi numeri

V = o 3 = esistono xtS = x non è nell'insieme S

= implica

•-• = è logicamente equivalente a

ENUNCIATO 1 = ( VB)[(3x)(x€B) (3s)(sEB A (V y)(yEB s-y)))

ENUNCIATO 2 = (3D)(3E)10E D A 1<E A (ie 13)(ND b+2(D) A (V b)(124E b+UE) A (3t)((ED A tEE)I

Il linguaggio del secondo ordine con un successore (S1S) è un linguag-gio matematico atto a esprimere formalmente enunciati su numeri einsiemi di numeri. I simboli di SlS per le variabili, i connettivi, iquantificatori e l'appartenenza sono elencati qui sopra. L'enunciato 1,l' ero, asserisce che «ogni insieme non vuoto B ha un più piccolo elemen-to», mentre 2, falso, dice che «esistono due insiemi D eE e un numero t

tali che a D appartengono solo numeri dispari, a E solo numeri pari e tappartiene a entrambi». Il problema della decisione per SlS consistenello stabilire se, dato un enunciato arbitrario, esso sia vero o falso. Èstato dimostrato che il problema della decisione per SlS può essererisolto algoritmicamente, ma qualsiasi algoritmo necessiterà, per deci-dere la verità o meno di un'asserzione, di un tempo superesponenziale.

MEMdata di S1S. Che S1 S sia decidibile è ab-bastanza sorprendente, data la natura il-limitata dei quantificatori. Infatti, perdeterminare la verità di un enunciatocome «Per tutti gli x, 2 è minore di x + 3»un algoritmo non potrebbe cercare di so-stituire a x tutti i numeri naturali, poichéquesti sono infiniti. Deve dunque ricorre-re a un altro tipo di ragionamento, qualimanipolazioni algebriche o l'induzionematematica. Buchi ha dimostrato appun-to che un algoritmo può eseguire un simi-le ragionamento per decidere il valore diverità di ogni enunciato di S1S, indipen-dentemente dalla lunghezza dell'enuncia-to stesso.

La nostra dimostrazione che il proble-ma del blocco stradale è suscettibile diuna soluzione algoritmica non ci dice nul-la sull'efficienza dell'algoritmo, che si èrivelato essere intrinsecamente esponen-ziale.

Del pari, la dimostrazione di Buchidell'esistenza di un algoritmo che risolveil problema della decisione per S1 S nonci garantisce la sua efficienza. Tanto chenel 1972 Meyer ha provato che la suacomplessità intrinseca cresce in modosuper-esponenziale. La funzione dop-piamente esponenziale 22" è un esempiodi funzione a crescita superesponenziale.Per valutare la funzione doppiamenteesponenziale per un n assegnato dob-biamo prima calcolare m = 2' che pren-diamo poi come esponente per il risulta-to finale 2'. Analogamente, una funzio-ne tre volte esponenziale coinvolge tresuccessive esponenziazioni, una funzionequattro volte esponenziale quattro, e ingenerale per ogni numero k la funzione kvolte esponenziale richiede k successiveesponenziazioni. È difficile riuscire aimmaginarsi il tasso di crescita di unafunzione k volte esponenziale, quando ksia maggiore di due, dato che nessunprocesso fisico conosciuto esibisce unacrescita talmente esplosiva.

Ii sorprendente teorema di Meyer stabi-lisce che per qualsiasi scelta del nume-

ro k, la complessità intrinseca del pro-blema della decisione per SlS per enun-ciati di lunghezza n, cresce più rapida-mente della funzione k volte esponenzia-le. Anche se il teorema di Buchi stabiliscela decidibilità in linea di principio di S1S,il teorema di Meyer ha pressappoco lostesso effetto di un teorema di indecidibi-lità. Affermando che un problema è inde-cidibile, si intende dire che qualsiasi algo-ritmo non riuscirà a risolverlo in un nu-mero infinito di casi. Una complessità in-trinsecamente elevata comporta che in uninfinità di casi l'algoritmo richiederà untempo intollerabilmente lungo per risol-vere il problema. In entrambi i casi il risul-tato pratico è lo stesso: il matematico chechiede al calcolatore di applicare l'algo-ritmo per uno di tali dati, dovrà aspettaretroppo (per sempre o praticamente persempre) la soluzione.

SlS non è l'unico linguaggio per il qua-le il problema della decisione sia risolubi-le in teoria ma non in pratica. Conside-riamo quell'insieme di enunciati noto

come aritmetica di Presburger, formatoda tutti gli enunciati di S1S, con l'esclu-sione di quelli che fanno riferimento ainsiemi di numeri, e l'aggiunta di quelliriguardanti somme di variabili numeri-che, come "x +y — z" o "x + 2 — 30".Nel 1973 Rabin e M. I. Fischer del MIThanno dimostrato che la complessità in-trinseca del problema della decisione perl'aritmetica di Presburger cresce alnlenoaltrettanto rapidamente di una funzionedoppiamente esponenziale della lunghez-za dell'enunciato. Negli ultimi anni è statadimostrata la complessità superesponen-ziale di molti altri problemi della decisio-ne. Questi risultati costituiscono un serioostacolo al programma di evitare l'irre-solubilità di questi problemi restringen-do semplicemente il tipo di enunciati con-siderati.

Un altro modo di schivare le conse-guenze dell'indecidibilità fa riferimentoalla constatazione che nei casi pratici nonsi è interessati alla risoluzione di tutti gliesempi di un problema, ma solo di unnumero finito. È improbabile, per esem-pio, che qualcuno sia interessato alla veri-tà di un enunciato con più di un milione disimboli. I risultati sulla complessità finoradiscussi riguardano l'esplosione del tassodi crescita del tempo di esecuzione in rap-porto alle dimensioni dei dati in ingresso.Siamo stati molto precisi nello stabilire iltasso di crescita (esponenziale, doppia-mente esponenziale, ecc.), ma non altret-tanto nell'indicazione delle dimensionidei dati che lo fanno esplodere. Si puòpensare che quando la complessità intrin-seca di un problema cresce almeno espo-nenzialmente, esso rimarrà eccessiva-mente complesso anche limitandosi a datidella lunghezza di qualche centinaio disimboli. Per il problema della decisione diSlS il sospetto è stato confermato da unadimostrazione matematica.

Consideriamo gli enunciati di S 1 S conmeno di 675 simboli. Qual è la complessi-tà della determinazione del valore di veri-tà di un enunciato qualunque di questaclasse finita di enunciati? Per rispondere ènecessario chiarire il concetto di comples-sità per problemi con un numero finito diesempi. Esaminiamo il problema di tro-vare con un'approssimazione di cinqueposti decimali il seno di un angolo al suovariare da 0° a 90°, con incrementi di unminuto primo. Prima della proliferazionedei microcalcolatori a basso costo, il me-todo più usato per risolvere questo pro-blema consisteva nella ricerca della rispo-sta in un'opportuna tabella. Lo scorrereuna tabella richiede certo meno tempodel calcolare il seno con carta e pennasulla base di una formula. L'aumento divelocità avveniva a scapito delle dimen-sioni dell'algoritmo: le tavole dei senioccupano decisamente molto più spaziodella formula.

Una volta costruita una tabella per un

problema finito, ottenuta determi-nando e memorizzando la risposta perogni possibile esempio, quel metodo dirisoluzione che consiste nel consultare latabella si configura come un algoritmo.

compito di decidere la verità di proposi-zioni matematiche. Potrebbe esserci unalgoritmo che, data un'asserzione scrittain un rigoroso linguaggio matematico, siain grado al suo termine di dirci se essa èvera o falsa? La risposta è no. È statodimostrato che, per quel potente linguag-gio formale noto come calcolo dei predi-cati non esiste un simile algoritmo. Unproblema per il quale non si possa dareuna soluzione algoritmica viene dettoindecidibile.

Con tutto ciò, l'idea di un calcolatoreche dimostri automaticamente i teoremi ècosì allettante che la sua impossibilitàgenerale non ha dissuaso i matematici daltentare di raggiungerla almeno in parte.Un modo di aggirare l'indecidibilità èquello di porre un limite al tipo di enun-ciati da sottoporre al calcolatore. La re-strizione non dovrebbe essere tale da con-sentire solo enunciati banali, ma dovreb-be essere sufficientemente forte da elimi-nare la nefasta influenza dell'indecibilità.

I logici hanno studiato diversi tipi di re-strizioni. Se il calcolatore si limita a consi-derare solo un particolare tipo di asser-zioni, con l'aiuto di un algoritmo può de-terminare il valore di verità di ognuna diesse. In altri termini, il problema delladecisione per questo ristretto insieme dienunciati è risolubile.

Esaminiamo ora una particolare classedi enunciati per la quale esiste una solu-zione algoritmica, il linguaggio del secon-do ordine con un successore (S1S). Essoriguarda i numeri naturali (0, 1, 2...). Iltipo più semplice di enunciati di SIS fadelle asserzioni sulla grandezza relativa dinumeri o sulla loro somma. Un esempiodi enunciato vero è «3 è minore di 4»,mentre è falsa l'asserzione «2 + 2 = 5».Enunciati di questo tipo possono esserecombinati a formare enunciati più com-plessi, per mezzo dei connettivi «e»,«oppure» e «implica». I due enunciaticitati, per esempio, possono essere com-binati per formare l'enunciato«"3 è mi-

nore di 4" oppure "2 + 2 = 5"». Sonoconsentite anche asserzioni su insiemi dinumeri, come «I numeri dell'insieme (O,5, 7) sono minori dei numeri dell'insieme(9, 12, 15, 19, 24, 100)».

areale potenza di SlS sta nella capacità

di esprimere la generalità matemati-ca con l'uso di variabili alfabetiche qualix, y e z, che stanno per numeri, e di quan-tificatori come «tutti», «ogni» e «esiste».Così S 1 S comprende gli enunciati «Inogni insieme non vuoto di numeri c'è unnumero minore di tutti gli altri» e «Perogni numero x esiste un numero y tale chey = x 1». Per poter determinare algo-ritmicamente il valore di verità di questeasserzioni, S1 S deve venire limitato aenunciati che non riguardino la somma didue variabili.

Nel 1960 J. R. Bilichi dell'Universitàdel Michigan ha dimostrato che c'è unalgoritmo che decide correttamente ilvalore di verità di qualsiasi asserzione

_NICHEL!FRANK LLOYD WRIGHT

a cura di BRUNO ZEVISA/ Serie di Architettura 4, L. 5.500

CLAUDIO VENTURIPROGRAMMI

& PROGRAMMAZIONE:SCUOLA MEDIA ANNI 80

Prospettive Didattiche, L. 5.800

RAYMOND BOUDONISTRUZIONE E MOBILITÀ

SOCIALECS/ Collana di Sociologia 1. L. 6.800

FULVIO PAPIINTRODUZIONE ALLE

SCIENZE UMANEL. 5.000

M .W. ZEMANSKY, M. M. ABBOTT,H. C. VAN N ESSFONDAMENTI

DI TERMODINAMICAPER INGEGNERI

L. 15.000

F. D. GUNSTONEGUIDA ALLA

STEREOCHIMICAL. 4.000

GIORGIO CASADEI,ANTONIO TEOLISINTRODUZIONE

ALL'INFORMATICA:LA PROGRAMMAZIONE

L. 11.000

Ristampe

MARIO AGENOL'ORIGINE DELLA VITA

SULLA TERRAUn problema esemplaredella ricerca scientifica

CB /Collana di Biologia 2.L. 7.500

FEDERIGO ENRIQUES,GIORGIO DE SANTILLANACOMPENDIO DI STORIA

DEL PENSIERO SCIENTIFICODall'antichità ai tempi moderni

CSS /Collana di Storia della Scienza 1.L. 7.500

= 55- TANIEWM

100 101

Page 6: Problemi intrinsecamente difficili - download.kataweb.itdownload.kataweb.it/mediaweb/pdf/espresso/scienze/1979_131_7.pdf · calcoli non più difficili della somma di numeri (si veda

CLASSI DI ENUNCIATI TEMPO DI ESECUZIONE

ENUNCIATI CON VARIABILINUMERICHE

SONO CONSENTITIINSIEMI" MINIMO MASSIMO

VARIABILE + NUMERALE Si.2

cn

22n

dn

22

22

VARIABILE + VARIABILE NO22

cn222

dn

VARIABILE x VARIABILE NO 22

cn

2

2dn

22

2

In logica sono stati determinati diversi casi di complessità intrinseca per il problema delladecisione. Le prime due colonne di questa tabella descrivono classi di enunciati, mentre nelleultime due sono indicati i limiti inferiori e superiori noti per il tempo di esecuzione dei rispettiviproblemi della decisione. Il tempo è espresso come funzione della lunghezza n dell'enunciato;e e d sono costanti maggiori di zero. Gli enunciati della prima riga corrispondono a quelli diS1S. Quelli della seconda corrispondono a un linguaggio noto come aritmetica di Presburger.

Una carta di 210 paesi illustra il teorema dei quattro colori, secondo il quale è possibile colorareuna qualsiasi carta con quattro colori solamente, senza che due paesi confinanti abbiano lo stessocolore. Il teorema è stato formulato nel 1852, ma la dimostrazione risale solo al 1976 (a opera diKenneth Appel e Wolfgang Haken dell'Università dell'Illinois). La dimostrazione. di lunghezzafuori dell'usuale, è stata realizzata con l'ausilio di calcolatori ad alta velocità, che hanno impiegato1200 ore di tempo macchina per colorare effettivamente circa 2000 mappe in 200 000 modi.

Infatti esso è applicabile meccanicamentein ogni caso del problema. L'insidia stanel fatto che il numero di esempi di unproblema finito può essere tanto grandeda non essere maneggiabile. In S1 S ci

sono molto più di 10 100 enunciati di lun-ghezza 675. È ovvio che la costruzione diuna tabella con un ingresso per ognienunciato è fuori questione. Ciò che vo-gliamo sottolineare è che rivolgendoci

alla complessità di un problema finito ènecessario tener conto delle dimensionidell'algoritmo altrettanto che del tempodi esecuzione.

Un modo concettualmente sempliceper misurare le dimensioni di un algorit-mo consiste nel contare il numero di com-ponenti di un calcolatore in grado di ese-guirlo. Si assume in questo caso che ilcalcolatore sia stato installato per risolve-re quel solo problema, in modo da evitareun eccesso di circuiti. Nei calcolatori realil'unità logica fondamentale è la «porta»,o interruttore, che riceve due segnali elet-trici, ciascuno dei quali può essere aperto/chiuso, ed emette un terzo segnale, an-ch'esso del tipo aperto/chiuso. Questeporte sono i componenti elettronici piùsemplici, che però, connessi a migliaia,possono formare sistemi molto comples-si. Quando un segnale in ingresso passadallo stato «aperto» a «chiuso», trascor-re un piccolissimo lasso di tempo primache il segnale in uscita si riposizioni suun valore stabile. Il tempo impiegato dalcalcolatore per eseguire un algoritmo èdato appunto dal prodotto di questo ri-tardo di commutazione per il numero divolte che è necessario agire sulle porte pereseguirlo.

IT calcolatori più rapidi hanno circa

mezzo milione di porte e un ritardodi commutazione di circa 10- 9 secondi.Naturalmente in futuro verranno co-struiti calcolatori più grandi e più veloci,ma nessuno di essi potrà superare lecapacità di calcolo del più potente calco-latore immaginabile considerato all'ini-zio. Questo calcolatore ideale avrebbe almassimo 10 126 componenti non più pic-coli di un protone. È ragionevole assu-mere che il ritardo di commutazione diuna porta non sia inferiore a 3 x 10-24secondi, quanto impiega la luce ad at-traversare il diametro di un protone.Meyer e uno di noi (Stockmeyer) hannodimostrato che questo calcolatore abbi-sognerebbe di almeno 20 miliardi dianni per determinare il valore di veritàdi alcuni enunciati di S 1 S formati da675 simboli. Ciò significa che il valore diverità di alcuni enunciati di 675 simbolinon potrà mai venire determinato algo-ritmicamente.

È possibile che queste asserzioni im-perscrutabili siano più uniche che rare.Forse a scopi pratici non è necessario spe-rare in un algoritmo che tratti qualsiasienunciato dato o qualsiasi enunciato diuna certa lunghezza. Nel caso di SlS sipotrebbe immaginare un algoritmo chefornisca una delle tre seguenti risposte;«vero», «falso» o «non so». La possibilitàdella risposta "non so" non costituirebbeun serio inconveniente per un simile algo-ritmo, purché venisse data solo raramen-te. Anche se questo algoritmo sembraingannare astutamente la non maneggia-bilità di S1S, non c'è alcuna garanzia cheesso sia efficiente. È una questione apertase la possibilità di un'occasionale rispostaindeterminata contribuisca a rendere unpo' più semplice il problema della deci-sione per S1S.

102