Newsgroup: it.comp.ia
Titolo: Algoritmi e tabelle

Penso che qualsiasi algoritmo sia implementabile tramite una tabella che
metta in relazione i dati di input con dei dati di output.
Perchè l' IA non si sviluppa anche in questo senso ?
fl...@geocities.com

Perchè l' IA non si sviluppa anche in questo senso ?
Perchè la tabella sarebbe mooooolto lunga........

...

Già il problema è la lunghezza, ma si può notare facilmente che questa
gigantesca tabella ha un sacco di dati ripetitivi ed inutili  che si possono
eliminare passando da una tabella che mette in relazione gli input e gli
output ad un albero che comunque mette in relazione tutti i possibili input
con tutti i possibili output.
Si potrebbe ancora dire che questo albero è gigantesco e soprattutto che
funziona solo se conosciamo tutte le corrispondenze tra input ed output .
Questi inconvenienti scompaiono però se si effettuano ulteriori compressioni
all' albero facendolo diventare un grafo !
contattatemi    
fl...@geocities.com

Si, ma questa tabella deve essere elaborata
ergo occorrono algoritmi dell'algoritmo!
Supponiamo poi di riuscire a comprimere e trasformare in un grafo
la tabella.
Credo non sia difficile creare esempi in cui l'algoritmo che opera su queste
strutture è polinomialmente indecidibile e dunque non computabile!
Il grafo infatti, sarebbe lo stesso tropo grande e incredibilemente denso
Ciao
Alex
"Do the Androids dream of electric sheeps?" (P.K.Dick)


Non stai per caso reinventando il Prolog?
ciao


Come puoi spiegarmi meglio il perchč te ne sarei grato non vorrei imbattermi
in progetti inutili grazie.


Esatto! ma il punto è che l' uomo non è in grado o non è abbastanza veloce
per creare algoritmi dai dati input-output e allora perchè non farglelo fare
ad un elaboratore, che magari potrebbe svolgere anche meglio l' operazione ?
Ciao.



strutture č polinomialmente indecidibile e dunque non computabile!


Ciao.
Questo è quello che si chiama "apprendimento automatico" ed è un campo
piuttosto studiato dall' ia.
Non è che voglio frustrare le tue ambizioni. L' idea di vedere un
algoritmo, in modo del tutto generale, come una grande tabella che
specifica la relazione input-output, è utile in quanto è utile avere più
punti vista; c'è addirittura un intera teoria (la teoria algoritmica dell'
informazione) che adotta il tuo punto di vista.
Ma il vero problema è trovare la tecnica di programmazione più adeguata
per il problema che si vuole risolvere. Tu dici di voler usare alberi,
grafi e tecniche di compressione, per rappresentare la tua tabella. Ma per
quali problemi, e su quali basi, puoi sostenere che questa è una tecnica
migliore delle, ad esempio, reti neurali?
Ciao.

simulazioni di sistemi le cui uscite non dipendono dagli ingressi
precedenti
Quella che descrivi, se ho capito bene, è una rete digitale sequenziale.
Concordo pienamente con quanto dici ed è una delle ragioni per cui sono un
po' neuro-scettico.
Se ci limitiamo a guardare ingressi e uscite una rete neurale e una rete
digitale dovrebbero essere equivalenti: ingressi e uscite binarie,
eventualmente memorizzazione di uno stato (credo che esistano reti neurali
con "memoria").
Il vantaggio delle reti neurali è che in alcuni casi (ben precisi, secondo
me) forniscono una versione compressa delle reti digitali tramite l'utilizzo
di coefficienti a virgola mobile.
Non sono convinto che siano totalmente equivalenti, cioè credo che i
problemi trattabili da reti neurali siano un sottoinsieme di quelli
trattabili con reti digitali, anche se mi è stato risposto in una news che
esiste la tesi di Cibenko che dimostrerebbe l'equivalenza.
Qualcuno potrebbe obiettare che le reti neurali sono "educabili" mentre le
reti digitali sono rigide. Ma anche le reti digitali possono essere
modificate. Esistono tecniche di progetto molto versatili e potenti.
In sostanza credo che le reti neurali siano, in certi campi di applicazione,
delle versioni molto comode di reti digitali.
In un'altra risposta avevo scritto che la tua proposta mi ricordava il
Prolog.
Il Prolog utilizza delle affermazioni che sono una versione simbolica di
funzioni logiche, che a loro volta sono una versione semplificata di tabelle
logiche di ingressi e uscite.
ciao


