Pokonanie pokerowego bota

107

Pojawił się nowy pokerowy bot Open Source o nazwie PokerPirate . Interesują mnie wszelkie kreatywne sposoby, w jakie aplikacja internetowa mogłaby wykryć / udaremnić / pokonać pokerowego bota. (To dyskusja czysto akademicka, w tym samym duchu, w jakim napisano PokerPirate).

wieża
źródło
8
Zakładam, że masz na myśli „ więcej sposobów”, biorąc pod uwagę, że pierwsza / pierwsza odpowiedź należy do Ciebie :-)
David Johnstone,
9
Porozmawiaj z każdym graczem.
Lasse V. Karlsen
2
@Lasse: hmm, to nie wystarczy, jeśli gracz jest botem, który
zdał
5
Niezależnie od tego, czy zdałby test turinga, nie powstrzymuje to twórcy bota przed siedzeniem przy stołach i spędzaniem całego czasu na rozmowach.
Tom Gullen,
6
Najlepszym podejściem jest zrobienie tego, co robi Vegas: ustalenie reguł gry, tak aby jedyną zwycięską strategią był dom, a potem dom. W tym momencie wszystko, co robi bot, to szybsze tracenie pieniędzy i możesz przestać się opiekować.
BCS,

Odpowiedzi:

209

