IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @443
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

Online Poker

Naučte sa zdarma Poker Už 30 miliónov užívateľov vyskúšalo www.pokerstars.net

Súťaž o dovolenku

Zapoj sa do online súťaže NIVEA a hraj o balíčky slnečnej kozmetiky www.nivea.sk

PZP Genertel online

Teraz o 5% lacnejšie ako kdekoľvek! Garantovaná najnižšia cena PZP do 31.5.! www.genertel.sk

Fotosúťaž Milujem svoju prácu

Zachyťte nevšedné chvíle zo života vašej kancelárie a hrajte o hodnotné ceny www.westendtower.sk

SunSoft e-shop

Kompletný sortiment výpočtovej techniky. Tisíce položiek za výhodnú cenu. shop.sunsoft.sk

algoritmy na poker

Zaslať odpoveď
AutorSpráva
zipper
Užívateľ
Užívateľ

Založený: 27.07.2010
Príspevky: 15

PríspevokZaslal: St 26.10.11 14:51Odpovedať s citátomNávrat hore

zdravim... budem programovat hru poker a rozmyslam ci by sa nedali najst na nete nejake algoritmy ako by pocitac "rozmyslal".. neviete o niecom...?
Zobraziť informácie o autoroviOdoslať súkromnú správu
Trty
Užívateľ
Užívateľ

Založený: 25.08.2007
Príspevky: 2200
Bydlisko: Bratislava (Trenčín víkendovo)
Vek: 21

PríspevokZaslal: St 26.10.11 14:53Odpovedať s citátomNávrat hore

čo tak robit to cez generator nahodnych čísel??? to naprogramujes za 3 minuty...

_________________
-Notebook: Asus K50AB SX044: CPU: AMD Turion™ x2 2,2Ghz , GPU: ATi Mobility Radeon HD4570, LCD: 15.6'' HD/LED, RAM:Kingston 2x 2GB DDR2 800MHz, HDD:Seagate momentus 500GB 5400RPM, Windows 7 Ultimate, Mouse: Logitech M325 Golden Trace Lines, Audio: Genius SP-HF1200A,Externý HDD: A-DATA Superior SH02 640GB

-Mobil: Nokia N8-00 Silver/white- symbian Belle 111.030.0609
Zobraziť informácie o autoroviOdoslať súkromnú správu
zipper
Užívateľ
Užívateľ

Založený: 27.07.2010
Príspevky: 15

PríspevokZaslal: St 26.10.11 15:12Odpovedať s citátomNávrat hore

Trty napísal:
čo tak robit to cez generator nahodnych čísel??? to naprogramujes za 3 minuty...


to hej... ale to tak na rozdavanie... ja potrebujem aby si pocitac vedel vypocitat ako sa ma spravat... ci ma zlozit karty, navysit, dorovnat, apod...
Zobraziť informácie o autoroviOdoslať súkromnú správu
Trty
Užívateľ
Užívateľ

Založený: 25.08.2007
Príspevky: 2200
Bydlisko: Bratislava (Trenčín víkendovo)
Vek: 21

PríspevokZaslal: St 26.10.11 15:31Odpovedať s citátomNávrat hore

aha,to chces aby ludia hrali proti PC? na zaciatok by ti mohlo stacit ak by si vytvoril nieco,kde by hrali iba ludia proti sebe... ci ty chces original nieco ako hraci automat? zasa davaj pozor na to aby ti pocitac nenavysoval a stale prehraval,alebo stale vyhraval... toto bude mrte zlozite,hlavne koly tomu,ze PC bude musiet predvidat a vypocitavat co prijde...

na nete nic take nenajdes,kazdy kto nieco take ma a zaraba na tom,tieto programi chráni proti kradezi... to len tak nezozenies... pochop,keby mal kazdy algoritmy na hracie automaty alebo blackjack alebo ruletu,bud by to mal kazdy,alebo by to kazdy vedel obohrat....

zrejme si si to predstavoval jednoduchsie ako to je...

