Domanda

C'è un nuovo poker bot Open Source chiamato PokerPirate . Sono interessato a eventuali modi creativi in ??cui un'applicazione web potrebbe rilevare / thwart / sconfiggere un poker bot. (Questa è una discussione puramente accademica, con lo stesso spirito che PokerPirate è stato scritto.)

È stato utile?

Soluzione

sconfiggere un bot dalla prospettiva serverside

  1. Molti siti di poker on-line uso popup Captcha ingressi che sono attivati ??da attività sospette.

  2. Alcuni siti di poker del monitor di gioco volte e modelli (cioè, caso peggiore scenario è un giocatore che gioca 24x7 e 16 tabelle continuamente, c'è una piccola piccola possibilità che questo è un vero e proprio umano. (Tuttavia alcuni giocatori hanno la possibilità di giocare molto grandi volumi di mano che all'occhio inesperto sembrerebbe essere un bot)

  3. Buttalo difetti. Se si sospetta un giocatore è un bot, cambia tutta la loro la riproduzione di posizioni di carte fuori alcuni pixel sullo schermo, li rendono diversi colori / disegni / modelli per 1/100 mani e vedere se getta loro. Se non può afferrare schermo è sarà time-out su tutte le sue decisioni e questo è abbastanza conclusiva Bot prove.

  4. Timing dice, se un giocatore del computer risponde alle opzioni in millisecondi alla volta senza pausa di riflessione su grandi decisioni questo potrebbe essere sospettoso

  5. monitoraggio Sé. Il sito di poker pokertableratings.com dati miniere un sacco di siti di grandi dimensioni. Esso ha stati soddisfatti con reception misto, alcuni amore la trasparenza, altri odio . Il vantaggio è, tuttavia, che ci sono stati casi in cui il giocatore sospetta Statistiche (percentuali VPIP, percentuali PFR sono alcuni di una grande numero di statistiche quantificabili che possono essere registrate) hanno portato alla conclusioni del barare

  6. intelligenza artificiale poteva monitorare le statistiche quantificabili a classificare barare canaglia o robotizzato giocatori.

  7. Ai tempi in cui il poker online era piuttosto nuova entità, non c'era voce e parlare con prove limitate che alcuni software client di poker screen-shots di giocatori sospetti desktop per vedere se erano in esecuzione programmi che li assistono. Tuttavia (anche se ciò fosse vero) in esecuzione di due computer per svolgere i due compiti in modo indipendente otterrebbe intorno a questo.

  8. condivisione delle informazioni tra ripetizione i trasgressori tra più siti sarebbe vantaggioso per l'industria, se solo fossero onorevole e fuggi da responsabili competenti

  9. Alcuni bot sarebbe probabilmente essere abbastanza semplice da disegno, se si potesse scoprire la loro stile di gioco e vedere come si comportano in situazioni identiche (notare che questo è possibile solo con bot non sofisticati che giocano molto strategia di base) si potrebbe scoprire li in tempi ragionevolmente rapidi.

  10. uso incoerente del programma  caratteristiche sarebbe inclinarsi verso un  giocatore di essere genuino. Prendi per  esempio, molti siti di poker in gioco  avere un 'Fold quando è il mio turno'  pulsante. Se vengono distribuite una cattiva  portata di mano e sono in attesa di un altro  giocatore di decidere cosa fare, un sacco  di giocatori verificherà questo pulsante.  Un bot può utilizzare questi pulsanti. Il  differenza è, un bot sarebbe sulla estremità della frequenza di utilizzo, si would probabilmente o utilizzare tutto il tempo, o non del tutto.  Wheras un giocatore di solito può premere  'Autofold', ma a volte lo faranno  click piegare comunque anche nei momenti più  condizioni favorevoli. Per esempio,  un giocatore vero e proprio genere preme  Auto piega ma questa volta non è così.  E 'piegato intorno a loro senza  altro giocatore recitazione, ora hanno  stato presentato con il più  condizione favorevole possibile. Adesso  se premono piega, avrebbero  stato fortemente incline a stampa autofold fin dall'inizio. Questo è  inconsistant / unoptimised / random  comportamento, coerente con l'essere un  umano. Timing dice quando queste caratteristiche sono cliccato sono altri indicatori. E 'importante riconoscere che questi sono tutti gli indicatori e non prova conclusiva. Tutti questi indicatori comportamentali possono essere simulati facilmente.

