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?