포커 봇 물리 치기


107

PokerPirate 라는 새로운 오픈 소스 포커 봇이 있습니다 . 웹 애플리케이션이 포커 봇을 감지 / 차단 / 패배시킬 수있는 창의적인 방법에 관심이 있습니다. (이것은 PokerPirate가 작성된 것과 같은 정신으로 순수한 학문적 토론입니다.)


8
난 당신이 "어떤 의미 가정 보다 위쪽 / 첫 번째 대답은 :-) 자신의 것을 주어진 방법을"
데이비드 존스턴

9
각 플레이어와 대화하십시오.
Lasse V. Karlsen

2
@Lasse : 음, 플레이어가 튜링 테스트를 통과 한 봇이면 충분하지 않습니다
lornova 2010

5
튜링 테스트를 통과 할 수 있는지 여부에 관계없이 봇 제작자가 테이블에 앉아 채팅에 모든 시간을 보내는 것을 멈추지 않습니다.
Tom Gullen 2010

6
최선의 접근 방식은 Vegas가하는 일을하는 것입니다. 게임의 규칙을 조작하여 유일한 승리 전략은 하우스가되고 하우스가되는 것입니다. 이 시점에서 봇이하는 일은 돈을 더 빨리 잃어 버리는 것이므로 돌보는 것을 그만 둘 수 있습니다.
BCS

답변:


209

서버 측 관점에서 봇 물리 치기

  1. 많은 온라인 포커 사이트에서는 의심스러운 활동으로 인해 발생 하는 팝업 보안 문자 입력을 사용 합니다.

  2. 일부 포커 사이트는 플레이 시간과 패턴을 모니터링합니다 (즉, 최악의 시나리오는 24x7 및 16 테이블을 연속으로 플레이하는 플레이어입니다. 실제 인간 일 가능성은 아주 적습니다. 그러나 일부 플레이어 는 매우 큰 핸드를 플레이 할 수 있습니다. 경험이없는 눈에는 봇처럼 보이는 볼륨 )

  3. 결함을 던져라. 플레이어가 봇이라고 의심되는 경우 화면의 몇 픽셀에서 모든 카드 위치를 변경하고 1/100 핸드에 대해 다른 색상 / 디자인 / 패턴을 만들고 던지는 지 확인합니다. 화면을 잡을 수 없으면 모든 결정에 대해 시간 초과가 발생하며 이는 매우 결정적인 봇 증거입니다.

  4. 타이밍은 컴퓨터 플레이어가 큰 결정에 대한 생각을 멈춤없이 한 번에 밀리 초 단위로 옵션에 응답하면 의심 스러울 수 있음을 알려줍니다.

  5. 자가 모니터링. 포커 웹 사이트 pokertableratings.com 데이터는 많은 대규모 사이트를 채굴합니다. 그것은 혼합 된 리셉션으로 만났고, 어떤 사람들 은 투명성을 좋아하고, 다른 사람들은 그것을 싫어합니다 . 그러나 이점은 의심스러운 플레이어 통계 (VPIP 비율, PFR 비율은 기록 될 수있는 많은 수량화 가능한 통계 중 일부)가 부정 행위의 결론으로 ​​이어지는 경우가 있다는 것입니다.

  6. 인위적으로 지능적인 분류 네트워크 는 정량화 가능한 통계를 모니터링하여 부정 행위 또는 로봇 플레이어를 분류 할 수 있습니다.

  7. 온라인 포커가 상당히 새로운 존재 였을 때, 의심스러운 플레이어 데스크탑의 일부 포커 클라이언트 소프트웨어 스크린 샷이 그들을 지원하는 프로그램을 실행하고 있는지 확인하기위한 제한된 증거와 함께 소문 과 이야기 가있었습니다. 그러나 (이것이 사실이더라도) 두 대의 컴퓨터를 실행하여 두 작업을 독립적으로 수행하면이 문제를 해결할 수 있습니다.

  8. 여러 사이트간에 반복되는 범죄자들 사이에 정보를 공유하는 것은 그들이 명예 롭고 유능한 책임있는 사람들에 의해 운영 된다면 업계에 유익 할 것입니다.

  9. 일부 봇은 설계 상 매우 단순 할 것입니다. 자신의 플레이 스타일을 발견하고 동일한 상황에서 어떻게 작동하는지 확인할 수 있다면 (매우 기본적인 전략을 수행하는 정교하지 않은 봇에서만 가능합니다) 합리적으로 빠르게 발견 할 수 있습니다.

  10. 프로그램 기능을 일관되지 않게 사용하면 플레이어가 정품임을 알 수 있습니다. 예를 들어 게임의 많은 포커 사이트에는 '내 차례가되면 접기'버튼이 있습니다. 당신이 나쁜 패를 받고 다른 플레이어가 무엇을할지 결정하기를 기다리고 있다면, 많은 플레이어들이이 버튼을 체크 할 것입니다. 봇은 이러한 버튼을 사용할 수 있습니다. 차이점은 봇은 사용 빈도의 극한에 있고, 항상 사용하거나 전혀 사용하지 않을 수 있다는 것입니다. 플레이어는 일반적으로 '자동 접기'를 누르지 만 때로는 가장 유리한 조건에서도 어쨌든 접기를 클릭합니다. 예를 들어, 진짜 플레이어는 보통 자동 접기를 누르지 만 이번에는 그렇지 않습니다. 다른 플레이어의 연기없이 그들에게 둥글게 접혀 있었고, 이제 그들은 가능한 가장 유리한 상태로 제시되었습니다. 이제 폴드를 누르면 처음부터 자동 폴드를 누르는 경향이 컸을 것입니다. 이것은 불일치 / 최적화되지 않은 / 무작위적인 행동이며 인간이되는 것과 일치합니다. 타이밍은 이러한 기능이 클릭되는시기를 다른 지표로 알려줍니다. 이것들은 모두 지표이며 결정적인 증거가 아님을 인식하는 것이 중요합니다. 이러한 모든 행동 지표는 쉽게 시뮬레이션 할 수 있습니다.