Pokonanie bota z perspektywy serwera

  1. Wiele witryn z pokerem online korzysta z wyskakujących okienek Captcha, które są wywoływane przez podejrzaną aktywność.

  2. Niektóre poker monitorować razy i wzorców (czyli najgorszy scenariusz jest gracz, który gra 24x7 i 16 stołów w sposób ciągły, istnieje malutka szansa ta jest prawdziwym człowiekiem. (Jednak niektórzy gracze grając mają zdolność do odegrania bardzo dużą dłoń tomy, które niedoświadczonemu oku wydawałyby się botem)

  3. Wyrzuć to usterki. Jeśli podejrzewasz, że gracz jest botem, zmień wszystkie pozycje jego kart do gry o kilka pikseli na ekranie, nadaj im różne kolory / wzory / wzory dla 1/100 rąk i zobacz, czy je wyrzuca. Jeśli nie może pobrać ekranu, przekroczy limit czasu na wszystkie swoje decyzje i to jest dość przekonujący dowód bota.

  4. Czas mówi, że jeśli gracz komputerowy reaguje na opcje w milisekundach na raz, bez zastanowienia się nad dużymi decyzjami, może to być podejrzane

  5. Samokontrola. Witryna pokerowa pokertableratings.com zawiera dane z wielu dużych witryn. Spotkało się z mieszanym przyjęciem, niektórzy uwielbiają przejrzystość, inni nienawidzą . Zaletą jest jednak to, że zdarzały się przypadki, w których podejrzane statystyki graczy (procenty VPIP, procenty PFR to kilka z dużej liczby wymiernych statystyk, które można zarejestrować) prowadziły do ​​wniosków dotyczących oszukiwania

  6. Sztucznie inteligentne sieci klasyfikacyjne mogą monitorować wymierne statystyki, aby klasyfikować nieuczciwych oszustów lub robotów.

  7. Kiedy poker online był całkiem nowym podmiotem, pojawiły się plotki i dyskusje z ograniczonymi dowodami, że niektóre programy klienckie pokera pokazują ekrany komputerów podejrzanych graczy, aby sprawdzić, czy uruchamiają programy, które im pomagają. Jednak (nawet gdyby to była prawda) uruchomienie dwóch komputerów w celu niezależnego wykonania tych dwóch zadań pozwoliłoby obejść ten problem.

  8. Dzielenie się informacjami między recydywistami między wieloma witrynami byłoby korzystne dla branży, gdyby tylko byli honorowi i prowadzeni przez kompetentne i odpowiedzialne osoby

  9. Niektóre boty prawdopodobnie byłyby dość proste z założenia, gdybyś mógł odkryć ich styl gry i zobaczyć, jak zachowują się w identycznych sytuacjach (zauważ, że jest to możliwe tylko w przypadku prostych botów grających bardzo podstawową strategię), możesz je dość szybko odkryć.

  10. Niespójne korzystanie z funkcji programu skłaniałoby się ku autentyczności gracza. Weźmy na przykład wiele witryn pokerowych w grze, które mają przycisk „Spasuj, kiedy jest moja kolej”. Jeśli dostaniesz zły układ i czekasz, aż inny gracz zdecyduje, co zrobić, wielu graczy sprawdzi ten przycisk. Bot może używać tych przycisków. Różnica polega na tym, że bot byłby na skraju częstotliwości używania, prawdopodobnie albo używałby ich przez cały czas, albo wcale. Podczas gdy gracz zazwyczaj wciska „autofold”, ale czasami i tak klika spasowanie, nawet w najbardziej sprzyjających warunkach. Na przykład prawdziwy gracz zazwyczaj naciska na auto pas, ale tym razem tego nie robi. Spasowano do nich, gdy żaden inny gracz nie działał, teraz przedstawiono im jak najkorzystniejsze warunki. Teraz, gdyby nacisnęli spasowanie, byliby mocno skłonni do naciskania autofold od samego początku. Jest to zachowanie niespójne / niezoptymalizowane / przypadkowe, zgodne z byciem człowiekiem. Czas wskazuje, kiedy kliknięto te funkcje, są innymi wskaźnikami. Ważne jest, aby zdać sobie sprawę, że są to wszystkie wskaźniki, a nie ostateczny dowód. Wszystkie te wskaźniki behawioralne można łatwo zasymulować.

Pokonanie bota z perspektywy gracza

  1. Spróbuj zalogować się i zebrać jak najwięcej danych za pomocą oprogramowania takiego jak PokerTracker

  2. Spróbuj zidentyfikować wzorce w jego stylu gry

  3. Spróbuj znaleźć relacje między wielkością zakładu w stosunku do liczby graczy w puli / # i sile rąk

  4. Spróbuj obliczyć zasięg jego rąk . Bot z niskimi stawkami prawdopodobnie nie będzie blefował wystarczająco często, aby mieć jakiekolwiek istotne znaczenie strategiczne, więc skonstruowanie bardzo dokładnych zakresów rąk dla niego nie powinno być zbyt trudne.

  5. Spróbuj znaleźć wycieki w swojej grze za pomocą analizy danych oraz prób i błędów. Po znalezieniu wycieków / wzorców, próbuj je wielokrotnie wykorzystywać i unikaj innych sytuacji.

Tam, gdzie człowiek jest zdolny do przystosowania się , boty prawdopodobnie są w mniejszym stopniu, a gdy ludzie są obciążeni łańcuchami pochylenia , myślenie zorientowane na wyniki i frustracje , boty nie są. Możesz to wykorzystać na swoją korzyść.

Zasadniczo więc nic nie można zrobić, aby to zatrzymać, jeśli robot jest wystarczająco sprytny, aby symulować rzeczywiste opóźnienia w czasie podczas podejmowania decyzji, a także tworzyć rozsądne i realistyczne wzorce gry. Dorzuć kilka losowych warunków i prosty back-chat (leksykon graczy w pokera jest zwykle dość ograniczony ) i masz gracza AI, którego trudno będzie wykryć.

Co mogą zrobić boty, aby uniknąć wykrycia

Kluczem do uniknięcia wykrycia byłoby rozważenie problemu z jak największej liczby punktów widzenia. Próbujesz zasymulować inteligentne ludzkie zachowanie w bardzo małym i ograniczonym świecie. Większość symulacji behawioralnych, które możesz przeprowadzić, jest dość oczywistych, ale im bardziej niekonsekwentny i nieprzewidywalny jest twój bot, tym mniejsze prawdopodobieństwo, że zostanie wykryty.

  1. Twórz realistyczne harmonogramy gry (tj. 3–5 razy w tygodniu, 4 godziny na sesję z nieparzystym tygodniem tu i tam w ciągu roku).

  2. Uruchamiaj programy, aby podejmować decyzje na oddzielnym komputerze, kontrolując komputer zombie w przypadku przechwytywania ekranu dowolnej witryny.

  3. Losowe czasy akcji (nie działaj natychmiast, odczekaj 0,5–2 sekundy na akcję)

  4. Ograniczenie czasu na ważne decyzje. Jeśli decyzja jest na granicy, oblicz ją, a następnie poczekaj chwilę, aby zasymulować myśl.

  5. Losowe użycie funkcji oprogramowania klienta. Symuluj przerwy w toalecie, klikając przycisk „Wypłać mnie” przy wszystkich stołach i od czasu do czasu rób 5 minut przerwy.

  6. Symulowany czat, czat pokerowy jest często bardzo prosty, nigdy nie jest dyskusją ani debatą. W odpowiednich, wykrywalnych momentach mów na przykład „pech” lub „stfu”. Lub nawet poproś programistę o monitorowanie swojego bota i angażowanie się w czat podczas wykonywania.

  7. Upewnij się, że ruchy myszy są realistyczne. Jeśli stoły są wyłożone kafelkami , nie podejmuj decyzji przy stole w lewym górnym rogu, a następnie natychmiast podejmij decyzję w prawym dolnym stole. Większość oprogramowania witryn oferuje teraz skróty klawiaturowe, które mogą być lepsze niż ruchy myszą.

  8. Rób rzeczy, których po prostu nie spodziewaliby się klasyfikatorzy AI. Na przykład raz w roku zadzwoń do nich z prostym, niezłożonym zapytaniem („Pomocy, nie mogę się dziś zalogować!” Lub „Internet nie działa!”). Jest mało prawdopodobne, aby miało to duże znaczenie, ale jeśli osoba pracująca dla firma pokerowa jest na tyle sprytna, że ​​mogła uznać ją za niezawodny wskaźnik.

  9. Sporadyczne przegrane sesje. Tilt można symulować, a bot może grać źle i od czasu do czasu tracić pieniądze. W pewnym momencie wszyscy się przechylają.

Niepokojące jest również to, że strony pokerowe nie przejmują się szczególnie tym, że w ich sieciach działają boty, każdy gracz jest wart dużej sumy prowizji i teoretycznie z czysto cynicznego biznesowego punktu widzenia jedynym minusem byłaby zła prasa, gdyby została odkryta. .

Nawet po wykryciu rażących exploitów (szukaj w Google skandali w sieci Cereus lub Skandalu Absolute Poker , jest to dość szokujące), biznes wydaje się przetrwać i pozostać zdrowy, tracąc tylko dobrze wykształconych i wygrywających graczy (których nie ma wielu). Zwiększa to odsetek mniej wykwalifikowanych graczy w sieci, co z kolei przyciąga z powrotem dobrych graczy. To stary dobry chwyt 22. Doskonały argument za odpowiednią regulacją rynku.

Należy zauważyć, że w każdej grze istnieje równowaga Nasha . Poker online ma swoją linię czasu, tak jak działa teraz, będzie musiał przejść do czegoś bardziej społecznościowego (kamera internetowa / voip), aby każdy mógł mu zaufać w przyszłości (jeśli ludzie mu ufają), ponieważ boty ostatecznie przejmą kontrolę. lepszy i odporny psychicznie. Pokerowa społeczność AI jest bardzo aktywna , napędzana przez środowisko akademickie i / lub kapitał.

Prostsze wersje pokera, takie jak poker z limitem, zostały prawie rozwiązane w małych przestrzeniach wyszukiwania. To tylko kwestia czasu, zanim bardziej złożone wersje gry (odmiany No Limit / Pot Limit Omaha itp.) Staną się możliwe do pokonania dla sztucznych graczy.

Wniosek

Wyrafinowane boty po prostu nie mogą zostać wykryte, dopóki branża nie przejdzie na bardziej społecznościowe środowisko gier online. Nie rozwiąże to problemu, ale z pewnością utrudni robotom wygrywanie na niższych poziomach. Widzieliśmy już niewielką zmianę wraz z wydaniem PKR , 3D i bardziej interaktywnej wersji innych witryn z mniejszą liczbą rozdań na godzinę, w których gra wieloosobowa jest dość trudna do wykonania dla gracza.

Problem dotyczy również natury branży, co jest kolejnym powodem, dla którego warto trzymać się większych, bardziej renomowanych witryn internetowych, w których reputacja jest coraz bardziej zintegrowana z ich modelem biznesowym. Brak przejrzystości i udawana przejrzystość nie pomagają sprawie.

Obecnie prawdziwym wyzwaniem dla twórców botów jest napisanie zwycięskiego algorytmu, nie jest to tak trywialne, jak się wydaje. Każdy, kto gra w pokera, uważa się za dobrego gracza, który wygrywa lub osiąga próg rentowności, co jest po prostu nieprawdą. Dlatego ludzie nadal grają, nawet jeśli tracą pieniądze, mając złudzenie, że po prostu mają pecha lub ich styl gry jest źle rozumiany. Ta arogancja i słabość ludzkiej psychiki kosztowała przegranych graczy dużo pieniędzy i jest podstawowym powodem, dla którego poker może nadal przynosić zyski.

Poker to bardzo skomplikowana gra, w której opanowanie zajmuje lata (stare powiedzenie pozostaje prawdziwe: „Dziesięć minut na naukę, całe życie na opanowanie”). Element szczęścia jest na dłuższą metę niezwykle ograniczony.

Jak każdy inny zawód, aby stać się dobrym, musisz uczyć się setki godzin i grać wiele tysięcy. Zrozumiesz rzeczy, których mniej doświadczeni gracze nie zrozumieją, dostrzeżesz rzeczy mniej doświadczeni. Nauka trwa bardzo długo, być może dłużej niż kiedykolwiek jesteśmy w stanie żyć. To skomplikowana gra.

Jak często widziałeś w telewizji grę cashową z wysokimi stawkami i słyszałeś, jak ktoś krzyczy na nią „To łatwe połączenie!” w ten sposób udowadniając, że amatorzy naprawdę nie rozumieją ani nie rozpoznają wyrafinowania w grze i naprawdę wierzą, że gra na tym poziomie jest ostatecznie prosta. Tak nie jest. Ci gracze z wysokich stawek (przez większość czasu) są w telewizji, ponieważ są naprawdę, naprawdędobry. Prawdopodobnie jest też rozgrywana skomplikowana meta gra, której nasz amauer nie może rozpoznać. Amator nie stanąłby nad szachowym mistrzem i nie krzyczałby na niego, aby poruszył skoczka, ale z powodu dynamiki pokera będącej niedoskonałą informacją, ich psychologia sprawia, że ​​naprawdę wierzą w to, co mówią. Podobnie jak w szachach, decyzje mogą być skomplikowane, delikatne i niezwykle ważne dla całej gry. W miarę jak gra staje się coraz bardziej złożona, trywialne decyzje nie są już takie trywialne, ponieważ twój przeciwnik ich oczekuje.

Po przeniesieniu bota lub gry na wyższy poziom, nieuchronnie natkniesz się na większą populację bardziej utalentowanych graczy. Następnie złożoność Twojej strategii będzie musiała przejść na wyższy poziom, biorąc pod uwagę obrazy przy stole , balansowanie zakresów , wyrafinowany i inteligentny blef (tj. Nie tylko blefowanie ze słabości, blefowanie na zasięg i blefowanie na obrazku itp.), z bardziej szczegółową analizą zasięgu ręki. To naprawdę jest inna gra, gdy idziesz w górę.

Po napisaniu zwycięskiego bota programista bez wątpienia będzie miał wystarczające umiejętności, wiedzę i zdrowy rozsądek, aby zastosować bota w sposób niewykrywalny. To jest dla nich trywialne.

Więc naprawdę nic nie możesz zrobić. Jeśli chcesz grać online, zrozum ryzyko. Nigdy nie ryzykuj więcej pieniędzy, niż możesz sobie na to pozwolić, i staraj się prowadzić dokładne rejestry wydatków, aby uniknąć błędnego, nierealistycznego i ostatecznie szkodliwego oszacowania własnych możliwości. Zatrzymaj straty i odejdź od stołu, jeśli nie masz przewagi lub jeśli nie jesteś pewien, czy masz przewagę! Oczywiście, gdyby wszyscy to zrobili, nikt by nie wygrał, to jest drapieżny i wyzyskujący charakter gry, stąd bierze się konkurencja i to sprawia, że ​​jest fajna.

Tom Gullen
źródło
3
Przynajmniej w czasach monitorów analogowych możliwe byłoby posiadanie programu do przechwytywania ekranu działającego na komputerze całkowicie oddzielnym od tego, na którym gra. Wykrywanie czegoś takiego w oprogramowaniu gry byłoby oczywiście całkowicie niemożliwe. Nawet gdyby HDCP nie pozwalał na zrobienie czegoś takiego z wyjściem wideo nowoczesnego komputera, zawsze można by użyć precyzyjnie wycelowanej kamery. Jeśli karty są łatwe do odczytania przez człowieka, maszyna nie będzie miała problemów.
supercat
W dzisiejszych czasach można nawet uruchomić grę na maszynie wirtualnej, a bota poza nią, przechwytując obrazy i wysyłając zdarzenia klawiatury / myszy.
André Paramés
Spójrz na OpenHoldem. Ma nawet kilka rozszerzeń DLL, które symulują jitter myszy i przyspieszenie myszy podobne do ludzkiego, aby klikać przyciski. Jeśli Twój kod generuje trójki prawdopodobieństwa dla Call lub Check / Fold / Raise, trudno będzie zlokalizować wzorce bez prawdopodobnie tysięcy rozdań.
rndapology
9

Należy wziąć pod uwagę trzy oddzielne obszary. Bot musi ustalić stan stołu, podjąć decyzję i wysłać ją z powrotem do hosta.

Ustalenie stanu tabeli jest znacznie łatwiejsze, jeśli zostanie przesłana przez przewód w jakiejś rozpoznawalnej formie lub wyświetlona użytkownikowi jako standardowy tekst. Najpierw uczyń rozpoznawanie obrazu jedyną opcją, a następnie utrudnij to tak mocno, jak to możliwe. Wyświetlaj karty w 3D i powoli zmieniaj orientację i położenie kart. Animuj małe migotanie lub fajerwerki przed kartami, aby każdy zrzut ekranu mógł być nieczytelny, ale nawet ustalenie tego zajmuje trochę czasu.

Nie ma nic do zrobienia z podjęciem decyzji. Próba ustalenia, czy decyzja została podjęta przez człowieka, jest jak test Turinga, prawie bez żadnych informacji.

Odesłanie decyzji może być trudne, jeśli ponownie użyjesz 3D. Utrudnij wysyłanie pakietów bezpośrednio lub w inny sposób przedkładanie decyzji w inny sposób niż kliknięcie przycisku myszą. Poruszaj lekko przyciskami przy każdej czynności lub pozwól im unosić się powoli po obszarze gry, czekając na decyzję. Wyłącz wszystkie funkcje typu ułatwień dostępu, które umożliwiają znajdowanie przycisków lub manipulowanie nimi.

ciągnięty do przodu
źródło
3
Bezpieczeństwo poprzez trudności. Zakładając, że możesz przesyłać strumieniowo renderowane wideo z gry, celem jest uczynienie z niego ruchomego CAPTCHA.
wyciągnięty
3
@The Rook: PokerPirate, o którym wspominasz w swoim pytaniu, nie ma absolutnie nic wspólnego z HTTP. W rzeczywistości wątpię, czy są jakieś strony z grami hazardowymi, które używają protokołu HTTP. Twoje pytanie, odpowiedź i komentarze pokazują, że niewiele wiesz na ten temat. Powinieneś spróbować wiedzieć, o czym mówisz, zanim doradzisz ludziom, co powinni zrobić. :)
RarrRarrRarr
2
@drawnonward: Jeśli użyteczność nie jest dla Ciebie problemem, możesz zapewnić bezpieczeństwo, odcinając wszystkie połączenia danych, co jest prawdopodobnie kreatywnym sposobem na powstrzymanie oszustwa. Nie wiem, jak oceniać środki bezpieczeństwa, z wyjątkiem kontekstu użyteczności.
David Thornley
1
@drawnonward: Jasne, ale (a) nie mogę wejść na stronę bankową bez hasła, (b) bankowość jest bardziej koniecznością dla większości ludzi niż poker online, oraz (c) nie jest to ciągła irytacja, która będzie trwać przez długi czas. To rozwiązanie prawdopodobnie będzie gorsze niż pierwotny problem.
David Thornley
2
Pierwotnym problemem jest zapewnienie, że tylko ludzie grają w pokera na stronie internetowej. W witrynie banku po wprowadzeniu hasła zyskujesz zaufanie gospodarza. W takim przypadku nic nie możesz zrobić, aby zyskać dalsze zaufanie hosta, więc wyzwanie bezpieczeństwa musi być ciągłe.
wyciągnięty
8

PokerPirate, jak prawie każdy pokerowy bot, jaki kiedykolwiek napisał, działa na zasadzie skrobania ekranu i symulacji kliknięć myszą w aplikacji pokerowej systemu Windows. Dlatego też zawleczką systemu jest jego zdolność do rozpoznawania obiektów w grze i wykonywania działań w oknie. Choć może być inteligentny w pokerze, prawdopodobnie nadal ma problemy z tymi podstawowymi operacjami.

Dlatego oczywiste sposoby na udaremnienie tego bota obejmują:

  1. Zaimplementuj CAPTCHA przed rozpoczęciem gry lub gdy inne czynniki sugerują, że gracz może być botem.
  2. Uczyń grafikę stołu bardziej skomplikowaną lub zmień motyw w trakcie gry.
  3. Wykryj niezwykle szybkie i / lub zrobotyzowane ruchy i kliknięcia myszy (człowiek nigdy nie poruszy myszą po matematycznie doskonałej linii).
Cerin
źródło
2
Większość z nich to bezpieczeństwo, choć niejasność. Wszystko to można zepsuć, łącznie z captcha. Chociaż przyznaję, że jest to najtrudniejsza część do złamania. (+1 Nie ma stuprocentowego rozwiązania i wiele z tego opisanych można by użyć z innymi technikami.)
wieża
2
Jak dobre są teraz boty captcha? Powiem ci tak: połowa obrazów, które otrzymuję z Google Apps, jest niemożliwa do odczytania dla człowieka .
WCWedin,
Całe bezpieczeństwo komputera jest przez zaciemnienie. Powodem, dla którego ktoś nie może odczytać zaszyfrowanej wiadomości e-mail, jest to, że nie może łatwo znaleźć klucza prywatnego. Ale mając wystarczająco dużo czasu i zasobów obliczeniowych, to również może zostać „zepsute”. Większość captcha jest całkiem dobra i wyeliminuje 99,99% botów.
Cerin,
5

Idealnie jedynym słusznym rozwiązaniem jest stworzenie logiki honeypot, która zwabi zaangażowanego bota, zapewniając pokusę korzystniejszego warunku logicznego, który faworyzuje najbardziej idealne reakcje behawioralne bota. Gdy bot jest zaangażowany w honeypot, musisz stale podawać warunki bota, które preferuje, zakładając, że bot nie ma ustawionego limitu czasu. Następnie bota można zmierzyć, zarejestrować i zbadać. Oprócz bota miałbyś również izolować dane sieciowe i sesyjne do badań, pod warunkiem, że bot nie łączy się przez TOR.

W tej sytuacji deterministyczne rozważania odpowiednie do odróżnienia bota od człowieka są mniej surowe, jednak deterministyczne rozważania po zidentyfikowaniu zachowania bota stają się poważniejsze. Niestety, właściciel bota może wprowadzić zmiany w bocie, aby zapobiec takiej identyfikacji, jeśli ten właściciel jest świadomy stanu miodu lub logicznego rozważenia tego stanu.


źródło
3
Cytując Sun Tzu: „Poznaj swojego wroga”. Unikaj jego mocnych stron i odkrywaj jego słabości.
jweyrich
To nie jest zły pomysł i interesuje mnie, jak będzie wyglądać to oprogramowanie. Czy chcesz rozwinąć konkretny warunek?
wieża
1
Punkty wyjścia Tora są dość ograniczone. Każdy gracz, który łączy się za pośrednictwem punktów Tor istniejących, powinien być podejrzliwy.
Christian
Stworzenie honeypota może być bardzo kosztowne dla serwisu pokerowego
Tom Gullen
Możesz po prostu sprawić, by pomyślał, że zarabia pieniądze.
Jeff Davis
4

