philosucker / Text_Holdem

Texas Holdem Application with AI agents
Apache License 2.0
3 stars 0 forks source link

[06.25.2024] 딜러 로직 구현 중 의문 #3

Open philosucker opened 2 months ago

philosucker commented 2 months ago
  1. 현재 구현에서 BB의 옵션을 별도로 구현하지 않아도 구현한 효과를 보는가?
  2. 현재 구현에서 short-all-in 유저를 따로 기록해 re-open 구현을 별도로 안해도, 구현한 효과를 보는가?
philosucker commented 2 months ago
  1. 프리플롭에서의 유일한 체크 (BB의 체크) 구현하면서 옵션도 함께 구현 가능. 구현 완료

  2. 현재 구현에선 short-all-in 금액을 유효콜로 처리, 이전에 이미 행동을 한 유저에게 자기 차례가 다시 돌아왔을 때 이전 행동 당시까지 베팅한 금액을, 직면한 콜 금액에서 뺐을 때 LPFB 이상인 경우, raise re open 이 된다. 그런데 LPFB 미만인 경우, 규정집 대로라면 raise re open이 불가해야 하나 현재 구현에선 raise가 possible action으로 주어진다. 규정집에서 raise re open이 불가하다고 내린 근거는 자기 차례가 돌아온 유저 시점에서 해당 유저 '자신이 팟에 넣은 유효한 금액을 기준'으로 LPFB까지 레이즈 되지 않았으면, 해당유저에게 raise를 re open 해줄 수 없다는 것이다. LPFB이상 레이즈 되었다면 re open 가능. 즉 규정집 대로라면 short all in 은 유효벳(full bet) 처리를 하면 안된다. 그러면 short all in을 콜할 때, short all in 금액 자체를 콜하게 하면 안되는거 아닌가? 그 이전 풀벳 금액만큼만 콜하게 해야지? 일단 현재구현대로 간다. 규정집 내용이 잘 설득되지 않는다. 규정집 내용이 좀 틀린거 같다.

내 구현대로라면 raise re open의 기준은 아직 행동을 하지 않은 유저가 short all in 으로 공격을 당했을 때 short all in 이 open bet 인 경우 short all in 금액이 최소 open bet 금액 (BB)이상 이거나, short all in 이 open bet 이후에 일어났고, short all in 금액이 open bet 이상 open bet + LPFB 미만 인 경우 위 두 경우 중 첫번째 Short all in 은 full bet으로 간주, 이 short all in 으로 공격당한 아직 행동을 안한 유저는 short all in 금액을 액면 그대로 콜 또는 레이즈 가능. 위 두 경우중 두번째 Short all in 은 underraise로 간주 이 short all in 으로 공격당한 아직 행동을 안한 유저는 콜을 할 경우 해당 short all in 금액을 콜하고, 레이즈를 할 경우 해당 short all in 금액을 콜한 후 LPFB는 해당 short all in 금액이 아닌 직전 액션들 중 마지막 액션이 full bet이었던 경우 해당 full bet 금액을, 직전 액션들 중 마지막 액션이 full raise 인 경우 해당 full raise의 minimum raise(last legal increment)를 LPFB 로 한다.

이미 행동을 한 유저의 경우 Short all in은 open bet 일 수 없고 underraise 로만 간주되어 위 underraise 로 간주되는 short all in 설명과 동일하게 처리한다.

규정집과 내 구현이 다른 점은 내 구현의 경우 short all in이 유효한 open bet인 경우엔 일관되게 full bet 으로 간주할 수 있고 open bet 이후에 발생한 경우, 일관되게 underraise 로 간주하여, 이미 행동을 한 유저가 이 short all in을 콜 또는 레이즈 할 때 그 short all in이 몇 번째 short all in이고 increment 총합이 LPFB를 넘어 섰는지 아닌지, 해당 short all in이 이미 자신이 팟에 넣은 금액에서 LPFB 만큼 레이즈 됐는지 아닌지를 따질 필요 없이 short all in을 콜로 받는 게 언제나 유효한 콜이 되고 LPFB는 해당 Short all in이 아닌 그 직전 full bet 내지 full raise 를 기준으로 산정한다는 점이다.