Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[PHP o altro per web] Disposizioni semplici

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

[PHP o altro per web] Disposizioni semplici

Postdi Goon » 05/08/14 19:20

Salve a tutti,

Ho postato questo quesito anche nella sezione per excel ma siccome riguarda anche PHP e scrittura per web ho pensato di poter chiedere anche qui. Spero non sia contro regolamento, ma non è spam è che il problema può essere risolto in entrambi i modi.

Descrivo un attimo la situazione:

Ho creato un programma che funziona in excel , in questo programma però c'è una parte che bisogna necessariamente risolvere a mano di caso in caso, e i "casi" di cui parliamo sono circa 450*33= cioè troppi da fare a mano :D .

Allora ho pensato ad una soluzione per risolvere, cioè calcolando tutte le Disposizioni Semplici con n elementi=30 e k classi=10.
Io uso abitualmente Excel, ma questa soluzione ho letto che con Excel non si potrebbe proprio fare, per questo chiedo aiuto anche a voi, per capire se con un linguaggio diverso (PHP, Java, o qualsiasi altro che si possa inserire in un sito web) si può fare.
Sarei disposto anche ad usare un server dedicato solo a far girare questo programma; inoltre ho un webdesigner che si sta occupando di fare altre cose nel sito che mi darebbe una mano ad inserire il codice al posto giusto (io non sono così esperto di siti web), ma il codice sorgente delle disposizioni semplici di cui parliamo, non è in grado di crearlo.

Spero di essermi spiegato bene, Vi ringrazio in anticipo :)
Goon
Newbie
 
Post: 9
Iscritto il: 05/08/14 10:13

Sponsor
 

Calcolo combinatorio - Disposizioni semplici

Postdi Dylan666 » 21/08/14 12:03

Parliamo di una cifra finale di 109.027.350.432.000 Disposizioni semplici, dico bene?
http://www.luigigrande.it/eloisa/calcomb.htm

Prova con questo:
http://disposition.sourceforge.net/

Non è per il web ma non credo ti sia reso conto delle quantità di cui parliamo...

Se proprio fossi convinto guarda qui:
http://pear.php.net/package/Math_Combinatorics
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi Goon » 27/08/14 13:36

Grazie per la risposta, e mi scuso per il ritardo con cui l'ho letta!

Grazie per i link, parlando con il mio webdesigner, mi è stato detto che non sarebbe possibile gestire una tale mole di informazioni nemmeno con un server dedicato. Mi rendo conto del numero di combinazioni che mi servono, sono davvero tantissime, ma possibile che non esista alcuna soluzione per questo problema?

Per ora posso "aggirare" il problema, ma visto che si parla di un prodotto che poi sarà venduto sul mercato, non posso permettermi di avere costantemente il pensiero che non vengano prese in considerazione tutte le combinazioni...

Spero di poter trovare una soluzione definitiva o almeno capire se esiste una via percorribile!

Grazie ancora!
Goon
Newbie
 
Post: 9
Iscritto il: 05/08/14 10:13

Postdi Dylan666 » 27/08/14 14:04

Se la cifra che ho scritto sopra è quella giusta (me lo confermi?) capirai pure tu che c'è poco da fare.
Le combinazioni che vuoi valutare sono troppe, se anche ne venissero valutate mille al secondo ci vorrebbero 3.457 anni per finire.
Se invece arrivassi a 1.000.000 di combinazioni al secondo ci vorrebbero più di 3 anni.

Qui parliamo forse di calcolo distribuito o più probabilmente di una idea molto ambiziosa ma senza le necessarie basi matematiche, statistiche e informatiche per portarla avanti.
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi Goon » 27/08/14 14:23

Grazie di nuovo Dylan per l'intervento,

Mi rendo conto che parlandone così non sembra avere senso, e può apparire come un progetto in stile "andare sulla luna con una mongolfiera"; l'idea è sì ambiziosa, ci lavoro da molti mesi con l'aiuto di diverse persone, tra cui diversi informatici.

Il prodotto è finito, e verrà messo a breve in commercio.

