Rozpoczynamy nowy turniej
Dawno już minęły turniejowe emocje — czas więc na chłodno przeanalizować błędy, udoskonalić strategie i wyszkolić nowe pokolenie wojowników, które zetrze w proch starych mistrzów. Należy również opracować szczegółowy regulamin tegorocznych mistrzostw, pozwalający jednoznacznie sklasyfikować zawodników i uniknąć niepotrzebnych dyskusji na ten temat. W związku z tym chciałbym podzielić się z entuzjastami Wojen Rdzeniowych swoimi uwagami oraz zaproponować reguły rozgrywania przyszłych turniejów. Zanim przedstawię ich konkretny zapis, omówię te, które mogą wywołać najwięcej dyskusji.
Na początek zatem ogólne zasady: wszyscy wojownicy walczą każdy z każdym bez podziału na grupy eliminacyjne, walki są powtarzane po 50 razy, a o wyniku decyduje suma zdobytych punktów. W przypadku, gdy kilka programów uzyska tyle samo punktów, o ostatecznym wyniku zadecyduje dogrywka, czyli seria 100-krotnie powtarzanych walk każdy z każdym pomiędzy tymi programami. Jeśli w trakcie dogrywki znów pojawią się takie same liczba punktów (sic! ŁG), to znów rozegra się serię walki, i tak aż do uzyskania jednoznaczej klasyfikacji. Myślę, ze taka metoda pozwoli najlepiej ocenić możliwości walczących wojowników, a proponowana liczba powtórzeń walk praktycznie wyeliminuje wpływ czynnika losowego na wyniku turnieju, choć niestety, kosztem zwiększenia narzutu czasowego.
Osobną kwestią jest natomiast wybór sposobu punktacji, a konkretnie, czy dzielić punkty na małe i meczowe, jak proponuje p. Andrzej Majkowski (ENTER 3/93), czy też nie. Przypomnę, że punkty małe są liczone w tradycyjny sposób podczas wielokrotnego powtarzania pojedynczego starcia między dwoma wojownikami, a ich suma decyduje o wyniku pojedynku, który jest wyrażany punktami meczowymi.
Otóż według mnie nalezy pozostać przy dotychczasowym systemie, czyli bez takiego podziału. Proszę zauważyć, że pojedynek pomiędzy dwoma wojownikami polega na pojedynczym starciu, które kończy się albo zwycięstwem jednego i porażką drugiego programu, albo remisem, a nie na meczu składającym się z takich starć. Pojedynki są powtarzane tylko i wyłącznie po to, aby minimalizować wpływ czynnika losowego (przede wszystkim początkowej odległości pomiędzy wojownikami na rdzeniu) na ostateczny wynik. Wówczas to zamiast rezultatu 10:0 możemy otrzymać np. 130:70, który, wyrażając stosunek sił wojowników, lepiej obrazuje ich umiejętności niż enigmatyczne stwierdzenie „wygrał-przegrał”, które równie dobre może oznaczać druzgocące zwycięstwo, jak i prawie remisową walkę. W takiej sytuacji sprowadzania wyniku z powrotem do trzystopniowej skali ocen jednym programom naciągnie wyniki, a drugim mocno obniży. Ewidentnym przykładem moze być walka dwóch identycznych programów, które teoretycznie powinna zakonczyć się remisem. Oto wyniki takich pojedynków powtarzanych 100-krotnie w warunkach ubiegłorocznych mistrzostw (arena 2000 komórek, 10000 ruchów) dla trzech wojowników stosujących różne style walki
GNOM | MICE | COWBOY |
---|---|---|
475:525 | 510:490 | 505:495 |
485:515 | 500:500 | 485:515 |
515:485 | 505:495 | 450:550 |
Jak widać, nawet przy 100-krotnym powtarzaniu starć, przy stosowaniu punktów meczowych, prawie zawsze jeden program byłby uznawany za lepszy od drugiego, co jest oczywsitym nonsensem.
I to by było tyle na temat rozważań teoretycznych, oto pełny tekst proponowanego regulaminu II Mistrzostw Polski w Wojnach Rdzeniowych:
- W turnieju może wziąć każdy legalny posiadacz pakietu WOJOWNIK.
- Każdy uczestnik może zgłosić tylko jeden program.
- Zgloszony program może być modyfikacją programu innego autora, jednak wprowadzone zmiany muszą istotnie wpływać na pracę programu. Kwestie sporne rozstrzygane będą przez organizatorów.
-
Zgłoszenie programu polega na nadesłaniu organizatorom dyskietki
zawierającej jego kod w postaci źródłowej (
*.RED
) oraz skompilowanej (*.OBJ
). - Wszystkie programy muszą być napisane zgodnie ze standardem WA'91.
- Zgłoszone programy będą walczyć każdy z każdym, walki będą powtarzane po 50 razy, przy czym każdy program za wygraną walkę otrzyma 10 punktów, za zremisowaną 5, a za przegraną 0 punktów.
- O rezultacie turnieju zdecydują sumy punktów zdobytych przez program.
- W przypadku, gdy kilka programów zdobędzie tyle samo punktów, o ostatecznym wyniku zdecyduje dogrywka polegająca na serii walk każdy z każdym powtarzanych po 100 razy.
- Warunki walk, czyli wielkość areny oraz liczbę ruchów, ustalają organizatorzy i muszą one być ogłoszone najpóźniej na trzy miesiące przed datą mistrzostw.
I na zakończenie jeszcze jedna sprawa. Otóż, jak wiadomo, dotychczasowe środowisko Wojen Rdzeniowych zawiera tylko podstawe funkcje i ma kilka poważnych ograniczeń (przed wszystkim sorter ma zbyt małą pojemność, a debugger uniemożliwia swobodne przeglądanie rdzenia). W tej chwili już kilka osób pracuje nad nowymi, lepszymi środowiskami, tym niemniej nic nie stoi na przeszkodzie, aby ktoś z czytelników również podjął się tego zadania — najlepszy z opracowanych programów będzie rozpowszechniany przed redakcję ENTER-a.