플레이어 관점에서 봇 물리 치기

  1. PokerTracker 와 같은 소프트웨어를 사용하여 가능한 한 많은 데이터를 기록하고 수집하십시오.

  2. 연주 스타일에서 패턴 식별 시도

  3. 팟 / 플레이어 수와 핸드 강도에 비례하는 베팅 크기 사이의 관계를 찾으려고합니다.

  4. 손의 범위 를 계산해보십시오 . 낮은 지분 봇은 중요한 전략적 문제가 될만큼 빈번하게 허세를 부리지는 않을 것이므로 매우 정확한 핸드 범위를 구성하는 것이 너무 까다로워서는 안됩니다.

  5. 데이터 분석 및 시행 착오를 통해 게임에서 누출 을 찾으려고 시도 누출 / 패턴이 발견되면 반복적으로 악용하고 다른 상황을 피하십시오.

인간이 적응할 수있는 경우 봇은 그다지 적지 않을 것이며 인간이 기울임 의 사슬 , 결과 지향적 사고좌절에 의해 가중치를받는 경우 봇은 그렇지 않습니다. 이것을 유리하게 사용할 수 있습니다.

따라서 본질적으로 로봇이 결정하는 동안 실제 타이밍 지연을 시뮬레이션하고 합리적이고 현실적인 플레이 패턴을 생성 할 수있을만큼 영리하다면이를 멈출 수있는 방법이 없습니다. 임의의 조건과 간단한 백 채팅 (포커 플레이어 어휘는 일반적으로 상당히 제한적 임)을 던지면 감지하기 매우 어려운 AI 플레이어가 있습니다.

탐지를 피하기 위해 봇이 할 수있는 작업

