Quando l’IA era pensata come logico-deduttiva…

Che cos’è un computer? Si tratta proprio di una “Fabbrica dei numeri”?

Nella concezione popolare, un computer è una calcolatrice numerica ad alta velocità. Questa idea è corretta solo in parte. Un computer digitale è, infatti, un dispositivo generale di elaborazione dei simboli, in grado di eseguire qualsiasi processo ben definito di manipolazione e trasformazione delle informazioni. Tutti i computer digitali generici sono fondamentalmente simili. Dispongono di:
1 Uno o più “input” per trasformare l’informazione simbolica esterna alla macchina nella forma utilizzabile internamente (dalla macchina) – Queste forme interne sono i simboli che la macchina manipola. Un lettore di schede perforate è un esempio di dispositivo di input.
2 Una o più “uscite” per trasformare i simboli interni in forma esterna. La stampante del computer è un esempio di dispositivo di output.
3 Uno o più dispositivi di “memoria” in grado di memorizzare i simboli durante e dopo il processo.
4 Una unità aritmetica. Una delle possibili interpretazioni che si possono dare ai simboli di un computer è quella numerica. L’unità aritmetica è un’apparecchiatura elettronica che opera su questi numeri per produrre (sulla base di interpretazione numerica) somme, differenze, prodotti, ecc.
5 • Una unità di controllo. L’unità di controllo è l’esecutivo del computer. È programmata per comprendere e obbedire a un repertorio di istruzioni (o ordini), chiamando le altre unità all’azione quando necessario. Le istruzioni sono generalmente processi elementari, ad esempio, andare a cercare un simbolo posto in un punto specifico della memoria, riportare un simbolo in un posto nella memoria, deviare un simbolo di un certo numero di posizioni a sinistra o a destra in una memoria di lavoro.
Un’istruzione molto importante. “controllo di confronto e trasferimento”, consente al computer di prendere una decisione tra due selezioni, cioè di prendere una delle due linee d’azione specificate in base alle informazioni trovate in una cella di memoria. Sulla base di queste semplici decisioni, si possono ottenere decisioni molto complesse.
Processi informativi più complicati di quelli che sono sigillati nel computer possono essere eseguiti per mezzo di una successione di istruzioni elementari chiamate programma. Il programma è la dichiarazione precisa dell’elaborazione delle informazioni che l’utente vuole che la macchina esegua. Il programma di un computer viene memorizzato insieme al resto delle informazioni sul problema e ai dati che ne derivano. Una parte di un programma può indicare il trasferimento di un’altra parte del programma dalla memoria all’unità aritmetica e modificarla. Il computer digitale generico può eseguire qualsiasi attività di elaborazione delle informazioni che può essere scritta in forma di programma. Lo stesso computer che in un dato momento sta calcolando le buste paga di un’azienda potrebbe calcolare un progetto aereo o un premio assicurativo nel momento successivo. Qualsiasi programma per un computer generico lo converte in un computer per scopi speciali per eseguire l’attività suggerita dall’utente che ha scritto il programma.