Pokonywanie botów pokerowych może przybierać dwie formy: możesz spróbować ich zidentyfikować i zablokować w systemie lub po prostu pokonać ich w pokerze. Pokonanie ich w pokera to bardziej interesująca kwestia akademicka. :-)

Zobacz tutaj, aby zobaczyć kilka artykułów na temat pokonywania botów pokerowych: http://www.cs.cmu.edu/~sganzfri/

Aaron
źródło
2

Kolejna myśl dotycząca majstrowania przy ekranie w celu utrudnienia skanowania:

Wykonaj kartę z całej masy różnych kolorów - zbliżonych do ludzkich oczu, ale nie takich samych. Utrudniłoby to wybranie rzeczy do przeczytania. Z drugiej strony umieść fałszywe napisy na karcie w kolorach, których ludzkie oko nie oddzieli od tła.

Loren Pechtel
źródło
2
Niestety byłoby to dość łatwe do pokonania dla każdego konkurencyjnego programisty, ponieważ ekranowałby zakresy kolorów, a nie dokładne wartości, pomijając to rozwiązanie.
Tom Gullen,
Zakresy kolorów działałyby, gdyby zostały naprawione - ale co, jeśli ciągle zmieniasz rzeczy? Oznaczałoby to, że twój skrobak musiałby być zaprogramowany, aby rozumiał ludzki wzrok. Nie byłoby to niemożliwe, ale znacznie utrudniłoby sprawę.
Loren Pechtel
Prawdopodobne, ale w znacznym stopniu wpłynie to negatywnie na doświadczenia użytkowników z oprogramowaniem, co prawdopodobnie jest złym interesem.
Tom Gullen,
Bardzo łatwe do pokonania. Napisałem już bota do pokera i wykonuję rozpoznawanie kart, obliczając podobieństwo obrazu w ramce ograniczającej. Nawet jeśli żaden z pikseli nie jest dokładnie taki sam (albo dlatego, że kolory karty lub położenie ekranu są nieznacznie zmienione na każdym z nich), nadal mogę wykorzystać te pomiary podobieństwa, aby zidentyfikować „najbardziej prawdopodobną” kartę.
benjismith
Jak myślisz, dlaczego kolory muszą pozostać jeszcze podobne? Przełączaj je między szalenie różnymi kolorami i przełączaj tło - wyobrażam sobie efekt jak fala, która przechodzi przez karty i zmienia kolory. Zachowaj duży kontrast i upewnij się, że uzyskane kolory nie są brzydkie.
Loren Pechtel,
2