탐지를 피하는 열쇠는 가능한 한 많은 각도에서 문제에 대해 생각하는 것입니다. 당신은 매우 작고 제한적인 세상에서 지능적인 인간 행동을 시뮬레이션하려고합니다. 실행할 수있는 대부분의 행동 시뮬레이션은 상당히 분명하지만 일관성이없고 예측할 수없는 봇 일수록 발견 될 가능성이 낮아집니다.

  1. 사실적인 경기 일정을 만드십시오 (예 : 일주일에 3-5 회, 세션 당 4 시간, 1 년 동안 여기 저기없는 홀수 주).

  2. 프로그램을 실행하여 별도의 컴퓨터에서 의사 결정을 내리고 사이트 화면 캡처시 좀비 컴퓨터를 제어합니다.

  3. 행동 타이밍 무작위 화 (즉시 행동하지 말고 행동당 0.5 ~ 2 초 기다림)

  4. 중요한 결정을 내리는 시간. 결정이 경계선이라면 결정을 계산 한 다음 생각을 시뮬레이션하기 위해 잠시 기다리십시오.

  5. 클라이언트 소프트웨어 기능의 무작위 사용. 모든 테이블에있는 "나를 찾아 줘"버튼을 클릭하여 화장실 휴식 시간을 시뮬레이션하고 가끔씩 5 분 휴식을 취하십시오.

  6. 시뮬레이션 된 채팅, 포커 채팅은 종종 매우 간단한 한 줄로 이루어지며 일반적으로 토론이나 토론이 아닙니다. 감지 가능한 적절한 순간에 "불운하다"또는 "stfu"와 같은 말을합니다. 또는 코더가 자신의 봇을 모니터링하고 실행 중에 채팅에 참여하도록 할 수도 있습니다.

  7. 마우스 움직임이 사실적인지 확인합니다. 테이블이 바둑판 식으로 배열되어 있으면 왼쪽 상단 테이블에서 결정을 내리지 말고 즉시 오른쪽 하단 테이블에서 결정하십시오. 대부분의 사이트 소프트웨어는 이제 키보드 단축키를 제공하며, 이는 마우스 이동으로 사용하는 것이 더 나을 수 있습니다.

  8. 아주 단순한 AI 분류자가 기대하지 않는 일을하십시오. 예를 들어, 1 년에 한 번 간단하고 복잡하지 않은 질문으로 전화를 겁니다 ( "오늘 로그인 할 수 없습니다!"또는 "인터넷이 다운되었습니다!") 큰 차이는 없을 것 같지만 포커 회사는 그들이 그것을 실현 가능한 지표로 인식했을만큼 똑똑합니다.

  9. 산발적 인 손실 세션. 기울기를 시뮬레이션 할 수 있으며 봇은 플레이가 나쁘고 때때로 돈을 잃을 수 있습니다. 모두 가 어느 시점에서 기울어집니다.

문제는 또한 포커 웹 사이트가 봇이 네트워크에서 실행되고 있는지 여부를 특별히 신경 쓰지 않는다는 것입니다. 각 플레이어는 상당한 가치가 있으며 이론적으로는 순전히 냉소적 인 비즈니스 관점에서 볼 때 유일한 단점이 발견되면 나쁜 언론이 될 것입니다. .

노골적인 익스플로잇이 발견 된 경우에도 (Google에서 Cereus 네트워크 스캔들 또는 Absolute Poker Scandal 검색 , 매우 충격적입니다) 비즈니스는 생존하고 건강하게 유지되는 것으로 보이며, 교육을 잘 받고 우승 한 플레이어 만 잃습니다 (그중에는 많지 않음). 이것은 네트워크에 대한 숙련되지 않은 플레이어의 비율을 증가시켜 좋은 플레이어를 다시 끌어들입니다. 그것은 좋은 구식 캐치입니다 22. 적절한 시장 규제에 대한 훌륭한 주장.

모든 게임에 대해 내쉬 균형이 존재 한다는 점에 유의하는 것이 중요 합니다 . 온라인 포커는 현재 실행되는 방식에 대한 타임 라인을 가지고 있습니다. 봇이 궁극적으로 수학적으로 인계 할 것이기 때문에 미래에 누군가가 그것을 신뢰할 수 있도록 (사람들이 그것을 믿는다면) 더 많은 소셜 (웹캠 / VOIP)으로 옮겨야 할 것입니다. 우월하고 심리적으로 면역이 있습니다. 포커 AI 커뮤니티는 학계 및 / 또는 자본 이익에 힘 입어 매우 활동적 입니다.

리미트 포커와 같은 단순한 버전의 포커 는 작은 검색 공간에서 거의 해결 되었습니다. 더 복잡한 버전의 게임 (No Limit 변형 / Pot Limit Omaha 등)이 인공 플레이어가 이길 수있게되는 것은 시간 문제 일뿐 입니다.

결론

정교한 봇은 업계가보다 소셜 온라인 게임 환경으로 전환 할 때까지 탐지 할 수 없습니다. 이렇게해도 문제가 해결되지는 않지만 봇이 낮은 수준에서 승리하기가 더 어려워 질 것입니다. 우리는 PKR , 3D 및 플레이어가 멀티 태 블링을 수행하기가 매우 까다로운 다른 사이트 의보다 인터랙티브 하고 시간당 손이 적은 버전의 출시로 약간의 변화를 이미 보았습니다 .

