Inteligência artificial Códigos Python para resolver quebra -cabeças e problemas.
OBSERVAÇÃO
Este repositório foi criado apenas para discutir os vários códigos de inteligência artificial em Python que podem ser usados para resolver quebra -cabeças e problemas. Se você tiver alguma idéia ou algoritmo, sinta -se à vontade para atualizar este repositório, pois isso ajudará a todos nós a crescer como comunidade.
1. TIC-TAC-TOE (dois usuários)
- Um jogo básico de dois usuários jogável tic-tac-toe que usa seu Numpad como marcadores de posição.
- Os jogadores voltam para posicionar sua marca.
- O jogo não tem uma GUI a partir de agora. É uma versão do console.
Mais pode ser encontrado dentro de sua pasta correspondente
2. TIC-TAC-TOE (Usuário vs AI)
- Em vez de outro usuário, a máquina jogará contra você.
- Desenvolvido usando algoritmo básico e alguns truques tic-tac-toe
- Eu joguei contra milhares de vezes e o mais alto que eu fui é um empate.
- Experimente. Você pode vencer?
Mais pode ser encontrado dentro de sua pasta correspondente
3. 8 - Problema de quebra -cabeça
Existem 9 células dispostas em uma grade 3x3. Oito deles são numerados de 1 a 8 e um fica em branco (no meu caso, eu o número a 0).
A regra deste jogo é trocar a célula em branco com sua célula adjacente e organizar as células em ordem crescente (com o espaço em branco na última célula).
Isto é, converta isso ...

Para isso ...

Mais pode ser encontrado dentro de sua pasta correspondente
4. 8 - Solver de problemas do quebra -cabeça (AI)
- Usa a melhor pesquisa pela primeira vez para encontrar a solução ideal.
- A função heurística usada é a distância de Manhattan
- Alimente os valores da placa do problema de 8 - quebra -cabeça e ele cuspirá as etapas.
- Resolve o problema que acende rapidamente!
Mais pode ser encontrado dentro de sua pasta correspondente
5. Solver de problema de jarro de água (AI)
- Existem dois jarros de água:- JUG1 e JUG2 com seus próprios volumes.
- A água pode ser derramada nesses jarros . Você não pode derramar mais água nos jarros do que os volumes permitidos. Mas você pode preencher menos.
- Inicialmente, ambos os jarros são Emtpy .
- Um estado final para os jarros é decidido. Ou seja, quanta água deve ser armazenada no JUG1 e quanto no jug2 .
- Nosso objetivo é alcançar o estado final usando apenas as seguintes operações permitidas:-
- Preencha completamente o JUG1
- Preencha o JUG2 completamente
- JUG1 vazio
- JUG2 vazio
- Transferir água de jug1 para jug2
- Transferir água de jug2 para jug1
- A qualquer momento, apenas uma operação é permitida.
- Os jarros podem ser preenchidos e esvaziados em várias vezes. Não há limite .
Mais pode ser encontrado dentro de sua pasta correspondente