Newsgroup: it.scienza.informatica
Titolo: LISP: cosa sa fare?

Ciao a tutti,
non ho mai postato qui e non mi occupo nemmeno di informatica in senso
stretto.
Complice una lettura (PREDA, di Crichton, non ridete vi prego), ho
iniziato a gironzolare in cerca di notizie sulla programmazione
evolutiva.
Da quel che ho capito, mooooolto a grandi linee, si lascia che sia il
programma a trovare la soluzione del problema, senza implementarla
direttamente.
E sempre dalle letture sono emersi il LISP e il Prolog come linguaggi
di programmazione.
Veniamo al dunque: da perito informatico avevo usato un poco il prolog.
E qui finisce la mia esperienza "nel settore".
Ora faccio simulazioni molecolari e mi capita di scrivere programmi in
fortran e di usare pacchetti di meccanica molecolare (aka programmi che
fanno evolvere nel tempo il sistema secondo certe regole, che
dovrebbero riprodurre il comportamento reale, espresse in appositi
files; questo a grandissime linee).
A volte capita pero' di dover interpretare risultati o stabilire quali
sono le orientazioni molecolari favorevoli (o per le quali vale la pena
di fare una simulazione) su una popolazione vastissima di possibilita'.
E qui entra in gioco il LISP: alla fine lavoro con una popolazione di
entita' interagenti secondo certe regole. Quale e' la struttura
"emergente"? Dovrebbe essere quella piu' favorevole secondo quelle
regole ed eventuali vincoli.
E' una cosa che il LISP puo' fare?
In altri termini: il LISP (o simili) possono aiutare nel risolvere i
problemi della fisica?
Quali sono i campi d'azione di queste tecniche?
Scusate la prolissita'.
Ciao e grazie a chi ha letto fin qui.
--
Andrea

 Quali sono i campi d'azione di queste tecniche?
Dipende dagli algoritmi che fai girare.
Se cerchi in giro su internet AI intelligenza artificiale o 
programmazione genetica troverai tanto materiale, e tanto codice, 
scritto in tanti linguaggi (dal C al C++, dal Java al Fortran).
Leggiti ad esempio "Practical Artificial Intelligence Programming in 
Java" di Mark Watson, il discorso è valido per tutti i linguaggi OOP.

 Quali sono i campi d'azione di queste tecniche?
...
Come ti hanno già risposto, qualunque linguaggio va bene (perfino il 
Cobol...). Il Lisp ha però il vantaggio da rendere più semplice la 
costruzione automatica di programmi, per la risoluzione di problemi di 
intelligenza artificiale. In realtà, l'ideale credo che sia un linguaggio ad 
hoc, che descriva gli elementi di base del settore specifico di 
applicazione. Quindi un interprete che abbia, come istruzioni, le zioni che 
puoi fare con le molecole, dovrebbe portare più facilmente e velocemente ad 
ottenere qualche risultato. Scusami, ma non è il mio campo, quindi la butto 
lì con quel che ricordo di chimica... immagina un interprete le cui 
istruzioni sono qualcosa di simile a:
atomo1 = CreaAtomo NumeroNeutroni
CreaMolecola atomo1 atomo2
Ruota molecola
Non si tratta di un linguaggio in particolare, ma di un linguaggio specifico 
per la chimica. Si possono costruire programmi in modo automatico (con 
algoritmi genetici, ad esempio) che cercano la configurazione molecolare 
migliore per... non so, questo è il tuo settore ;))). L'interprete di un 
simile linguaggio può essere scritto in qualunque linguaggio di 
programmazione.
Stefano