이 문제는 또한 업계의 특성으로 인해 고통을 받고 있지만 평판이 점점 더 비즈니스 모델에 통합되는 더 큰 평판이 좋은 웹 사이트를 고수해야하는 또 다른 이유입니다. 투명성이 부족하고 초월성을 가장 하는 것은 원인에 도움이되지 않습니다.

현재 봇 개발자의 진정한 도전은 승리하는 알고리즘을 작성하는 것입니다. 이것은보기만큼 사소한 일이 아닙니다. 포커를하는 사람은 누구나 자신을 좋은 사람,이기거나 손익분기 점 플레이어라고 생각하는데, 이는 사실이 아닙니다. 그렇기 때문에 사람들은 단순히 운이 좋지 않거나 플레이 스타일이 오해를 받아 돈을 잃어도 계속 플레이합니다. 인간 심리학의 이러한 오만함과 약점은 플레이어에게 많은 돈을 잃고 포커가 여전히 수익을 올릴 수있는 근본적인 이유입니다.

포커는 능숙 해지려면 수년이 걸리는 매우 복잡한 게임입니다 ( "배우는 데 10 분, 마스터하는 데 평생 동안"이라는 오래된 속담은 여전히 ​​유효합니다). 행운의 요소는 장기적으로 매우 제한적입니다.

다른 직업과 마찬가지로, 좋은 직업을 얻으려면 수백 시간을 공부하고 수천 시간을 플레이해야합니다. 경험이 부족한 플레이어가 이해하지 못하는 것을 이해하고 경험이 적은 플레이어가 발견하지 못하는 것을 발견합니다. 그 배움은 우리가 살 수있는 것보다 더 오래 지속될 것입니다. 복잡한 게임입니다.

얼마나 자주 당신은 텔레비전에서 큰 돈을 벌어들이는 현금 게임을 보았고 누군가가 "쉬운 전화입니다!"라고 소리 치는 것을 들으셨습니까? 따라서 아마추어가 플레이의 정교함을 이해하거나 인식하지 못하며 그 수준에서 게임을 진정으로 믿지 않는다는 사실을 입증하는 것은 여전히 ​​궁극적으로 간단합니다. 그렇지 않습니다. 그들은 정말 때문에 그 높은 말뚝 플레이어 (많은 시간이) 텔레비전에가 정말 정말좋은. 아마 우리의 아마 우어가 존재를 인식 할 수없는 복잡한 메타 게임도 플레이되고있을 것입니다. 아마츄어는 체스 마스터를 넘어서서 기사를 움직이라고 외치지 않았지만 포커의 역 동성이 불완전한 정보이기 때문에 그들의 심리학은 그들이 말하는 것을 진정으로 믿게 만듭니다. 체스에서와 마찬가지로 결정은 복잡하고 민감하며 전체 게임에서 매우 중요 할 수 있습니다. 게임이 복잡 해짐에 따라 상대방이 기대하기 때문에 사소한 결정은 더 이상 사소한 결정이 아닙니다.

봇이나 게임을 레벨 위로 올리면 필연적으로 더 많은 수의 숙련 된 플레이어를 만날 수 있습니다. 그런 다음 테이블 이미지 , 레인지 밸런싱 , 정교하고 지능적인 블러핑 을 고려하여 전략의 복잡성을 다음 단계로 끌어 올려야합니다. 더 자세한 손 범위 분석으로. 당신이 올라갈 때 정말 다른 게임입니다.

성공한 봇이 작성되면 의심 할 여지없이 코더는 감지 할 수없는 방식으로 봇을 적용 할 수있는 충분한 기술, 지식 및 상식을 갖게됩니다. 이것은 그들에게 사소한 일입니다.

그래서 당신이 할 수있는 일은 정말 없습니다. 온라인으로 플레이하고 싶다면 위험을 이해하십시오. 감당할 수있는 것보다 더 많은 돈을 위험에 빠뜨리지 말고 정확한 지출 기록을 유지하여 자신의 능력을 잘못 평가하고 비현실적이며 궁극적으로 손해를 입지 않도록하십시오. 손절매가 있고 우위가 없거나 우위가 있는지 확실하지 않으면 테이블을 떠나십시오! 물론, 모두가 아무도 이기지 못하도록했다면, 그것이 게임의 약탈적이고 착취적인 성격이며, 그것이 경쟁이 시작되는 곳이고 그것이 그것을 재미있게 만드는 것입니다.


