Este último texto é um mapa para revisão e reprodução. O experimento inclui um aplicativo desktop C++/Qt e uma implementação no navegador. Eles expõem o mesmo problema em ambientes diferentes, mas nomes parecidos não garantem caminhos ou comportamento numérico idênticos.

Caminhos nativo e web para o mesmo experimento
Caminhos nativo e web para o mesmo experimento

No C++/Qt, comece por `model`: features de estado, scores de ação, atualização e persistência formam a política. `game` controla streets, apostas, liquidação do pote e encerramentos como `finishHand`. `card` contém representação do baralho e cálculo de força. `mainwindow` liga interface, entrada e simulação, essencial para saber qual estado uma linha de log representa.

O navegador possui web engine separado. Ele facilita repetições e visualização, mas recompensa, features e aleatoriedade devem ser comparadas diretamente com o nativo. Uma constante alterada de um lado não deve ser presumida no outro.

Mapa entre model, game, card, mainwindow, web engine e snapshots
Mapa entre model, game, card, mainwindow, web engine e snapshots

Snapshots ligam código e observação. Cheolsu, younghee e minsu mostram que ações parecidas podem nascer de preferências diferentes. Cada snapshot é uma amostra de um ponto do treino: preserve arquivo, commit, configuração e semente. Um peso isolado não define a estratégia; acompanhe vetor de features e função de seleção.

A ordem prática é localizar o chip delta no fim da mão, conferir a transformação em `finishHand`, seguir o valor até as atualizações, carregar pesos e comparar scores. Por fim, reproduza condições equivalentes no Qt e no web engine e registre diferenças como variáveis experimentais.

O escopo é importante: a fonte publicada é um diagnostic snapshot da investigação. Ela não afirma que o redesenho de recompensa, treino com oponentes mistos ou crédito melhorado já foram implementados ou corrigiram o comportamento. A proteção anterior é containment, não reparo da causa. Mudanças futuras exigem commit próprio e o mesmo protocolo com sementes.

O mapa permite reavaliar a observação sem exagero. Código, modelos, configuração de reprodução e falhas formam juntos a linha de base.

22 arquivos · 5.126 linhas — abra uma pasta e clique em um arquivo para carregar o código.

Raiz do projeto2 arquivos
CMakeLists.txttext · 35 linhas · 772B

Carregando o código…

README.mdmarkdown · 28 linhas · 885B

Carregando o código…

models/3 arquivos
models/cheolsu.modeltext · 86 linhas · 686B

Carregando o código…

models/minsu.modeltext · 86 linhas · 639B

Carregando o código…

models/younghee.modeltext · 86 linhas · 743B

Carregando o código…

src/11 arquivos
src/card.cppc++ · 409 linhas · 11KB

Carregando o código…

src/card.hc++ · 27 linhas · 757B

Carregando o código…

src/dealer.cppc++ · 22 linhas · 560B

Carregando o código…

src/dealer.hc++ · 21 linhas · 445B

Carregando o código…

src/game.cppc++ · 854 linhas · 29KB

Carregando o código…

src/game.hc++ · 159 linhas · 4KB

Carregando o código…

src/main.cppc++ · 19 linhas · 380B

Carregando o código…

src/mainwindow.cppc++ · 1.193 linhas · 50KB

Carregando o código…

src/mainwindow.hc++ · 49 linhas · 996B

Carregando o código…

src/model.cppc++ · 303 linhas · 11KB

Carregando o código…

src/model.hc++ · 55 linhas · 1KB

Carregando o código…

web/6 arquivos
web/css/table.csscss · 210 linhas · 7KB

Carregando o código…

web/index.htmltext · 38 linhas · 2KB

Carregando o código…

web/js/engine.jsjavascript · 985 linhas · 29KB

Carregando o código…

web/js/ui.jsjavascript · 358 linhas · 12KB

Carregando o código…

web/poker.mariago.kr.conftext · 33 linhas · 722B

Carregando o código…

web/test.mjsjavascript · 70 linhas · 3KB

Carregando o código…