Open karolgurecki opened 11 years ago
Wędkarz - zostajemy przy tym, co było ustalone wcześniej. 1 miara efektywności to stosunek liczby ryb do liczby prób (slot do ilości łapanych ryb już jest, potrzebny jest tylko slot z ilością prób o nazwie np. fishingAttempts). 2 miara efektywności to suma wag złapanych ryb, a to już jest realizowane przez slot weight u anglera.
Co do realizacji pewnych rzeczy - moim zdaniem wszyscy aktorzy powinni mieć jednakowy poziom hp na początku (np. 100), wtedy łatwiej porównywać. Natomiast waga u anglera i poachera powinna być na początku ustawiana na 0 (tak by można tam było zliczać sumę wag ryb).
Co do propozycji HP zgadzam się, tak samo jak i do tej wagi całej. Natomiast co do propozycji odnośnie miar efektywności: leśniczy - wlepionych mandatów vs ile razy go przekupiono kłusownik - ile razy uciekł vs ile razy dostał mandat
Plus ograniczyc ilosc aktorow na planszy do logicznych ilosci (powiedzmy 3 kazdego rodzaju, a nie po 15), Plus ograniczyc ich maksymalny ruch do 1-2 pol zawsze (moze byc losowo lub static zaleznie od aktora).
Maciek Bąk
Do tego, zeby nie wykonywalo sie nie wiadomo ile logiki na raz mozna zrobic wykonywanie ruchu aktorow jeden po drugim , ale co ture w losowej kolejnosci i tak samo z akcjami. Po wykonanym ruchu druga petla, w losowej kolejnosci aktorzy wykonuja jakies czynnosci.
Dla ryby drapieznej oraz ryby roślinożernej proponuje waga hp i ewentualnie poziom głodu.
hp/poziom glodu wg mnie za szybko zmieniajace sie parametry zeby byly miarami efektywnosci
no ale ryby drapieżne wcinają inne ryby, to czemu nie to + ilość ucieczek ? i dla ryby roślinożernej ilość ucieczek + ?? [nie wiem co]
Pozostaje sprawa jeszcze jak będziemy to ogarniać. Myślałem nad tym, żeby dać każdemu aktorowii po stronie Javy funkcję która by mogła zbierać miary efektywności z resultu od Clispa i na podstawie zadanej konfiguracji wyciągać to co by się chciało. Ostatecznie storować to w jakimś pliku *.dat. Działało by to tak, że wystarczyło by skonfigurować aktora wedle predefiniowanego ustawienia (to co ustalimy dla każdego typu).
Idąc dalej tym torem...niech każdy model implementuje interfejs który zwraca miarę efektywności właściwą dla siebie i rejestrować go w procesorze efektywności. Potem co k-tur odpalać procesor, który przeliczy to w odpowiedni sposób i zapisze w pliku.
Co o tym myślicie ?
Ja mysle ze nastepuje tutaj proba kompilikacji czegos co powinno byc prosto i sprawnie, bo nikt nam nie placi za to zebysmy pisali kosmiczna appke w bezuzytecznym jezyku AI. I nadal sadze ze dla aktorow ktorych ja robie miary efektywnosci rzedu : ilosc zlapanych ryb, ilosc przezytych tur powinny byc w 100% wystarczajace
Niemniej jakoś w zwarty sposób trzeba to zliczać i prezentować, ale mam pomysł na coś w miarę sensownego i nie wymagającego dużego nakładu pracy.
Natomiast co do części związanej ze zbieraniem tego do pliku, podoba mi się to dlatego, że byłby to sposób na jakies wykresy, co kojarzy mi się, że ona chciała mieć. Poprawcie mnie jeśli się mylę.
@ukazuyr myślę, że język sam w sobie może być użytyczny, ale zastosowanie do celów edukacyjnych mija się z celem.
Sugeruje zeby poprostu dogadac sie miedzy soba zeby KAZDY aktor mial 2 MIARY efektywnosci (1 od jednej osoby, druga od drugiej), najlepiej w miare proste, zeby nie trzeba bylo implementowac 1000 linijek kodu na takie bzdury. Co do uzycia plikow do agregacji danych - jestem jak najbardziej za, bo to zawsze jest dobra metoda.
A co z tymi flagami ktore wczesniej wspominalem? W ten sposob mozna by ograniczyc ilosc akcji kazdego aktora do 1 + ruch, co generowalo by mniejsze zuzycie i szybsze dzialanie apki. No i bylby mniejszy burdel, bo byla by jedna flaga zamiast atri w aktorze
Wpadłem na taki pomysł, że nie będzie zbyt wiele linii kodu, a dane będą wyciągane z faktu danego aktora. Po ich wyciągnieciu od razu zapisze się je do pliku i będą tam dostępne.
Jedynie chciałbym wiedzieć jedną rzecz:
Niezależnie od tego miary efektywności będą wpisane w plik properties i będą dostępne przez
org.kornicameister.sise.lake.types.actors.DefaultActor#getType#getEffectiveness
gdzie ostatnia metoda będzie zwracać nazwy efektywności.
ja jestem za waga i ilość ucieczek dla ryby roślinożernej natomiast waga+(ilośc złapanych ryb lub przeżyte rundy)
czy został już dodany slot z ilością prób złowienia ryby dla wędkarza?
zaraz będzie dodany, proszę o spojrzenie na plik effectiveness.properties i tam wpisywać te miary efektywności, które zostały ustalone.
Co do moich aktorów proponouje -> poacher [ilość złowionych ryb, ilość udanych łapówek] -> forester [ilość mandatów wystawionych z sukecem, ilość nieudanych łapówek]
Jeśli chodzi o poachera, to pierwsza miara chyba lepsza by była stosunek ilości złowionych ryb do prób złowienia (tak jak pisałem na początku). Druga miara jak najbardziej ok.
Co do anglera -> stosunek ryb złowionych do prób złowienia (slot o którym pisał Robert dwa posty wyżej), a druga miara to suma wag złowionych ryb (do tego już mamy weight u anglera).
Mi pasuje.
A ja nadal nie jestem przekonany do WAGI jako do miary dla czegolwiek. Chyba ze sugerujesz zeby kazda ryba/ptak/cokolwiek zaczynalo z ta sama waga? Bo inaczej nie nie dalo by sie uznac tego jako miare efektywnosci, bo nie znamy poczatkowych wartosci. Miara efek. powinno byc cos co kazdy aktor danego rodzaju ma na tym samym poziomie na poczatku : eg. Ilosc zlapanych ryb (0), ilosc przezytych rund (0), ilosc ucieczek (0) etc.
A i kiedy my do niej wlasciwie idziemy? Bo nie kazdemu moga wszystkie terminy pasowac (mnie np 12-22 wrz nie ma).
no to lepiej się bujnąć, tak jak to było oryginalnie planowane ja bym w poniedziałek się przeszedł.
Dobra, to żeby podsumować:
Chyba przypadkiem u anglera i poachera wpisałeś to samo. U anglera w założeniu miała być suma wag złapanych ryb (a nie ilość otrzymanych mandatów).
Co do terminu ja się dostosuję, byle byśmy się tak dzień wcześniej określili.
@tszopka hmm, nie wiedziałem, że muszą być dla każdego takie same ?
co do tego tej wagi, to ok, może być ale wtedy reguły łapania ryb musiałyby jakoś wybierać te tłuściejsze...a jak to zrobić ?
Forester: ilość przyłapań poachera/wędkarza przez ilość tur
Bird: ilość złapanych ryb/ ilość tur
Edit 1:
proszę o komentarze @tszopka , @karolgurecki , @ukazuyr , @ukazuyr , @rowik , @ghost77
Ma tam pasi
jak dla mnie tez super, jednoczesnie nieskomplikowane te wskazniki, a i takie jak trzeba
Jak będziecie poprawiać swoich aktów pamiętajcie o przeciążeniu metody getEffectivness() w javie. Ułatwi to nam napisanie sprawka. Przykłady użycie macie w moich i @kornicameister aktorach. Oczywiście jeżeli używanie jakiegoś pola X w clispie do miary Y to nie musicie jej zmieniać na slot effectivity_1 lub 2. Ważne jest tylko aby było dobre mapowanie przy pomocy tej funkcji.
Prośba ode mnie - ponieważ miary efektywności obu moich aktorów biorą pod uwagę liczbę otrzymanych mandatów, to bardzo proszę osoby ogarniające foresterów o zmianę slotu effectivity_1 w aktorach angler i poacher w momencie złapania/wystawienia mandatu o 1. Ja nie mogę tego robić, bo to forester wystawia mandat, a szkoda dwa razy go wystawiać (w sensie, raz u Was, a potem w logice mojego aktora). Oczywiście, jeżeli jeszcze zdążycie wprowadzić te poprawki. Dziękuję! @kornicameister @karolgurecki
Z kolei @ghost77 zwróć uwagę na to, żeby ten właśnie slot odpowiedzialny był za ilość otrzymanych mandatów również u Ciebie u anglera.
@tszopka zrobione @ghost77 pamiętaj o poprawnym przeciążeniu. @ukazuyr , @rowik co jest?
Proszę ustalcie z osobą, z którą robicie actora tego samego typu jakie będzie miał on miary efektywności i jak będą zmieniane. Ustalenia proszę wpisywać w tym wątku. Osoby przypisane do danego typu aktora: Leśniczy - Tomek T, Karol G Kłusownik -Tomek T i Tomek S Ryba zwykła - Robert G, Łukasz R Ryba drapieżna - Łukasz R, Maciek B Ptak - Maciej B, Karol G Wędkarz- Tomek S, Robert G
Jezeli dojdziecie do wniosku, że coś będzie potrzebowali po stronie Clispa/Javy też to napiszcie w tym wątku.