Prompt para Modelagem Algébrica de Jogo 1xN com Dominó entre Alice e Bob

4.5
8 usos
ChatGPT
Usar no ChatGPT
PROMPT:

Seu objetivo é criar uma formulação algébrica que descreva todas as possibilidades de um jogo de dominó em uma linha: uma fita 1 x N de quadrados, com N par. Dois jogadores, Alice e Bob, alternam colocando um dominó que cobre dois quadrados adjacentes ainda vazios. O jogo termina quando não é mais possível colocar um dominó. Alice busca maximizar o número de quadrados não cobertos ao final; Bob busca minimizar esse número. Forneça, de forma prática e reusável, uma modelagem algébrica que descreva todas as possibilidades para qualquer N par, bem como uma abordagem de resolução que funcione para N grande.

Instruções detalhadas:
1) Formulação algébrica (versão final): apresente um modelo com variáveis binárias suficientes para descrever o estado final e a endogênia do jogo (d_{j} para cada j=1..N-1 indicando se há um dominó cobrindo (j, j+1); x_{i} para cada i=1..N indicando se o quadrado i ficará livre no estado final). Objetivo: maximizar (Alice) ou minimizar (Bob) o número total de quadrados livres, sob as restrições:
- Domínios: d_{j} ∈ {0,1}, x_{i} ∈ {0,1}.
- Disjoint dominoes: para j=1..N-2, d_{j} + d_{j+1} ≤ 1.
- Consistência: para i=1..N, x_{i} ≤ 1 - d_{i-1} e x_{i} ≤ 1 - d_{i}, com convenções d_{0} = d_{N} = 0.
- Maximalidade do estado final: para i=1..N-1, x_{i} + x_{i+1} ≤ 1 (não existem dois quadrados livres adjacentes).
Interpretar o estado final como: a escolha de {d_{j}} define uma união de dominós disjuntos que cobrem todos os quadrados não livres; a lista de quadrados livres {i | x_{i}=1} são exatamente os quadrados não cobertos ao final.

2) Abordagem de resolução (sugerida):
- Modele o jogo como um estado finito de jogo com busca em minimax, com memorização (DP) para N pequeno, representando o estado como uma bitstring da ocupação atual. O retorno da função é o número de quadrados livres ao final sob jogo perfeito, dado que é a vez de Alice (ou Bob) agir.
- Como N cresce, recomende uma transição para uma abordagem de programação dinâmica por estados agregados (por exemplo, mantendo uma janela local de tamanho constante) ou uma formulação de otimização que capture a maximalidade da posição final (via as variáveis acima) e use uma estratégia de emparelhamento ótimo para o jogador correspondente.
- Forneça também um esboço de pseudocódigo para o algoritmo minimax com poda em estado de linha, destacando como representar o estado atual eficientemente (utilizando bitsets) e como calcular o valor ótimo para N arbitrário.

3) Exemplos e verificação:
- Apresente exemplos para N=2, N=4, N=6 com a enumeração dos estados finais e os valores ótimos (número de quadrados livres) para cada caso, para ilustrar a construção do modelo.

4) Caso da instância N=2022:
- Explique como aplicar a modelagem para essa instância e, se possível, descreva (ou demonstre resumidamente) como obter o valor esperado para o número de quadrados livres sob jogo perfeito. Opcionalmente, indique se é viável derivar uma fórmula fechada para N par arbitrário e, se existir, apresente a forma geral.

Observação: mantenha a resposta com foco na clareza, definindo explicitamente as variáveis, restrições e a lógica por trás da maximalidade, para que o mesmo modelo possa ser usado em várias plataformas de IA e solver. Reporte também quaisquer restrições de escalabilidade esperadas e estratégias para mitigação.

Como Usar este Prompt

1

Clique no botão "Copiar Prompt" para copiar o conteúdo completo.

2

Abra sua ferramenta de IA de preferência (ChatGPT e etc.).

3

Cole o prompt e substitua as variáveis (se houver) com suas informações.

Compartilhe

Gostou deste prompt? Ajude outras pessoas a encontrá-lo!