| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/02/2012 23:07:46
|
FelipeRs
Debugger
Membro desde: 03/06/2009 22:58:14
Mensagens: 74
Offline
|
Ae galera,
estou criando um programa que calcula a melhor jogada possivel num jogo de cartas. O jogo é "escoba", nao vou explicar todas as regras aqui mas basicamente é assim:
- cada jogador recebe 3 cartas e no começo 4 cartas sao postas na mesa.
- se a soma de uma das cartas que voce tem na mao junto com qualquer numero de cartas da mesa der 15 vc fica com as cartas para voce e é a vez do seu adversário.
- depois de usar todas as 3 cartas vc pesca mais 3 e assim vai até acabar as cartas.
- se na sua vez voce pegar todas as cartas da mesa voce ganha um ponto.
Calcular com quais cartas é possivel fazer 15 é facil, o problema é que diversos fatores influenciam qual a melhor jogada.
Eu acredito que deveria usar algo relacionado a IA como neural networks, grafos, etc. Mas IA é um campo tao vasto que eu to meio perdido. Alguem tem uma luz sobre pra que lado eu devo seguir ?
valeu
ps: se precisarem que eu explique melhor é só falar.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/02/2012 23:34:10
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Online
|
Ops, falei besteira. É o sono.
This message was edited 2 times. Last update was at 09/02/2012 23:36:52
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/02/2012 23:38:49
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Online
|
Como você tem um conjunto de regras bem definidos, eu acho que uma simulação resolve seu problema.
Simule o jogo completo e vá marcando as melhores jogadas (a partir do critério que você adotou como melhor jogada).
No final, mostre a melhor jogada.
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2012 00:41:45
|
FelipeRs
Debugger
Membro desde: 03/06/2009 22:58:14
Mensagens: 74
Offline
|
ae davidbuzatto,
entao, eu queria calcular a melhor jogada para cada mao, para depois fazer o programa jogar sozinho contra alguem.
cada mao tem uma melhor jogada dependendo do contexto do jogo, vou dar um exemplo.
supondo que na mesa tenha:
4 3 5
e minha mao seja:
10 9
eu poderia pegar o 5 com o 10 mas estaria arriscado deixar 7 na mesa e se meu adversario tiver um 8 ele vai pegar todas as cartas da mesa e fara um ponto e por isso a melhor jogada seria jogar o 9 na mesa e nao pegar nada.
porem, se eu souber que todos os 8 ja foram utilizados eu posso pegar sem medo, ou se tem apenas mais um no baralho a probabilidade de ele ter um é menor.
outra fator é que na contagem dos pontos quem tiver mais cartas de ouro ganha um ponto tambem, quem tiver mais 7 ganha outro ponto dentre outras coisas.
por isso esta sendo dificil pensar em um algoritmo que calcule a melhor jogada.
|
|
|
 |
|
|