-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: " M.M." <m...@g...pl>
Newsgroups: pl.comp.programming
Subject: Re: gry z niepełną informacją i montecarlo
Date: Thu, 10 May 2012 01:20:05 +0000 (UTC)
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 111
Message-ID: <jof545$9r6$1@inews.gazeta.pl>
References: <joc2ie$hj0$1@inews.gazeta.pl>
<85823.1664.1336550934907.JavaMail.geo-discussion-forums@vbq19>
<jodf3t$875$1@inews.gazeta.pl> <jodjce$4bq$6@inews.gazeta.pl>
<jodqki$6hn$1@inews.gazeta.pl> <joe6ql$4bq$8@inews.gazeta.pl>
NNTP-Posting-Host: localhost
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1336612805 10086 172.20.26.238 (10 May 2012 01:20:05 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Thu, 10 May 2012 01:20:05 +0000 (UTC)
X-User: mariotti
X-Forwarded-For: 89.229.34.123
X-Remote-IP: localhost
Xref: news-archive.icm.edu.pl pl.comp.programming:197168
[ ukryj nagłówki ]Edek Pienkowski <e...@g...com> napisał(a):
> Tu nie tylko o psychologię chodzi; na poziomie gry służy do "wykorzystania"
> algorytmu przeciwnika. Nawet optymalnego.
Tak, nie tylko o psychologię. Jeśli wiemy że przeciwnik wybrał optymalny
algorytm w jakimś określonym znaczeniu optymalności, to możemy wybrać algorytm
który będzie grał optymalnie przeciwko algorytmom należącym do takiego zbioru
z jakiego prawdopodobnie wybierał nasz przeciwnik. Poza tym, jak poniżej
piszesz, możemy po prostu przyjąć że przeciwnik nie zachowa się optymlanie.
>> Można to rozpatrywać w postaci dwuwymiarowej tabeli. W poziomie i
>> w pionie mamy kolejne programy, a w komórce na skrzyżowaniu
>> wiersza x z kolumną y mamy wynik jaki uzyskuje program x grając
>> przeciwko programowi y. Jeśli w komórce jest 100% to znaczy
>> że x wygra wszystkie gry bez względu na to jak zostały rozdane
>> karty.
>Są takie gry, gdzie istnieje tego rodzaju strategia optymalna,
>ale nie zawsze się stosuje bezpośrednio do gier z czynnikiem losowym.
>Z blefem jest jeszcze gorzej - polega na sytuacji, gdy nie zna się
>kart blefującego a oceniać można cokolwiek po jego zachowaniu.
Może niepotrzebnie utrudniam sobie analizę z tym blefem. Są tylko
zachowania graczy i strategie które do takich zachowań prowadzą.
Strategie mogą być:
1) Deterministyczne
a) na postawie danych z jednej (obecnej) partii
b) na podstawie danych z obecnej partii i N poprzednich
2) Zrandomizowane.
Ad 1a ) Algorytm na wejściu otrzymuje dane o stanie gry. Na podstawie
tych danych algorytm podaje jak należy się zachować. Dla skończonych
gier istnieje skończona ilość strategii, a więc koleje algorytmy
realizują po prostu kolejne strategie.
Ad 1b ) Jest tak samo jak w punkcie 1a, ale algorytm otrzymuje dodatkową
informację o tym jak przeciwnik zachowywał się w przeszłości. W ogólnym
przypadku przyszłość nie jest przeszłością, więc poza trywialnym przypadkami,
gdy np. przeciwnik bardzo słabo gra, taka informacja chyba niewiele da.
Mylę się?
Ad 2 ) Tutaj mamy jakiś rozkład prawdopodobieństwa, że do wybrania ruchu
numer n zostanie wybrana strategia x. Jeśli potrafimy ten rozkład
oszacować, to możemy dobierać strategię optymalną przeciwko stragegii
jaką prawdopodobnie wybrał przeciwnik. Ale raczej takie oszacowania
będą bardzo trudne.
Przypadek 1a wydaje się ciekawy. Mamy zbiór strategii, oznaczmy go X.
Dla każdej pary (x1,x2), gdzie x1 należy do X i x2 należy do X; mamy
określone ile procent zwycięstw (pomińmy remisy) odnosi strategia x1,
a strategia x2 otrzymuje 100% - to co otrzymuje x1.
A więc optymalny algorytm w przypadku 1a powinien wyglądać tak jak na
początku napisał Roman. Drzewko przeszukujemy "od tyłu" i wykorzystujemy
programowanie dynamiczne do zbudowania par (stan_gry, zachowanie)
Nie wiem czy dla popularnych gier karcianych (brydż, tysiąc, poker, pan), przy
założeniu 1a, istnieją strategie gwarantujące 50% wygranych bez względu
na to jaką strategię przyjął przeciwnik. Czy można to wywnioskować bez
konieczności budowania tabeli wypłat? Może warto jeszcze dokonać kilku
uściśleń:
1) grają dwie osoby
2) rozgrywają po jednej partii dla każdego możliwego rozdania kart,
czyli w jednej grze jest tyle partii ile jest możliwych różnych
rozdań
3) za wygraną partię jest 1 punkt, za przegraną 0 punktów.
4) w każdej partii używają tej samej stragegii
5) punkty ze wszystkich partii się sumują, wynik gry stanowi ilość
punktów dzielona przez ilość partii.
Pierwszy gracz wybiera stragegie x_i, a drugi gracz po kolei
wszyskie możliwe stragie od x_1 do x_n. Czy pierwszy gracz może wybrać
taką stragegię x_i, że dla dowolnej stragegii od x_1 do x_n uzyska minimum
50% punktów? Czy to są raczej takie gry jak kamień, nożyce, papier i
stragegia x_1 wygrywa z x_2, x_2 wygrywa z x_3, a x_3 wygrywa z x_1?
>> Natomiast dla gier w których blefowanie może pomóc taki algorytm
>> raczej nie istnieje. Chyba dla każdej strategii blefowania
>> można napisać taką strategię która osiągnie ponad 50%.
>>
>> Dobrze myślę czy źle?
> Dobrze. Zakładając że wszyscy zachowują się racjonalnie, a to
> w przypadku gier dla których nie jest znana jedna optymalna strategia
> jest założeniem błędnym. Ok, czasami jakkolwiek zachowa się przeciwnik
> blef może się >50% opłacać (wyobrażając sobie sytuację, w której
> blef nie "odkrywa kart" których można użyć później), ale z przeciwnikiem
> nieracjonalnym może istnieć lepsza strategia. Co prawda tworzy się
> mistrzowskie algorytmy do pokonania innego mistrza, ale
> dla niektórych gier - lepszy efekt w przypadku słabszych przeciwników
> można uzyskać stosując inną strategię. Na punkty w lidze może się opłacać.
Czyli problem blefu sprowadza się do tego, czy umiem stworzyć dobry model
gry przeciwnika. W ogólnym przypadku przeciwnik może zmieniać strategię
blefowania jak chce, czyli się nie da. Gdy gramy z ludźmi, to możemy
wiedzieć że kolega z klubu wczoraj się nie wyspał i zagra słabiej.
> 1. nie blef - możliwe zachowania przeciwnika 2. blef - możliwe
> zachowania przeciwnika.
> [...]
> Blef może być czasami optymalny sam w sobie, ale jak nie jest to
> widzę te same problemy.
Właśnie to mój błąd że rozgraniczam zachowania na ruchy optymalne i blef.
Pozdrawiam
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Następne wpisy z tego wątku
- 10.05.12 08:02 Paweł Kierski
- 10.05.12 08:33 voy
- 09.05.12 13:52 Roman W
- 09.05.12 16:15 Roman W
- 15.05.12 17:36 M.M.
- 15.05.12 18:01 Edek Pienkowski
- 15.05.12 19:31 M.M.
- 15.05.12 20:31 Edek Pienkowski
- 17.05.12 14:20 profesor fir
- 17.05.12 16:20 M.M.
- 17.05.12 16:52
- 17.05.12 16:55
- 17.05.12 21:23 M.M.
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-29 Dławik CM
- 2024-11-29 [OT] Lewe oprogramowanie
- 2024-11-29 Błonie => Sales Specialist <=
- 2024-11-29 Warszawa => IT Expert (Network Systems area) <=
- 2024-11-29 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2024-11-29 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-29 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-29 Pómpy ciepła darmo rozdajoo
- 2024-11-29 Białystok => Application Security Engineer <=
- 2024-11-29 Białystok => Programista Full Stack (.Net Core) <=
- 2024-11-29 Gdańsk => Software .Net Developer <=
- 2024-11-29 Wrocław => Key Account Manager <=
- 2024-11-29 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-29 Chrzanów => Specjalista ds. public relations <=
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO