Newsgroup: it.comp.programmare.win32
Titolo: Ottimizzazione ed effetto ritardato

Salve a tutti!
Devo cercare il massimo una funzione che riceve un certo numero di
parametri. Conosco la variazione dei parametri in funzione del tempo.
Il problema sta nel fatto che la variazione di un'entrata influisce
sull'uscita dopo un certo periodo che varia per ogni parametro. Come
posso fare? Io pensavo di perndere gli n-input farli passare in n
filtri FIR e collegare le uscite dei filtri a un neurone.
Grazie! Ciao!

 filtri FIR e collegare le uscite dei filtri a un neurone.
In questo newsgruop si parla di software, non di neurochirurgia!
E neanche di elettronica.
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila

      Carlo Milanesi
Per tua informazione i filtri FIR come pure i neuroni artificiali
vengono implementati per forza con un software. Visto che questo canale
si chiama programmazione ho pensato di postare perchè magari qualcuno
ha già dovuto realizare un programma del genere!
           Marco M.

 filtri FIR e collegare le uscite dei filtri a un neurone.
Non ho idea di come funzionino i FIR e che cosa intendi con "un neurone". 
Però mi sembra che il tuo problema, per quel poco che ho capito, sia di 
trovare un modello del processo. Forse un approccio potrebbe essere usare un 
Hidden Markov Model.
Ma forse è il caso di scrivere meglio quale sia il problema. E magari in un 
newsgroup più adatto troverai gente più competente (nel senso che 
it.comp.programmare.win32 non è l'ideale)!
-- 
/* Costantino Grana                                */
main(int c,char**o){char*s=c?"+L7?+;:7?+:OKIK+9?;9=;"
":+9?;:<:;+9?;;;:;+9<:;<::;+RLJ;K9+":1[o],t,a=!c,m;do
for (m=*s-'0',t=a?m/c:m%c;m>>7?c=1<<m+8,!a&&puts(&a)*
*&a:t--;printf("  \0/*"+a));while ((a^=3)||a[++s]);;}
/* Original code due to Chris Brown... impressive! */

Vi faccio un esempio(non è il mio caso):
Possiedo una coltivazione e ogni giorno memorizzo questi parametri:
-Quanta acqua uso per irrigare i campi
-Quanto concime ho usato
-Quanto diserbante ho usato
-Il prezzo dei miei prodotti
-Il quadagno
Mi serve un programma che mi dica quanta acqua,concime,diserbante devo
usare e a che prezzo vedere i prodotti per avere il massimo guadagno.
Il fatto è che se irrigo oggi la quantità di verdura che cresce
aumenterà tra (per esempio) tre giorni quindi non c'è una relazione
istantanea tra i parametri della coltivazione e il guadagno.
              Marco M.


Quindi evidentemente la tua funzione deve salvare in qualche maniera gli 
ultimi n risultati e (ogni tanto/a un certo punto) restituire un risultato.
Dato che le due cose sono distinte, immaginandola come un database, è 
probabile/consigliabile suddividere il problema in due sottoproblemi:
- aggiungere un nuovo dato
- calcolare la "media" (o quello che è) sugli ultimi n dati.
Nel caso si sappia che servono sempre e solo gli ultimi n dati (dove n è 
fisso) si può anche strutturarlo così
- aggiungere un nuovo dato. Se il numero di dati > n eliminare il dato più 
vecchio
- calcolare la "media" (o quello che è) sugli ultimi n dati.
Ovviamente ogni sottoproblema corrisponde a una funzione.
A seconda che il numero di dati da analizzare ogni volta sia o non sia fisso 
si userà (per tenere tutto in memoria) una struttura di tipo vettore/array o 
una struttura di tipo lista (ma anche uno stack/heap con possibilità di 
attraversamento andranno bene. Una lista in cui si aggiunga solo in coda in 
pratica ma si possa leggere senza estrarre elementi) 

questo è un problema di programmazione dinamica. dovresti trovare
qualche algoritmo in giro.
ciao