Czy problem z botami polega na tym, że grają lepiej niż przyzwoici ludzcy gracze, czy też mogą czekać około 24 godziny na dobę, 7 dni w tygodniu na pojawienie się złych graczy, a następnie próbować ich wydoić?

Poza tym, czy byłoby to „legalne” lub „oszustwo”, gdyby ktoś siedział obok niego, gdy grał w pokera i konsultował się z innym komputerem w celu uzyskania porady?

Nie jestem pewien, jak można domagać się rozwiązania problemu pokera z limitem, kiedy to, co wiadomo o przeciwnikach, będzie miało wpływ na optymalną strategię gracza. Jak każda próba analizy graczy może twierdzić, że jest tak doskonała, że ​​nie można jej ulepszyć?

supercat
źródło
Oto interesująca dyskusja na temat tego, czy można rozwiązać pokera: forumserver.twoplustwo.com/29/news-views-gossip/ ... Niektóre z plakatów są bardzo renomowane. Problem w tym, że teoretycznie bot będzie działał w sposób bezkonkurencyjny. Ponadto oprogramowanie, które opisujesz jako „pomoc”, znajduje się w szarej strefie, wiele witryn umożliwia oprogramowanie do analizy danych, takie jak PokerTracker / PokerOffice, ale wyznacza granicę kalkulatorom ICM i innym matematycznym narzędziom do podejmowania decyzji (na przykład są one niezwykle przydatne w hiper strategia kończąca turnieje turbo).
Tom Gullen,
1

