Bir Poker Botunu Yenmek


107

PokerPirate adında yeni bir Açık Kaynak poker botu var . Bir web uygulamasının bir poker botunu algılayabileceği / engelleyebileceği / yenebileceği tüm yaratıcı yollarla ilgileniyorum. (Bu, PokerPirate'in yazıldığı ruhla tamamen akademik bir tartışmadır.)


8
En iyi / ilk cevabın size ait olduğu göz önüne alındığında " daha fazla yol" demek istediğinizi varsayıyorum :-)
David Johnstone

9
Her oyuncuyla konuşun.
Lasse V. Karlsen

2
@Lasse: hmm, eğer oyuncu Turing testini geçen bir botsa bu yeterli değil
lornova

5
Turing testini geçip geçemeyeceğine bakılmaksızın, bot yaratıcısının masalarda oturmasını ve tüm zamanını sohbet ederek geçirmesini engellemez.
Tom Gullen

6
En iyi yaklaşım Vegas'ın yaptığını yapmaktır: Oyunun kurallarını bozmak, böylece tek kazanan strateji ev olmak ve sonra ev olmaktır. Bu noktada, bir botun yaptığı tek şey daha hızlı para kaybetmektir ve umursamayı bırakabilirsiniz.
BCS 08

Yanıtlar:


209