3
적어도 아날로그 모니터 시대에는 게임을하는 것과 완전히 분리 된 컴퓨터에서 스크린 그래버를 실행하는 것이 가능할 것입니다. 물론 게임의 소프트웨어에서 그러한 것을 감지하는 것은 완전히 불가능합니다. HDCP가 현대 컴퓨터의 비디오 출력으로 이러한 작업을 수행하는 것을 허용하지 않더라도 항상 정확하게 조준 된 카메라를 사용할 수 있습니다. 사람이 카드를 쉽게 읽을 수 있다면 기계는 문제가 없을 것입니다.
supercat 2010-07-02

요즘에는 VM과 그 밖의 봇에서 게임을 실행하여 이미지를 캡처하고 키보드 / 마우스 이벤트를 보낼 수도 있습니다.
André Paramés 2011 년

OpenHoldem을 살펴보십시오. 마우스 지터를 시뮬레이션하기위한 DLL 확장과 버튼 클릭에 대한 인간과 같은 마우스 가속도 있습니다. 코드가 Call 또는 Check / Fold / Raise에 대해 3 배의 확률을 생성하는 경우 수천 명의 손이 없이는 패턴을 찾기가 어려울 것입니다.
rndapology

9

고려해야 할 세 가지 영역이 있습니다. 봇은 테이블의 상태를 파악하고 결정을 내리고 결정을 다시 호스트로 보내야합니다.

테이블의 상태를 파악하는 것은 인식 가능한 형식으로 유선을 통해 전송되거나 사용자에게 표준 텍스트로 표시되는 경우 훨씬 더 쉽습니다. 먼저 이미지 인식을 유일한 옵션으로 설정 한 다음 가능한 한 어렵게 만드십시오. 카드를 3D로 표시하고 카드의 방향과 위치를 천천히 변경합니다. 카드 앞의 작은 깜박임이나 불꽃 놀이를 애니메이션하여 주어진 스크린 샷을 읽을 수는 없지만이를 확인하는 데는 시간이 걸립니다.

결정을 내리는 데는 할 일이 없습니다. 인간이 결정을 내 렸는지 여부를 결정하려는 시도는 정보가 거의없는 튜링 테스트와 같습니다.

3D를 다시 사용하면 결정을 다시 보내기가 어려울 수 있습니다. 패킷을 직접 전송하거나 마우스로 버튼을 클릭하는 것 이외의 다른 방법으로 결정을 제출하기 어렵게 만듭니다. 모든 동작을 할 때마다 버튼을 약간 움직이거나 결정을 기다리는 동안 플레이 영역 주위에 천천히 떠있게하십시오. 버튼을 찾거나 조작 할 수있는 접근성 유형 기능을 비활성화합니다.


3
어려움을 통한 보안. 게임의 렌더링 된 비디오를 스트리밍 할 수 있다고 가정하면 목표는 움직이는 CAPTCHA로 만드는 것입니다.
drawnonward

3
@The Rook : 귀하의 질문에서 언급 한 PokerPirate는 HTTP와 전혀 관련이 없습니다. 사실 HTTP를 사용하는 도박 포커 사이트가 있는지 의심합니다. 귀하의 질문, 답변 및 의견은 귀하가이 주제에 대해 아는 것이 거의 없음을 보여줍니다. 사람들에게 무엇을해야하는지에 대해 조언을하기 전에 당신이 무슨 말을하는지 알고 있어야합니다. :)
RarrRarrRarr

2
@drawnonward : 유용성이 전혀 문제가되지 않는다면 모든 데이터 연결을 차단하여 보안을 유지할 수 있습니다. 이는 부정 행위를 막는 창의적인 방법입니다. 사용성 측면을 제외하고는 보안 조치를 평가하는 방법을 알지 못합니다.
David Thornley

1
@drawnonward : 물론입니다.하지만 (a) 암호 없이는 뱅킹 사이트에 갈 수 없습니다. (b) 온라인 포커보다 대부분의 사람들에게 뱅킹이 더 필요합니다. (c) 지속적인 성가심은 아닙니다. 오랫동안 지속됩니다. 이 솔루션은 원래 문제보다 더 나쁠 수 있습니다.
David Thornley

2
원래 문제는 인간 만이 웹 페이지에서 포커를 플레이하도록하는 것입니다. 은행 사이트에서 비밀번호를 입력하면 호스트의 신뢰를 얻게됩니다. 이 경우 호스트의 지속적인 신뢰를 얻기 위해 할 수있는 작업이 없으므로 보안 문제는 지속적이어야합니다.
drawnonward 2010

