20. Elaborazione Matematica non Numerica |
|
L'introduzione dei calcolatori programmabili ha
rivoluzionato in modo impressionante le capacità di queste macchine
ampliando sempre di più le possibili applicazioni. Nel campo
matematico si è assistito all'introduzione di sistemi che inglobano
sempre di più le facoltà un tempo dominio esclusivo
dell'intelligenza umana. Inizialmente, l’ambito di applicazione dei
calcolatori programmabili era esclusivamente di tipo numerico:
risoluzione di equazioni complesse, interpolazione dati, sistemi
lineari e così via. Negli anni ‘50 si prese coscienza del fatto che
i calcolatori non sono solo macchine per l’elaborazione di numeri
(number crunchers) ma sono strumenti più generali in grado di
elaborare informazioni matematiche più complesse. Questa strada, in
particolare, è stata aperta con l’elaborazione simbolica. |
|
Fig. 161. Il metodo di
Newton-Raphson permette di risolvere equazioni di svariato genere
per le quali può anche non esistere alcuna formula risolutiva
diretta. Per molto tempo però la notevole mole di calcoli spesso
necessari nei vari metodi ha limitato in modo considerevole la loro
applicazione. Il calcolatore programmabile ha invece permesso di
applicare con grande facilità i diversi metodi numerici grazie
all’enorme velocità con cui possono essere svolte le operazioni
aritmetiche. Fra l’altro, i moderni calcolatori possono lavorare con
un numero di cifre elevato in modo da raggiungere una grande
precisione nella risoluzione dei problemi. |
|
Metodo di Newton-Raphson
Il metodo di Newton si utilizza per risolvere
un'equazione f(x) = 0, quando f(x) è derivabile in un
opportuno intervallo. Partendo da una stima iniziale
x0 della soluzione, si genera una successione
{xk}, dove xk, sotto opportune ipotesi,
rappresenta un'approssimazione sempre migliore della soluzione
dell'equazione. |
|
---------------------------------------------------------- Algoritmo.
{x stima iniziale della soluzione} k := 0; stop :=
false; repeat y :=
f(x); if abs(y) <=
e then stop
:=
true else x
:= x - y/df(x); if k <
nmax then k
:= k +
1 else stop
:= true until
stop ---------------------------------------------------------- dove f(x)
= 0 equazione da
risolvere df(x) funzione
derivata di f(x) nmax numero massimo
di iterazioni
| |
|
Fig. 162. Un frammento di
programma Lisp per il calcolo della derivata simbolica di una
funzione. Il Lisp (LISt Processing) è un linguaggio ideato per la
ricerca nel campo dell'Intelligenza Artificiale. Progettato da J. Mc
Carthy fra il 1957 e il 1960, il Lisp è stato tra i primi dei
cosiddetti "linguaggi simbolici", adatto cioè a trattare liste di
simboli piuttosto che numeri. Queste capacità hanno permesso di
realizzare in seguito programmi sofisticati per l'elaborazione
simbolica di operazioni matematiche. |
| |
(setf
*simplification-rules* (append
*simplification-rules* (mapcar #'simp-rule
'( (d x / d
x =
1) (d (u +
v) / d x = (d u / d x) + (d v / d
x)) (d (u –
v) / d x = (d u / d x) - (d v / d
x)) (d (u *
v) / d x = u * (d v / d x) + v * (d u / d
x)) (d (u /
v) / d x = (u * (d v / d x) - v * (d u / d
x)) /
v ^ 2) (d
(u ^ n) / d x = n * u ^ (n – 1) * (d u / d x))
|
| |
|
Fig. 163. Calcolo
simbolico con il programma Derive. L'introduzione del linguaggio di
programmazione Lisp alla fine degli anni '50 (e di altri linguaggi
simbolici meno noti) rappresentò una tappa fondamentale per passare
nell'ambito dei calcolatori dalla matematica dei numeri alla
matematica simbolica delle formule. La notevole flessibilità di
questo linguaggio nel trattamento di liste di simboli portò infatti
alla sperimentazione e realizzazione di diversi programmi in grado
di lavorare su formule simboliche (come ad esempio il calcolo
letterale) e non più esclusivamente sui numeri. Uno dei primi
programmi in grado di lavorare su espressioni simboliche è stato il
sistema SAINT, sviluppato nel 1963 da J. Slage e in grado di
lavorare nell'ambito degli integrali indefiniti. |
|
|
Fig. 164. La geometria
con CABRI-GEOMETRE. Questo programma è un ambiente di lavoro per lo
studio della geometria piana. In particolare, CABRI permette di
focalizzare l'attenzione sulle costruzioni geometriche e, a tale
scopo, consente di modificare interattivamente le figure
deformandone la forma secondo alcune trasformazioni geometriche.
|
|
|
Fig. 165. Assiomi per la
dimostrazione automatica mediante il calcolatore di un teorema
nell'ambito della teoria dei gruppi. L'applicazione del calcolatore
nel campo della logica matematica portò ad un ulteriore svolta
nell'impiego del calcolatore per simulare i "ragionamenti
matematici". I primi tentativi in questo senso furono realizzati da
Herbert Simon e Allen Newell nel 1955. Nel 1965, l'introduzione di
un nuovo e più efficiente metodo logico di dimostrazione (la regola
di risoluzione), facilmente automatizzabile, contribuì a stimolare
ancora di più la ricerca in questa direzione. |
|
|
Fig. 166. Una videata del
programma Algebrand per l'insegnamento dell'algebra. A partire dagli
anni '60 i calcolatori sono stati sperimentati anche nel settore
didattico per l'insegnamento della matematica (e di altre
discipline) con la realizzazione dei primi programmi CAI (Computer
Aided Instruction). Negli anni '70 sono apparsi programmi basati su
tecniche di Intelligenza Artificiale con la realizzazione dei
cosiddetti Intelligent Tutoring Systems. Questi sistemi,
diversamente dai sistemi CAI, non seguono una presentazione degli
argomenti rigida e predeterminata ma possono adattare dinamicamente
l'interazione con lo studente in base alle specifiche
caratteristiche dello studente stesso. |
|
|
Copyright 1999-2001 Paolo Giangrandi - realizzazione
web Tecnoteca
s.r.l.
|