α-β剪枝算法

利用α-β剪枝算法,对下图所示的博弈树进行搜索,搜索得到根节点选择的走步,以及没有必要进行评估的节点,并求出给出在何处发生了剪枝,以及剪枝的类型(属于α剪枝还是β剪枝)。

public interface Interface{
   
    public void getStrategy(String InputFile);
}
import java.util.*;
import java.io.*;

public class AlphaBeta implements Interface{
   
    final int MAX_INT=32767; 
    final int MIN_INT=-32768;    
    final int MAX=1;   //极大节点
    final int MIN=0;    //极小节点

    public class Node
    {
   
        private String name;  
        private int value;                              
        private int leval;//节点判断极大层还是极小层
        private String pFather;
        private ArrayList<String> pChildren;
        
        Node(String name)
        {
   
            this.name=name;    
            value=-1;
            pFather=new String();
            pChildren=new ArrayList<String>();
        }
        
    }


    private ArrayList<Node> NodeTree;
    private String jianzhi[];   
    private int count;
    
    public void getStrategy(String inputFile){
   
        NodeTree=new ArrayList<Node>();
        jianzhi=new String[20];
        count=0;
        readTree(inputFile);
        Alph_Beta(NodeTree.get(0).name); 
        System.out.println(count);
        String bestRoute="";
        for(int i=0;i<NodeTree.get(0).pChildren.size();i++)
        {
   
            if(NodeTree.get(0).value==NodeTree.get(search(NodeTree.get(0).pChildren.get(i))).value)
                {
   
                    bestRoute=NodeTree.get(0).name+" "+NodeTree.get(0).value+" "+NodeTree.get(search(NodeTree.get(0).pChildren
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值