_________________
-Notebook: Asus K50AB SX044: CPU: AMD Turion™ x2 2,2Ghz , GPU: ATi Mobility Radeon HD4570, LCD: 15.6'' HD/LED, RAM:Kingston 2x 2GB DDR2 800MHz, HDD:Seagate momentus 500GB 5400RPM, Windows 7 Ultimate, Mouse: Logitech M325 Golden Trace Lines, Audio: Genius SP-HF1200A,Externý HDD: A-DATA Superior SH02 640GB

-Mobil: Nokia N8-00 Silver/white- symbian Belle 111.030.0609
Zobraziť informácie o autoroviOdoslať súkromnú správu
zipper
Užívateľ
Užívateľ

Založený: 27.07.2010
Príspevky: 15

PríspevokZaslal: Št 27.10.11 12:00Odpovedať s citátomNávrat hore

mam uz trosku predstavu ako by sa to dalo spravit... podarilo sa mi dokonca najst nejake jednoduche pseudokody k texas holdem... samozrejme neratam ze to spravim za tyzden... =) bude to makacka, ale nic nie je nemozne...
Zobraziť informácie o autoroviOdoslať súkromnú správu
incredible
Užívateľ
Užívateľ

Založený: 11.02.2009
Príspevky: 1242

PríspevokZaslal: Št 27.10.11 14:35Odpovedať s citátomNávrat hore

ja si nemyslim ze to bude take tazke. Je to len o pravdepodobnosti, cize matematickych vzorcoch. A to ani nemusia byt dokonale presne vypocty, aby pocitac furt nevyhraval. Ovela tazsie by bolo spravit AI na piskvorky, damu, alebo dokonca sach.
Zobraziť informácie o autoroviOdoslať súkromnú správu
nBXXL
Užívateľ
Užívateľ

Založený: 27.12.2008
Príspevky: 972
Bydlisko: Nové Zámky, Slovensko
Vek: 18

PríspevokZaslal: Št 27.10.11 15:15Odpovedať s citátomNávrat hore

keď programuješ AI-čku, tak potrebuješ hlavne AI-čku naučiť analyzovať a zvládať všetky možné situácie: napr. keď nemá na ruke nič, keď má na ruke jeden pár, dva páry, atď. Porozmýšľaj, čo sa ti viac oplatí, ako by si sa v danej situácii zachoval ty (prípadne si nasimuluj zopár hier ako hráš ty a zapíš si, že ako sa správaš v rôznych situáciach) a nastav mu nejaké percentá náhodnosti, nech nerobí furt to isté. Napr: Pokiaľ nemá nič na ruke, tak v 50% prípadoch foldne, v 25% prípadoch dorovná, pokiaľ suma nepresiahne X, 20% prípadoch dorovná, pokiaľ suma nepresiahne Y, 5% zvýši o Z... atď.. toto isté sprav potom pre situáciu, keď má na ruke jeden pár, ale potom už mu daj nech menej folduje atď.. to je taký základ..

potom keď ju chceš trocha skomplikovať, tak naprogramuj analýzu súperových predchádzajúcich ťahov, a nech sa správa podľa toho (napr. pokiaľ súper veľa blafuje, nech AI-čka viac dorovnáva atď)..

AI-čka na stávkovacie/gamblerské hry sa programuje asi najľahšie.. pretože tam existuje veľmi málo rôznych možných stratégií a stavov hry.. ako už napísal NieSomCvok, AI-čka na dámu, alebo šach môže byť dosť ťažká... (piškvorky ani nie... tam máš iba zopár situácií: súper vie vyhrať v nasledujúcom ťahu, súper vie vyhrať o dva ťahy..., AI vie vyhrať v nasledujúcom ťahu, AI vie vyhrať o dva ťahy... a kombinuješ..)

