資源簡介
利用Java實現人工智能的八數碼問題的寬度優先算法,實現對該問題的解決

代碼片段和文件信息
/*
?*?To?change?this?license?header?choose?License?Headers?in?Project?Properties.
?*?To?change?this?template?file?choose?Tools?|?Templates
?*?and?open?the?template?in?the?editor.
?*/
package?eightnumpathbfs;
/**
?*
?*?@author?student
?*/
public?class?BFS?{
????static?int[][]?goal={{123}{804}{765}};
????Node?open=new?Node();
????Node?close=new?Node();
????Node?p=new?Node();
????Node?q=new?Node();
????BFS(int[][]?wish){
????Judgement(wish);
????}
????
public?void?Print(int[][]?W){
????System.out.println(“最終結果:“);
????for(int?i=0;i<3;i++){
????????for(int?j=0;j<3;j++){
????????System.out.print(“??“+W[i][j]+“??“);
????????if(j==2){
????????????System.out.println();
????????}
????}
}
}
public?void?TrackingProcess(int[][]?Wint?l){
????System.out.println(“第“+l+“次:“);
????for(int?i=0;i<3;i++){
????????????for(int?j=0;j<3;j++){
????????????System.out.print(“??“+W[i][j]+“??“);
????????????if(j==2){
????????????????System.out.println();
????????????}
????????????}
????????}
}
public?void?print(Node?W){
????while(W.next!=null){
????System.out.println(“close:“);
????????for(int?i=0;i<3;i++){
????????for(int?j=0;j<3;j++){
????????System.out.print(“??“+W.Judge[i][j]+“??“);
????????if(j==2){
????????????System.out.println();
????????}
????????}
????}
????System.out.println(“close結束“);
????W=W.next;
}
}
public?void?Judgement(int[][]?m){
????if(arraJadge(mgoal)){
????????System.out.println(“已找到!“);
????????Print(m);
????}else{
????for(;!arraJadge(mgoal);){
????????m=move(m);
????????Print(m);
????}
????}
}
public?int[][]?move(int[][]?select){
????p=open;
????int?zero[]first[][]=new?int[3][3]last[][]=new?int[3][3];
????int?templ=0;
????last=Copy(lastselect);
????first=Copy(firstselect);
????open.Judge=first;
????for(;!arraJadge(lastgoal);){
????????last=Copy(lastfirst);
????????zero=getZero(last);??
????????if(zero[0]==0&&zero[1]==0){
????????????temp=first[0][0];
????????????first[0][0]=first[1][0];
????????????first[1][0]=temp;
????????????if((!Judgeclose(closefirst))){
????????????open=creat(open?first);
????????????}
????????????first=Copy(firstlast);
????????????temp=first[0][0];
????????????first[0][0]=first[0][1];
????????????first[0][1]=temp;
????????????if((!Judgeclose(closefirst))){
????????????open=creat(open?first);
????????????}
????????}else?if(zero[0]==0&&zero[1]==1){
????????????temp=first[0][0];
????????????first[0][0]=first[0][1];
????????????first[0][1]=temp;
????????????if((!Judgeclose(closefirst))){
????????????open=creat(open?first);
????????????}
????????????first=Copy(firstlast);
????????????temp=first[0][2];
????????????first[0][2]=first[0][1];
????????????first[0][1]=temp;
????????????if((!Judgeclose(closefirst))){
????????????open=creat(open?first);
????????????}
????????????first=Copy(firstlast);
????????????temp=first[1][1];
????????????first[1][1]=first[0][1];
????????????first[0][1]=temp
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-11-30?21:48??EightNumPathBFS\
?????目錄???????????0??2018-11-30?21:48??EightNumPathBFS\build\
?????文件????????3630??2018-11-05?17:23??EightNumPathBFS\build.xm
?????文件?????????101??2018-11-30?21:47??EightNumPathBFS\build\built-jar.properties
?????目錄???????????0??2018-11-30?21:48??EightNumPathBFS\build\classes\
?????文件???????????0??2018-11-30?21:48??EightNumPathBFS\build\classes\.netbeans_automatic_build
?????文件???????????0??2018-11-30?21:48??EightNumPathBFS\build\classes\.netbeans_update_resources
?????目錄???????????0??2018-12-02?21:48??EightNumPathBFS\build\classes\eightnumpathbfs\
?????文件????????6427??2018-12-02?21:48??EightNumPathBFS\build\classes\eightnumpathbfs\BFS.class
?????文件????????1109??2018-12-02?21:41??EightNumPathBFS\build\classes\eightnumpathbfs\EightNumPathBFS.class
?????文件?????????352??2018-12-02?21:41??EightNumPathBFS\build\classes\eightnumpathbfs\Node.class
?????目錄???????????0??2018-11-30?21:47??EightNumPathBFS\build\empty\
?????目錄???????????0??2018-11-30?21:47??EightNumPathBFS\build\generated-sources\
?????目錄???????????0??2018-11-30?21:47??EightNumPathBFS\build\generated-sources\ap-source-output\
?????目錄???????????0??2018-11-30?21:48??EightNumPathBFS\dist\
?????文件????????9229??2018-11-30?21:48??EightNumPathBFS\dist\EightNumPathBFS.jar
?????文件????????1331??2018-11-30?21:48??EightNumPathBFS\dist\README.TXT
?????文件??????????85??2018-11-05?17:23??EightNumPathBFS\manifest.mf
?????目錄???????????0??2018-11-05?17:23??EightNumPathBFS\nbproject\
?????文件???????79910??2018-11-22?10:21??EightNumPathBFS\nbproject\build-impl.xm
?????文件?????????475??2018-11-22?10:21??EightNumPathBFS\nbproject\genfiles.properties
?????目錄???????????0??2018-11-05?18:06??EightNumPathBFS\nbproject\private\
?????文件?????????112??2018-11-26?19:17??EightNumPathBFS\nbproject\private\private.properties
?????文件?????????343??2018-12-04?20:00??EightNumPathBFS\nbproject\private\private.xm
?????文件????????2497??2018-11-05?17:23??EightNumPathBFS\nbproject\project.properties
?????文件?????????523??2018-11-05?17:23??EightNumPathBFS\nbproject\project.xm
?????目錄???????????0??2018-11-05?17:23??EightNumPathBFS\src\
?????目錄???????????0??2018-12-02?21:41??EightNumPathBFS\src\eightnumpathbfs\
?????文件????????9031??2018-12-02?21:48??EightNumPathBFS\src\eightnumpathbfs\BFS.java
?????文件?????????781??2018-11-19?17:29??EightNumPathBFS\src\eightnumpathbfs\EightNumPathBFS.java
?????文件?????????345??2018-12-02?21:41??EightNumPathBFS\src\eightnumpathbfs\Node.java
............此處省略1個文件信息
評論
共有 條評論