Discussione:
Calcolo combinatorio
(troppo vecchio per rispondere)
paoloard
2008-12-27 18:30:40 UTC
Permalink
Calcolo Combinatorio.
Sto cercando una soluzione per sviluppare gli elementi di un insieme finito
di oggetti senza ricorrere al VBA, ovvero utilizzando solo funzioni di
Excel.
Per brevità non mi soffermo sul significato dei vari sistemi di calcolo
(Wikipedia è prodiga al proposito) né sulla formula risolutiva, ma seguo con
esempi:

1) Permutazioni semplici dell'insieme {1,2,3} = 3! = 6
sviluppo: 123, 132, 213, 231, 312, 321

2) Disposizioni semplici dell'insieme {1,2,3,4,5} di lunghezza 2 = 5!/(5-2)!
= 20.
sviluppo: 12, 13, 14, 15, 21, 23, 24, 25, 31, 32, 34, 35, 41, 42, 43, 45,
51, 52, 53, 54.

3) Disposizione con ripetizione dell'insieme {1,2,3,4,5} di lunghezza 2 =
5^2 = 25
sviluppo: 11, 12, 13, 14, 15, 21, 22, 23, 24, 25, 31, 32, 33, 34, 35, 41,
42, 43, 44, 45, 51, 52, 53, 54, 55.

4) Combinazioni semplici dell'insieme {1,2,3,4,5} di lunghezza 2 =
5!/(2!*3!) = 10
sviluppo: 12, 13, 14, 15, 23, 24, 25, 34, 35, 45

5) Combinazione con ripetizione dell'insieme {1,2,3,4,5} di lunghezza 2 =
6!/(2!*4!) = 15
sviluppo: 11, 12, 13, 14, 15, 22, 23, 24, 25, 33, 34, 35, 44, 45, 55