Sunucu perspektifinden bir botu yenmek

  1. Birçok çevrimiçi poker sitesi , şüpheli etkinliklerle tetiklenen açılır pencere Captcha girişlerini kullanır .

  2. Bazı poker siteleri oyun oynama sürelerini ve kalıplarını izler (yani, en kötü senaryo sürekli olarak 24x7 ve 16 masa oynayan bir oyuncudur, bunun gerçek bir insan olma ihtimali çok küçüktür. (Ancak bazı oyuncular çok büyük eli oynama yeteneğine sahiptir. deneyimsiz göze bot gibi görünen hacimler )

  3. Glitches atın. Bir oyuncunun bot olduğundan şüpheleniyorsanız, tüm oyun kartı konumlarını ekrandaki birkaç pikselden değiştirin, 1/100 el için farklı renkler / tasarımlar / desenler yapın ve atıp atmadığına bakın. Ekranı yakalayamazsa, tüm kararlarında zaman aşımına uğrayacaktır ve bu oldukça kesin bot kanıtıdır.

  4. Zamanlama, bir bilgisayar oynatıcısının seçeneklere büyük kararlar için duraklama yapmadan bir seferde milisaniye cinsinden yanıt vermesi durumunda bunun şüpheli olabileceğini söyler.

  5. Kendi kendini izleme. Poker web sitesi pokertableratings.com veri madenciliği çok sayıda büyük siteye sahiptir. Karışık bir karşılama ile karşılandı, bazıları şeffaflığı seviyor, diğerleri bundan nefret ediyor . Ancak bunun yararı, şüpheli oyuncu istatistiklerinin (VPIP yüzdeleri, PFR yüzdeleri, kaydedilebilen çok sayıda ölçülebilir istatistiklerden birkaçıdır) hile sonuçlarına yol açtığı durumların olmasıdır.

  6. Yapay olarak akıllı sınıflandırma ağları , hileli hile veya robotik oyuncuları sınıflandırmak için ölçülebilir istatistikleri izleyebilir.

  7. Çevrimiçi pokerin oldukça yeni bir varlık olduğu dönemlerde, şüpheli oyuncuların masaüstlerinden bazı poker istemci yazılımlarının kendilerine yardımcı olan programlar çalıştırıp çalıştırmadıklarını görmek için ekran görüntülerine dair söylentiler ve sınırlı kanıtlar vardı. Ancak (bu doğru olsa bile) iki görevi bağımsız olarak gerçekleştirmek için iki bilgisayar çalıştırmak bu sorunu çözecektir.

  8. Birden fazla site arasında tekrarlanan suçlular arasında bilgi paylaşımı, eğer onurlu olsaydı ve yetkili sorumlu kişiler tarafından yönetilseydi , endüstri için faydalı olurdu.

  9. Bazı botlar muhtemelen tasarım gereği oldukça basit olacaktır, eğer oyun tarzlarını keşfedebilir ve aynı durumlarda nasıl davrandıklarını görebilirseniz (bunun sadece basit bir strateji oynayan basit robotlarla mümkün olduğunu unutmayın), onları makul bir şekilde hızlı bir şekilde keşfedebilirsiniz.

  10. Program özelliklerinin tutarsız kullanımı, bir oyuncunun gerçek olmasına yol açacaktır. Örneğin, oyundaki birçok poker sitesinde 'sıram geldiğinde katla' düğmesi vardır. Kötü bir el alırsanız ve başka bir oyuncunun ne yapacağına karar vermesini bekliyorsanız, birçok oyuncu bu düğmeyi kontrol edecektir. Bir bot bu düğmeleri kullanabilir. Aradaki fark, bir bot kullanım sıklığının uç noktalarında olacaktı, muhtemelen onları her zaman kullanacaklardı veya hiç kullanmayacaklardı. Bir oyuncu genellikle "otomatik katlama" ya basabilir, ancak bazen en uygun koşullarda bile yine de pas geçmeye tıklayabilirler. Örneğin, gerçek bir oyuncu genellikle otomatik katlamaya basar ama bu sefer yapmazlar. Başka hiçbir oyuncu oyunculuk yapmadan onlara doğru katlandı, şimdi onlara mümkün olan en uygun koşul sunuldu. Şimdi, eğer katlamaya basarlarsa, baştan itibaren otomatik katlamaya basmaya çok eğimli olacaklardı. Bu, insan olmakla uyumlu, tutarsız / optimize edilmemiş / rastgele bir davranıştır. Zamanlama, bu özelliklere tıklandığında diğer göstergeler olduğunu söyler. Bunların hepsinin göstergeler olduğunu ve kesin kanıt olmadığını kabul etmek önemlidir. Tüm bu davranış göstergeleri kolaylıkla simüle edilebilir.

Oyuncular açısından bir botu yenmek

  1. PokerTracker gibi yazılımları kullanarak mümkün olduğunca fazla veri kaydetmeye ve toplamaya çalışın

  2. Oyun tarzındaki kalıpları belirlemeye çalışın

  3. Bahis büyüklüğü arasındaki ilişkiyi pot / # oyuncu ve el gücü ile orantılı olarak bulmaya çalışın

  4. El aralıklarını hesaplamaya çalışın . Düşük bahisli bir bot muhtemelen herhangi bir önemli stratejik endişeye neden olacak kadar sık ​​blöf yapmayacaktır, bu nedenle bunun için son derece hassas el aralıkları oluşturmak çok zor olmamalıdır.

  5. Veri analizi ve deneme yanılma yoluyla oyunundaki sızıntıları bulmaya çalışın Sızıntılar / kalıplar bulunduğunda, bunları tekrar tekrar kullanmaya ve diğer durumlardan kaçınmaya çalışın.

Bir insanın adaptasyon yeteneğine sahip olduğu yerlerde , botlar muhtemelen daha azdır ve insanların eğilme zincirleri tarafından ağırlıklandırıldığı yerlerde , sonuç odaklı düşünme ve hayal kırıklıkları , botlar değildir. Bunu kendi yararınıza kullanabilirsiniz.

Dolayısıyla, robot kararlar sırasında gerçek zamanlama gecikmelerini simüle edecek kadar akıllıysa ve makul ve gerçekçi oyun kalıpları oluşturuyorsa, onu durdurmak için yapabileceğiniz hiçbir şey yoktur. Bazı rastgele koşullar ve basit bir geri sohbet (poker oyuncuları sözlüğü genellikle oldukça sınırlıdır ) ve kendinize tespit edilmesi oldukça zor olacak bir AI oyuncunuz var.

Tespit edilmekten kaçınmak için botlar ne yapabilir?

Tespit edilmekten kaçınmanın anahtarı, sorunu olabildiğince çok açıdan düşünmektir. Çok küçük ve kısıtlı bir dünyada zeki insan davranışını simüle etmeye çalışıyorsunuz. Çalıştırabileceğiniz davranış simülasyonlarının çoğu oldukça açıktır, ancak botunuz ne kadar tutarsız ve öngörülemezse keşfedilmesi o kadar az olasıdır.

  1. Gerçekçi oyun programları oluşturun (yani, tek haftanın yıl boyunca burada ve ara sıra ile haftada 3-5 kez, oturum başına 4 saat).

  2. Herhangi bir sitenin ekran görüntüsü alma ihtimaline karşı bir zombi bilgisayarı kontrol ederek ayrı bir bilgisayarda kararlar almak için programlar çalıştırın.

  3. İşlem zamanlamalarını rastgele belirleyin (hemen harekete geçmeyin, işlem başına 0,5-2 saniye bekleyin)

  4. Büyük kararlarda zaman aşımı. Bir karar sınırda ise, kararı hesaplayın ve düşünceyi simüle etmek için bir süre bekleyin.

  5. İstemci yazılımı özelliklerinin rastgele kullanımı. Tüm masalardaki "dağıt düğmesini" tıklayarak tuvalet molalarını simüle edin ve arada bir 5 dakika ara verin.

  6. Simüle edilmiş sohbet, poker sohbeti genellikle çok basittir, asla genellikle tartışma veya münazara değildir. Algılanabilir uygun anlarda "şanssız" veya "stfu" gibi şeyler söyleyin. Veya kodlayıcının botunu izlemesini ve yürütme sırasında sohbete katılmasını sağlayın.

  7. Fare hareketlerinin gerçekçi olduğundan emin olun. Masalar döşenirse , sol üst masada bir karar vermeyin, o zaman anında sağ alttaki masaya geçin. Çoğu site yazılımı artık klavye kısayolları sunuyor, bunların fare hareketinde olduğu gibi kullanılması tercih edilebilir.

  8. Yapay zeka sınıflandırıcılarının beklemeyeceği şeyler yapın. Örneğin, yılda bir, karmaşık olmayan basit bir sorgu ile onları arayın ("Yardım bugün oturum açamıyorum!" Veya "İnternet kapalı!") Pek bir fark yaratması pek mümkün değil, ancak Poker şirketi yeterince akıllıdır, bunu güvenilir bir gösterge olarak kabul etmiş olabilirler.

  9. Sporadik seans kaybetme. Eğim simüle edilebilir ve bot kötü oynayabilir ve ara sıra biraz para kaybedebilir. Herkes bir noktada eğilir.

Endişe verici olan şey, poker web sitelerinin özellikle botların ağlarında çalışıp çalışmadığını umursamaması, her oyuncunun büyük bir komisyon değerinde olması ve teorik olarak tamamen alaycı bir iş bakış açısına göre tek dezavantajı keşfedilirse kötü basın olacaktır. .

Bariz istismarlar keşfedildiğinde bile (google'da Cereus ağ skandalları veya Absolute Poker Skandalı için arama yapın , bu oldukça şok edici), işletme hayatta kalıyor ve sağlıklı kalıyor gibi görünüyor, sadece iyi eğitimli ve kazanan oyuncuları kaybediyor (ki pek çoğu yok). Bu, daha az yetenekli oyuncuların ağa oranını artırır ve bu da iyi oyuncuları geri çeker. Bu eski moda bir yakalama 22. Uygun piyasa düzenlemesi için mükemmel bir argüman.

Her oyun için bir nash dengesinin mevcut olduğuna dikkat etmek önemlidir . Çevrimiçi pokerin şu anki gibi bir zaman çizelgesi vardır, gelecekte (eğer insanlar buna güvenirse) botlar matematiksel olarak devralacağından, daha sosyal bir şeye (web kamerası / voip) güvenmek zorunda kalacaktır. üstün ve psikolojik olarak bağışık. Poker AI topluluğu, akademi ve / veya sermaye avantajı ile beslenen çok aktif .

Limitli poker gibi pokerin daha basit versiyonları, küçük arama alanlarında neredeyse çözüldü . Oyunun daha karmaşık sürümlerinin (Limitsiz varyasyonlar / Pot Limitli Omaha vb.) Yapay oyuncular için yenilebilir hale gelmesi an meselesi .

Sonuç

Gelişmiş botlar, endüstri daha sosyal bir çevrimiçi oyun ortamına geçene kadar tespit edilemez. Bu sorunu çözmeyecek, ancak botların daha düşük seviyelerde kazanmasını kesinlikle zorlaştıracaktır. PKR , 3D ve daha etkileşimli , bir oyuncu için multitabling yapmanın oldukça zor olduğu diğer sitelerin saat başına daha az el sürümünde hafif bir değişiklik gördük .

Sorun aynı zamanda endüstrinin doğasından da muzdariptir, ancak itibarın iş modellerine giderek daha fazla entegre olduğu daha büyük ve daha itibarlı web sitelerine bağlı kalmak için başka bir neden. Şeffaflık eksikliği ve sahte şeffaflık nedene yardımcı olmaz.

Şu anda bot geliştiricileri için asıl zorluk kazanan bir algoritma yazmaktır, bu göründüğü kadar önemsiz değildir. Poker oynayan herkes kendisini iyi, kazanan ya da kırılan bir oyuncu olarak görür ki bu kesinlikle doğru değildir. Bu yüzden insanlar, şanssız oldukları ya da oyun tarzları yanlış anlaşılan bir illüzyon altında oldukları için para kaybettiklerinde bile oynamaya devam ediyorlar. İnsan psikolojisindeki bu küstahlık ve zayıflık, oyunculara çok para kaybettirmeye neden olur ve pokerin hala karlı olabilmesinin temel nedenidir.

Poker, başarılı olması yıllar alan çok karmaşık bir oyundur (Eski atasözü, "Öğrenmek için on dakika, ustalaşmak için bir ömür" olarak kalır). Şans unsuru uzun vadede son derece sınırlıdır.

Diğer mesleklerde olduğu gibi, iyi olmak için, yüzlerce saat yüzlerce çalışmanız ve binlerce kişi için oynamanız gerekir. Daha az deneyimli oyuncuların anlamayacağı şeyleri anlayacak, daha az deneyimli olanların fark edemeyeceği şeyleri göreceksiniz. Öğrenme çok çok uzun bir süre devam ediyor, belki de yaşayabileceğimizden daha uzun. Bu karmaşık bir oyun.

Ne sıklıkla televizyonda yüksek bahisli bir nakit oyun gördünüz ve birinin buna "Bu kolay bir karar!" Diye bağırdığını duydunuz. böylece amatörlerin oyundaki karmaşıklığı gerçekten anlamadıklarını veya tanımadıklarını ve bu seviyedeki oyunun gerçekten de nihayetinde basit olduğuna gerçekten inandıklarını kanıtlamak. Değil. Bu yüksek bahisli oyuncular (çoğu zaman) televizyondadırlar çünkü gerçekten gerçekteniyi. Muhtemelen oynanmakta olan karmaşık bir meta oyun da vardır ki, amauer bizim varlığını fark edemiyor. Amatör bir satranç ustasının önünde durup ona atını hareket ettirmeleri için bağırmaz, ancak pokerin dinamiği kusurlu bilgi olduğundan, psikolojileri onları söylediklerine gerçekten inandırır. Satrançta olduğu gibi, kararlar karmaşık, hassas ve oyunun tamamı için son derece önemli olabilir. Oyunun karmaşıklığı arttıkça, önemsiz kararlar artık o kadar da önemsiz değil, çünkü rakibiniz onları bekliyor.

Botunuzu veya oyununuzu seviyelere çıkardığınızda, kaçınılmaz olarak daha yetenekli oyunculardan oluşan daha büyük bir popülasyonla karşılaşacaksınız. Daha sonra, stratejinizin karmaşıklığı, tablo görüntüleri , menzil dengeleme , sofistike ve akıllı blöf (IE sadece zayıflıkta blöf yapmak, menzillerde blöf yapmak ve görüntüde blöf yapmak vb.) Hesaba katılarak bir sonraki seviyeye çıkmak zorunda kalacaktır. daha detaylı el aralığı analizi ile. Siz yükseldikçe gerçekten farklı bir oyun.

Kazanan bir bot yazıldıktan sonra, şüphesiz kodlayıcı, botu tespit edilemez bir şekilde uygulamak için yeterli beceriye, bilgiye ve sağduyuya sahip olacaktır. Bu onlar için önemsizdir.

Yani gerçekten yapabileceğiniz hiçbir şey yok. Çevrimiçi oynamak istiyorsanız, riskleri anlayın. Asla karşılayabileceğinizden daha fazla parayı riske atmayın ve harcama kayıtlarını doğru tutmaya çalışın, böylece yanlış yönlendirilmiş, gerçekçi olmayan ve nihayetinde kendi kabiliyetinizi tahmin etmekten çok zarar vermezsiniz. Kayıpları durdurun ve bir avantajınız yoksa veya bir avantajınız olup olmadığından emin değilseniz masayı terk edin! Elbette, eğer herkes kimsenin kazanmayacağını yaptıysa, bu oyunun yırtıcı ve sömürücü doğasıdır, rekabetin geldiği yer burasıdır ve onu eğlenceli kılan da budur.


3
En azından analog monitörlerin olduğu günlerde, oyunu oynayan bilgisayardan tamamen ayrı bir bilgisayarda çalışan bir ekran yakalayıcıya sahip olmak mümkün olurdu. Oyunun yazılımında böyle bir şeyi tespit etmek elbette tamamen imkansız olurdu. HDCP, modern bir bilgisayarın video çıkışı ile böyle bir şeyin yapılmasına izin vermiyorsa bile, her zaman tam olarak hedeflenmiş bir kamera kullanılabilir. Kartlar bir insan tarafından kolayca okunabiliyorsa, bir makinede sorun olmaz.
süper kedi

Günümüzde oyunu bir sanal makinede ve onun dışındaki botta çalıştırabilir, görüntüleri yakalayabilir ve klavye / fare olayları gönderebilirsiniz.
André Paramés

OpenHoldem'e bir göz atın. Bu şey, fare titremesini ve düğmelere tıklamak için insan benzeri fare hızlandırmayı simüle etmek için bazı DLL uzantılarına bile sahiptir. Kodunuz Arama veya Kontrol Et / Katla / Yükselt için olasılık üçlüsü oluşturuyorsa, muhtemelen binlerce el olmadan kalıpları bulmak zor olacaktır.
rndapology

9

Dikkate alınması gereken üç ayrı alan var. Botun masanın durumunu çözmesi, bir karar vermesi ve kararı sunucuya geri göndermesi gerekir.

Tablonun durumunu anlamak, tel üzerinden tanınabilir bir biçimde gönderilirse veya kullanıcıya standart metin olarak görüntülenirse çok daha kolaydır. Öncelikle, görüntü tanımayı tek seçenek haline getirin, ardından bunu olabildiğince zorlaştırın. Kartları 3B olarak görüntüleyin ve kartların yönünü ve konumunu yavaşça değiştirin. Kartların önünde küçük titreme veya havai fişekleri canlandırın, böylece herhangi bir ekran görüntüsü okunaksız olabilir, ancak bunu belirlemek bile biraz zaman alır.

Karar verirken yapılacak hiçbir şey yok. Bir kararın bir insan tarafından verilip verilmediğine karar vermeye çalışmak, neredeyse hiç bilgi içermeyen bir turing testine benzer.

Kararın geri gönderilmesi, tekrar 3D kullanılarak zorlaştırılabilir. Paketleri doğrudan göndermeyi veya fareyle bir düğmeyi tıklamak dışında herhangi bir yolla bir karar vermeyi zorlaştırın. Her harekette düğmeleri hafifçe hareket ettirin veya bir karar beklerken oyun alanında yavaşça yüzmelerini sağlayın. Düğmelerin bulunmasına veya değiştirilmesine izin veren erişilebilirlik türü özelliklerini devre dışı bırakın.


3
Zorluk yoluyla güvenlik. Oyunun işlenmiş bir videosunu yayınlamanıza izin verildiğini varsayarsak, amaç onu hareketli bir CAPTCHA yapmaktır.
06

3
@ The Rook: Sorunuzda referans verdiğiniz PokerPirate'in HTTP ile hiçbir ilgisi yoktur. Aslında, HTTP kullanan kumar poker siteleri olduğundan şüpheliyim. Sorunuz, cevabınız ve yorumlarınız bu konu hakkında çok az şey bildiğinizi ortaya koyuyor. İnsanlara ne yapmaları gerektiği konusunda tavsiye vermeden önce neden bahsettiğinizi bilmeye çalışmalısınız. :)
RarrRarrRarr

2
@drawnonward: Kullanılabilirlik tamamen bir sorun değilse, tüm veri bağlantılarını keserek güvenliğe sahip olabilirsiniz, bu muhtemelen hile yapmayı durdurmanın yaratıcı bir yoludur. Kullanılabilirlik bağlamı dışında güvenlik önlemlerini nasıl değerlendireceğimi bilmiyorum.
David Thornley

1
@drawnonward: Elbette, ancak (a) bir bankacılık sitesine şifre olmadan gidemem, (b) bankacılık çoğu insan için çevrimiçi pokerden daha fazla bir gerekliliktir ve (c) bu sürekli bir sıkıntı değil uzun süre devam edecek. Bu çözüm muhtemelen orijinal sorundan daha kötü olacaktır.
David Thornley

2
Asıl sorun, bir web sayfasında yalnızca insanların poker oynamasını sağlamaktır. Bir banka sitesi ile, şifrenizi girdikten sonra ev sahibinin güvenini kazanırsınız. Bu durumda, ana bilgisayarın sürekli güvenini kazanmak için yapabileceğiniz hiçbir şey yoktur, bu nedenle güvenlik sorunu sürekli olmalıdır.
13'te çekiliş

8

PokerPirate, şimdiye kadar yazılmış neredeyse her poker botu gibi, bir Windows poker uygulamasında ekran kazıma ve fare tıklamalarını simüle ederek çalışır. Bu nedenle, sisteme lynch-pin, oyundaki nesneleri tanıma ve pencerede eylemler yapma yeteneğidir. Pokerde ne kadar akıllı olursa olsun, muhtemelen bu temel işlemlerde hala sorun yaşıyor.

Bu nedenle, bu botu engellemenin açık yolları şunları içerir:

  1. Ya oyundan önce ya da diğer faktörler bir oyuncunun bot olabileceğini düşündüğünde bir CAPTCHA uygulayın.
  2. Masa grafiklerini daha karmaşık hale getirin veya oyun boyunca temayı değiştirin.
  3. Olağandışı hızlı ve / veya robotik fare hareketlerini ve tıklamaları tespit edin (bir insan fareyi asla matematiksel olarak mükemmel bir çizgide hareket ettirmez).

2
Bunun çoğu, belirsizlik olsa da Güvenliktir. Captcha dahil tüm bunlar kırılabilir. Her ne kadar bunun kırılması en zor kısım olduğunu kabul etmeme rağmen. (+1% 100 bir çözüm yok ve anlatılanların çoğu diğer tekniklerle kullanılabilir.)
kale

2
Captcha botları şimdi ne kadar iyi? Size şunu söyleyeceğim: Google Apps'tan aldığım resimlerin yarısı bir insanın okuması imkansız .
WCWedin

Tüm bilgisayar güvenliği belirsizlikten geçer. Bir kişinin şifrelenmiş bir e-postayı okuyamamasının nedeni, özel anahtarı kolayca bulamamalarıdır. Ancak yeterli zaman ve bilgi işlem kaynakları verildiğinde, bu da "kırılabilir". Çoğu captcha oldukça iyidir ve botların% 99.99'unu ayıklayacaktır.
Cerin

5

İdeal olarak tek geçerli çözüm, robotun en ideal davranışsal tepkilerini destekleyen daha uygun bir mantık koşulunun cazibesini sağlayarak meşgul bir botu cezbeden bir bal küpü mantığı oluşturmaktır. Bot, bal kabına girdikten sonra, botun belirli bir zaman aşımına sahip olmadığını varsayarak tercih ettiği bot koşullarını sürekli olarak beslemelisiniz. Daha sonra bot ölçülebilir, kaydedilebilir ve incelenebilir. Bot'a ek olarak, botun TOR aracılığıyla bağlanmaması koşuluyla, çalışma için izole edilmiş ağ ve oturum verilerine sahip olacaksınız.

Bu durumda, bir botu bir insandan ayırmaya uygun deterministik değerlendirmeler daha az ciddidir, ancak botun davranışının tanımlanması üzerine deterministik değerlendirme daha şiddetli hale gelir. Ne yazık ki, bot sahibi, bu tür bir tanımlamayı önlemek için botta değişiklikler yapabilir, eğer söz konusu sahibi bal küpü durumunun farkındaysa veya bunun mantıklı düşünceleri varsa.


3
Sun Tzu'dan alıntı: "Düşmanınızı tanıyın". Güçlü yönlerinden kaçının ve zayıf yönlerini keşfedin.
jweyrich

Kötü bir fikir değil ve bu yazılımın nasıl görüneceği ile ilgileniyorum. Belirli bir durumu detaylandırmak ister misiniz?
kale

1
Tor çıkış noktaları oldukça sınırlıdır. Tor var noktaları üzerinden bağlanan herhangi bir oyuncu şüpheli olmalıdır.
Christian

Bir bal küpü yaratmak bir poker sitesi için çok pahalı olabilir
Tom Gullen

Para kazandığını düşünmesini sağlayabilirsiniz.
Jeff Davis

4

Poker botlarını yenmek iki şekilde olabilir: deneyip tanımlayabilir ve sistemden yasaklayabilirsiniz veya onları pokerde yenebilirsiniz. Onları pokerde yenmek daha ilginç bir akademik soru. :-)

Poker botlarını yenmekle ilgili bazı makaleler için buraya bakın: http://www.cs.cmu.edu/~sganzfri/



2

Taramayı zorlaştırmak için ekranla uğraşmakla ilgili başka bir düşünce:

Kartı, insan gözü açısından yakın ama aynı olmayan bir dizi farklı renkten yapın. Bu, okunacak şeyleri seçmeyi zorlaştırır. Kapak tarafına, kartın üzerine insan gözünün arka plandan ayrılmayacağı renklerde sahte yazılar koyun.


2
Ne yazık ki, herhangi bir yetkin programcı için bunu yenmek oldukça kolay olacaktır, çünkü renk aralıklarını tararlar ve bu çözümü atlayarak kesin değerleri göstermezler.
Tom Gullen

Renk aralıkları sabitlenmiş olsaydı işe yarardı - peki ya bir şeyleri değiştirmeye devam edersen? Bu, kazıyıcınızın insan vizyonunu anlamak için programlanması gerektiği anlamına gelir. İmkansız olmazdı ama işleri daha da zorlaştırırdı.
Loren Pechtel

Makul, ancak bu, muhtemelen kötü bir iş olan yazılımın geçerli kullanıcı deneyimini önemli ölçüde azaltacaktır.
Tom Gullen

Yenmesi çok kolay. Daha önce bir poker botu yazdım ve bir sınırlayıcı kutu içindeki görüntü benzerliğini hesaplayarak kart tanıma yapıyorum. Piksellerin hiçbiri tam olarak aynı olmasa bile (kart renkleri veya ekran konumu her haddede biraz değiştiği için), "en olası" kartı belirlemek için bu benzerlik ölçümlerini kullanmaya devam edebilirim.
benjismith

Ve neden renklerin benzer kalması gerektiğini düşünüyorsunuz? Onları çılgınca farklı renkler arasında döndürün ve arka planda döndürün - kartları süpürmeye ve renkleri değiştirmeye devam eden bir dalga gibi bir efekt hayal ediyorum. Bol kontrast tutun ve ortaya çıkan renklerin çirkin olmadığından emin olun.
Loren Pechtel

2

Botlarla ilgili sorun, düzgün insan oyunculardan daha iyi oynadıkları gerçeği mi yoksa kötü oyuncuların ortaya çıkması için 7 gün 24 saat bekleyip sonra onları sağmaya çalışabilmeleri mi?

Ayrıca, birisinin poker oynarken yanında bir bilgisayarın olması ve tavsiye için diğer bilgisayara danışması "meşru" veya "hile" olur mu?

Bir oyuncu için en uygun strateji, rakipler hakkında bilinenlerden etkilenecekse, limitli poker için çözüm alanının nasıl "çözüldüğünden" emin değilim. Oyuncuları analiz etme girişimi, iyileştirilemeyecek kadar mükemmel olduğunu nasıl iddia edebilir?


İşte pokerin çözülebilir olup olmadığına dair ilginç bir tartışma: forumserver.twoplustwo.com/29/news-views-gossip/… Orada bulunan posterlerden bazıları çok saygın. Sorun, teorik olarak bir botun rakipsiz bir şekilde performans göstermesidir. Ayrıca, size 'yardımcı olmak' için tanımladığınız yazılım gri bir alandır, birçok site PokerTracker / PokerOffice gibi veri analiz yazılımlarına izin verir, ancak ICM hesaplayıcılarında ve diğer matematiksel karar verme araçlarında sınır çizer (örneğin, bunlar hiper turbo turnuva sonu oyun stratejisi).
Tom Gullen

1

Çok sayıda eşleşmeye erişiminiz varsa, bir veri madenciliği yaklaşımı uygulayabilirsiniz. Bir yapay zekanın oyun gücü oldukça tutarlı olmalıdır, ancak insanlar için muhtemelen basit kalıplar vardır - ilk birkaç ısınma turunda daha zayıf ve uzun süre oynadıktan sonra güç azalır. Ayrıca, daha fazla para söz konusu olduğunda insan karar süreleri muhtemelen yükselir.

Fare hareketlerine (veya en azından web uygulamaları için bile geçerli olan tıklama konumlarına) erişiminiz varsa, en karmaşık olanlar dışında botları tanımak oldukça basit olmalıdır. İnsanlar fareyi tam olarak düz bir çizgide hareket ettirmezler, hızlanma ve yavaşlama süreleri, istatistiksel olarak tanımlanabilen tıklama konumu dağılımları vb. Vardır.


Pek çok poker sitesi artık çoklu tablet oluşturma için klavye kısayolları uyguluyor, böylece bir botta fare ihtiyacını ortadan kaldırabilirsiniz. Ayrıca, kararın sık sık söz konusu olan parayla arttığını düşünmüyorum, esasen kararın zorluğuyla ilişkilidir.
Tom Gullen

1

Ajax Control Toolkit NoBot'a bir göz atın :

NoBot, birkaç farklı anti-bot tekniği kullanır:

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

0

% 100 çözüm imkansız, amacım yapay zekayı kendine karşı kullanarak paradan tasarruf edecek bir çözüm. Sunucu tarafında çalışan ve her oyunda görünmez bir oyuncu olarak oynayan PokerPirate'in yapay zekasının bir örneğine sahip olun . Herhangi bir oyuncu çok fazla aynı eylemi gerçekleştirirse, muhtemelen PokerPirate'in bir örneğini yürütüyordur. Bu, saldırganın düşebileceği bir tür Honeypot veya tuzaktır. Saldırgan, botunu daha az başarılı hale getirerek bu bal küpüne karşı savunma yapabilir. Böylece bu, saldırganın her zaman biraz para çalabileceği ve savunmacının her zaman biraz para biriktirebileceği bir "Kedi ve Fare" ortaya çıkıyor .


5
Ne yazık ki, ilginç geri bildirimler içerdiği için neredeyse aynı olan diğer cevabınızı sildiniz.
Paul Dixon

Bu, sadece bir poker botu oynadığını ve bir insanın bir botun yapacağı şeyleri asla yapmayacağını varsayar.
drawnonward

@drawnonward Bir insan her zaman bir bot gibi davranmayacak , burada bir tüylenme faktörü var.
kale

3
@TheRook 'Kumar Oynama "Yapay Zekaları" tamamen matematiksel olmalıdır ve her zaman "doğru cevap" vardır. " Bu sadece pokerin tek olmadığı tam bilgili oyunlarda geçerlidir. Aynı durumda her zaman aynı eylemi gerçekleştiren bir oyuncu tahmin edilebilir hale gelir ve böylece yenilmesi kolay olur. En iyi botlar rastgelelik unsurlarına sahip olacaktır. En matematiksel oyuncular bile aynı durumda bile (genellikle% bir olasılıkla) farklı davranışlar önerecektir.
Davy8

1
@ The Rook Ben akademik bir ortam değildim, ancak bir referans buldum (ve aldığınız hemen hemen her ciddi poker kitabı, yüksek bir oyun düzeyinde öngörülemezliğin çok önemli olduğu konusunda hemfikir olacaktır) sciencenews.org/sn_arc98/ 7_18_98 / bob1.htm Bazı alıntılar:"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

Çok daha kolay yollar var. Evet. önerilerin çoğu doğru ve gerekli. ancak dolandırıcılıkların yaklaşık% 90'ı çok basit bir şekilde tespit ediliyor.

birisi bir botun kendisi için çalışmasına izin verirse, bir süre sonra onun için ikinci bir botun çalışmasını isteyecektir. (başka bir makine veya herhangi bir şekilde) ama: hatırlaması zor olduğundan aynı şifreyi kullanacaktır 2 (<--- alaycı)

ne kaldı: aynı oyun davranışına ve aynı şifre karmasına sahip hesapları kontrol edin.


Nasıl güvenilirdir? Sanırım BİRÇOK farklı insan aynı parolayı kullanıyor. Beni doğum tarihleri ​​gibi bir şifreyle, ya da sadece "azerty" veya "şifre" ile başlatmayın.
DuoSRX

6
Karmalarınızı tuzlayın! > = (
WCWedin

1
@WCWedin iyi bir çağrı, tüm şifre karmaları benzersiz bir tuz kullanmalıdır.
kale

@DuoSRX doğru, güvenilir değil, ama iyi bir ipucu. tüm sonuç listesi dolandırıcılık ekibine gider ve hesaplar üzerinde bir arka plan kontrolü yaparlar. @WCWedin evet. nobrainer ;-)
cRichter
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.