Przyszedł mi do mnie współpracownik z interesującym problemem, praktycznym związkiem z grupą "nowych ludzi w mieście", z którą jest częścią.Kombinatoryczny algorytm przydzielania osób do grup
18 znajomych chce zjeść kolację w grupach dla każdego z kolejnych 4 dni. Zasady są następujące:
- Każdego dnia grupa będzie podzielone na 4 grupy po 4, a grupa 2.
- Wszelkie podane parę osób będzie widzieć tylko siebie co najwyżej raz w ciągu 4 dni.
- Dowolna dana osoba będzie tylko częścią grupy wielkości 2 najwyżej jeden raz.
Wyszukiwanie rekursywne z użyciem siły brutalnej dla prawidłowego zestawu przydziału grupy jest oczywiście niepraktyczne. Wrzuciłem prostą logikę do przycinania części drzewa tak szybko, jak to możliwe, ale nie na tyle, aby było to praktyczne.
Właściwie to zaczynam podejrzewać, że niemożliwe jest przestrzeganie wszystkich reguł, ale nie mogę wymyślić kombinatorycznego argumentu za tym, dlaczego tak się stało.
Jakieś myśli?
Możliwa przycinanie zasada: nie ma jednego zestawu 18 osób, masz zestaw 10 ludzi, którzy będą w grupie 4 co noc, i zestaw 8 ludzi, którzy będą w grupa 2 raz. –