È possibile per le macchine informatiche pensare?
No, se il pensiero è definito come un’attività mentale peculiare ed esclusivamente umana. Tale comportamento nelle macchine dovrebbe quindi essere chiamato comportamento analogo al pensiero.
No, se si postula che c’è qualcosa nell’essenza del pensiero che è
imperscrutabile, misterioso, mistico.
Sì, se si ammette che il problema deve essere risolto con l’esperimento e l’osservazione, confrontando il comportamento del computer con il comportamento degli esseri umani a cui si applica generalmente il termine “pensatore”.
Riteniamo che le due prospettive negative siano scientificamente dogmatiche. Armer qualifica la prospettiva positiva sottolineando che c’è un continuum di comportamento intelligente e che il problema di quanto lontano possiamo andare con le macchine lungo quel continuum deve essere risolto dalla ricerca, non dal dogma. Potremmo aggiungere un’altra precisazione: affermare che le macchine pensanti sono possibili non significa necessariamente affermare che le macchine pensanti con capacità umane esistano già (o che esisteranno nel prossimo futuro).
Qual è, dunque, l’obiettivo della ricerca sull’intelligenza artificiale? Per come interpretiamo quest’area, è questa: costruire programmi per computer che mostrino un comportamento che chiamiamo comportamento intelligente quando lo osserviamo negli esseri umani.
Ma un computer non fa altro che esattamente quello che gli viene detto di fare e niente di più?
Commentando questa domanda familiare, un noto ricercatore in questo campo ha detto:
Questa affermazione – che i computer possono fare solo ciò per cui sono programmati – è intuitivamente ovvia, indiscutibilmente vera, e non supporta nessuna delle implicazioni che ne vengono comunemente tratte.
Un essere umano può pensare, imparare e creare grazie al programma che la sua dote biologica gli dà, insieme ai cambiamenti di quel programma prodotti dall’interazione con il suo ambiente dopo la sua nascita, o permettergli di pensare, imparare e creare. Se un computer pensa, impara e crea, sarà in virtù di un programma che lo dota di queste capacità. Naturalmente, questo non lo fa sarà un programma, più di quanto non sia, quello degli esseri umani; che richiede un comportamento altamente stereotipato e ripetitivo, a seconda degli stimoli che arrivano dall’ambiente e dall’area da completare. Si tratterà di un programma che renderà il comportamento del sistema fortemente condizionato dalle circostanze del compito, o dagli obiettivi del compito e dalle indicazioni tratte dall’ambiente che indicano se si stanno facendo progressi verso questi obiettivi. Sarà un programma che analizza, in qualche modo, la propria esecuzione, diagnostica i suoi errori e apporta modifiche che ne migliorano l’efficacia futura. (Simón, H. A. La nuova scienza della decisione di gestione, New York: Harper & Row, 1960, p. 25).
È vero che un computer può essere un campione di scacchi, dal momento che il computer è così veloce che può esaminare tutte le mosse possibili e le loro conseguenze?
Questa concezione del potenziale di risoluzione dei problemi dei computer si basa sul presupposto che i computer, essendo così veloci, possono “pensare a tutto”. Questa forma di calcolo potrebbe essere chiamata “forza bruta”. I programmi di “forza bruta” hanno generalmente una struttura semplice, impiegando un elenco esaustivo di possibilità e una ricerca esaustiva. L’elaborazione da parte di “brute outside” un metodo generale di gestione di problemi che di solito sono considerati avere un “contenuto intellettuale”?
Per rispondere a questa domanda, dobbiamo prima esaminare cosa è un problema. Un problema esiste per un risolutore di problemi quando si trova di fronte al compito di selezionare una tra una serie di alternative poste di fronte a lui dall’ambiente che circonda il problema. Il risolutore di problemi non ha problemi se l’ambiente si presenta con una sola alternativa; Deve prenderla. Ciò che è problematico nelle alternative non è tanto il loro numero, quanto le loro conseguenze. Le alternative hanno regolarmente conseguenze che devono essere valutate prima di una di esse. sono appresi. L’espressione formale di questa nozione ci conduce al cosiddetto modello di labirinto di un problema. Vediamo un esempio.
Consideriamo il problema di selezionare una mossa ad un certo punto in una partita a scacchi. Se la posizione è una sola per l’alternativa, non ci sono problemi: la mossa è forzata. Ma se c’è davvero un problema reale, la decisione può essere presa esaminando le conseguenze immediate e remote della selezione di particolari alternative: le mosse aperte all’avversario, le possibili repliche a queste mosse, ecc. (…)
In linea di principio questo albero può essere completamente elaborato; Gli endpoint possono essere identificati come vincite, perdite o tabelle; e una strategia può essere utilizzata per determinare la migliore alternativa possibile in cima all’albero.
Dal momento che la procedura può essere programmata in linea di principio su moderni computer ad alta velocità, perché allora gli scacchi sono ancora un gioco così interessante? Perché allora i computer non sono pedine invincibili negli scacchi? La risposta è semplice: le dimensioni del labirinto degli scacchi sono enormi. È stato stimato che ci sono circa 10120 passaggi diversi (…)
Anche all’interno delle ipotesi più generose sulla potenza delle moderne macchine informatiche, ora o in futuro, è al di là dei limiti della plausibilità che un computer sarà mai in grado di giocare a scacchi ottimamente con la strategia esaustiva di cui sopra.