Nelle Disposizioni e nelle Combinazioni ho indicato sviluppi di insiemi di
lunghezza 2, ma è ovvio che la regola deve valere anche per altre lunghezze
(3, 4 ecc..), compatibilmente con i limiti di Excel.
Qualcuno ha già fatto un lavoro del genere? Consigli o riferimenti
eventuali?
Grazie.
eliano
2008-12-27 22:39:58 UTC
Permalink
Post by paoloard
Calcolo Combinatorio.
Sto cercando una soluzione per sviluppare gli elementi di un insieme finito
di oggetti senza ricorrere al VBA, ovvero utilizzando solo funzioni di
Excel.
Per brevità non mi soffermo sul significato dei vari sistemi di calcolo
(Wikipedia è prodiga al proposito) né sulla formula risolutiva, ma seguo con
1) Permutazioni semplici dell'insieme {1,2,3} = 3! = 6
sviluppo: 123, 132, 213, 231, 312, 321
2) Disposizioni semplici dell'insieme {1,2,3,4,5} di lunghezza 2 = 5!/(5-2)!
= 20.
sviluppo: 12, 13, 14, 15, 21, 23, 24, 25, 31, 32, 34, 35, 41, 42, 43, 45,
51, 52, 53, 54.
3) Disposizione con ripetizione dell'insieme {1,2,3,4,5} di lunghezza 2 =
5^2 = 25
sviluppo: 11, 12, 13, 14, 15, 21, 22, 23, 24, 25, 31, 32, 33, 34, 35, 41,
42, 43, 44, 45, 51, 52, 53, 54, 55.
4) Combinazioni semplici dell'insieme {1,2,3,4,5} di lunghezza 2 =
5!/(2!*3!) = 10
sviluppo: 12, 13, 14, 15, 23, 24, 25, 34, 35, 45
5) Combinazione con ripetizione dell'insieme {1,2,3,4,5} di lunghezza 2 =
6!/(2!*4!) = 15
sviluppo: 11, 12, 13, 14, 15, 22, 23, 24, 25, 33, 34, 35, 44, 45, 55
Nelle Disposizioni e nelle Combinazioni ho indicato sviluppi di insiemi di
lunghezza 2, ma è ovvio che la regola deve valere anche per altre lunghezze
(3, 4 ecc..), compatibilmente con i limiti di Excel.
Qualcuno ha già fatto un lavoro del genere? Consigli o riferimenti
eventuali?
Grazie.
Ciao Paolo.
Nel lontano 2004, nel caldo di agosto, Tiziano ed Ivano si lanciarono
in salti mortali quadrupli sull'argomento.
E' uno dei primi post che lessi all'epoca della scopertta del NG e
rimasi allibito. :-))
http://groups.google.it/group/microsoft.public.it.office.excel/search?hl=it&q=combinazioni+su+campi&hl=it&
Non so se questo risponde alle tue esigenze, ma almeno sai a chi
chiedere.
Eliano
eliano
2008-12-27 22:48:21 UTC
Permalink
Post by eliano
Post by paoloard
Calcolo Combinatorio.
Sto cercando una soluzione per sviluppare gli elementi di un insieme finito
di oggetti senza ricorrere al VBA, ovvero utilizzando solo funzioni di
Excel.
Per brevità non mi soffermo sul significato dei vari sistemi di calcolo
(Wikipedia è prodiga al proposito) né sulla formula risolutiva, ma seguo con
1) Permutazioni semplici dell'insieme {1,2,3} = 3! = 6
sviluppo: 123, 132, 213, 231, 312, 321
2) Disposizioni semplici dell'insieme {1,2,3,4,5} di lunghezza 2 = 5!/(5-2)!
= 20.
sviluppo: 12, 13, 14, 15, 21, 23, 24, 25, 31, 32, 34, 35, 41, 42, 43, 45,
51, 52, 53, 54.
3) Disposizione con ripetizione dell'insieme {1,2,3,4,5} di lunghezza 2 =
5^2 = 25
sviluppo: 11, 12, 13, 14, 15, 21, 22, 23, 24, 25, 31, 32, 33, 34, 35, 41,
42, 43, 44, 45, 51, 52, 53, 54, 55.
4) Combinazioni semplici dell'insieme {1,2,3,4,5} di lunghezza 2 =
5!/(2!*3!) = 10
sviluppo: 12, 13, 14, 15, 23, 24, 25, 34, 35, 45
5) Combinazione con ripetizione dell'insieme {1,2,3,4,5} di lunghezza 2 =
6!/(2!*4!) = 15
sviluppo: 11, 12, 13, 14, 15, 22, 23, 24, 25, 33, 34, 35, 44, 45, 55
Nelle Disposizioni e nelle Combinazioni ho indicato sviluppi di insiemi di
lunghezza 2, ma è ovvio che la regola deve valere anche per altre lunghezze
(3, 4 ecc..), compatibilmente con i limiti di Excel.
Qualcuno ha già fatto un lavoro del genere? Consigli o riferimenti
eventuali?
Grazie.
Ciao Paolo.
Nel lontano 2004, nel caldo di agosto, Tiziano ed Ivano si lanciarono
in salti mortali quadrupli sull'argomento.
E' uno dei primi post che lessi all'epoca della scopertta del NG e
rimasi allibito. :-))http://groups.google.it/group/microsoft.public.it.office.excel/search...
Non so se questo risponde alle tue esigenze, ma almeno sai a chi
chiedere.
Eliano- Nascondi testo citato
- Mostra testo citato -
Urca. Scusami giovanna: c'eri anche tu.
Bruno Campanini
2008-12-28 00:18:46 UTC
Permalink
Post by paoloard
Calcolo Combinatorio.
Sto cercando una soluzione per sviluppare gli elementi di un insieme
finito di oggetti senza ricorrere al VBA, ovvero utilizzando solo funzioni
di Excel.
[...]

Dal tuo elenco mancano le permutazioni di n oggetti non tutti
diversi fra di loro:
{1,2,2,3,4,5,5,5} = 8! / (2! * 3!) = 3 360

Io non credo sia possibile ottenere alcuno dei sei risultati con
le sole formule di Excel.
Già è complicato farlo in VBA, specie se non si vuol ricorrere
alla ricorsività, cosa che io aborro.

Bruno
paoloard
2008-12-28 09:07:30 UTC
Permalink
Post by Bruno Campanini
Post by paoloard
Calcolo Combinatorio.
Sto cercando una soluzione per sviluppare gli elementi di un insieme
finito di oggetti senza ricorrere al VBA, ovvero utilizzando solo
funzioni di Excel.
[...]
Dal tuo elenco mancano le permutazioni di n oggetti non tutti
{1,2,2,3,4,5,5,5} = 8! / (2! * 3!) = 3 360
Ok
Post by Bruno Campanini
Io non credo sia possibile ottenere alcuno dei sei risultati con
le sole formule di Excel.
Già è complicato farlo in VBA, specie se non si vuol ricorrere
alla ricorsività, cosa che io aborro.
Bruno
Grazie Bruno, grazie Eliano, prendo atto.... con rammarico.

Ciao paoloard
http://www.riolab.org

Loading...