『壹』 1、 迷宮尋路(遞歸程序設計和棧的應用) 【問題描述】 將一隻老鼠從一個矩形無頂大盒子(

這里有篇博文基於棧和隊列的迷宮問題求解基於棧和隊列提供迷宮問題的解決方案,也有提供源碼下載~也可以在這個網站上面搜索看看,剛才還搜到很多課設和畢設,都有源碼和文檔,一個干貨滿滿的博客,有用的話記得點贊哦^_^

『貳』 簡述人工智慧在游戲中應用在哪些方面

比如說自動尋路,角色成長,攻擊一個人採取什麼樣的攻擊方式,等等...
我的理解是:就是某個行為的發生是角色自主決定的,就像是自己在思考。

『叄』 java 實現游戲怪物自動 移動,用人工智慧控制,如點擊游戲地圖某一點,怪物就自動尋找路徑過來。

你可以去看看A星(Astar)尋路

『肆』 人工智慧 基於知識的智能體

先引用一段資料

------------------------------------------------------------------

第一類包括符號處理的方法。它們基於Newell和Simon的物理符號系統的假說。盡管不是所有人都贊同這一假說,但幾乎大多數被稱為「經典的人工智慧」(即哲學家JohnHaugeland所謂的「出色的老式人工智慧」或GOFAI)均在其指導之下。這類方法中,突出的方法是將邏輯操作應用於說明性知識庫。最早由JohnMcCarthy的「點贊意見者」備忘錄提出[McCarthy1958],這種風格的人工智慧運用說明語句來表達問題域的「知識」,這些語句基於或實質上等同於一階邏輯中的語句。採用邏輯推理可推導這種知識的結果。這種方法有許多變形,包括那些強調對邏輯語言中定義域的形式公理化的角色的變形。當遇到「真正的問題」,這一方法需要掌握問題域的足夠知識,通常就稱作基於知識的方法。許多系統的構建都運用了這些方法,在本書後面將會提到一些。

在大多數符號處理方法中,對需求行為的分析和為完成這一行為所做的機器合成要經過幾個階段。最高階段是知識階段,機器所需知識在這里說明。接下來是符號階段,知識在這里以符號組織表示(例如列表可用列表處理語言LISP來描述),同時在這里說明這些組織的操作。接著,在更低級的階段里實施符號處理。多數符號處理採用自上而下的設計方法,從知識階段向下到符號和實施階段

----------------------------------------------------------------

題目的意思就是叫你根據以知識為基礎的原則解題

比如,程序由無限多個判斷組成,這些判斷的條件就是所謂的知識。像是刺激響應一樣。比如,玩家一方派兵到了AI方的城下,這是一種情況,你應該為你的AI寫下該怎麼做的腳本。懂了嗎?

舉個例子

--------------------------------------------------------------

以圖中的網格為例,兩個機器人,分別命名為「black」和「white」。它們可以向其所在的行或列中的相鄰一格交替地移動(比如說,white先移動),而且輪到其中一個時,它必須移動。假設white的目標是與black在同一格,而black的目標是避免發生這種情況。white就可建立一棵搜索樹,在交替的級別上,black可能的行動也被考慮進去。我上傳的圖中畫出了這棵搜索樹的一部分。

為了選取最佳的起始動作,white需要分析這棵樹來決定可能的結果——即:考慮black會阻止white實現此目標。在這種沖突的情況下,一個agent可能發現一步移動,使得無論對方如何移動,它都可達到目標。不過更常見的情況是,由於計算和時間的限制,無論哪方都不能找到一個動作以保證取得成功。本書將提供有限范圍搜索方法,可用於在這種情況下找到合理的移動方式。在任何情況下,在決定了第一步之後,執行移動,考慮另一方的可能移動,然後在感知/計劃/動作方式中重復計劃過程。

這個網格例子是雙agent、信息完全,零和(zero-sum)博奕的一個實例。此處所討論的是,兩個agent(稱為博弈者)輪流移動,直到其中任何一方獲勝(另一方因此失敗),或雙方和局。

每個博弈者完全熟悉環境及自己和對方可能的移動方式和影響(盡管每個博弈者都不知道另一方在任何情況下究竟會怎樣移動)。研究這種博弈可使我們深入了解當有多個agent時,計劃過程可能出現的更多的普遍問題—即使在這些agent的目標並不互相沖突時。

可以看出,有許多常見的博弈,包括國際象棋、西洋跳棋(dranght)和圍棋,都屬於這種類型。而且它們的程序已經編寫得相當好——有的甚至可以達到參賽的水平。但此處,以並不十分有趣的井字博弈(Tic-Tac-Toe)為例,因為它簡單,有利於分析搜索技巧。有些博弈(例如

西洋雙陸棋,Backgammon)由於包含了概率因素而導致難以對它們進行分析。對許多博弈,特別像國際象棋這一類,通常都用圖標來描述自己的狀態空間,我們用8×8數組來記錄黑白機器人在8×8網格中的不同位置;用運算元表示博弈的移動,運算元把一種狀態描述轉換為另一種描述,由一個開始節點和每個博弈者的運算元隱式定義博弈圖,照前面章節的

方法建立搜索樹,但在選擇第一步時要使用一些不同方法。

-----------------------------------------------------------------

加不加分我到不奢求,但我希望以後多交流,我也喜歡人工智慧

『伍』 flash as3.0中,製作迷宮時如何使用摸牆法自動尋路 求代碼

摸牆法?不是A*嗎?

『陸』 A* 演算法求解迷宮尋路問題

我不想說出來我是刷的

『柒』 求廣度優先演算法C++走迷宮程序,可以顯示路徑

一般迷宮尋路可以用遞歸的演算法,或者用先進後出的棧數據結構實現

用的是深度優先的演算法,可以尋找到走出迷宮的路徑


但本題要求求出最短的路徑,這就要使用廣度優先的演算法

一般在程序中需要用到先進先出的隊列數據結構


下面是程序的代碼,主要原理是用到

quei,quej和prep三個數組來構成隊列

分別儲存路徑的行,列坐標和上一個節點在隊列中的位置


大致演算法如下,右三個嵌套的循環實現


首先是第一個節點進入隊列

當隊列不空(循環1)

遍歷隊列中每節點(循環2)

將八個方向能夠走的節點加入隊列(循環3)


舊的節點出列

#include<iostream>
#include<ctime>
usingnamespacestd;

#defineMAXNUM50

voidmain()
{
intm,n,i,j,x;
cout<<"請輸入迷宮大小"<<endl;
cin>>m>>n;
intmaze[MAXNUM][MAXNUM];

srand((int)time(NULL));
for(i=0;i<=m+1;i++){
for(j=0;j<=n+1;j++){
if(i==0||j==0||i==m+1||j==n+1)
maze[i][j]=1;
else
{
x=rand()%1000;
if(x>700){maze[i][j]=1;}//控制矩陣中1的個數,太多1迷宮很容易走不通
else{maze[i][j]=0;}
}
cout<<maze[i][j]<<'';
}
cout<<endl;
}

//以上是輸入和迷宮生成,一下是走迷宮


intmove[8][2]={0,1,1,0,0,-1,-1,0,1,1,-1,1,-1,-1,1,-1};
int*quei=newint[m*n];//儲存行坐標隊列
int*quej=newint[m*n];//儲存列坐標隊列
int*prep=newint[m*n];//儲存之前一步在隊列中的位置
inthead,rear,length;//隊列頭,隊列尾,隊列長度
head=0;rear=1;length=1;
quei[head]=1;quej[head]=1;prep[head]=-1;//入口位置進隊列

intpos;//當前節點在隊列中的位置,
intii,jj,ni,nj;//當前節點的坐標,新節點的坐標
intdir;//移動方向

if(maze[1][1]==1)length=0;//第一點就不能通過
elsemaze[1][1]=1;


while(length)//隊列非空繼續
{
for(pos=head;pos<head+length;pos++)//尋找這一層所有節點
{
ii=quei[pos];jj=quej[pos];//當前位置坐標
if(ii==m&&jj==n)break;
for(dir=0;dir<8;dir++)//尋找8個方向
{
ni=ii+move[dir][0];nj=jj+move[dir][1];//新坐標
if(maze[ni][nj]==0)//如果沒有走過
{
quei[rear]=ni;quej[rear]=nj;prep[rear]=pos;//新節點入隊
rear=rear+1;
maze[ni][nj]=1;//標記已經走過
}
}
}
if(ii==m&&jj==n)break;
head=head+length;
length=rear-head;//這一層節點出列
}

if(ii==m&&jj==n)
{
while(pos!=-1)
{
cout<<'('<<quei[pos]<<','<<quej[pos]<<')';
pos=prep[pos];
if(pos!=-1)cout<<',';
}
}
else
{
cout<<"THEREISNOPATH."<<endl;
}

delete[]quei;
delete[]quej;
delete[]prep;
}

『捌』 幫忙翻譯幾句話 英語。。。只有5財富值了。。。

Since artificial intelligence built last century fifty's, after several generations of people restless effort, now was used in all aspects of life, this is what makes it great. As an important branch of artificial intelligence --intelligence search problems, also let a person can not ignore, in the main content of paper, introced the basic theory of intelligent search problems,maze routing problem solution and so on.