Jak wygenerować pary meczów w grupie?

0

Hej
Tworzę pewnego patcha do gry. Mam problem że nie umiem wygenerować czegoś takiego jak niżej dla grupy 11 zespołowej. Dla grupy 5 zespołowej mamy:
druzyny:1,2,3,4,5
mecze (kazda linijka to kolejka i potem rewanże):
1,2,3,4 //zespol 1 gra u siebie z zespolem 2, zespol 3 gra u siebie z zespołem 4, zespół 5 pauza
2,5,4,1 //zespol 2 gra u siebie z zespolem 5, zespol 4 gra u siebie z zespołem 1, zespół 3 pauza
1,3,4,5
2,4,5,3
5,1,3,2
//runda reważnowa to odwrócenie par z wyżej:
2,1,4,3
5,2,1,4
3,1,5,4
4,2,3,5
1,5,2,3

Dobrze by było też aby jak zespół gra kolejkę Y u siebie to następną Y+1 grał na wyjeździe, aczkolwiek 2 pod rząd u siebie/na wyjeździe mogą sie zdarzyć bo tak w realu też sie zdarza.
Ktoś umiałby taki generator meczów napisać aby printowało na ekran bo w pliku konfiguracyjnym gry tak jak wyzej podaje sie liczby po przecinku stąd potem gra wie kto ma grać z kim w danej kolejce. Widać programiści gry nie umieli sami na podstawie informacji że jest X drużyn z automatu generować kolejek i delegują to by w pliku konfiguracyjnym podawać:)

0

Umielibyśmy, ale na forum wolimy naprowadzać i odpowiadać na pytania niż pisać za kogoś.

Jeśli chcesz tylko żeby ktoś to napisał za ciebie, wklej swoją wiadomość w Chat GPT, dopisz tylko że chcesz w C++.

Możesz mu nawet potem kazać zmodyfikować ten kod jeśli coś nie działa jak chcesz

0
dalbajob napisał(a):

Umielibyśmy, ale na forum wolimy naprowadzać i odpowiadać na pytania niż pisać za kogoś.

Jeśli chcesz tylko żeby ktoś to napisał za ciebie, wklej swoją wiadomość w Chat GPT, dopisz tylko że chcesz w C++.

Możesz mu nawet potem kazać zmodyfikować ten kod jeśli coś nie działa jak chcesz

Sądzisz, że GPT zrozumie te miazmaty ?

0

W kodeksie szachowym jest opisane tworzenie takich tabel kojarzeń, od strony 121
http://pliki.pzszach.pl/komisje/kolegium_sedziow/pzszach.org.pl/kodeks_szachowy_2007.pdf

0

Musisz wygenerować wszystkie permutacje zbioru. Proste to nie jest, ale znajdziesz wszedzie i ogarniesz. Google nie boli.

0

To jest typowy constraint satisfaction problem, jak bardzo precyzjnie określisz czy dana konfiguracja jest spełnialna, np. maksymalna ilość meczy w miesiącu x < 4, to masz binarną reprezentacje tak czy nie dana kombinacja jest spełnialna.

I teraz takim najprostszym sposobem arc consistency można rozwiązać ten graf, generując wszystkie możliwe kombinacje.

Inny sposób to jest satisfiability modulo theories, które może rozwiązać ci twój problem, a potem dodajesz po prostu warunek logiczny na końcu, że za wyjątkiem i podajesz listę już wygenerowanych rozwiązań i zostanie wygenerowane nowe.
SMT solvery są dosyć silne, nie trzeba nawet reversować algorytmu, a napisać go forward, backward to jego odwrotna strona, jak encoding i decoding, te SAT solvery potrafią coś takiego ogarnąć, zawansowane narzędzie matematyczne.

Ale to jest typowo CSP problem, więc bardzo precyzyjne trzeba mieć warunki dla jakich jest coś spełnialne, nie może być tak swobodnie i luźno wytłumaczone bo wszystko musi być matematycznie określone, żeby na końcu szło zadecydować czy idziemy w stronę dobrego rozwiązania czy nie.
Zmiana constrainów sprawi, że po prostu inne rozwiązania otrzymasz.

Jeśli rozszerzysz ten problem o maximum matching, czyli najpierw generujesz możliwe kombinacje, a z możliwych generujesz graf tak żeby uzyskać maksymalną liczbę par, bo czasem przez złe połączenie w pary może później wyjść tych par mniej, ale to kolejny problem,

0

spoko zapomniałem że programiści nie mają za wiele wspólnego z piłką, myślałem że jak rzucę hasło i krótki opis to każdy skuma o co chodzi nawet bez opisu " a Eliminacje Mistrzostw Europy i mecze kazdy z każdym w grupie". No ale rozumiem że nie każdy piłką się interesuje. Ostatecznie jednak zrezygnowałem z grupy 11 zespołowej bo ciężko byłoby dobrać w grze 22 terminy na mecze reprezentacji na przestrzeni nieco ponad roku kalendarzowego a dla mniejszej ilości zespołów to mam rozpisane kolejki meczy:)

0
fvg napisał(a):

, myślałem że jak rzucę hasło i krótki opis to każdy skuma o co chodzi nawet bez opisu

Pewnie jakbyś użył interpunkcji, to zrozumieli by lepiej.

Dlaczego "wy wszyscy" komunikujecie się na poziomie alibaba translate a potem pretensje do innych ?

0
fvg napisał(a):

spoko zapomniałem że programiści nie mają za wiele wspólnego z piłką, myślałem że jak rzucę hasło i krótki opis to każdy skuma o co chodzi

No skumałem że chodzi o algorytm na system kołowy (tzw. każdy z każdym), przesłałem jak to się robi w praktyce ad hoc dla dużych grup, a Ty się w ogóle nie odniosłeś

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