wszystkie mozliwe iloczyny zbiorow

0

Witam wszystkich!

Mam taki problem: mam na wejsciu jakas rodzine zbiorow (zbior zbiorow), np. R={{},{1},{1,2},{2,3},{3,4}}. Chciałbym napisac algorytm, ktory na wyjsciu dawalby mi rodzine zbiorow wejsciowa powiekszona o wszystkie mozliwe iloczyny mnogosciowe, czyli na wyjsciu w tym wypadku chcialbym miec po prostu
R1={{},{1},{1,2},{2,3},{3,4},{2},{3}}, przy czym {} - zbior pusty

Probuje robic to tak:

  • Niech R zawiera n - zbiorow (w przykladzie n=5), Niech tmp={1,2,...,n}, niech indeksyWIloczynie=wszystkie_podzbiory_co_najmniej_2elementowe_tmp
  • obliczam iloczyny zbiorow rodziny R biorac do iloczynu elementy wyznaczone przez indeksy z rodziny indeksyWIloczynie (dla przykladu indeksyWIloczynie={{1,2},{1,3},{1,4},{1,5},{2,3},{2,4},{2,5},{3,4}, {3,5},{4,5},{1,2,3},{1,2,4},{1,2,5},{1,3,4},... itd.} i np. dla {1,2} mialbym iloczyn 1szy_zbior_z_R w iloczynie z 2gim_zbiorem_w_R, czyli {} razy {1} co daje {}, jesli otrzymalem cos nowego dodaje dany zbior do R

To dziala, z tym, ze jest taki klopot, ze tablica indeksyWIloczynie potrafi byc duza (np dla R licznosci 8 bedzie to rzedu 2^8). Wydluza to znacznie obliczenia. Chcialbym spytac o to czy jest jakis sposob zeby te iloczyny inaczej, szybciej obliczac?

0

Czy zdajesz sobie sprawę, że wszystkich możliwych iloczynów może być wykładniczo dużo?
Jeżeli chcesz, to mogę Ci podać n zbiorów n-elementowych, które będą mieć 2^n różnych iloczynów (dla dowolnego n).

Dla więcej niż 30 zbiorów, to nie ma szans działać dostatecznie szybko.

http://pl.wikipedia.org/wiki/Zbi%C3%B3r_pot%C4%99gowy

0
__krzysiek85 napisał(a)

Czy zdajesz sobie sprawę, że wszystkich możliwych iloczynów może być wykładniczo dużo?
Jeżeli chcesz, to mogę Ci podać n zbiorów n-elementowych, które będą mieć 2^n różnych iloczynów (dla dowolnego n).

Dla więcej niż 30 zbiorów, to nie ma szans działać dostatecznie szybko.

http://pl.wikipedia.org/wiki/Zbi%C3%B3r_pot%C4%99gowy

zgoda, z tym, że mi chodziło też o to aby jakoś obliczać ktore zbiory z rodziny R przemnozyc ,,w locie'' bez przechowywania ich indeksow w sporej tablicy.

0 użytkowników online, w tym zalogowanych: 0, gości: 0