Wstęp: Pierwszy konkurs był konkursem rozgrzewkowym, przeprowadziłem go na grze, którą znałem i w którą już wiele lat temu rozpracowywałem od strony algorytmu grającego...
Teraz stworzyłem coś nowego

.
Wyścig bakterii: Bakteria na potrzeby tego turnieju jest prostą istotą, która porusza się do przodu, przyswaja pokarm i porusza się do przodu dalej.
Bakterię opisujemy 3 liczbami i 3 współczynnikami procentowymi:
-
szybkość (maksymalna szybkość z jaką bakteria się porusza)
-
pojemność energetyczna (ilość energii z jaką bakteria rozpoczyna wyścig i jaką może pomieścić)
-
przyswajanie (szybkość przyswajania pokarmu z otoczenia podczas postoju)
-
% stop (gdy zapasy energii jaką posiada bakteria spadają poniżej tego poziomu to bakteria zatrzymuje się aby pokarm przyswoić z otoczenia)
-
% start (gdy podczas postoju zapasy energii bakterii wzrosną powyżej tego poziomu to bakteria rusza dalej)
-
% finisz (gdy do przebycia zostanie tyle % trasy, to bakteria przestaje zwracać uwagę na 2 poprzednie wskaźniki i porusza się do przodu jeśli tylko może, zatrzymuje się jedynie gdy nie ma energii na jakikolwiek ruch do przodu, rusza z postoju gdy odnowiła zapasy tak, że może się ruszyć chociaż o jedno pole do przodu)
Ograniczenia: Obecna technologia pozwala Nam jedynie wyhodować bakterie o sumie:
szybkość +
pojemność energetyczna +
przyswajanie mniejszej równej niż 15, przy czym
szybkość: jest liczbą całkowitą dodatnią, a
pojemność energetyczna i
przyswajanie mogą być liczbami rzeczywistymi dodatnimi określonymi do jednej cyfry znaczącej po przecinku.
Współczynniki % mogą być dowolnymi liczbami rzeczywistymi dodatnimi, określonymi do jednej cyfry znaczącej po przecinku należącymi do przedziału: < 0.1, 99.9>.
Harmonogram konkursu: 27.01.2013: Start konkursu: początek zbierania zgłoszeń
8.02.2013, 23:59 (piątek): koniec zbierania zgłoszeń
9.02.2013 - 10.02.2013 / 9.02.2013 - 15.02.2013: rozegranie turnieju
10.02.2013 - 15.02.2013 : ogłoszenie wyników i udostępnienie pełnego logu wyścigów
Czas trwania konkursu jest w dużym stopniu uzależniony od liczby zgłoszeń.
Zgłoszenia: Każda osoba może zgłosić do konkursu dwóch zawodników,
Postać zgłoszenia: (nazwa_bakterii, Sz, PE, Prz, %Sto, %Sta, %Fi), gdzie:
- nazwa_bakterii jest dowolnym niewulgarnym, unikalnym w ramach zgłoszeń ciągiem znaków o długości co najwyżej 20
- Sz + PE + Prz < = 15.0
- %Sto, %Sta, %Fi: dowolne z zakresu: < 0.1, 99.9>
Sposób zgłoszenia: - wiadomość prywatna do mnie
- e-mail na adres hskzylo@gmail.com (w tym przypadku proszę dodatkowo o 2 zdania o sobie i o tym jak do konkursu się trafiło)
Nagrody: - dla zwycięzcy: medal
Szeryfa do profilu w farmersach
- pierwsza trójka do podziału otrzyma:
- porządna kostka rubika
- 2x abonament kwartalny w grze farmersi.pl
Szczegóły techniczne: -
Parametry: --
szybkość: maksymalna szybkość, koszt ruchu opisany jest wzorem:
koszt_ruchu = 1 + liczba_pól^2/10, interpretacja wzoru:
przejście 1 pola kosztuje: 1.1 energii, 2 pól: 1.4, 3 pól: 1.9, 4 pól: 2.6, ..., 10 pól: 11.0
--
pojemność energetyczna: ilość energii x25 jaką ma bakteria na początku i jaka jest jej maksymalna pojemność
--
przyswajanie: bazowa ilość energii jaką bakteria przyswaja w ciągu jednej tury postoju,
Uwaga: im dłużej bakteria stoi w miejscu tym szybciej energię przyswaja !
ilość_energii_przyswojonej = tura_postoju x bazowe_przyswajanie, interpretacja wzoru:
jeśli bakteria ma np 3.5 przyswajania to:
w pierwszej turze postoju przyswoi: 3.5 energii, w drugiej: 7.0, w trzeciej: 10.5...
-
% stop: gdy zapasy energii jaką posiada bakteria spadają poniżej tego poziomu to bakteria zatrzymuje się aby pokarm przyswoić z otoczenia
-
% start: gdy podczas postoju zapasy energii bakterii wzrosną powyżej tego poziomu to bakteria rusza dalej
-
% finisz: gdy do przebycia zostanie tyle % trasy, to bakteria przestaje zwracać uwagę na 2 poprzednie wskaźniki i porusza się do przodu jeśli tylko może, zatrzymuje się jedynie gdy nie ma energii na jakikolwiek ruch do przodu, rusza z postoju gdy odnowiła zapasy tak, że może się ruszyć chociaż o jedno pole do przodu
Przykładowy wyścig: http://zylo.pl/TeoriaGier/Wyscig_bakterii/bakterie_wyscig_przyklad.txt W wyścigu biorą udział:
(Sprinter, 3.0, 1.0, 1.0, 10%, 25%, 10%) i (Chomik, 2.0, 2.0, 1.0, 5%, 40%, 20%)
Wyścig wygrał Chomik pomimo tego, że jest wolniejszy: mniej czasu zużył na przystanki i uzupełnianie energii.
Interakcja pomiędzy zawodnikami: Czy jest jakaś interakcja pomiędzy graczami ? Jest: otóż na torze znajduje się ograniczona ilość pożywienia. Każdy tor wyścigowy ma parametry:
- liczba okrążeń (wiadomo)
- długość okrążenia (wiadomo)
- bazowa energia (energia jaka jest na początku każdej tury na każdym polu)
Co się dzieje gdy 2 bakterie zatrzymały się na tym samym polu i energii na nim jest mniej niż mogą przyswoić ?
- następuje redukcja i każda bakteria przyswaja proporcjonalnie energię w stosunku do tego co może przyswoić
Dokładny opis tej sytuacji:
Przykładowy wyścig 2: http://zylo.pl/TeoriaGier/Wyscig_bakterii/bakterie_wyscig_przyklad_2.txt W tym wyścigu biorą udział:
(Sprinter, 4.0, 2.0, 1.0, 10%, 25%, 10%)
(Chomik, 3.0, 3.0, 1.0, 5%, 40%, 20%)
(Obzartuch, 2.0, 2.5, 2.5, 10%, 50%, 30%)
(Skoczek, 5.0, 1.5, 0.5, 10%, 90%, 10%)
(Zrownowazony, 4.0, 1.5, 1.5, 5%, 30%, 20%)
(Szybki Niejadek, 5.0, 0,5, 1.5, 15%, 20%, 10%)
Parametry toru: długość: 10, okrążeń: 10, bazowa ilość energii na każdym polu: 5.0
Skoczek w ciągu 10 rund przebył 50 pól i zatrzymał się wtedy na wyczerpaniu energetycznym przyswajać energię (miał 2.5/37.5)
W ciągu pierwszej rundy postoju przyswoił: 1x 0.5 energii i miał (3.0/37.5)
W drugiej przyswoił: 2x 0.5 = 1.0 i miał (4.0/37.5)
W trzeciej przyswoił: 3x 0.5 = 1.5 i miał (5.5/37.5)
(..)
W siódmej przyswoił: 7x 0.5 = 3.5 i miał (16.5/37.5)
W ósmej dobiegł się do niego Szybki Niejadek i wtedy:
Skoczek może przyswoić 8x 0.5 = 4.0, a Szybki Niejadek: 1x 1.5 = 1.5, czyli więcej niż się znajduje na tym polu, wtedy następuje redukcja (taki sam mechanizm jak na rynkach w farmersach):
Łączny popyt: 4.0 + 1.5 = 5.5
Łączna podaż: 5.0
Skoczek przyswaja: 4.0 / 5.5 x 5.0 = 3.64
Szybki Niejadek: 1.5 / 5.5 x 5.0 = 1.36
Przebieg turnieju: Tory na których zostanie rozegrany pojedynek każdy z każdym:
Suzuka, Japonia: długość: 10, okrążeń: 100, bazowa_energia: 6.0
Indianapolis, USA: długość: 15, okrążeń: 80, bazowa_energia: 8.0
Tory na których będą rozgrywane wyścigi 10 zawodników
Imola, Włochy: długość: 8, okrążeń: 200, bazowa_energia: 10.0
Hungaroring, Węgry: długość: 7, okrążeń: 300, bazowa_energia: 15.0
Tory na których zostanie rozegrany wyścig wszystkich uczestników naraz:
Monza, Włochy: długość: 20, okrążeń: 150, bazowa_energia: liczba_uczestników_wyścigu x 0.5
Monte Carlo, Monako: długość: 18, okrążeń: 125, bazowa_energia: liczba_uczestników_wyścigu x 0.3
Faza pojedynków: Pojedynki zostaną rozegrane każdy z każdym, zwycięstwo: 3p, remis: 1p, przegrana: 0p, w klasyfikacji generalnej tej fazy liczy się suma punktów.
Faza wyścigów na 10 zawodników: 20p, 15p, 12p, 10p, 8p, 6p, 4p, 3p, 2p, 1p, przebieg tej fazy turnieju: ilość gier, sposób doboru zawodników do gry, rozplanuję gdy będę wiedział ilu będzie uczestników, zapewniam, że: będę starał się zachować symetrię pomiędzy zawodnikami i jednakową liczbę gier rozegraną przez każdego, w klasyfikacji generalnej tej fazy liczy się suma punktów.
Faza wyścigu wszystkich: 1000p x (% zawodników od których byłem lepszy)^2, przykład:
w wyścigu uczestniczy 30 zawodników,
zwycięzca był lepszy od 100% zawodników więc otrzymuje: 1000p
2 był lepszy od 28/29 zawodników więc otrzymuje: 932p
3: 867p
10: 119p
29: 1p
30: 0p
W klasyfikacji generalnej tej fazy liczy się suma punktów.
Wynik końcowy: Średnia ważona (równe wagi) miejsc w 3 fazach wyścigów.
Zachęcam do wzięcia udziału w konkursie