Sconfiggere il bot da un punto di vista i giocatori

  1. Provare ad accedere e raccogliere quanti più dati possibile utilizzando un software come PokerTracker

  2. Il tentativo di identificare i modelli in  il suo stile di gioco

  3. Tentativo di trovare relazioni  tra la dimensione scommessa in proporzione alla  pot / # giocatori e la resistenza della mano

  4. Prova di calcolare i propri range di mani . Un basso posta in gioco bot probabilmente non sarà bluffando una frequenza tale da essere di qualsiasi preoccupazione significativa strategica, in modo da costruire range di mani molto accurate per esso non dovrebbe essere troppo difficile.

  5. perdite nella sua  gioco tramite l'analisi dei dati e il processo  ed errore Una volta perdite / modelli hanno  stato trovato, tentativo di ripetitivamente  li sfruttano ed evitare qualsiasi altra  situazioni.

Quando un essere umano è in grado di adattamento , bot probabilmente lo sono meno, e dove gli esseri umani sono ponderati dalle catene di tilt , noreferrer risultati pensiero orientato e frustrazioni , bot non lo sono. È possibile utilizzare questo a vostro vantaggio.

Quindi, in sostanza non c'è niente che tu possa fare per fermarlo se il robot è abbastanza intelligente per simulare ritardi reale temporizzazione durante le decisioni, così come creare modelli di gioco ragionevoli e realistiche. Gettare in alcune condizioni casuali e semplice back-chat (i giocatori di poker lessico è di solito abbastanza limitato ) e avete voi stessi un giocatore di aI che sta per essere piuttosto difficile da rilevare.

Cosa bot potrebbero fare per evitare il rilevamento

La chiave per evitare di rilevamento potrebbe essere quella di pensare al problema da altrettante angolazioni possibili. Si sta tentando di simulare il comportamento umano intelligente in un piccolo e limitando mondo. La maggior parte delle simulazioni comportamentali che si possono eseguire sono abbastanza ovvio, ma più incoerente e imprevedibile il bot è, meno probabile è di essere scoperti.

  1. Crea gli orari di gioco realistici (cioè 3-5 volte a settimana, 4 ore al sessione con la settimana qua e lì fuori nel corso dell'anno).

  2. programmi di correre a prendere decisioni su computer separato, controllo di un del computer zombie nel caso in cui altri siti cattura dello schermo.

  3. randomizzare tempi di azione (non agire immediatamente, attendere 0,5-2 secondi per azione)

  4. Ora giù su grandi decisioni. Se una decisione è al limite, calcolare la decisione poi aspettare un po 'per pensiero simulazione.

  5. uso casuale dei software client caratteristiche. pause toilette Simulare di clic il "me affrontare fuori pulsante" su tutto il tavoli e hanno una pausa di 5 minuti di tanto in tanto.

  6. Chat simulato, la chat è spesso il poker molto semplice liners, mai Di solito la discussione o un dibattito. Dire cose come "sfortunato" o "STFU" a appropriarsi momenti rilevabili. O anche avere il codificatore monitoraggio sua Bot e di impegnarsi in chat durante i esecuzione.

  7. Assicurarsi che i movimenti del mouse sono realistico. Se le tabelle sono piastrelle non prendere una decisione sulla piano d'appoggio sinistra e poi subito a rendere sulla tavola in basso a destra. La maggior parte del software siti ora offrono le scorciatoie da tastiera, questi possono essere preferibile utilizzare come dovrebbe mousemovement.

  8. fare cose che semplicemente AI classificatori non sarà aspettano. Per ad esempio, una volta che un telefono all'anno in su con una semplice query non complessi ( "Aiuto non posso login oggi!" o 'Internet è giù!') Difficilmente fare molta differenza, ma se la persona che lavora per la società di poker è abbastanza intelligente che avrebbe potuto riconosciuto come un indicatore attendibile.

  9. sessioni di perdere sporadici. inclinazione può essere simulata e il bot può giocare male e perdere dei soldi ogni tanto e poi. tutti inclina ad un certo punto.

La preoccupazione è anche che i siti web di poker non particolarmente importa se i bot sono in esecuzione sulle loro reti, ogni giocatore vale la pena di una grande quantità di rake e teoricamente da un punto puramente cinico di vista l'unico aspetto negativo sarebbe male se premete è stato scoperto.

Anche quando sono stati scoperti exploit palesi, (ricerca su Google per scandali rete Cereus o Absolute Poker scandalo , è abbastanza scioccante) il business sembra sopravvivere e rimanere in buona salute, perdendo solo bene istruiti e giocatori vincenti (di cui non ci sono molti). Questo aumenta la percentuale di giocatori meno esperti alla rete, che a sua volta attira i giocatori buoni indietro. E 'un buon ol' stile cattura 22. Un ottimo argomento per una corretta regolamentazione del mercato.

E 'importante notare, che per ogni partita una Nash equilibrio esiste . Il poker online ha una linea temporale ad essa il modo in cui funziona la società, sta andando ad avere a muoversi in qualcosa di più sociale (webcam / VoIP) per chiunque di fidarsi in futuro (se le persone di fiducia) come i bot assumerà alla fine come matematicamente superiore, e psicologicamente immunitario. La comunità AI poker è molto attivo , alimentata dal mondo accademico e / o prestazione di capitale.

versioni più semplici del poker come il poker limite stato quasi risolto in piccoli spazi di ricerca. E 'solo una questione di tempo prima che le versioni più complesse del gioco (variazioni No Limit / Pot Limit Omaha ecc) diventano battibile per i giocatori artificiali.

Conclusione

bot raffinate proprio non può essere rilevato fino a quando i turni del settore per un ambiente di gioco online più sociale. Questo non risolverà il problema, ma sarà certamente makdi e più difficile per i bot per vincere ai livelli più bassi. Abbiamo già visto un leggero spostamento con il rilascio di PKR , 3D e una più interattivo , meno mani per la versione ora degli altri siti dove è multitabling abbastanza difficile da realizzare per un giocatore.

Il problema soffre anche dalla natura del settore, un altro motivo di attenersi ai più grandi siti web più affidabili in cui reputazione è diventato sempre più integrati nel loro modello di business. La mancanza di trasparenza e di finta transarancy non aiutano la causa.

La vera sfida per gli sviluppatori attualmente bot è quello di scrivere un algoritmo vincente, questo non è così banale come sembra. Tutti coloro che gioca a poker si considera bene, vincere o interruzione, anche nel lettore, che non è semplicemente vero. È per questo che la gente continua a giocare, anche quando perdono soldi in quanto sono sotto l'illusione sono semplicemente sfortunati, o il loro stile di gioco è frainteso. Questa arroganza e la debolezza in psicologia umana è costata la perdita giocatori un sacco di soldi ed è la ragione fondamentale per cui il poker può ancora essere redditizia.

Il poker è un gioco di gran lunga complicata che richiede anni per ottenere buoni (Il vecchio adagio rimane vero, "Dieci minuti per imparare, una vita per master"). L'elemento fortuna è estremamente limitata nel lungo periodo.

Come qualsiasi altra professione, per ottenere un buon, è necessario studiare per centinaia e centinaia di ore, e giocare per molte migliaia. Capirai cose che i giocatori meno esperti suole capiscono, le cose Spot Lo spot solito meno esperti. L'apprendimento va avanti per un tempo molto molto lungo, forse più a lungo di quanto possiamo vivere. E 'un gioco complicato.

Quante volte avete visto un high stakes cash game in televisione e sentito gridare qualcuno a farlo "Questa è una chiamata facile!" prooving in tal modo che i dilettanti davvero non capiscono o riconoscono sofisticazione in gioco, e veramente beleive il gioco a questo livello è ancora in ultima analisi semplice. E non lo è. Quei giocatori high stakes (un sacco di tempo) ci sono in televisione, perché sono davvero davvero davvero buona. V'è anche probabilmente un complicato meta gioco sta giocando pure, che la nostra amauer non può riconoscere l'esistenza di. L'amatuer non avrebbe resistito più di un maestro di scacchi e gridare a loro di spostare il loro cavaliere, ma a causa della dinamica del poker essendo informazione imperfetta la loro psicologia li rende veramente beleive quello che stanno dicendo. Come nel gioco degli scacchi, le decisioni possono essere intricata, sensibile ed estremamente importante per il gioco in generale. Come il gioco aumenta in complessità, le decisioni banali non sono così banali più, perché il tuo avversario si aspetta.

Una volta che si sposta il bot o il vostro gioco fino ai livelli, inevitabilmente si imbatte in una più grande popoloso di giocatori più esperti. Quindi, la complessità della vostra strategia sta andando ad avere per salire al livello successivo, tenendo conto di immagini tavolo , gamma bilanciamento , bluff sofisticato e intelligente (IE non solo bluffando a debolezza, bluff a distanze e bluff sull'immagine ecc), con più dettagliata analisi range di mani. E 'davvero un gioco diverso come ci si sposta in su.

Una volta che un bot vincente è stato scritto, senza dubbio il codificatore avrà abbastanza abilità, conoscenza e il senso comune per applicare il bot in modo impercettibile. Questo è banale per loro.

è così c'è davvero niente da fare. Se tuvoglia di giocare online, comprendere i rischi. Mai rischiare più denaro di quanto si può permettere, e tentare di mantenere registrazioni accurate di spendere così non si dispone di una stima sbagliata, irrealistico e in ultima analisi, di danneggiare sopra della propria capacità. Avere perdite di arresto, e lasciare il tavolo se non si dispone di un bordo, o se non siete sicuri se si dispone di un vantaggio! Naturalmente, se tutti facessero che nessuno avrebbe vinto, questo è il predatore e la natura di sfruttamento del gioco, che è dove la concorrenza viene e che è ciò che rende divertente.

Altri suggerimenti

Ci sono tre aree separate da considerare. Il bot ha di capire lo stato del tavolo, prendere una decisione, e inviare la schiena decisione per l'host.

Per capire lo stato della tabella è molto più facile se viene inviato attraverso il filo in una forma riconoscibile o visualizzate all'utente come testo standard. In primo luogo, il riconoscimento delle immagini rendono l'unica opzione, allora ne fanno il più forte possibile. Visualizzare le carte in 3D e cambiare lentamente l'orientamento e la posizione delle carte. Animate poco sfarfallio o fuochi d'artificio davanti le carte in modo qualsiasi schermata può essere illeggibile, ma ci vuole un po 'anche per determinare questo.

Non c'è niente da fare con prendere la decisione. Cercando di decidere se una decisione è stata presa da un essere umano o meno è come un test di Turing con quasi nessuna informazione.

L'invio retro decisione può essere resa difficile da usare di nuovo 3D. Rendere difficile inviare pacchetti direttamente o comunque presentare una decisione di mezzi diversi clic su un pulsante con il mouse. Spostare i pulsanti un po 'con ogni azione o far galleggiare lentamente intorno l'area di gioco in attesa di una decisione. Disattivare tutte le funzioni di tipo accessibilità che consentono i pulsanti che si trovano o manipolati.

PokerPirate, come quasi tutte le poker bot mai scritto, opere di screen scraping e la simulazione di clic del mouse in un'applicazione del poker di Windows. Pertanto, il linciaggio pin al sistema è la sua capacità di riconoscere gli oggetti nelle azioni di gioco e rendere nella finestra. Intelligente come può essere a poker, ha probabilmente ancora problemi con le operazioni di base.

Pertanto, modi ovvi per contrastare questo bot dovrebbe includere:

  1. Implementare un CAPTCHA, sia prima della partita, o quando altri fattori suggeriscono un giocatore può essere un bot.
  2. Fare la grafica della tabella più complicato, o cambiare il tema per tutta la partita.
  3. Rileva insolitamente veloce e / o movimenti del mouse robotici e clic (un essere umano non si muoverà mai un topo in una linea matematicamente perfetto).

Idealmente l'unica soluzione valida è quella di creare una logica honeypot che attira un bot impegnata, fornendo la tentazione di una condizione logica più favorevole che favorisce la maggior parte delle risposte comportamentali ideali del bot. Una volta che il bot è impegnata nella honeypot si deve continuamente nutrire le condizioni bot che preferisce presumendo che il bot non ha un timeout impostato. Poi il bot può essere misurata, registra e studiato. Oltre al bot si avrebbe anche i dati di rete e di sessione isolati per lo studio a condizione che il bot non si connette via Tor.

In questa situazione considerazioni deterministici adatti a differenziare il bot da un essere umano sono meno gravi, tuttavia, che deterministica previa identificazione del comportamento del bot diventare più gravi. Purtroppo, il proprietario del bot può apportare modifiche al bot per prevenire tale identificazione se questo proprietario è a conoscenza della condizione honeypot, o la considerazione logica della stessa.

Sconfiggere bots poker possono assumere due forme: si può cercare di identificare e vietare loro dal sistema, oppure si può semplicemente battere a poker. picchiarli a poker è la domanda accademica più interessante. : -)

Vedi qui per alcuni giornali circa battendo bots del poker: http: //www.cs.cmu .edu / ~ sganzfri /

un'occhiata a questo post

Questo post ha anche alcuni suggerimenti su come buoni per contrastare loro.

Un altro pensiero sul scherzi con schermo per rendere difficile la scansione:

Fare la carta di una grande quantità di diversi colori - vicino in termini occhio umano, ma non è la stessa. Questo renderebbe più difficile per raccogliere la roba da leggere. Il rovescio della medaglia, mettere per iscritto falso sulla carta in colori che l'occhio umano non si separerà dal fondo.

È il problema con i bot il fatto che giocano meglio di giocatori umani decenti, o che possono aspettare 24/7 per i giocatori cattivi a comparire e quindi provare a mungere loro?

Inoltre, sarebbe "legittimo" o "barare" per qualcuno di avere un computer seduto accanto a lui mentre giocava a poker, di consulenza che altro computer per un consiglio?

Io non sono sicuro di come si può pretendere lo spazio delle soluzioni per il poker limite è "risolto" quando la strategia ottimale per un giocatore sarà influenzato da ciò che si conosce della squadra avversaria. Come può ogni tentativo di analizzare i giocatori sostengono di essere così perfetto che non poteva essere migliorato?

Se si ha accesso a un sacco di partite, si può adottare un approccio di data mining. La forza di gioco di un intelligenza artificiale dovrebbe essere abbastanza consistente, mentre ci sono probabilmente semplici modelli per gli esseri umani - più debole nei primi giri di warm-up, e si deteriora forza dopo aver giocato per un lungo periodo di tempo. Inoltre, i tempi decisionali umani probabilmente salgono quando ci sono più soldi in gioco.

Se si ha accesso a movimenti del mouse (o almeno posizioni clic che è vero anche per le applicazioni web), che dovrebbe essere abbastanza semplice da riconoscere bot, tranne che per la maggior parte quelli sofisticati. Gli esseri umani non spostare il mouse in una linea retta esatto, hanno periodi SpeedUp e rallentamento, statisticamente descrivibili Fare clic sulla posizione distribuzioni, ecc.

Date un'occhiata al Ajax Control Toolkit NOBOT :

  

NOBOT impiega un paio di diverse tecniche anti-bot:

* 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)

Una soluzione al 100% è impossibile, quello che sono proposizione è una soluzione che farà risparmiare denaro utilizzando l'intelligenza artificiale contro la sua auto. Avere un esempio di di PokerPirate AI in esecuzione sul lato server e giocando come un invisibile giocatore in ogni partita. Se un giocatore esegue troppe azioni identiche allora sono probabilmente in esecuzione un'istanza di PokerPirate. Questo è un tipo di Honeypot o trappola che l'attaccante possa cadere. L'attaccante può difendere contro questo honeypot, rendendo la loro bot meno successo. Così questo sta creando una venuto di "Gatto e topo", in cui l'attaccante può sempre rubare alcuni i soldi e il difensore può sempre salvare alcuni di denaro.

Ci sono modi molto più facile. sì. un sacco di suggerimenti sono a destra, e aveva bisogno. ma circa il 90% delle frodi vengono rilevati in modo troppo semplice.

se qualcuno lascia un lavoro bot per lui, egli, dopo qualche tempo, vogliono che un secondo bot sta lavorando per lui. (Un'altra macchina o qualunque) ma: userà la stessa password, in quanto è difficile da ricordare 2 (<--- sarcastico)

che cosa è rimasto: controllare i conti con lo stesso comportamento di gioco e lo stesso hash della password.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top