8

PokerPirate는 지금까지 작성된 거의 모든 포커 봇과 마찬가지로 Windows 포커 애플리케이션에서 화면 스크래핑과 마우스 클릭 시뮬레이션을 통해 작동합니다. 따라서 시스템의 핵심은 게임의 개체를 인식하고 창에서 작업을 수행하는 능력입니다. 포커에서 똑똑 할 수 있지만 이러한 기본 작업에는 여전히 문제가 있습니다.

따라서이 봇을 차단하는 확실한 방법은 다음과 같습니다.

  1. 게임 전에 또는 다른 요인이 플레이어가 봇일 수 있음을 시사하는 경우 보안 문자를 구현하십시오.
  2. 테이블 그래픽을 더 복잡하게 만들거나 게임 내내 테마를 변경하십시오.
  3. 비정상적으로 빠른 및 / 또는 로봇 식 마우스 움직임과 클릭을 감지합니다 (인간은 수학적으로 완벽한 선에서 마우스를 절대 움직이지 않습니다).

2
이것의 대부분은 모호하지만 보안입니다. 보안 문자를 포함하여이 모든 것이 깨질 수 있습니다. 나는 그것이 깨지기 가장 어려운 부분임을 인정하지만. (+1 100 % 해결책은 없으며 설명 된이 중 대부분은 다른 기술과 함께 사용될 수 있습니다.)
rook

2
어쨌든 보안 문자 봇은 얼마나 좋은가요? 제가 말씀 드리죠. Google Apps에서 얻은 이미지의 절반은 사람 이 읽을 수 없습니다.
WCWedin 2010

모든 컴퓨터 보안은 모호함을 통해 이루어집니다. 누군가가 암호화 된 이메일을 읽을 수없는 이유는 개인 키를 쉽게 찾을 수 없기 때문입니다. 그러나 충분한 시간과 컴퓨팅 리소스가 주어지면 그것도 "파손"될 수 있습니다. 대부분의 캡 차는 꽤 좋으며 봇의 99.99 %를 제거합니다.
Cerin 2010

5

이상적으로 유일하게 유효한 솔루션은 봇의 가장 이상적인 행동 응답을 선호하는보다 유리한 논리 조건의 유혹을 제공하여 참여 봇을 유혹하는 허니팟 논리를 만드는 것입니다. 봇이 허니팟에 참여하면 봇에 설정된 시간 제한이 없다고 가정하고 선호하는 봇 조건을 지속적으로 공급해야합니다. 그런 다음 봇을 측정, 기록 및 연구 할 수 있습니다. 봇 외에도 봇이 TOR를 통해 연결되지 않는 경우 연구를 위해 네트워크 및 세션 데이터가 격리됩니다.

이 상황에서 인간과 봇을 구별하는 데 적합한 결정 론적 고려 사항은 덜 심각하지만 봇의 행동을 식별 할 때 결정 론적 고려 사항은 더욱 심각해집니다. 안타깝게도 봇의 소유자는 허니팟 상태 또는 논리적 고려 사항을 알고있는 경우 이러한 식별을 방지하기 위해 봇을 변경할 수 있습니다.


3
손자 인용 : "적을 알아라". 그의 강점을 피하고 약점을 탐구하십시오.
jweyrich

그것은 나쁜 생각이 아니며 나는이 소프트웨어가 어떻게 생겼는지에 관심이 있습니다. 특정 조건에 대해 자세히 설명 하시겠습니까?
루크

1
Tor 출구 지점은 상당히 제한적입니다. 토르 존재 지점을 통해 연결하는 모든 플레이어는 의심 스러워야합니다.
Christian

허니팟을 만드는 것은 포커 사이트에 매우 비쌀 수 있습니다
Tom Gullen 2010-08-05

돈을 벌고 있다고 생각하게 만들 수 있습니다.
Jeff Davis

4

포커 봇을 물리 치는 것은 두 가지 형태를 취할 수 있습니다 : 그들을 식별하고 시스템에서 그들을 금지 시키거나 포커에서 그들을 이길 수 있습니다. 포커에서 그들을이기는 것이 더 흥미로운 학문적 질문입니다. :-)

포커 봇을 물리 치는 것에 대한 몇 가지 논문은 여기를 참조하십시오 : http://www.cs.cmu.edu/~sganzfri/



