人工智能搜索策略(空间搜索钱币翻转问题)
使用java elicpse 实现钱币翻转问题的详细代码(附带注释)
- 定义求解问题过程中能使问题状态发生改变的操作算子first(),second(),third()分别表示对第一,第二,第三枚钱币进行翻转操作。
public static int[] first(int s[]){
//翻转第1枚硬币
if(s[0]==1){
s[0]=0;
}else{
s[0]=1;
}
return s;
}
public static int[] second(int s[]){
//翻转第2枚硬币
if(s[1]==1){
s[1]=0;
}else{
s[1]=1;
}
return s;
}
public static int[] third(int s[]){
//翻转第3枚硬币
if(s[2]==1){
s[2]=0;
}else{
s[2]=1;
}
return s;
}
2.定义一个用于比较两个状态是否相等的方法,即两个数组是否相等。
public static boolean compareArray(int a[