Jeśli masz dostęp do wielu dopasowań, możesz skorzystać z metody eksploracji danych. Siła gry SI powinna być dość spójna, chociaż prawdopodobnie istnieją proste wzorce dla ludzi - słabsza w pierwszych kilku rundach rozgrzewki, a siła spada po dłuższej grze. Ponadto czas podejmowania decyzji przez ludzi prawdopodobnie wydłuża się, gdy w grę wchodzi więcej pieniędzy.

Jeśli masz dostęp do ruchów myszy (lub przynajmniej lokalizacji kliknięć, co jest prawdą nawet w przypadku aplikacji internetowych), rozpoznanie botów powinno być dość łatwe, z wyjątkiem najbardziej wyrafinowanych. Ludzie nie poruszają myszą w dokładnej linii prostej, mają okresy przyspieszenia i spowolnienia, statystycznie opisalne rozkłady lokalizacji kliknięć itp.

Tgr
źródło
Wiele witryn pokerowych implementuje teraz skróty klawiaturowe do obsługi wielu tytułów, dzięki czemu można w ogóle wyeliminować potrzebę używania myszy w bocie. Nie sądzę też, by decyzja często wiązała się z pieniędzmi, jest to pierwotnie skorelowane z trudnością podjęcia decyzji.
Tom Gullen,
1