2

스캔을 어렵게 만들기 위해 화면을 엉망으로 만드는 또 다른 생각 :

인간의 눈에 가깝지만 동일하지는 않은 다양한 색상으로 카드를 만드십시오. 이렇게하면 읽을 내용을 고르기가 더 어려워집니다. 반대로, 인간의 눈이 배경에서 분리되지 않는 색상으로 카드에 가짜 글씨를 넣으십시오.


2
안타깝게도이 솔루션을 우회하는 정확한 값이 아닌 스크래핑 색상 범위를 화면에 표시하기 때문에 경쟁하는 프로그래머라면이 방법을 쉽게 이길 수 있습니다.
Tom Gullen 2010

색상 범위가 고정되어 있으면 작동하지만 계속 변경하면 어떨까요? 그것은 당신의 스크레이퍼가 인간의 시각을 이해하도록 프로그래밍되어야한다는 것을 의미합니다. 불가능하지는 않지만 일을 훨씬 더 어렵게 만들 것입니다.
Loren Pechtel

타당하지만 아마도 나쁜 비즈니스 인 소프트웨어에 대한 유효한 사용자 경험을 상당히 손상시킬 것입니다.
Tom Gullen 2010

패배하기 매우 쉽습니다. 전에 포커 봇을 작성한 적이 있으며 경계 상자 내에서 이미지 유사성을 계산하여 카드 인식을 수행합니다. 픽셀이 정확히 일치하지 않더라도 (카드 색상이나 화면 위치가 매번 약간 변경 되었기 때문에) 이러한 유사성 측정 값을 사용하여 "가장 가능성이 높은"카드를 식별 할 수 있습니다.
benjismith 2010

그리고 왜 색상이 비슷하게 유지되어야한다고 생각합니까? 완전히 다른 색상을 순환하고 배경을 순환합니다. 카드를 계속 휩쓸고 색상을 변경하는 물결과 같은 효과를 상상하고 있습니다. 대비를 충분히 유지하고 그 결과로 나타나는 색상이 추하지 않은지 확인하십시오.
Loren Pechtel

2

봇의 문제는 그들이 괜찮은 인간 플레이어보다 더 잘 플레이한다는 사실입니까, 아니면 나쁜 플레이어가 나타날 때까지 연중 무휴 24 시간 기다린 다음 착유를 시도 할 수 있다는 사실입니까?

또한 누군가가 포커를하는 동안 컴퓨터를 옆에두고 다른 컴퓨터에 조언을 구하는 것이 "합법적"이거나 "속임수"일까요?

플레이어를위한 최적의 전략이 상대방에 대해 알려진 것에 의해 영향을받을 때 리밋 포커의 솔루션 공간을 어떻게 주장 할 수 있는지 잘 모르겠습니다. 플레이어를 분석하려는 시도가 어떻게 개선 될 수 없을 정도로 완벽하다고 주장 할 수 있습니까?


다음은 포커가 해결 가능한지 에 대한 흥미로운 토론입니다. forumserver.twoplustwo.com/29/news-views-gossip/… 거기에있는 일부 포스터는 매우 평판이 좋습니다. 문제는 이론적으로 봇이 타의 추종을 불허하는 방식으로 수행된다는 것입니다. 또한 귀하가 '도움'이라고 설명하는 소프트웨어는 회색 영역입니다. 많은 사이트에서 PokerTracker / PokerOffice와 같은 데이터 분석 소프트웨어를 허용하지만 ICM 계산기 및 기타 수학적 의사 결정 도구에 선을 그립니다 (예 : 하이퍼 터보 토너먼트 엔드 게임 전략).
Tom Gullen 2010

1

많은 일치 항목에 액세스 할 수있는 경우 데이터 마이닝 접근 방식을 취할 수 있습니다. AI의 플레이 강도는 상당히 일관되어야하지만 인간에게는 단순한 패턴이있을 수 있습니다. 처음 몇 번의 워밍업 라운드에서는 약하고 오랫동안 플레이하면 강도가 저하됩니다. 또한 더 많은 돈이 위태로워지면 인간의 결정 시간이 길어질 수 있습니다.

마우스 이동에 액세스 할 수있는 경우 (또는 웹 앱에서도 해당되는 클릭 위치 이상), 가장 정교한 봇을 제외하고는 봇을 인식하는 것이 매우 간단해야합니다. 인간은 마우스를 정확한 직선으로 움직이지 않으며 속도 향상 및 감속 기간, 통계적으로 설명 할 수있는 클릭 위치 분포 등이 있습니다.


