|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2007
Messaggi: 1232
|
[Java] Exploring parameter space
Salve a tutti,
qualcuno conosce qualche libreria o qualche software opensource per esplorare lo spazio dei parametri? Mi spiego, sto lavorando a un software che permette di effettuare simulazioni distribuite e ci sono diversi parametri: numero agenti, dimensione del campo, numero iterazioni, etc. Avrei bisogno di qualcosa che dando in input i parametri con dei range e step di incremento mi generi le varie configurazioni possibili. Qualcuno ha mai affrontato il problema? Grazie.
__________________
Cpu: Amd 64 X2 5200+ - Mobo:M2N32SLI DELUXE - Ram: Corsair xms2 800 mhz kit 4gb - SK Video: Gaiward GTS250 - Ali : Enermax Liberty 500 Wat - Mast DVD: 2 Nec AD-5170A - Case : Thermaltake Armor+ - Dissipatore: Thermaltake V1 Notebook: Sony Vaio VGN-Fe21M-Pda: Htc Diamond |Il mio sito|Flickr| Stanco del solito forum? Vieni a parlare di fotografia su Fotoni |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Jul 2012
Messaggi: 91
|
Ma ti serve addirittura una libreria?
Non bastano un po' di cicli for annidati? Oppure se vuoi fare una cosa un po' più elegante costruisci una serie di iteratori, uno per ogni parametro o gruppo di parametri; ogni iteratore restituisce una serie di valori del parametro nell'ordine da te richiesto, poi crei una funzione ricorsiva che prende come argomento un array di iteratori e richiama la tua funzione "calcolo" con l'array (o la mappa o quello che preferisci) dei valori ottenuti iterando sullo spazio dei parametri. Faccio un esempio perchè mi sono capito da solo: - paramIteratorA e paramIteratorB sono due iteratori che mi restituiscono rispettivamente le serie di valori per i parametri A e B - calcolo(Object[] params) è la mia funzione di calcolo che prende come argomento un array [A, B] di parametri La funzione di iterazione sarà una cosa del tipo: Codice:
public void iterate(Iterator<Object[] iterators) {
iterate(iterators, new Object[iterators.length], 0);
}
protected void iterate(Iterator<Object>[] iterators, Object[] params, int level) {
Iterator paramIt=iterators[level];
List<Object> values=new ArrayList<Object>();
while (paramIt.hasNext() {
values.add(paramIt.next());
}
for (Object param: values) {
params[level]=param;
if (level<iterators.length-1) {
iterate(iterators, params, level+1);
} else {
calcolo(params);
}
}
}
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Jun 2007
Messaggi: 1232
|
Quote:
Il problema principale è che stavo cercando un modo per scrivere sotto forma di "script" le impostazioni dei parametri.
__________________
Cpu: Amd 64 X2 5200+ - Mobo:M2N32SLI DELUXE - Ram: Corsair xms2 800 mhz kit 4gb - SK Video: Gaiward GTS250 - Ali : Enermax Liberty 500 Wat - Mast DVD: 2 Nec AD-5170A - Case : Thermaltake Armor+ - Dissipatore: Thermaltake V1 Notebook: Sony Vaio VGN-Fe21M-Pda: Htc Diamond |Il mio sito|Flickr| Stanco del solito forum? Vieni a parlare di fotografia su Fotoni |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:03.




