Spójrz na Ajax Control Toolkit NoBot :

NoBot wykorzystuje kilka różnych technik ochrony przed botami:

* Forcing the client's browser to perform a configurable JavaScript calculation and verifying the result as part of the postback. (Ex: the calculation may be a simple numeric one, or may also involve the DOM for added assurance that a browser is involved)

* Enforcing a configurable delay between when a form is requested and when it can be posted back. (Ex: a human is unlikely to complete a form in less than two seconds)

* Enforcing a configurable limit to the number of acceptable requests per IP address per unit of time. (Ex: a human is unlikely to submit the same form more than five times in one minute)
lmsasu
źródło
0

Stuprocentowe rozwiązanie jest niemożliwe, moim celem jest rozwiązanie, które pozwoli zaoszczędzić pieniądze, wykorzystując sztuczną inteligencję przeciwko sobie. Uruchom instancję AI PokerPirate po stronie serwera i graj jako niewidzialny gracz w każdej grze. Jeśli któryś z graczy wykona zbyt wiele identycznych czynności, prawdopodobnie uruchomi instancję PokerPirate. Jest to rodzaj miodu lub pułapki, w którą może wpaść napastnik. Atakujący może bronić się przed tym honeypotem, zmniejszając skuteczność swojego bota. W ten sposób tworzy się gra „Kot i mysz”, w której napastnik zawsze może ukraść trochę pieniędzy, a obrońca zawsze może trochę zaoszczędzić.

wieża
źródło
5
Szkoda, że ​​usunąłeś drugą, prawie identyczną odpowiedź, ponieważ zawierała interesującą opinię.
Paul Dixon
Zakłada się, że jest tylko jeden bot grający w pokera i że człowiek nigdy nie zrobiłby tego samego, co bot.
wyciągnięty
@drawnonward Człowiek nie będzie zachowywał się przez cały czas jak bot , jest tu czynnik fuzz.
wieża
3
@TheRook 'Gamboling "AI's" powinien być czysto matematyczny i zawsze istnieje "właściwa odpowiedź". Jest to prawdą tylko w grach z pełną informacją, której poker nie jest. Gracz, który zawsze wykonuje tę samą akcję w tym samym stanie, staje się przewidywalny, a tym samym łatwy do pokonania. Najlepsze boty będą miały elementy losowości. Nawet najbardziej matematyczni gracze zalecają różne zachowania nawet w tej samej sytuacji (zwykle z pewnym procentowym prawdopodobieństwem).
Davy8
1
@The Rook Nie byłem to było ustawienie akademickie, jednak znalazłem jedno odniesienie (i prawie każda poważna książka pokerowa, którą wybierzesz, zgodzi się, że na wysokim poziomie gry nieprzewidywalność jest kluczowa) sciencenews.org/sn_arc98/ 7_18_98 / bob1.htm Niektóre cytaty:"We've been working on categorizing and understanding styles of play, [...] it gets more difficult in games against top players because they mix up their play deliberately to confuse you." Being unpredictable is a good strategy, he adds. "If our computer is going to beat the world champion, it's got to do something similar."
Davy8
-2

Jest dużo łatwiejszych sposobów. tak. wiele sugestii jest słusznych i potrzebnych. ale około 90% oszustw jest wykrywanych w zbyt prosty sposób.

jeśli ktoś pozwoli botowi pracować dla niego, po pewnym czasie będzie chciał, aby drugi bot dla niego pracował. (inna maszyna lub cokolwiek), ale: użyje tego samego hasła, ponieważ trudno je zapamiętać 2 (<--- sarkastyczne)

co zostało: sprawdź konta z tym samym zachowaniem w grze i tym samym hashem.

cRichter
źródło
Jak to jest niezawodne? Wydaje mi się, że wiele różnych osób używa tego samego hasła. Nawet nie zaczynaj od hasła, takiego jak data urodzenia lub po prostu „azerty” lub „hasło”.
DuoSRX
6
Posolić haszysz! > = (
WCWedin,
1
@WCWedin dobre połączenie, wszystkie skróty haseł powinny używać unikalnej soli.
wieża
@DuoSRX prawda, nie jest wiarygodna, ale dobra wskazówka. cała lista wyników trafia do zespołu ds. oszustw, który sprawdza konta. @WCWedin yes. nobrainer ;-)
cRichter