--
Posted from 
mail.tin.it
 [194.243.154.49]
via Mailgate.ORG Server - 
http://www.mailgate.org

So bene cosa sono i filtri numerici e non mi stavo affatto riferendo a
questi.
Le reti di cui sto parlando sono quelle logiche (termine forse più corretto
di digitale). Sono quelle composte da porte logiche e flip-flop, tanto per
intendersi, e che sono oggetto di studio in corsi del tipo "progettazione di
sistemi numerici" o "elettronica digitale".
Un esempio molto comune di rete logica sequenziale è il microprocessore del
PC, che ha ingressi, uscite e uno stato interno.
Il fatto che con un microprocessore si possa simulare una rete neurale la
dice lunga sulla potenza delle reti logiche.
Ripeto, per me le reti neurali sono solo un comodo strumento nella
rappresentazione di certe tipologie di problemi.
ciao

Non so ancora niente di studi di reti neurali, ma ditemi se questa
intuizione può essere utlie a qualcosa, è già stata considerata o così via.
L'uomo oltre a tenere in memoria le risposte agli input mi sembra che
cataloghi le sue informazioni anche in modo statistico, considerando le sue
esperienze passate e quindi cerca di ottenere il massimo risultato
aumentando al massimo la sua possibilità di riuscita.
Oltre al grafo, che suppongo sia creato attraverso delle liste di puntatori
aperte, non è possibile ad ogni ramo dell'albero dare una dimensione
(possibilità di collegamento) che viene sempre aggiornata al succedere di
una nuova esperienza.
Un oggetto può essere sollevato prendendolo da sotto (50% delle volte),
prendendolo dai lati (30 %), sollevandolo per una maniglia (20%). Se abbiamo
a disposizione una sacchetto pieno si spugne, scoprirà che non riesce a
sollevarlo da sotto perchè è troppo sottile, non può prenderlo di lato
perchè le spugne si comprimono e sfugge, arriverà alla terza possibilità e
lo solleverà per le maniglie della borsa.
Nel momento in cui la macchina dovrà solo spostare borse in un magazzino,
mano a mano l'indice di probabilità di riuscita le indicherà che è più
probabile che riesce a sollevare il sacchetto per le maniglie e partirà da
questa ipotesi.
La conoscienza è la somma degli errori.

Carissimo Pasteur nel tuo post del Fri, 11 Sep 1998 12:14:00 +0200 scrivevi:
 P: Non so ancora niente di studi di reti neurali, ma ditemi se questa
 P: intuizione può essere utlie a qualcosa, è già stata considerata o così via.
 P: L'uomo oltre a tenere in memoria le risposte agli input mi sembra che
 P: cataloghi le sue informazioni anche in modo statistico, considerando le sue
 P: esperienze passate e quindi cerca di ottenere il massimo risultato
 P: aumentando al massimo la sua possibilità di riuscita.
 P: Oltre al grafo, che suppongo sia creato attraverso delle liste di puntatori
 P: aperte, non è possibile ad ogni ramo dell'albero dare una dimensione
 P: (possibilità di collegamento) che viene sempre aggiornata al succedere di
 P: una nuova esperienza.
Si chiamano reti bayesiane.
-- 
 "Who needs Windows and Gates in a  | Andrea Serafino
  world without walls and fences?"  | e.mail: 
aser...@geocities.com

 
fl...@geocities.com
 Prova a pensare alla tabella per il gioco degli scacchi che permetta di
valutare 3 mosse (6 semi-mosse).
Ritengo che gli sforzi dell' IA debbano essere nel comprendere e
(eventualmente ) cercare di riprodurre comportamenti "intelligenti" e le
tabelle di cui sopra non offrono molte possibilita' di ragionamento.
La potenza del ragionamento e dei suoi meccanismi consente di valutare caso
per caso e produrre scelte, pianificazioni questo risulta impossibile
attraverso tabelle.
Gianmarco Vanni
************************************
Siamo nani sulle spalle di giganti
(Francesco Bacone ????)
***********************************
va...@cli.di.unipi.it
oppure
van...@usa.net