이제 많은 포커 사이트에서 멀티 태 블링을위한 키보드 단축키를 구현하므로 봇에서 마우스가 필요하지 않습니다. 나는 또한 결정이 돈과 관련하여 자주 올라가지 않는다고 생각합니다. 그것은 주로 결정의 어려움과 관련이 있습니다.
Tom Gullen 2010

1

Ajax Control Toolkit NoBot을 살펴보십시오 .

NoBot은 몇 가지 다른 안티 봇 기술을 사용합니다.

* 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 % 해결책은 불가능합니다. 제가 추구하는 것은 AI를 자기 자신에 대항하여 사용함으로써 비용을 절약 할 수있는 해결책입니다. PokerPirate의 AI 인스턴스를 서버 측에서 실행하고 모든 게임에서 보이지 않는 플레이어로 플레이하십시오. 플레이어가 너무 많은 동일한 동작을 수행하면 아마도 PokerPirate의 인스턴스를 실행하고있을 것입니다. 이것은 공격자가 빠질 수 있는 일종의 허니팟 또는 함정입니다. 공격자는 봇을 덜 성공적으로 만들어이 허니팟을 방어 할 수 있습니다. 따라서 이것은 공격자가 항상 훔칠 수있는 "고양이와 마우스"의 함께 만드는 약간의 돈을과 수비수는 항상 저장할 수 있습니다 약간의 돈.


5
흥미로운 피드백이 포함되어 있기 때문에 거의 동일한 다른 답변을 삭제 한 것이 아쉽습니다.
Paul Dixon

이것은 포커 게임 봇이 하나 뿐이고 인간은 봇이하는 것과 같은 일을 결코하지 않을 것이라고 가정합니다.
drawnonward 2010

@drawnonward 인간은 항상 봇처럼 행동하지 않을 것 입니다. 여기에는 모호한 요소가 있습니다.
rook

3
@TheRook 'Gamboling "AI 's"는 순전히 수학적이어야하며 항상 "정답"이 있습니다.' 그것은 포커가 하나가 아닌 완전한 정보의 게임에서만 사실입니다. 같은 상태에서 항상 같은 행동을 취하는 플레이어는 예측 가능 해져 쉽게 패배 할 수 있습니다. 최고의 봇에는 무작위 요소가 있습니다. 가장 수학적 인 플레이어조차도 같은 상황에서도 다양한 행동을 권장합니다 (보통 확률 %).
Davy8 2010

1
@The Rook 나는 이것이 학문적 설정은 아니었지만 참고 문헌 하나를 파헤 쳤습니다 (그리고 당신이 선택하는 거의 모든 진지한 포커 책은 높은 수준의 플레이에서 예측 불가능 성이 중요하다는 데 동의 할 것입니다) sciencenews.org/sn_arc98/ 7_18_98 / bob1.htm 일부 인용문 :"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

훨씬 더 쉬운 방법이 있습니다. 예. 많은 제안이 옳고 필요합니다. 그러나 약 90 %의 사기가 너무 단순한 방식으로 감지됩니다.

누군가 봇이 그를 위해 일하게한다면, 그는 얼마 후 두 번째 봇이 그를 위해 일하기를 원할 것입니다. (다른 기계 또는 기타) 그러나 : 그는 기억하기 어렵 기 때문에 동일한 암호를 사용합니다 2 (<--- 비꼬는)

남은 것 : 동일한 게임 동작과 동일한 암호 해시를 가진 계정을 확인하십시오.


어떻게 신뢰할 수 있습니까? 나는 많은 다른 사람들이 동일한 암호를 사용하고 있다고 생각합니다. 생년월일이나 단순히 "azerty"또는 "password"와 같은 암호로 시작하지 마십시오.
DuoSRX 2010

6
해시를 소금에 절이십시오! > = (
WCWedin 2010

1
@WCWedin 좋은 전화, 모든 암호 해시는 고유 한 솔트를 사용해야합니다.
rook

@DuoSRX 사실, 신뢰할 수는 없지만 좋은 힌트입니다. 전체 결과 목록은 사기 팀에 전달되고 계정에 대한 배경 조사를합니다. @WCWedin 네. nobrainer ;-)
cRichter
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.