1 / 48

Brid ge

Brid ge. Karty. 52 karet 13 karet každé barvy Piky Srdce Káry Trefy. Seřazení. A K Q J 10 9 8 7 .. 2 4 hráči – 2 týmy Jedna strana je určena jako sever Proti sobě hrají dvě line sever+jih proti východ+západ. Fáze hry. Licitace Sehrávka. Licitace.

walden
Download Presentation

Brid ge

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bridge

  2. Karty • 52 karet • 13 karet každé barvy • Piky • Srdce • Káry • Trefy

  3. Seřazení • A K Q J 10 9 8 7 .. 2 • 4 hráči – 2 týmy • Jedna strana je určena jako sever • Proti sobě hrají dvě line • sever+jih proti východ+západ

  4. Fáze hry • Licitace • Sehrávka

  5. Licitace • Všichni si prohlédnou karty a rozdávající řekne první hlášku • XK, kde X je počet zdvihů a K je barva v pořadí trefy, káry, srdce, káry,piky, bez trumfů • Větší X znamená vyšší hlášku • PAS = hráč se vzdává licitace • KONTRA = hráč zdovjnásobuje body • Licitace končí poté, co 3 hráči po sobě pasují • První kdo navrhl vítěznou barvu se stává hlavním hráčem, jeho týmový kolega odevzdává karty stolu

  6. Sehrávka • Hlavní hráč + stůl jsou útočníci, druzí dva jsou obránci • Začíná hlavní hráč • Vynese první kartu • Dále po směru hodinových ručiček • Za stůl hraje hlavní hráč • Zdvih = zdvih získá hráč, který vyložil nejvyšší kartu nebo trumf • Hráči musí ctít barvu

  7. Licitační systémy • Problém nalezení závazku • Úkolem licitačního systému je vydražit takový závazek, který by vydražili hráči se znalostí i karet spoluhráče • Založeno na empirických poznatcích • ACOL, Standard American

  8. ACOL • Systém „Honor points“ • Eso +4 • Král +3 • Dáma +2 • Kluk +1 • Ve hře dohormady 40 HP, tj. nadprůměrný list je už 11 HP • Založeno na pravidlech pro HP

  9. Pravidla ACOLu „Vyvážený list (VL) jsou alespoň dvě karty v každé barvě“ „Drahý list (DL) jsou alespoň 4 karty v drahé barvě“ „Levný list (LL) je alespoň 6 karet v barvách kára, srdce, piky“ • 12-14 HP + VL = 1 BT • 11-20 + DL = 1 Srdce nebo 1 Pik • 11-20 a ne DL = 1 Káro nebo 1 Tref • >21 HP a ne VL = 2 trefy • 6-10 HP a LL = 2 (Kára, Srdce, Piky) • 22-24 HP + VL = 2 BT • Jinak pasuje

  10. Hledání optimální strategie • single dummy problém - klasický bridge podle dříve popsaných pravidel • double dummy problém - v případě, že známe i karty jednoho z protihráčů, tj. jedná se o hru s úplnou informací – všichni znají všechny karty a jejich rozložení

  11. Plánovací a expertní systémy • snaha převést metody a postupy, které používá člověk • plánovací (expertní) systém rozkládá úkoly na menší až na jednotlivé primitivní úkoly • metody obsahují omezující podmínky pro použití • pokud systém nemůže žádnou metodu použít, rozloží úkol na podúkoly • v případě konfliktu se vrací zpět v hierarchii úkolů

  12. Praktická implementace – Tignum 2 • expertní systém • množina stavových informací pro reprezentaci karet, u nichž hráč znal polohu • belief function = přiřazení pravděpodobnosti k poloze ostatních karet • Metoda Impasu

  13. Impas • Je-li jih na výnosu, záleží na tom, kde je pikový král • Drží-li pikového krále západ, vynese jih libovolnou kartu • Pokud západ vynese krále, přidá stůl (sever) eso. • Drží-li pikového krále východ, pak není možné získat dva zdvihy s P=1, ale pouze s P=1/2

  14. Taktické plány pro volbu karty

  15. Vlastnosti • ne všechny větve ve stromě odpovídají pravidlům • odpovídá různým taktickým schématům • nezkouší se všechny karty protivníka, ale jen ty, které reprezentují nějakou podmínku taktického plánu (např. 3 ve smyslu „malá piková karta“) • vede to k menšímu faktoru dělení

  16. Proč to nefunguje ? • Prořezávání stavového stromu můžeme nazvat zobecněným expertním systémem, kde jsou obsaženy všechny metody

  17. Prořezávání celého stavového herního stromu • vygenerujeme všechna možná rozložení karet u obránců • zvolíme kartu, která zajišťuje výhru v co největším počtu rozložení • chyba! vede k míchání strategií Karta, kterou vybereme nemusí být součástí optimální strategie pro single-dummy problém

  18. Řešení ? • uzly nejsou ohodnoceny jen počtem uhratelných zdvihů, ale dvojicí (p,Z), kde p,Z je z S, kde S je množina všech možných konfigurací obránců. p jsou všechny konfigurace, proti kterým lze uhrát příslušný závazek v tomto stavu a Z jsou všechny konfigurace, jež jsou v souladu s pravidly a dosavadním průběhem hry

  19. Kořen stromu (po, Zo), kde po je hledaná množina konfigurací, pro něž lze uhrát závazek, Zo = S • Větve do dalších stavů: • na tahu hlavní hráč, uzly jsou vytvořeny vygenerováním všech možných tahů, Z zůstává nezměněna • na tahu obránce, uzly jsou vygenerovány pro všechny karty c, jež jsou přípustné v alespoň jedné konfiguraci. Pro každý uzel je ze Zn zkonstruována množina Zn+1 (vyřadí se konfigurace, jež nejsou v souladu se zahranou kartou) • Koncové stavy, byly odehrány všechny karty (konkrétní situace v S). Poloha všech karet je známa. • Pokud hráč uhrál závazek, pak p = S • jinak p = S \ s • Pořád nestačí

  20. pravidla pro hru obránců • Protože obě linie se snaží stát se hlavními hráči, většina karet s figurai je pravděpodobně na straně, jež navrhla příslušný herní závazek. Na obránce zbývá jen malý počet HP. • Obránci během sehrávky používají markování, tedy mohou si zvolit konvenci odhazování karet • Po dvou až třech zdvizích se hra obránců přibližuje hře otevřených karet

  21. Min-max funkce

  22. Stavový strom • Celý stavový strom pro Bridge je moc velký, odhadem 13!13!26! Listů stavového herního stromu • Program se snaží generovat jen situace, jež jsou v suladu s dosavadním průběhem hry, pravidly a licitací.

  23. Teorie her • musíme přijmout některé předpoklady • míchání karet je náhodné • vždy je možné definovat zisk hráče • nepředpokládáme znalosti protihráčů • Bridge je vždy konečná hra pro 4 hráče • obecný problém

  24. zero dummy problém – nikdo nezná jiné karty než své vlastní • single dummy problém – vidíme karty stolu a své vlastní (reálný bridge) • double dummy problém – vidíme karty ještě jednoho z protihráčů • half dummy problém je redukce hry na dva hráče, držící karty v každé ruce, každý hráč zná jen ty své (hra s neúplnou informací)

  25. Zisk jednotlivých hráčů – reálný bridge • Po: Hráč se snaží prioritně maximalizovat počet bodů za zdvihy a prémie • P1: Hráč chce uhrát maximální počet zdvihů: max (Z * P(Z)), ziskem je tedy E(Z) • P2: Hráč se snaží uhrát závazek, nebo aby protihráč závazek neuhrál. Zisk hráče je P(výhry) • P2A: Hráč se snaží uhrát závazek, a pokud má více stejně dobrých možností, snaží se maximalizovat střední hodnotu počtu uhraných zdvihů

  26. Half-dummy jako maticová hra • konečnou hru pro dva hráče můžeme reprezentovat kořenovým stromem • V každém vrcholu rozhoduje buďto hráč A nebo hráč B • Množinu vrcholů hráče X, ve kterých se hráč X rozhoduje a neví, ve kterém se nachází, označíme informační množina hráče X. Definice: čistá strategie hráče. Je to předpis, který danému hráči říká, jak jednat v libovolné jeho informační množině Definice: smíšená strategie hráče. Je to pravděpodobnostní rozdělení na všech čistých strategiích daného hráče

  27. bij = -aij • Pokud si hráč A zvolí čistou strategii i a hráč B strategii j, pak zisk A závisí pouze na rozdání karet a jejich rozložení. • Pravděpodobnosti rozdání a rozložení hsou známy, tj. E(Zisk A) = aij a E(Zisk B) = bij • Celá hra je popsána maticí {aij }ij • Pokud A a B zvolí strategie {xi}i a {yj}j pak

  28. Optimální strategie hráče A vůči strategii {yj}jhráče B je taková libovolná {xi}i , že ∑ij xiaijyj je maximální • Ekvilibriální optimální strategie (Nashovo ekvilibrium) je dvojice smíšených strategií {xi}i a{yj}jtakových, že {xi}i je optimální vůči {yj}ja naopak • platí (von Neumann)

  29. Metoda lineárního programování • U maticových her {aij}ij pak je vždy možné najít ekvilibriální strategii pomocí metod lineárního programování, tj. Řešením tohoto problému jsou všechny ekvilibriální optimální strategie hráče A a hodnota hry. Problém je s dimenzí matice.

  30. Algoritmus konstrukce homogenní optimální protistrategie • Předpokládejme, že soupeř hraje strategii SY • Všechny konfigurace jsou stejně pravděpodobné • Soupeř hraje první kartu, známe P(C,K), tj. pst, že zahraje kartu C pokud má konfiguraci K, tj. analogicky známe P(K,C), tj. pokud zahrál kartu C, pak má s určitou pravděpodobností konfiguraci K • Vždy, když soupeř vynese nějakou kartu, aktualizujee pravděpodobnosti jeho aktuální konfigurace • Ze znalostí konfigurace na začátku jsme schopni si dopočítat aktuální pravděpodobnosti v čase t • Pokud zbývá n tahů do konce, známe strategii maximalizující zisk. Jsme schopni to udělat i pro n+1 tahů do konce. Pokud zbýva n+1 tahů do konce a jsme na tahu, pak dokážeme pro každou kartu, kterou je možno zahrát dopočítat zisk hráče A z indukčního předpokladu. Tj. zvolíme kartu, která nám přinese největší zisk. Hraje-li hráč B, pak pro každou kartu C, kterou by mohl zahrát zvolíme PC, že by ji soupeř mohl zahrát. • Problém je, že nám algortitmus neříká jak hrát v libovolné situaci

  31. Goren In a Box (GIB) • narozdíl od ostatních programů se GIB nesnaží implementovat strategie používané lidmi • brute-force k analýze situace • k vybrání karty použije Monte Carlo metody, na základě analýzy

  32. GIB - Hra • pro případ double dummy problému je herní strom minimax • počet větvění je zhruba 4 • α-β a transpoziční tabulky jej redukují na 1.7 • pokročilejší heuristika redukuje až na 1.3 což reprezentuje přibližně 106 uzlů • Partition search redukuje stavový prostor až na 50 000 uzlů

  33. Monte Carlo • Chceme rozložit zatím neodhalené karty náhodně, beroucí v úvahu rozložení tak, že je v souladu se závazkem a s doposud zahranými kartami • Zkonstruuj množinu rozložení D, konzistentní se závazkem a s doposud zahranými kartami • Pro každý tah a každé rozložení spočítej zisk zahráním tahu m. • Vrať takové m, pro které je největší

  34. Slabiny GIBu • GIB je dobrý v nacházení možností, které vedou k uhrání zdvihu nebo k jeho ztrátě • Ale je špatný v kombinování těchto možností • GIB je na tahu a může si zvolit 1 ze 4 možných větví • první dvě závisí na libovolných (ale rozdílných) rozloženích protihráčů • třetí odsouvá rozhodnutí tím, že udělá něco (cokoliv) náhodného • čtvrtá uspěje nezávisle na rozložení karet u protihráčů • GIB si náhodně vybere mezi 3. a 4. s tím, že pokud to může odsunout rozhodnutí, příště to udělá správně

  35. GIB - Licitace • má dva účely • domluvit se se spoluhráčem • narušit to samé protihráčům • jednoduché systémy (ACOL) jednoduše draží závazek odpovídající právě kartám, které má systém k dispozici • správnějším řešením je zkombinovat průběh licitace (Monte Carlo systém – Borel simulation)

  36. Borel Simulation • Zkonstruuj množinu rozložení D s ohledem na dosavadní průběh licitace • Pro každou hlášku a pro každé rozložení použij databázi Z, ke zjištění jak bude licitace pokračovat, pokud dáme hlášku b. Spočítej zisk eventuálního závazku. 3. Vrať b takové, že je maximální Z = databáze hlášek

  37. Partition search • motivace: počítač stráví při prohledávání stavového prostoru většinu času ve větvích, které by člověk okamžitě vyřadil příklad: šachová pozice, bílý na tahu. Zaútočí na černou královnu, pokud černý neodpoví na útok, pak bílý ztratí svou královnu. • analýza určí kam královna může jít a určí odpovídající odpovědi. • stroj musí projít každý možný tah černého

  38. Hra je čtveřice (G,pI,s, ev), kde G je konečná množina pozic, pI je počáteční pozice. dává následníka pozice. A ev je funkce 1.Neexistuje posloupnost p0,...,pn, kde n > 0, 2.

  39. Partition search – algoritmus [1] • Mějme hru (G,pI,s, ev) a množinu pozic Řekneme, že množina pozic, které můžou dosáhnout pozic S je množina všech p, pro která platí .Tuto množinu budeme značit R0(S) • Množina pozic, které jistě dosáhnou S je množina všech p takových, že a značíme ji C0(S)

  40. Partition search – algoritmus [2] • Partition systém pro hru je trojice (P,R,C) funkcí: • P : G → P(G) • R : G x P(G) → P(G) jako argument má pozici p a množinu S. Pokud a • C : G x P(G) → P(G) jako argument má pozici p a množinu S. Pokud ,pak a

  41. Partition search – algoritmus [3] • efektivita PS závisí na velikosti transpozičních tabulek • velké: hodně pozic je spočteno lookupem • malé: PS je degradován na alfa-betu

  42. Partition search – implementace • pokud máme záznam v transpozičních tabulkách, pak vracíme rovnou výsledek • pokud je výsledkem ev(p) hodnota pak vracíme aktuální hodnotu hry v a fci P takovou, že mapuje pozice do množiny pozic tak, že pro každou pozici p je p v P(p)

  43. ev(p) = max – na tahu je maximalizující hráč • Pro všechny následníky pozice p provedeme alfa-betu • Pokud je spočtená hodnota hry větší než ořezáníy pak přidáme nalezený výsledek do transpoziční tabulky a vracíme výsledek • Pokud je hodnota hry vnew větší než původní hodnota hry vans pak přidáme do množiny S aktuální množinu pozic. • vans = 0 pak maximalizující hráč prohrává a neexistuje žádná pozice, která může prohru odvrátit, jinak upravíme množinu S

  44. Analogicky

More Related