Poniższa instrukcja ma za zadanie opisać sposób poprowadzenia w oprogramowaniu JFR Pary turnieju na IMP obliczanego w porównaniu do wyniku innego niż wynikający z zapisów na sali gry.
Takie turnieje, rozgrywane "do wirtualnego stolika", porównują zapisy uzyskane przez uczestników do "średniej" ustalonej w sposób sztuczny, np. jako minimaks teoretyczny, jako wynik wzorcowy albo jako średnią w innym turnieju (w tym - butlerze turnieju teamów).
Przykład turnieju obliczanego w ten sposób można zaobserwować w wynikach XVI Młodzieżowego Festiwalu Brydżowego, obliczanych jako zbitka turniejów eliminacyjnych do minimaksa teoretycznego.
W poniższych rozważaniach zakładamy, że nasz turniej liczy N
stołów grających, czyli gra w nim 2N
par. Przy nieparzystej liczbie par, ewentualną pauzę liczymy jako parę grającą, chodzi nam o liczbę stołów, przy których pary uzyskują wyniki.
Zakładamy turniej na 2N+1
stołów (4N+2
pary).
Jako sposób liczenia wyników turnieju wybieramy butler,odrzucamy
i wybieramy odrzucanie N
zapisów z każdej strony.
Tak zdefiniowane warunki gwarantują, że wynik w każdym protokole będzie obliczany do środkowego zapisu (mediany). Za chwilę zadbamy o to, żeby ta mediana była taka, jak chcemy.
Pierwsze N
stołów rozstawiamy tak, jak rozstawilibyśmy normalnie turniej. To są nasze stoły grające, siedzi przy nich pierwsze 2N
par naszej listy startowej.
Pozostałe 2N+2
par usadzamy w każdej rundzie przy pozostałych N+1
stołach. W przypadku małego turnieju można to zrobić ręcznie, sadzając w każdej rundzie kolejne pary przy stołach o wysokich numerach. W przypadku większego turnieju - można wygenerować turniej dla dwóch sektorów (drugiego o 1 stół większego niż pierwszy) - dokładne rozstawienie przy nadmiarowych stołach nie ma żadnego znaczenia, dopóki przy każdym takim stole w każdej rundzie "siedzą" nadmiarowe pary.
Aby zagwarantować, że w każdym protokole środkowym wynikiem (czyli tym, do którego porównywane będą pozostałe) będzie nasz, z góry określony, wynik, wystarczy wpisać do protokołu N+1
identycznych wyników, równych naszemu. W ten sposób niezależnie od pozostałych (uzyskanych w żywej grze) zapisów, jeden z naszych wyników będzie w protokole medianą.
W tym celu najpierw ustawiamy na stole nr N+1
(czyli pierwszym nadmiarowym) nasz wynik:
zapisy
w bazie danych turnieju (w kolumnie zapi
, pozostałe mogą pozostać puste)Następnie należy "rozmnożyć" ten zapis na wszystkie pozostałe nadmiarowe stoły. W tym celu wykonujemy w bazie danych turnieju następujące zapytanie SQL:
UPDATE zapisy z1 JOIN zapisy z2 ON z2.stol = N+1 AND z1.stol > N+1 AND z1.nrr = z2.nrr SET z1.kont = z2.kont, z1.rozg = z2.rozg, z1.wist = z2.wist, z1.wyni = z2.wyni, z1.zapi = z2.zapi;
N+1
to numer naszego pierwszego nadmiarowego stołu (tego, w którym ustawiliśmy nasz ustalony wynik).
Taki turniej następnie możemy poprowadzić i obliczyć - średnia w każdym protokole będzie naszym, z góry ustalonym, wynikiem.
Należy pamiętać o ustawieniu nadmiarowym parom odpowiednio dużych ujemnych wyrównań - każda z tych par uzyskałaby w przeciwnym razie wynik 0 IMP
w turnieju, więc podzieliłaby prawdziwą listę par.
Do zaprezentowania wyników takiego turnieju bez zbędnego mieszania w głowach bardzo długimi protokołami i jeszcze dłuższą listą startową można użyć narzędzia JFRPary Virtual Table.
Następnie uruchamiamy je, w wierszu poleceń, zgodnie z instrukcją użycia, podając główny plik turnieju jako parametr.
Po takim wywołaniu staną się następujące rzeczy:
Parametrem -t OPIS_STOLIKA
sterujemy opisem, jaki pojawi się nad naszym ustalonym zapisem (np. "średnia butlera ligowego" itp.).
Program wykrywa jako nadmiarowe pary takie pary, w których oboje zawodniku ma puste imiona i nazwiska. Jeśli te imiona i nazwiska były zmieniane na liście startowej, numery par, które program ma traktować jako nadmiarowe, można podać wprost, jako kolejne argumenty wywołania programu.
Tak przerobione strony z wynikami należy następnie ręcznie wrzucić na stronę wyników (program jeszcze nie obsługuje wysyłania plików Gońcem).
Każdorazowe wygenerowanie protokołów lub stron z wynikami - przez Kolektor lub "globusik" w Parach - powoduje konieczność ponownego przerobienia stron z wynikami: ukrywanie stołów w wynikach na bieżąco nie jest obsługiwane.
Opracował: Michał Klichowicz, Komisja IT PZBS