-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.task.gda.pl!not-for-mail
From: zażółcony <r...@c...pl>
Newsgroups: pl.comp.programming
Subject: Re: zaawansowane ai
Date: Thu, 19 Apr 2012 17:49:13 +0200
Organization: CI TASK http://www.task.gda.pl/
Lines: 61
Message-ID: <jmpc5l$mrh$1@news.task.gda.pl>
References: <jmhnji$fi6$1@inews.gazeta.pl> <jmi22j$19n$1@inews.gazeta.pl>
<jmj41g$euf$1@inews.gazeta.pl> <jmj8cs$poh$1@inews.gazeta.pl>
<jmjk3l$rd8$1@inews.gazeta.pl> <jmjmm3$5aq$1@inews.gazeta.pl>
<jmjnm0$7ua$1@inews.gazeta.pl> <jmjp8b$c8l$1@inews.gazeta.pl>
<jmjs0a$ke8$1@inews.gazeta.pl> <jmjtsa$4pb$1@news.task.gda.pl>
<jmjv8j$g$1@inews.gazeta.pl>
NNTP-Posting-Host: efp194.internetdsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.task.gda.pl 1334850549 23409 83.14.249.194 (19 Apr 2012 15:49:09 GMT)
X-Complaints-To: a...@n...task.gda.pl
NNTP-Posting-Date: Thu, 19 Apr 2012 15:49:09 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20120327
Thunderbird/11.0.1
In-Reply-To: <jmjv8j$g$1@inews.gazeta.pl>
Xref: news-archive.icm.edu.pl pl.comp.programming:196878
[ ukryj nagłówki ]W dniu 2012-04-17 16:38, f...@N...gazeta.pl pisze:
> tutaj w przypadku prostej krowy bylyby dwa problemy ->
>
> mam duzo postaci>10 tys i duza mape> 1000x1000
> i updatowanie dla kazdej z nich mapy zapachu by troche
> trwalo (co prawda jest to chyba (*)koszt porownywalny z
> rozgladaniem sie, gdzie kazda postac przy kazdym rozejrzeniu
> sie musi przeczytac np do 400 sasiadujacych pol - to ujdzie
> ale jest to lekkie obciazenie)
>
> (*) po zastanowieniu wychodzi ze jendak znacznie wiekszy bo
> tzrebaby chyba przetwarzac cala mape wzgledem zapachow a to
> by zmulilo jak nie wiem co
>
> poaztym, zapachy mieszalyby sie i trzebeby kombinowac z podzialam
> na podtypy i/lub uzywac wielu map do trzymania roznych - za duza
> komplikacja za duzo ramu i za wolno
Żebyś dobrze zrozumiał - updatowanie mapy dla jednego zapachu
robisz tylko raz - nie przypadkiem wspomniałem o automatach
komórkowych. Wtedy nie ma tu problemu dużej ilości postaci,
bo każda z nich generuje tylko zapach 'pod sobą' o wielkości 10.
W jednym cyklu gry musisz teraz przejść 1000 x 1000 pól i
zaktualizować mapę zapachu zgodnie z regułą max(sąsiedzi)-1
Robisz to raz a nie tyle razy, ile jest postaci.
Po drugie - w grach zazwyczaj wystarczy podział na 'dobrych' i
'złych', więc wszyscy źli pachną tak samo. Ale masz rację
- jeśłi to nieuniknione, to wprowadzenie większej ilości
typów zapachów sytuację komplikuje. Natomiast jeszcze bym
nie rezygnował - na automatach komórkowych możesz zgrabnie
zaimplementować więcej możliwości. Najprostsze byłoby
założenie, że zapachy się przykrywają, tzn. niektóre są
silniejsze. Wtedy masz maksa 'dwukryterialnego', troszeczkę
bardziej złożona funkcja wyboru, ale bez przesady.
Algorytm zapachu jest o tyle ciekawy, że zapach rozchodzi się
z pewnym opóźnieniem, nie niknie od razu po zniknięciu
swojego źródła, automatycznie znajduje luki np. w murach.
Ja kiedyś zaimplementowałem na tym algorytm 'potwora'
wyszukującego na mapie i pożerającego diamenty :)
Po zapachu potrafił je wyszukać nawet w najbardziej zawiłych
labiryntach, nie był za to w stanie ich wyczuć przez mur,
Gubił trop po zawaleniu przejścia przez kamienie, by go
po jakimś czasie (nie od razu) odzyskać, gdy w jakimś innym
miejscu planszy pojawiło się przejście.
Gdyby pokombinować, to można też spróbować na automatach komórkowych
zaimplementować algorytm zapachu ukierunkowanego, który
by bardziej przypominał światło, ale trzeba by się wtedy
trochę bardziej pobawić, każdy automat musiałby mieć więcej
pamięci, by wiedzieć skąd światło przyszło i jaki jest
jego rozrzut 'na przyszłość'. Myślę, że dałoby się
tu uzyskać całkiem niezły efekt czegoś w rodzaju
'zapachu wyrzucanego kierunkowo', zachowującego się
bardziej jak dźwięk, czyli coś pośredniego między
zapachem a światłem, wystarczającego, by z dużej
odległości widzieć niedokładnie, z dużym wpływem przeszkód
zasłaniających prosty kierunek, a dokładnie widzieć z bliska.
Następne wpisy z tego wątku
- 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.
- 10.05.12 12:15 Jan Tryn
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- 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
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=