-
Data: 2012-04-17 19:16:36
Temat: Re: zaawansowane ai
Od: " " <f...@N...gazeta.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]M.M. <m...@N...gazeta.pl> napisał(a):
> <f...@N...gazeta.pl> napisał(a):
>
> > > > majac ta procedure moge zapuszczac ja np dla wszystkich osmiu
> > > > sasiednich pol krowy i kierowac ja na to pole ktore jest najmniej
> > > > animozyjne (co wymagaloby malego sortowania :( - nie chce mi sie
pisac)
> > > Nawet bardzo małego sortowania, wystarczy wybrać jedno najlepsze :)
> > >
> >
> > niby tak, z tym ze jak kilka bedzie rownie najlepszych to nie
> > mozna zawsze wziac pierwszego z lewej, trzeba zbudowac małą listkę
> > i uczciwie w niej zalosować - z podobnymi problemami wiazal sie
> > pierwszy odrzucony przeze mnie pomysl, ->
> >
> > skanujesz okolice i szukasz najblizszej postaci do omijania
> > po czym idziesz w przeciwna do niej strone,
> >
> > jesli bylaby tylko jedna to prosta rzecz, ale jesli bylyby np
> > trzy najblizsze (np w ringu 2), to co wtedy ?
> >
> > 1) trzeba ew budowac liste i losowac - wole unikac budowania
> > takich list,
> > 2) nawet jesli zbuduje liste i wylosuje A to nie znaczy ze unikajac
> > A krowa nie pojdzie prosto w kierunku B
> >
> > wersja z wagowym zliczaniem jakosci pol do wejscia na nie wydaje sie
> > miec lepszą jakosc krowa powinna chodzic znacznie rozumniej
>
> Krowa jest na każdym polu przez jakiś czas. W danej chwili z każdego
> pola ma jakieś korzyści. Np. w danej chwili krowa ma takie potrzeby:
>
> struct Krowa {
> float pragnienie;
> float głód;
> float seks;
> float bezpieczeństwo_cielaka;
> float bezpieczeństwo_swoje;
> };
>
> Potrzeby zmieniają się albo wg reguły losowej albo deterministycznej.
> Krowa np. planuje 30 przyszłych tików gry i chce maksymalizować
> zaspokojenie swoich potrzeb. Każde pole dostarcza jej tych
> potrzeb:
> struct Pole {
> float woda;
> float pokarm;
> float odległość_do_samca;
> float odległość_od_drapieżników;
> float odległość_od_ludzi;
> };
>
> Analogicznie cechy pola zmieniają się albo losowo, albo deterministycznie.
>
> Krowa chce tak zaplanować swoje 30 ruchów aby maksymalizować sumę korzyści
> płynących z przebywania na nich. Korzyści mogą być wg wzoru:
> korwa.pragnienie * pole.woda + krowa.głód * pole.pokarm ...
> krowa.bezpieczenstwo_swoje * ( pole.odleglosc_od_ludzi +
> pole.odleglosc_od_drapieznikow ) ...
>
> Któreś z pól które krowa może zbadać swoimi zmysłami albo odtworzyć jego
> stan w swojej pamięci zapewni największe korzyści. Więc dla bieżących
> potrzeb krowy któreś z otaczających pól będzie najlepsze. Ale po drodze
> krowa też może sobie skubać trawkę, też musi czuć się bezpieczna, więc
> liczy się nie tylko pole docelowe, ale cała podróż. Czyli krowa szuka
> najlepszej trasy i wybiera pierwsze pole które prowadzi tą trasą.
>
> Jakimś algorytmem zachłannym można taką trasę wyliczyć i krowa może
> zrobić krok w jej kierunku. Potem kwestia dobrania parametrów, żeby
> potrzeby krowy i zasoby na polach sensownie się zmieniały i powinno
> działać lepiej niż zwykle się wymaga w takich grach.
to jest za trudne do realizacji - u mnie krowa nie planuje 30
ruchow do przodu (inaczej wygrywala by pewnie w szachy z kasparowem)
ani nie calkuje wszystkich mozliwych tras pod wzgledem korzysci ;-)-
jest uproszczony algorytm ktory uwzglednia wiele czynnikow ale w
sposob uproszczony - typu jesli krowa jest bardziej glodna niz
spiaca to je a jesli bardziej spiaca niz glodna to spi, jak chce
sie ruszyc to sprawdza sobie ktore pole jejnajbardziej pasuje
pod wzgledem zagrozen itp (troche za duzo sie rozgadalem ntt
nie mialem zamiaru gadac na ten temat 5 godzin tylko zakodowac
kawalek - ale mozliwe ze bede jeszcze podejmowac temat ai i
roguelikow bo jest tam sporo ciekawych kwestii)
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Następne wpisy z tego wątku
- 17.04.12 19:29
- 17.04.12 20:01 M.M.
- 17.04.12 20:29 Jordan Szubert
- 17.04.12 21:20 M.M.
- 19.04.12 17:03
- 19.04.12 17:49 zażółcony
- 20.04.12 10:26 zażółcony
- 20.04.12 10:50 Jordan Szubert
- 20.04.12 13:45 A.L.
- 20.04.12 20:00 M.M.
- 21.04.12 00:14 M.M.
- 04.05.12 15:59 zażółcony
- 04.05.12 16:26
- 04.05.12 16:54 zażółcony
- 04.05.12 19:02 M.M.
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-02 piszę list do św Mikołaja
- 2024-11-01 karta SIM nie działa w konkretnym smartfonie.
- 2024-11-01 Mamy WZROST! O 50% wzrosła ilość kredytów gotówkowych
- 2024-11-01 Warszawa => Expert Recruiter 360 <=
- 2024-11-01 Warszawa => Technical Leader (Java Background) <=
- 2024-11-01 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2024-11-01 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-01 Warszawa => Programista Dynamics 365 CRM <=
- 2024-11-01 Warszawa => Dynamics 365 CRM Developer <=
- 2024-11-01 Warszawa => Junior Rekruter <=
- 2024-11-01 Chrzanów => Specjalista ds. PR Produktowego <=
- 2024-11-01 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-01 Łódź => Frontend Engineer (Three.js) <=
- 2024-11-01 Warszawa => Junior Rekruter <=
- 2024-11-01 Gdańsk => Programista Full Stack .Net <=