Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    4

    [Excel o Access] Calcolo combinazioni 10 colonne 6 righe

    Salve a tutti,

    Mi rivolgo qui nella speranza di risolvere un problema al quale non riesco a trovar risposta da settimane.

    Come da titolo, vorrei stampare tutte le possibili combinazioni di una tabella con 10 colonne e 6 righe, utilizzando excel o access.

    E' possibile?

    Ho trovato un vecchio topic cercando qui nel forum che è questo: http://forum.html.it/forum/showthread/t-1500725.html

    Qui davano la soluzione all'utente che però non so riadattare al mio caso di tabella con oggetti 10x6.

    Potreste aiutarmi?

    Grazie mille.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    4
    Scusate questo nuovo post,

    Volevo solo aggiungere un paio di cose che ho dimenticato di dire:

    1) Le combinazioni degli "oggetti" nella tabella vorrei che non si ripetessero (esempio: a,b,c,d,e,f,g,h,i,l è lo stesso di a,c,b,d,e,f,g,h,i,l e non mi serve averli entrambi)

    2) In altre parole mi servono tutte le combinazioni a gruppi di 10 di 60 elementi totali.


    Vi ringrazio ancora.

  3. #3
    Quote Originariamente inviata da Goon Visualizza il messaggio
    Scusate questo nuovo post,

    Volevo solo aggiungere un paio di cose che ho dimenticato di dire:

    1) Le combinazioni degli "oggetti" nella tabella vorrei che non si ripetessero (esempio: a,b,c,d,e,f,g,h,i,l è lo stesso di a,c,b,d,e,f,g,h,i,l e non mi serve averli entrambi)

    2) In altre parole mi servono tutte le combinazioni a gruppi di 10 di 60 elementi totali.


    Vi ringrazio ancora.


    Ciao,
    il tuo problema si risolverebbe facilmente con una macro se non fosse per la quantità di dati da produrre, infatti le combinazioni di 60 elementi a gruppi di 10 senza ripetizioni sono, se non erro, 75.394.027.566 che è una quantità assolutamente ingestibile da un normale PC (e credo che anche un mainframe farebbe fatica).

    Anche scegliendo la semplice scrittura su un file di testo ne occorrerebbe uno di circa 750 GB.

    Ed anche ipotizzando di scrivere decine di migliaia di file più piccoli e maneggevoli il tempo di elaborazione sarebbe probabilmente di svariati mesi e forse anni (su questa valutazione non ho dati precisi, sto andando a occhio).

    Quindi mi sa che dovrai trovare un'altra soluzione

    Facci sapere.
    Ciao
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    4
    Grazie per la risposta e mi scuso per il ritardo della mia,

    Purtroppo, ho passato diverse settimane a cercare una soluzione al problema, ho chiesto aiuto ad alcuni programmatori e mi è stato detto che allo stato attuale delle cose, non è possibile processare una tale mole di dati in tempi "accettabili".

    Inoltre i risultati sono addirittura aumentati incredibilmente, perchè avevo fatto male i calcoli, che invece sono:

    DISPOSIZIONI SEMPLICI n=30 k=10 , il che complica ancora di più le cose!


    A questo punto non so davvero che fare, sto aggirando il problema "manualmente" e usando la logica, ma purtroppo non sarà mai una cosa definitiva; e dato che tutto ciò serve per un prodotto informatico innovativo che verrà messo in vendita a breve, sono deluso dal fatto di non poter vendere un prodotto funzionante al 100% e senza alcun margine d'errore.

    Qualcuno ha altre idee? sarei disposto anche a retribuirvi eventualmente se potreste trovarmi la soluzione definitiva

    Grazie a tutti e buona giornata!

  5. #5
    Ciao,
    forse è meglio se ci dai qualche elemento in più, così magari qualcuno potrà aiutarti.

    Mi rendo conto che trattandosi, come dici, di un prodotto innovativo, sarai restio a fornire paticolari ma qualcosa dovrai dircelo, altrimenti come facciamo ad aiutarti?

    Comunque, da quel po' che hai detto finora, mi sembra di capire che se riuscissi a ottenere le combinazioni al completo il tuo prodotto sarebbe funzionante al 100% altrimenti in proporzione inferiore ... ma allora posso già dirti che sarà funzionante all'1/100000 o anche meno perché non riuscirai nemmeno lontanamente ad avvicinarti al numero di combinazioni che ti servono.

    Senti ... ma sarà mica qualcosa che riguarda il superenalotto o cose del genere? No, perché se è così io neanche mi ci metto a pensarci tanto è inutile.

    Se invece si tratta di qualcosa di più serio l'unica possibilità che vedo è di limitare a monte il numero di possibilità in base ai dati che hai a disposizione (che sia un input utente o qualsiasi altra cosa), con opportuni algoritmi e poi, una volta scremati, passare alle combinazioni. Cioè, in pratica, quello che stai già facendo a mano.

    Ma poi, scusa eh, non è per fare ironia, ma prima di lanciarti nell'impresa non avevi valutato le moli di dati? E non avevi pensato a qualche escamotage? Se io decidessi di fare un software che cataloga le stelle dell'universo il problema me lo porrei ...

    P.S. comunque 30*10 sono meno di 60*10 o mi sta sfuggendo qualcosa?

    P.P.S. Inoltre c'è da considerare, oltre alla produzione delle combinazioni, anche i tempi di lettura e ricerca in una simile mole di dati ... il tuo prodotto per fornire una risposta all'utente rischia di impiegare mesi...
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    4
    Grazie della risposta,

    Sul prodotto non posso raccontare molto, non per paura di esporlo ma perchè non riguarda solo me ma comprende altri soggetti esterni

    Non si parla di lotto, superenalotto nè trading online o cose di questo tipo! E' qualcosa di diverso e più "concreto".

    Preciso che il prodotto è già pronto e finito da tempo ma funziona al 60% in modo automatico e per il restante 40% necessita di una valutazione "umana" per produrre l'output finale. La società solo dopo aver fatto diversi mesi di ricerca di mercato e costruzione del business plan e business model; la mia richiesta è fatta perchè vorrei perfezionare e migliorare ulteriormente un prodotto già fatto e finito.

    Rispondo alla tua domanda:

    La differenza tra disposizioni semplici n=30 e k=10 e combinazioni semplici n=60 e k=10, sta nel fatto che per le disposizioni conta anche l'ordine con cui gli elementi vengono scritti (esempio a,b,c ha diverso valore rispetto a b,a,c) e queste generano miliardi di combinazioni. Invece se si parla di combinazioni l'ordine non ha alcun valore (a,b,c hanno lo stesso valore di b,c,a ; esempio del lotto) e anche se n è maggiore, i dati in uscita sono molto inferiori.

    Per questo il tema è più serio e complicato del lotto.

    L'unica soluzione, che risolve non solo al 100% il problema, ma lo rende totalmente automatico ed indipendente e riduce il margine di errore dell'output ad uno 0,0000001% rispetto al 20-25% di media di adesso; è possibile solo potendo processare questi dati calcolando tutte le disposizioni degli elementi, poichè non è possibile attuare alcuna scrematura iniziale.

    Mi rendo conto che detto così sembra come voler attraversare l'oceano con un canotto, ma cerco di non rassegnarmi al fatto che non esista alcun modo per processare questi dati, infondo, l'uomo è progettato per risolvere qualsiasi problema!

    Grazie ancora lo stesso!

  7. #7
    Quote Originariamente inviata da Goon Visualizza il messaggio
    Grazie della risposta,


    Mi rendo conto che detto così sembra come voler attraversare l'oceano con un canotto, ma cerco di non rassegnarmi al fatto che non esista alcun modo per processare questi dati, infondo, l'uomo è progettato per risolvere qualsiasi problema!

    Grazie ancora lo stesso!

    E' molto peggio di attraversare l'oceano con un canotto, è come andare su Sirio con un canotto!
    La forza dell'essere umano è il cervello, non sono i muscoli, per questo suggerivo di sforzarti di trovare degli algoritmi di scrematura invece di perder tempo tentando un attacco Brute Force che non ti porterà da nessuna parte.
    Good luck!
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.