Il calcolo della forza bruta dei problemi del labirinto (tutti tranne i più banali) non funzionerà.
La risoluzione dei problemi con questo metodo è al di là del dominio delle possibilità pratiche.
Quindi, come dobbiamo costruire un risolutore di problemi intelligente?
Sembra che la chiave del comportamento intelligente, vuoi per gli uomini vuoi per le macchine, sia una ricerca altamente selettiva, essendo stata sfruttata la drastica potatura dell’albero delle possibilità. Affinché un programma per computer si comporti in modo intelligente, deve cercare attraverso labirinti di problemi in modo altamente selettivo, esplorando passaggi relativamente fertili con soluzioni e ignorando passaggi relativamente sterili.

Che cos’è un programma euristico?
Un’euristica (una regola euristica, un metodo euristico) è un semplice calcolo a colpo d’occhio, una strategia, un trucco, una semplificazione o qualsiasi altro tipo di risorsa che limiti drasticamente la ricerca di soluzioni in grandi insiemi di problemi. L’euristica non garantisce soluzioni ottimali; In generale, infatti, nessuna soluzione è garantita; Il massimo che si può dire di un’euristica utile è che offre soluzioni che sono abbastanza buone per la maggior parte del tempo. Un programma euristico è un programma che utilizza l’euristica per risolvere problemi complessi.
I metodi euristici sono stati contrapposti ai metodi algoritmici per trovare soluzioni ai problemi, e una certa quantità di “sangue intellettuale” è stata versata inutilmente su questo campo di battaglia.
Senza entrare nelle sottigliezze di questa discussione, osserveremo che il termine
“Algoritmo” è usato in modo piuttosto ambiguo in matematica e logica. Secondo una definizione abbastanza sostenuta, gli algoritmi sono procedure decisionali che garantiscono di produrre la soluzione desiderata, dedicando molto tempo.
Il programma di forza bruta descritto sopra per giocare a scacchi è un algorit,co. Ma gli algoritmi (sotto questo concetto) sono noti o pratici, solo per un sottoinsieme molto piccolo di tutti i problemi interessanti che si vorrebbero vedere risolti dai computer. Sul più ampio spettro delle classi, i metodi euristici sembrano offrire un’applicabilità più generale.
Il vantaggio nell’uso dell’euristica è quello di ridurre notevolmente i resti di ricerca e quindi la praticabilità. Molto spesso, ma non sempre, si paga un prezzo: per drastiche limitazioni di ricerca a volte si può trascurare la soluzione migliore (in realtà una o tutte le soluzioni).
Le euristiche sono disponibili in almeno due varietà: per scopi speciali e per uso generale. Esaminiamoli attraverso questi esempi:
1 Il giocatore di scacchi da quattro soldi può in genere usare questa misura di gioco: smettere di esplorare qualsiasi sequenza che metta la donna in pericolo immediato di essere catturata. Questo sarebbe uno scopo speciale dell’euristica scacchistica. Sarà conveniente per il giocatore d’azzardo a buon mercato perché lo tiene lontano da un tipo di guai. Usando questo progetto di ricerca limitante particolarmente grezzo, il giocatore economico non scoprirà mai quelle eccitanti combinazioni di sacrificio della regina, che ottengono !” recensioni nei libri di scacchi.
2 Dimostrando teoremi, un matematico lavora regolarmente, in forma retrospettiva dal teorema che sta cercando di dimostrare a teoremi o assiomi più familiari, piuttosto che partire da espressioni note in avanti usando le regole dell’inferenza, fino a arrivare nel teorema che deve provare. In determinate condizioni, “lavorare retrospettivamente” è una potente euristica generale per l’utilizzo di informazioni precedenti nel problema che richiede la ricerca della sua soluzione.
3 • Un’utile misura di approssimazione utilizzata dagli esseri umani nella maggior parte dei loro problemi è questa: attaccare un nuovo problema con metodi che hanno risolto problemi simili in passato. I criteri di “similitudine” possono essere essi stessi euristici. Se l’ambiente si trova in un certo stato di invariabilità rispetto ai tipi di problemi, questa euristica può essere molto utile. In ambienti che richiedono un alto grado di innovazione nella risoluzione dei problemi, questo criterio euristico impedisce piuttosto che facilitare la risoluzione dei problemi.
4 • Due metodi per risolvere problemi euristici di uso generale comunemente usati nel ragionamento umano sono l’analisi “mezzo-fine” e “pianificazione”.
Nell’analisi mezzi-fini, uno stato di problema iniziale viene trasformato in uno stato finale selezionando e applicando operazioni che, passo dopo passo, riducono la differenza tra i due stati. Nel metodo di pianificazione, viene costruito uno stato semplificato del problema originale e viene applicata l’analisi mezzi-fini e questo nuovo problema più semplice. Il risultato è un insieme di piani (congetture^ su possibili successioni di un operatore), nella speranza che uno di essi funzioni, cioè risolva il problema originario.

