LUC1EL: BLOG

포커 핸드 알고리즘에 대한 탐구 본문

소프트웨어 개발/알고리즘

포커 핸드 알고리즘에 대한 탐구

LUC1EL 2010. 6. 7. 06:57

알고리즘이라고 봐야 되는지 모르지만 짤막하게 본 바로는..

일단 괜찮은 코드로 보였다.

게다가 한 사람이 작성한 코드가 아니라 여러사람이 작성한 코드를 모아놓은 것 같아 보이는데.. 이 정도면 소장가치가 있다고 판단되고 또 그 아이디어가 기발한 듯 하여 이렇게 올려놓고 나중에 써먹을까 한다. ㅋㅋ



다운로드:


포커AI 음.. 외국 포럼인데 위 사이트에 들어갔다가 방문했는데, 어느정도 활성화된 커뮤니티 같다. 좋은 지식들 많은 것 같다~ ㅋ


포커AI 포럼 및 기타 포커 관련 알고리즘 혹은 연구 사이트등을 돌아보며 괜찮다고 생각되는 사이트 몇개 더 올린다.

Poker Bot Artificial Intelligence Resources



이 사이트는 아래 Cactus Kev's의 사이트를 찾게 해준 사이트 인데, 포커 AI 리소스라는 이름으로 여러가지 컨텐츠를 올려놓은 사이트 이다. 자바로 된 포커 핸드 알고리즘도 있고 미어켓API라는 API에 대한 링크도 걸어놓고 음.. 글쎄 일단 아래 사이트를 알게 해주고 자바코드도 혹시나 나중에 보게 될까바 걸어놓자!! 


Coding the wheel 

이 사이트 역시 아래 Cactus Kev's 사이트는 물론 각 종 포커 알고리즘에 대한 포스트나, 기타 포커 알고리즘 및 제반 기술을 연구하는 타 사이트의 링크를 게시하는 등의 포스트가 있어 위 spaz.ca 사이트 보다 너 많은 내용을 담고 있다. 


Cactus Kev's Poker Hand Evaluator

굉장히 인상적인 코드를 보여준다. 코드와 알고리즘 체계가 아주 훌륭하다고 생각되는데 예술이라는 생각도 든다.

비트연산으로 계산하는게 대부분인 코드이다. 아주 적은 양의 소스로 5 Hands 또는 7 Hands의 오디널 포커의 족보 및 랭킹을 계산할 수 있다. 퍼포먼스도 굉장히 좋을 듯 한 코드이다.  

추가: Cactus Kev's의 코드는 7 Hands 포커 계산보다 5 Hands 카드를 계산하는 알고리즘인데, 코드를 수정하면 7 Hands도 가능하다고 대충 파악한 바로는 그리 생각이든다. 허나 5 Hands의 경우 Integer(정수형 4바이트) 한개에 담을 수 있는 반면 7 Hands로 해야 할 경우 52Bit 사이즈 이상의 크기가 필요한 듯 한데 그에 대한 내용은 Cactus Kev's의 사이트 보다 위 CodingTheWheel에서 찾아보면 관련 내용이 있다. 




서핑하다가 발견한 문서인데, 위 사이트들 중에서 있었던 것 같다. 그냥 신선하다고 표현하기엔 머하지만 알고리즘도 아닌 꼼수(?)에 가까운 화면 인식 방법론이 나온다. 머 볼만한 듯도 하고....

다운로드: