Algoritmo Minimax (alfa-beta)

Olá pessoal,
eu estou fazendo um trabalho de Inteligência Artificial
e estou precisando implementar o algoritmo Minimax com poda
alfa-beta o meu minimax ficou assim:

public void MiniMax(){
  int max = 0;
   int x = 10 , y = 10;
   int parcial = -99;
   
   for (int m = 0; m <= 7; m++){
      for (int n = 0; n <= 7; n++ ){
        if (possiveisJogadas[m][n] == 1){
          max = ParcialWhiteScore(m,n);
          if (max > parcial){
            parcial = max;
            y = n;
            x = m;
          }
        }           
      } 
   }    
    
    //possiveisJogadas[x][y] = 0;
    if(x != 10){
        jogoAtual[x][y] = vez;

        ComeEsquerda(x, y);
        ComeDireita(x, y);
        ComeAcima(x, y);
        ComeAbaixo(x, y);
        ComeEsqAcima(x, y);
        ComeDirAbaixo(x, y);
        ComeEsqAbaixo(x, y);
        ComeDirAcima(x, y); 

        //atualiza imagens baseada na matriz de jogo
        RefreshTabuleiro();
    }
    
    //jogada OK muda vez
    MudaVez(); 
    
    //atualiza matriz de possiveis jogadas
    RefreshPosJogadas();
    
    CurrentScore();
    
    jLabel4.setText(itWhiteScore.toString());
    jLabel5.setText(itBlackScore.toString());
    
}

Eu estou criando o jogo Reversi,
alguém sabe como que eu devo
fazer para conseguir implementar
a poda alfa-beta? Na realidade
eu também não entendi direito
o funcionamento da poda alfa-beta
Será que alguém poderia me dar uma
ajuda?

[]'s.

[quote=ricardocomp]Olá pessoal,
eu estou fazendo um trabalho de Inteligência Artificial
e estou precisando implementar o algoritmo Minimax com poda
alfa-beta o meu minimax ficou assim:

public void MiniMax(){
  int max = 0;
   int x = 10 , y = 10;
   int parcial = -99;
   
   for (int m = 0; m <= 7; m++){
      for (int n = 0; n <= 7; n++ ){
        if (possiveisJogadas[m][n] == 1){
          max = ParcialWhiteScore(m,n);
          if (max > parcial){
            parcial = max;
            y = n;
            x = m;
          }
        }           
      } 
   }    
    
    //possiveisJogadas[x][y] = 0;
    if(x != 10){
        jogoAtual[x][y] = vez;

        ComeEsquerda(x, y);
        ComeDireita(x, y);
        ComeAcima(x, y);
        ComeAbaixo(x, y);
        ComeEsqAcima(x, y);
        ComeDirAbaixo(x, y);
        ComeEsqAbaixo(x, y);
        ComeDirAcima(x, y); 

        //atualiza imagens baseada na matriz de jogo
        RefreshTabuleiro();
    }
    
    //jogada OK muda vez
    MudaVez(); 
    
    //atualiza matriz de possiveis jogadas
    RefreshPosJogadas();
    
    CurrentScore();
    
    jLabel4.setText(itWhiteScore.toString());
    jLabel5.setText(itBlackScore.toString());
    
}

Eu estou criando o jogo Reversi,
alguém sabe como que eu devo
fazer para conseguir implementar
a poda alfa-beta? Na realidade
eu também não entendi direito
o funcionamento da poda alfa-beta
Será que alguém poderia me dar uma
ajuda?

[]'s.[/quote]

Olá Ricardo, tudo bem?
Primeiramente, acho que você deveria entender MUITO bem o conceito da Poda alfa-beta antes de tentar implementá-la não é mesmo?
www.koders.com
Nesse site existem MUITAS implementações de algoritmos deste tipo. Se for pesquisar la, faça a busca em inglês. =)

Jóia Fábio?
Muito Obrigado pela sua ajuda,
eu já estou dando uma olhada
aqui no site. :smiley:

[]'s.

A partir desta referência:

fica mais fácil achar outras coisas.