Quali sono alcuni problemi irrisolti della ricerca sull’intelligenza artificiale?
In un’area così nuova ed esplorativa, la maggior parte dei problemi rimane irrisolta, anzi non affrontata. In questa fase, non è facile identificare e indicare i problemi, se non in senso molto generale. Proponiamo alcuni esempi che riteniamo maturi per essere attaccati:
1 • Euristica dell’apprendimento. Una domanda enigmatica, affascinante ed estremamente importante è questa: come possono i computer (e quindi le persone) apprendere nuovi metodi e regole euristiche, sia per scopi speciali che generali? In questo momento la nostra conoscenza dei meccanismi di apprendimento per i programmi di risoluzione dei problemi è. rudimentale. Qualunque superamento di difficoltà in quest’area offrirà la promessa di “facilitare” la nostra strada verso programmi di risoluzione dei problemi molto più potenti.
2 Inferenza induttiva. Di solito l’intelligenza artificiale è forte nell’inferenza deduttiva, debole nell’inferenza induttiva, tuttavia nella pentola bollente dell’intelligenza quotidiana, l’induzione è sicuramente l’ingrediente più significativo. Un modo di vedere il problema è che abbiamo bisogno di programmi che in qualche modo inducano “modelli” di ambienti esterni memorizzati internamente, modelli da cui i programmi possono ricavare produzioni valide e utili sui futuri stati ambientali. Guardando in un altro senso, questo è il problema della formazione di ipotesi da parte delle macchine. Questo è il problema generale del riconoscimento delle strutture. Oggi sappiamo molto poco di questo problema decisivo.
3 • Comprensione del linguaggio naturale. Un problema di grande interesse, teorico e pratico, è quello della costruzione di un programma per comprendere la comunicazione in linguaggio naturale (la parola “capire” è usata con una connotazione totalmente umana). Per dirla semplicemente: si vorrebbe essere in grado di impegnarsi in un dialogo con un computer, un dialogo in cui il computer manterrà la sua parte della conversazione in modo adattivo, intelligente, comprensivo. La ricerca sui programmi di domande e risposte è un buon inizio. Ci sono molte cose che possono essere trasferite dalla ricerca sulla traduzione automatica, il recupero delle informazioni, i modelli di memoria associativa umana e altre aree della scienza dell’informazione. Il problema è maturo per uno studio interdisciplinare intensivo.

Quali sono i limiti della ricerca sull’intelligenza artificiale?
Nessuno oggi può rispondere a questa domanda. Forse la domanda è più affascinante che importante. In termini di continuum di intelligenza suggerito da Armer, i programmi per computer che siamo stati in grado di costruire sono ancora all’estremità inferiore. L’importante è che continuiamo a lanciarci nella direzione dei posti indicatori dell’area delle capacità di intelligence umana. C’è qualche ragione per supporre che non raggiungeremo mai quei punti? No! Non è mai stata presentata una singola prova o argomentazione logica, nessuna dimostrazione o teorema che dimostri un ostacolo insormontabile lungo il continuum. ‘Oggi, nonostante la nostra ignoranza, possiamo indicare il polo biologico, Il cervello pensante, con lo stesso spirito con cui gli scienziati molte centinaia di anni prima indicarono l’uccello come una dimostrazione in natura che meccanismi più pesanti dell’aria potevano volare.

(E. A. Feigenbau, J. Feldman, “Inteligencia artificial: preguntas y respuestas”, Pensamiento Crítico, 30/1969 – traduzione in proprio).