Lista de discussão de MAC 212
[Prévia por Data][Próxima por Data]
[Prévia por Assunto][Próxima por Assunto]
[Índice por Data][Índice por Assunto]
[Envie uma nova mensagem para a lista]
[Responda esta mensagem]
Re: Volta Jogada
- Subject: Re: Volta Jogada
- From: Alfredo Goldman <gold@ime.usp.br>
- Date: Fri, 22 Jun 2001 10:12:16 -0300
Hi a mensagem ta ficando grande..
Cesar writes:
> > > - minha pergunta é: eu tenho q contar quantas jogadas o computador
> simulou e
> > > voltar o mesmo
> > > numero de jogadas? Ou pelo fato de meu método de avaliação das jogadas
> > > (EVAL) ser recursivo, eu posso faze-lo voltar uma só vez (em cada
> chamada do
> > > metodo)?
> >
> > A idéia é mesmo esta, a cada chamada no nível de recursão, você deve
> voltar
> > uma jogada. Assim o controle de quantas jogadas voltar fica automático.
>
> Réplica: entao eu tenho que guardar todas as jogadas desde o primeir nivel
> de recursoa
> e todos os estados do tabuleiro né (trabalhoso) ?
Errado, quando se faz a recursão, as jogadas são guardadas automaticamente,
a cada chamada, isto é o seu programa poderia ser como:
para cada joga valida i
faz jogada i
chama a recursão
faz os calculos para ver se é a melhor/pior
volta a jogada i
> > > - Nao seria mas fácil construir e copiar outro tabuleiro e simular as
> > > jogadas nele, nao tendo
> > >que me preocupar com quantas jogadas o computador esta a frente no
> tabuleiro
> > >'oficial' ?
> >
> > Talvez um pouco mais fácil, mas vamos ver por outro lado, a cada nível de
> > recursão existem da ordem de 20 jogadas. Caso sejam feitos quatro níveis
> > teremos 160mil cópias do tabuleiro..., se cada uma ocupa míseros 1kb....
>
> Réplica: Mas, se eu fizer uma copia de cada tabuleiro e destrui-lo no final
> de cada avaliacao, terei, no maximo o numero de recursoes que estarei
> fazendo certo
> (ou nao)?
Ok, você está certo, mas de qualquer forma você imagina o custo de criar
e destruir 160mil cópias do tabuleiro ?
Alfredo