Ma io sono un perfezionista, e prima di far uscire un prodotto (utile e funzionante) con margine d'errore medio-alto, volevo provarle tutte. Speravo potesse esserci un modo. So che diverse persone sono riuscite a creare programmi per il calcolo del lotto e superenalotto e valutazioni statistiche sul trading finanziario ecc ecc.. e pensavo ci fosse una strada per poter provare a risolvere il mio problema, che mi rendo conto, è un po' più impegnativo dei casi citati sopra...

Ti ringrazio comunque moltissimo! Sono aperto a tutte le soluzioni, se vi viene in mente qualsiasi qualcosa... sono qui :)

GRAZIE!!!
Goon
Newbie
 
Post: 9
Iscritto il: 05/08/14 10:13

Postdi Dylan666 » 27/08/14 15:00

Vedo che avevi aperto un altro topic qui:
viewtopic.php?f=26&t=102475

Lì indichi 75.394.027.566 combinazioni semplici con n=60 e k=10
Qui indvece chiedi delle disposizioni semplici per n=30 e k=10

Alla fine ti servono combinazioni o disposizioni?
Per n=60 o n=30?

A prescindere dalla risposta capirai anche tu che qui si va terreni molto lontani, e non nascondo che sono anche per me semi-sconosciuti.

Guardando solo il numero di combinazioni (e trascurando che per ciascuna suppongo ci dovra essere una operazione di controllo tipo vero/falso e la scrittura dell'esito) senza una serie di macchina potenti che si suddividono il calcolo la vedo dura.

Teoricamente siamo nel campo del cluster computing o grid computing che in genere si occupa di casi ben più complessi (come la ricerca del numero primo più alto o la mappatura del DNA) ma che forse farebbe anche al caso tuo.

Ma mettiamo (solo per ipotesi) che il Disposition che ti linkavo prima, montato su una macchina strapotente mai vista prima riesca a finire il lavoro in tempi accettabili. Ipotizziamo anche che il file finito possa essere nell'ordine di 1000 giga ed entri tutto in un disco esterno.
Mi spieghi poi come lo apri e con che programma lo analizzi?
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi Goon » 27/08/14 15:37

Si mi scuso per aver creato un po' di confusione iniziale, mi servirebbero le disposizioni semplici n=30 e k=10.

Ma cambia poco perchè siamo lo stesso nell'ambito di miliardi di output...

Sinceramente so dell'impossibilità della cosa allo stato attuale, ma ho voluto comunque tentare chiedendo qui, non so rispondere alle tue domande perchè siamo nel campo delle ipotesi del "come si potrebbe fare".

E' come chiedere ad un gruppo di ricercatori per un malattia definita fino ad oggi "incurabile", come potrebbero ottenere la giusta formula pur avendo a disposizione dei materiali non ancora scoperti.

Ti ringrazio comunque per tutti i tuoi interventi e per aver dedicato il tuo tempo a questa cosa; aspetterò tempi migliori e continuerò a lavorare per migliorare pian piano la cosa in assenza di una soluzione definitiva :) Comunque lascio aperta la discussione che non si sa mai nella vita! :)

GRAZIE!
Goon
Newbie
 
Post: 9
Iscritto il: 05/08/14 10:13

Postdi Dylan666 » 27/08/14 17:20

Faccio solo due precisazioni:

1) non parliamo qui di miliardi, ma di migliaia di miliardi che è (appunto) 1000 volte peggio

2) dei ricercatori che cominciano lo studio di una cura mettono come prima condizione la verificabilità della loro scoperta. Chi si affiderebbero a loro senza dei test su un TOT numero di "pazienti"?
Non capisco quindi come un prodotto possa essere commercializzato senza sapere se ha un "margine d'errore medio-alto" oppure no.
Se vuoi un parere oggettivo (e assolutamente privo di cattiveria) ti sei imbarcato in una impresa molto più grande di te.
Il fatto che il tuo calcolo sia utile ma assolutamente impossibile (almeno senza tirare in ballo programmi e risorse ben al di fuori del campo hobbystico) non è un qualcosa che puoi trascurare...
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46


Torna a Programmazione


Topic correlati a "[PHP o altro per web] Disposizioni semplici":


Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti

cron