_________________
PC: MB: ASUS K8V SE Deluxe; CPU: AMD Athlon 64 2800+ 1.8GHz; GPU: Sapphire Radeon X1950GT AGP (500/600); RAM: Kingston 1GB DDR400 CL3 + A-Data 256MB DDR400 HDD: Western Digital 20 + 200GB; Monitor: LG 771E (17" CRT, stary ale dobry, aj ked trochu tmavy); PSU: Rexpower PZ-400W; OS: Windows 7 32-bit + ArchLinux 32-bit

NB: Asus K53SJ-SX093: i3-2310M + GT520M Optimus + 4GB RAM + Win7 64-bit + ArchLinux 64-bit
Zobraziť informácie o autoroviOdoslať súkromnú správuSkype
incredible
Užívateľ
Užívateľ

Založený: 11.02.2009
Príspevky: 1242

PríspevokZaslal: Št 27.10.11 15:51Odpovedať s citátomNávrat hore

ja som robil piskvorky pre dvoch hracov ako SOČ, dalo sa tam nastavit aj na kolko krizikov sa hra, ci na 4, na 5, atd. Potom som rozmyslal aj nad nejakou AI, ale nevedel som si vobec predstavit, ako by to šlo.

// pridané po 8 minútach od posledného príspevku

Trty napísal:
na nete nic take nenajdes,kazdy kto nieco take ma a zaraba na tom,tieto programi chráni proti kradezi... to len tak nezozenies... pochop,keby mal kazdy algoritmy na hracie automaty alebo blackjack alebo ruletu,bud by to mal kazdy,alebo by to kazdy vedel obohrat


urcite by sa dalo toho dost najst, hlavne dake zakladne principy a vzorove funkcie. Aj ked to samozrejme nebude tak prepracovane ako algoritmy v platenych hrach. Ale musis vediet po anglicky.
Zobraziť informácie o autoroviOdoslať súkromnú správu
nBXXL
Užívateľ
Užívateľ

Založený: 27.12.2008
Príspevky: 972
Bydlisko: Nové Zámky, Slovensko
Vek: 18

PríspevokZaslal: Št 27.10.11 17:28Odpovedať s citátomNávrat hore

ja som SOČ nerobil, lebo som lenivý a k piškvorkám len tak zbrucha: máš hracie pole uložené ako dvojrozmerné pole.. predpokladám štandardné piškvorky na 5, hraciu plochu menšiu ako 1000x1000, takže sa nemusím moc babrať s časovou zložitosťou.. pozrem každé hracie políčko, všetkými ôsmimi smermi, či na ňom nezačína rad X-iek a O-čok (samozrejme dáko ošetrím, aby mi nenašlo tú istú dvakrát, či už za behu alebo po preskenovaní).. zistím, koľko 4-členných, 3-členných, 2-členných a 1-členných postupností mám a koľko má súper.. potom pozrem na každé políčko, čo sa môže stať v najbližších kolách (napr. prehra v nasledujúcom ťahu pokiaľ tam znak nepoložím je asi najväčšia výhodnosť, výhra v nasledujúcom ťahu pokiaľ tam znak položím, potom prehra o 2 ťahy pokiaľ tam znak nepoložím atď.), pokiaľ tam položím svoj znak a vypočítam si dákym spôsobom "výhodnosť" položenia znaku na toto políčko.. (napr. vysokú výhodnosť budú mať políčka, ktorými zablokujem nepriateľovu šancu na výhru, nízku výhodnosť úplne odľahlé políčka), zoradím políčka podľa výhodnosti a vyberiem to s najväčšou výhodnosťou a položím naň znak.. to je úplný základ, potom sa dá vylepšovať algoritmus na počítanie výhodnosti tým, že bude zohľadňovať dáke klasické finty/taktiky (napr. ukladanie znakov do X-ka, do štvorca, atď).. a samozrejme veeeeľa času stráveného debugovaním

ad poker: algoritmy v platených hrách tým, že sú uzavreté a verejnosti neprístupné, a sú použité takmer výnimočne v prípade hry hráč proti AI, môžu byť (a často aj sú..) navrhované takým štýlom, že AI vie, čo máš ty, a správa sa podľa toho (tj. za každých okolností vie spraviť ťah, ktorý ju povedie k výhre / najmenšej strate), a má nastavené nejaké percento výhry a prehry... týmto pádom je algoritmus ľahší na naprogramovanie, a výsledný efekt je takmer ten istý.. reálne sa takýto algortmus dá nazvať aj škodoradostná AI a je to hanba všetkých AI-čok, pretože tým akurát dokazuješ všeobecne podporovaný mýtus, že každá AI-čka cheatuje..

_________________
PC: MB: ASUS K8V SE Deluxe; CPU: AMD Athlon 64 2800+ 1.8GHz; GPU: Sapphire Radeon X1950GT AGP (500/600); RAM: Kingston 1GB DDR400 CL3 + A-Data 256MB DDR400 HDD: Western Digital 20 + 200GB; Monitor: LG 771E (17" CRT, stary ale dobry, aj ked trochu tmavy); PSU: Rexpower PZ-400W; OS: Windows 7 32-bit + ArchLinux 32-bit

NB: Asus K53SJ-SX093: i3-2310M + GT520M Optimus + 4GB RAM + Win7 64-bit + ArchLinux 64-bit
Zobraziť informácie o autoroviOdoslať súkromnú správuSkype
zipper
Užívateľ
Užívateľ

Založený: 27.07.2010
Príspevky: 15

PríspevokZaslal: Pi 28.10.11 8:49Odpovedať s citátomNávrat hore

nBXXL napísal:

ad poker: algoritmy v platených hrách tým, že sú uzavreté a verejnosti neprístupné, a sú použité takmer výnimočne v prípade hry hráč proti AI, môžu byť (a často aj sú..) navrhované takým štýlom, že AI vie, čo máš ty, a správa sa podľa toho (tj. za každých okolností vie spraviť ťah, ktorý ju povedie k výhre / najmenšej strate), a má nastavené nejaké percento výhry a prehry... týmto pádom je algoritmus ľahší na naprogramovanie, a výsledný efekt je takmer ten istý.. reálne sa takýto algortmus dá nazvať aj škodoradostná AI a je to hanba všetkých AI-čok, pretože tým akurát dokazuješ všeobecne podporovaný mýtus, že každá AI-čka cheatuje..


jj takto nejak to asi aj budem robit... proste AI naucim co sa jej viac oplati ked sa pozrie na hracove karty.... s tym ze v niekolkych pripadoch sa zachova tak ze vyhra, v niekolkych tak ze prehra... (bude zavisiet od nastavenej obtiaznosti)... rozmyslam aj nad tym ze by som analizoval hracovu strategiu... napr ak bude blufovat, tak aby ho PC dorovnaval, ale to budem riesit neskor....
Zobraziť informácie o autoroviOdoslať súkromnú správu
p360t
Skúsený užívateľ
Skúsený užívateľ

Založený: 30.05.2006
Príspevky: 1775
Bydlisko: BA - EASTSIDE

PríspevokZaslal: Pi 28.10.11 10:37Odpovedať s citátomNávrat hore

Môžeš spraviť "férovú" AI cez tzv. minimax algoritmus http://en.wikipedia.org/wiki/Minimax ale bude to asi pomalé a nie úplne presné.

_________________
[quote="A. S. Tanenbaum"]The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.[/quote]
Zobraziť informácie o autoroviOdoslať súkromnú správuICQZobraziť autorove WWW stránky
1bobo2
Užívateľ
Užívateľ

Založený: 05.11.2011
Príspevky: 5

PríspevokZaslal: So 05.11.11 12:23Odpovedať s citátomNávrat hore

čaute chalani,,

vedel by mi niekto spravit toto ? ja si stym neviem rady, programovanie mam len mesiac a hned mam toto spravit.

Zadanie 1P: Poker
1.hráčovi sa vygeneruje(a ukáže) náhodne 5 kariet (bez opakovania!!) (platné karty 2-10,A,J,Q,K,A) každá v 4 rôznych farbách Ze(zelen),G(gula),C(cerven), Z(zalud).
2. Nasledovne hráč dostane na výber, koľko a ktoré karty chce vymeniť. Tieto sa mu vymenia opäť za náhodné (samozrejme mimo tých čo vrátil).
3. Na konci sa vypíše najlepšie hodnotenie kariet. Hodnotí sa podľa pravidiel pokru Texas Holdem. Nutné zahrnúť dvojice, trojice farbu(flush), full-house a poker.

pri kartach: AZe,2G,2Ze, KG, AC sa vyhodnoti, ze v kartach su 2 dvojice.
pri kartach: AZe,2G,KG,AZ, KG, AC sa vyhodnoti, ze v kartach je trojica.
pri kartach: AZe,2G,2C,AZ, AC sa vyhodnoti, ze v kartach sa nachádza full-house.
Zobraziť informácie o autoroviOdoslať súkromnú správu
nBXXL
Užívateľ
Užívateľ

Založený: 27.12.2008
Príspevky: 972
Bydlisko: Nové Zámky, Slovensko
Vek: 18

PríspevokZaslal: So 05.11.11 14:41Odpovedať s citátomNávrat hore

spravil by som to nejak takto: oddelil by som farby od číselných hodnôt.. potom by som pozeral každú číselnú hodnotu koľko krát sa v poradí nachádza (normálne do intov pre každú hodnotu), pokiaľ sa nejaká nachádza 2-krát, tak jeden pár, pokiaľ sa 2 nachádzajú 2-krát tak 2 páry, pokiaľ sa nachádza jedna 2-krát a jedna 3-krát tak full house, pokiaľ sa nachádza jedna 4-krát tak jedna štvorica (toto by som ukladal do booleanov) atď.. potom pozrieť farby, pokiaľ je všetkých 5 z jednej farby tak máš flush.., nakoniec zoradiť 5 čísel (J,Q,K,A interpretuj ako 11,12,13,14), a pozrieť, či sú v postupke.. (teda či je medzi nimi rozdiel rovný 1), tak zistíš, či máš straight...

nakoniec si pozrieš v akom poradí sa hodnotia jednotlivé veci a podľa toho ideš klasicky if (straight && flush) printf("Straight flush"); else if (straight) printf("straight"); else...

_________________
PC: MB: ASUS K8V SE Deluxe; CPU: AMD Athlon 64 2800+ 1.8GHz; GPU: Sapphire Radeon X1950GT AGP (500/600); RAM: Kingston 1GB DDR400 CL3 + A-Data 256MB DDR400 HDD: Western Digital 20 + 200GB; Monitor: LG 771E (17" CRT, stary ale dobry, aj ked trochu tmavy); PSU: Rexpower PZ-400W; OS: Windows 7 32-bit + ArchLinux 32-bit

NB: Asus K53SJ-SX093: i3-2310M + GT520M Optimus + 4GB RAM + Win7 64-bit + ArchLinux 64-bit
Zobraziť informácie o autoroviOdoslať súkromnú správuSkype
incredible
Užívateľ
Užívateľ

Založený: 11.02.2009
Príspevky: 1242

PríspevokZaslal: So 05.11.11 16:37Odpovedať s citátomNávrat hore

pri texas holdem sa rozdavaju kazdemu hracovi iba 2 karty. To co ti vravis je omaha holdem
Zobraziť informácie o autoroviOdoslať súkromnú správu
1bobo2
Užívateľ
Užívateľ

Založený: 05.11.2011
Príspevky: 5

PríspevokZaslal: So 05.11.11 16:55Odpovedať s citátomNávrat hore

a neda sa mi to dak cele napisat ? :/ mne toto Cečko nič nehovori.. mam to mesiac.. a neviem taketo veci ešte nakodit.. nenašel by sa tu niekto ochotny ?
Zobraziť informácie o autoroviOdoslať súkromnú správu
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd