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.

Zakładamy turniej

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.

Monitor turnieju

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.

Ustawiamy wirtualne zapisy

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:

  • jeśli jest to "pełny" wynik (kontrakt, rozgrywający, liczba lew), możemy zrobić to przy pomocy dodatkowego "pierniczka" (lub narzędzia równoważnego, jak FillBWS)
  • jeśli jest to wynik liczbowy (np. średnia z protokołu innego turnieju), musimy wpisać go ręcznie do odpowiedniego wiersza tabeli 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.

Ukrywamy wirtualne stoły na stronie wyników turnieju

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:

  • z listy wyników i listy historii znikną nadmiarowe pary
  • z protokołów znikną wszystkie zapisy przy stołach, przy których obie pary były parami nadmiarowymi
  • dodany zostanie z powrotem jeden (pierwszy) z takich zapisów, wraz z opisującym go nagłówkiem

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