Khóa luận Ứng dụng trí tuệ nhân tạo trong xây dựng game

TRƯỜNG ĐẠI HC KHOA HC TNHIÊN  
KHOA CÔNG NGHTHÔNG TIN  
BMÔN CÔNG NGHTRI THC  
NGUYN THANH PHONG  
NG DNG TRÍ TUNHÂN TO  
TRONG XÂY DNG GAME  
KHÓA LUN CNHÂN TIN HC  
TP. HCM, 2005  
TRƯỜNG ĐẠI HC KHOA HC TNHIÊN  
KHOA CÔNG NGHTHÔNG TIN  
BMÔN CÔNG NGHTRI THC  
NGUYN THANH PHONG - 0112191  
NG DNG TRÍ TUNHÂN TO  
TRONG XÂY DNG GAME  
KHÓA LUN CNHÂN TIN HC  
GIÁO VIÊN HƯỚNG DN  
TH.S BÙI TIN LÊN  
NIÊN KHÓA 2001-2005  
NHN XÉT CA GIÁO VIÊN HƯỚNG DN  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
NHN XÉT CA GIÁO VIÊN PHN BIN  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
......................................................................................................  
LI CM ƠN  
Em skhông thhoàn thành lun văn nếu không có shướng dn và chỉ  
bo tn tình ca thy Bùi Tiến Lên. Em xin chân thành cm ơn schbo ca  
thy.  
Em cũng rt cm ơn các thy cô trong khoa Công nghThông tin trường  
Đại hc Khoa hc Tnhiên Tp.HChí Minh đã tn tình ging dy, truyn đạt  
nhng kiến thc quý báu và to điu kin cho em hoàn thành lun văn này.  
Xin chân thành cm ơn sgiúp đỡ, động viên ca ca tt ccác bn trong  
quá trình thc hin lun văn.  
Em cũng mun cm ơn nhng người thân trong gia đình đã động viên, giúp  
đỡ và to điu kin để hoàn thành lun văn.  
Mc dù đã cgng hoàn thành lun văn vi tt csnlc ca bn thân,  
nhưng lun văn chc chn không tránh khi nhng thiếu xót. Em rt mong  
nhn được sthông cm và chbo tn tình ca các thy cô và các bn.  
Tp.HCM 7/2005  
Sinh viên thc hin  
Nguyn Thanh Phong  
Mc lc  
MC LC  
Chương 1 GII THIU ................................................................................... 1  
1. Lý do chn đề i....................................................................................... 1  
1.1. Các ngôn nglp trình game............................................................ 1  
1.2. Phân loi game.................................................................................. 2  
1.2.1. Game hành động....................................................................... 2  
1.2.2. Game nhp vai.......................................................................... 3  
1.2.3. Game đua xe............................................................................. 3  
2. Mc đích ca đề tài ................................................................................... 3  
Chương 2 CÁC THUT TOÁN TÌM ĐƯỜNG ĐI ....................................... 4  
1. Mô tcác thtc tìm kiếm rng, sâu và sâu dn ...................................... 6  
2. Thut gii tìm đường đi có giá thành nhnht AT ................................... 7  
3.Tìm kiếm vi tri thc bsung.................................................................... 8  
4.Tìm đường đi trên đồ thtng quát ............................................................ 9  
Chương 3 GAME ENGINE ........................................................................... 12  
I. WED editor:................................................................................................... 13  
1. Nhng khái nim cơ bn ......................................................................... 13  
a. Giao din người dùng......................................................................... 13  
b. Thanh Icon......................................................................................... 15  
c. Mode .................................................................................................. 15  
d. Thiết kế mt khung cnh ................................................................... 14  
e. Hướng đối tượng................................................................................ 16  
f. Ca sdán....................................................................................... 18  
2. Các lnh trong WED ............................................................................... 19  
2.1.Các lnh trong các thc đơn ............................................................ 19  
2.1.1. Thc đơn file.......................................................................... 20  
2.1.2. Thc đơn edit: ........................................................................ 24  
i
Mc lc  
2.1.3. Thc đơn mode ...................................................................... 25  
2.1.4. Thc đơn Object..................................................................... 29  
2.1.5. Thc đơn Texture................................................................... 32  
2.1.5. Thc đơn View....................................................................... 33  
2.1.6. Thc đơn help ........................................................................ 34  
2.2 Giao din sdng............................................................................ 35  
2.3. Ca sdán ................................................................................... 36  
2.3.1. Tab đối tượng ......................................................................... 36  
2.3.2. Tab Views .............................................................................. 38  
2.3.3. Tab Texture ............................................................................ 38  
2.3.4. Tab Resource.......................................................................... 41  
2.4. Ca sBookmark ........................................................................... 41  
2.5. Thuc tính ca khi ........................................................................ 41  
2.6. Thuc tính ca thc th.................................................................. 43  
3. Thiết kế mt map..................................................................................... 45  
4. Thc th................................................................................................... 46  
4.1. Thc thmô hình............................................................................ 46  
4.2. Thc thSprite................................................................................ 47  
4.3. Thc thMap.................................................................................. 47  
4.4. Thc thể Địa hình (terrain)............................................................. 48  
4.5. Bóng................................................................................................ 48  
4.5. Thuc tính trong sut...................................................................... 49  
II. CÁCH SDNG MED.............................................................................. 50  
1. Trình thiết kế ........................................................................................... 50  
1.1. Các thc đơn................................................................................... 50  
1.1.1. Thc đơn File ......................................................................... 50  
1.1.2. Thc đơn Edit......................................................................... 53  
1.1.3. Thc đơn View....................................................................... 55  
ii  
Mc lc  
1.1.4. Thc đơn Options................................................................... 56  
1.1.5. Thc đơn Help........................................................................ 57  
1.2. Toolbars................................................................................................ 58  
1.2.1. Toolbar File............................................................................ 58  
1.2.2. Toolbar Edit............................................................................ 58  
1.2.3. Toolbar Select ........................................................................ 60  
1.2.4. Toolbar Mesh ......................................................................... 60  
1.2.5. Toolbar các đối tượng cơ s................................................... 61  
1.2.6. Toolbar view .......................................................................... 62  
1.2.7. Toolbar Frame........................................................................ 63  
1.2.8. Thanh trng thái ..................................................................... 64  
2.Trình thiết kế Skin.................................................................................... 64  
2.1. Các thc đơn................................................................................... 65  
2.1.1. Thc đơn File ......................................................................... 65  
2.1.2. Thc đơn Edit......................................................................... 66  
2.1.3. Thc đơn View....................................................................... 67  
2.2. Các Toolbar..................................................................................... 68  
2.2.1. Toolbar Skin........................................................................... 68  
2.2.2. Toolbar Edit............................................................................ 68  
2.2.3. Toolbar Paint.......................................................................... 69  
III. SED, C-Script editor................................................................................... 70  
1. Giao din sdng.................................................................................... 71  
2. Son tho ................................................................................................. 72  
2.1. Lnh Insert...................................................................................... 72  
2.2. Dòng chú thích................................................................................ 72  
2.3. Nhy đến mt đon mã................................................................... 72  
2.4. Sdng danh sách các thành phn................................................. 73  
2.5. Kim tra cú pháp............................................................................. 73  
iii  
Mc lc  
2.6. Son tho thông minh ..................................................................... 73  
3. Cu hình .................................................................................................. 74  
4. Thc đơn.................................................................................................. 75  
4.1. Thc đơn File.................................................................................. 75  
4.2. Thc đơn Edit ................................................................................. 76  
4.3. Thc đơn Options ........................................................................... 76  
4.4. Thc đơn Tools............................................................................... 77  
4.5. Thc đơn Debug ............................................................................. 77  
IV. Giao tiếp vi các DLL ................................................................................ 79  
1. Bt đầu vi SDK ..................................................................................... 79  
2. Sdng đối tượng C-Script trong mt DLL........................................... 82  
3. Sdng các hàm API.............................................................................. 83  
4. Lp trình mt game trong C++................................................................ 87  
Chương 4 CÀI ĐẶT........................................................................................ 89  
I. Người chơi..................................................................................................... 89  
1. Chuyn động vt lý.................................................................................. 89  
a. Gia tc, quán tính và lc ma sát......................................................... 89  
b. Rơi ttrên xung............................................................................... 93  
2. Cách di chuyn camera theo người chơi ................................................. 97  
2.1. Tm nhìn ca người thnht.......................................................... 97  
2.2. Quay tdo tm nhìn ca người th3........................................... 101  
2.3. Cách để cho camera tránh chm vào tường.................................. 106  
II. Xe tự động.................................................................................................. 108  
Tránh chướng ngi vt trên đường đi........................................................ 108  
iv  
Chương 1: Gii thiu  
Chương 1  
GII THIU  
1. Lý do chn đề tài  
Ngày nay, do nhu cu đời sng ca con người ngày càng được nâng cao,  
trong đó nhu cu gii trí ca con người được quan tâm đến rt nhiu. Trong đó  
vic gii trí bng Game máy tính ngày càng phát trin nhanh và lan rng ra do  
slôi cun rt mnh mca nó. Hu như ai đã sdng máy tính đều đã gii trí  
bng mt sgame nào đó trên máy tính. Có thnói Game là mt thloi phóng  
phú nht trong tt ccác loi chương trình trên máy tính.  
Mc dù các chương trình Game rt nhiu, nhưng để có thviết ra được mt  
game hay, có thchơi được qulà mt điu không d. Tuy vy, vi nim đam  
mê vgame máy tính, em cũng mun tiếp cn vi lĩnh vc này.  
1.1. Các ngôn nglp trình game  
Có rt nhiu chương trình htrcho vic viết game: các ngôn nglp trình  
như C++, Visual C++, Delphi, Dark Basic Pro, 3D Game Studio.  
Nhưng vi các ngôn nglp trình C++, Visual C++, DelPhi… có thlà  
nhng ngôn ngrt mnh, có thviết ra được nhng game có quy mô ln. Đây  
là nhng ngôn nglp trình có thhot động trong nhiu lĩnh vc: vi cơ sdữ  
liu, lp trình hthng, hoc viết game…Do đó shtrca nó trong vic viết  
game là rt ít. Để có thviết được mt game bng nhng ngôn nglp trình  
này mà không sdng mt thư vin nào, đòi hi phi bra rt nhiu công sc.  
Vi engine Dark Basic Pro, đây là loi engine rt đơn gin và dsdng, là  
mt ngôn ngScript theo hBasic. Nó chthích hp vi các game nh.  
Ti sao li sdng ngôn ng3D Game Studio để viết game?  
3D Game Studio là chương trình chuyên dng dùng để to ra game 3D.  
1
Chương 1: Gii thiu  
Vi hàng trăm game đã được phát hành, 3D Game Studio xng đáng là mt  
ngôn nglp trình game ln. Vi 3D Game Studio, chúng ta có th:  
- To ra mt game đơn gin tnhng script mu có sn.  
- To ra các game thương mi viết bng ngôn ngscript.  
- Có thsdng VisualC++ hoc Delphi để kết hp vi 3D Game Studio  
để viết game.  
Có rt nhiu tài liu hướng dn lp trình game bng 3D Game Studio. Ngay  
cvi nhng người chưa có kiến thc vlp trình, nhưng nếu theo tng bước  
hướng dn to mt game hành động đơn gin thì cũng có thhoàn thành nó  
trong mt thi gian ngn.  
Theo Dr.Dobb's Journal: “Đây là bcông ctuyt vi để nhanh chóng to  
ra mu ban đầu và phát trin ng dng 3D”. Chúng ta có thsdng ngôn ngữ  
script trong 3D Game Studio để viết và phân phi mt game thương mi. Dưới  
đây là nhng game thương mi được làm bng 3D Game Studio:  
1.2. Phân loi game  
Thloi ca game thì rt phong phú và đa dng, ở đây chúng ta chxét các  
thloi game thường thy nht là:  
1.2.1. Game hành động  
Game hành động xut hin rt nhiu trong cgame 3D và game 2D. Game  
loi này có đặc đim chúng là tính co git trong game, như trong game bn  
2
Chương 1: Gii thiu  
súng. Game hành động thường đơn gin hơn tt ccác loi game khác bi vì  
nhng người bình thường ddàng biết cách chơi và chơi hay game này .  
1.2.2. Game nhp vai  
Game nhp vai thường có hai đặc trưng là: sthay đổi, phát trin nhân vt  
và mt câu chuyn mà trong đó nhân vt stri qua.  
1.2.3. Game ththao  
Game ththao là sthách thc cho các nhà thiết kế game. Không ging như  
hu hết các thloi game khác, người chơi biết rt ít vnó, trong game ththao  
người chơi biết rt rõ vì nó mô phng mt môn ththao có sn trong thc tế.  
1.2.3. Game đua xe  
Game đua xe to ra cm giác ging như người chơi đang lái xe bên ngoài  
thế gii thc.  
Tuy trong đề tài ca em không thnói là viết ra được mt game chơi được  
như mt game đua xe, mà đây chlà mt chương trình mc độ mô phng  
giao thông trên đường ph.  
2. Mc đích ca đề tài  
Tìm hiu ngôn nglp trình game trong 3D GameStudio:  
- Tìm hiu vWED, mt chương trình thiết kế khung cnh trong game.  
- Tìm hiu vMED, mt chương trình thiết kế các mô hình trong game.  
- Tìm hiu vSED, trình son tho dùng để viết các câu lnh script để kết  
ni các mô hình được to ra trong MED, các khung cnh được to ra trong  
WED và sdng nhng hàm có sn trong SED hoc trong các DLL khác để  
to ra mt game.  
Sdng thut toán cổ đin A* tìm kiếm đường đi để mt đối tượng có thể  
chuyn động theo mt hướng mong mun nào đó.  
3
Chương 2: Các thut toán tìm đường đi  
Chương 2  
CÁC THUT TOÁN TÌM  
ĐƯỜNG ĐI  
Hu hết các bài toán hoc vn đề đều có thphát biu dưới dng “tmt  
trng thái xut phát hãy tìm đường dn đến mt trng thái kết thúc mong  
mun”  
Vic tìm “đường dn” ttrng thái xut phát (S0) đến trng thái kết thúc  
(Sn) gm có mt sbước sau đây:  
Chn không gian tìm kiếm thích hp.  
Tiến hành tìm kiếm có hthng và hiu qutrong không gian tìm kiếm.  
Sdng trit để các ngun tri thc liên quan trong quá trình tìm kiếm  
tương ng vi min đối tượng cth.  
Không gian tìm kiếm ca mt vn đề cn gii trên máy tính thường được  
biu din bng đồ thhay mt dng đặt bit ca đồ thlà cây. Đồ thlà mt tp  
hp gia các đỉnh và các cung ni gia các đỉnh. Các cung có thể được định  
hướng hoc không định hướng, gán giá trhoc không gán giá tr.  
Cây là đồ thị định hướng đặt bit có duy nht mt đỉnh mà không có cung  
nào hướng đến (gc ca cây), và mi đỉnh khác ca cây chcó duy nht mt  
cung hướng đến.  
Sau khi bài toán hoc vn đề được biu din li dưới dng đồ thhoc cây:  
Mi đỉnh là mt trng thái ca quá trình gii bài toán.  
Mi cung là tác động biến đổi quá trình tgiai đon này sang giai đon  
khác.  
Như vy, vic gii quyết mt bài toán cũng chlà tìm đường đi ttrng thái  
ban đầu đến trng thái mong mun được biu din qua hai đỉnh nào đó ca đồ  
4
Chương 2: Các thut toán tìm đường đi  
thhoc cây tìm kiếm. Nhiu bài toán phc tp nếu gii quyết bng phương  
pháp tìm kiếm ngu nhiên thì hu như vô vng vì số đường đi có thstăng lên  
theo hàm mũ ca số đỉnh. Chính ở đây biu ltoàn bbn cht ca trí tunhân  
to khi gii quyết các vn đề: Đó là nghthut xtrí vi các vn đề ln bng  
cách gim slượng tìm kiếm.  
Các thtc tìm kiếm đin hình bao gm:  
Tìm kiếm rng: đường đi được tìm theo mi hướng có thể ở mi bước.  
Tìm kiếm sâu: đường đi sâu mãi theo mt hướng đến khi nào không tiếp  
tc được na mi chuyn sang hướng khác.  
Tìm kiếm sâu dn: kết hp tìm kiếm rng và tìm kiếm sâu trên cơ scho  
trước mc sâu n ri tìm kiếm rng ng vi mc sâu đó.  
Tìm kiếm cc tiu hóa giá thành: mi cung ca cây (đồ th) được gán giá  
thành và hướng tìm kiếm được xác định bi vic cc tiu hóa giá thành  
đường đi.  
Tìm kiếm vi tri thc bsung: hướng tìm kiếm được xác định vi tri  
thc bsung mi bước.  
Trước hết các thtc tìm kiếm rng, sâu và sâu dn sẽ được mô tqua mt  
ví d. Sau đó mt sthut gii tìm kiếm cc tiu hóa giá thành và bsung tri  
thc sẽ được trình bày chi tiết.  
5
Chương 2: Các thut toán tìm đường đi  
1. Mô tcác thtc tìm kiếm rng, sâu và sâu dn  
100  
1
1
A
17  
D
B
1
C
1
10  
10  
12  
I
1
1
E
F
G
H
J
1
1
1
K
1
L
M
N
1
1
O
1
P
R
Q
1
1
T
S
1
1
U
V
Trng thái mong mun  
Tìm kiếm rng: quá trình tìm kiếm sln lượt là A, B, C, D, E, F, G, H, I,  
J, K, L, M, N, O, P, Q, R, S, T, U, V…  
Tìm kiếm sâu: quá trình tìm kiếm sln lượt là A, E, K, O, Q, S, T, U, V,  
…B, F,… C, G, L, H, M, … D, I, J, N, P, R.  
Chú ý: nếu nhánh dưới v dài vô hn thì quá trình tìm kiếm skhông bao giờ  
đến được mc tiêu.  
Tìm kiếm sâu dn: ng vi mc sâu 2: (A,E), (B,F), (C,G), (C,H), (D,I),  
(D,J).  
6
Chương 2: Các thut toán tìm đường đi  
ng vi mc sâu 3: (A,E,K), (B,F), (C,G,L), (C,H,M), (D,I), (D,J,N).  
2. Thut gii tìm đường đi có giá thành nhnht  
AT (Algorithm for Trees) vi mi đỉnh n tương ưng sg(n) là giá thành  
đường đi từ đỉnh đầu ti n. (g(n) có thchưa xác định đối vi các đỉnh thuc  
phn cây chưa hướng đến). Mi đỉnh n có thlà:  
Đỉnh đóng: nghĩa là đỉnh đã được xem xét;  
Đỉnh m: là đỉnh giả định sẽ được xem bước sau;  
Đỉnh n: là đỉnh mà hàm g(n) tương ng chưa được tính đến và chưa  
được xem xét đến.  
Thut gii AT gm các bước sau:  
Bước 1: Đầu tiên, mi đỉnh n và mi giá trg(n) đều là n. Mở đỉnh đầu tiên  
(coi đỉnh đầu tiên là đỉnh mđặt giá trg tương ng bng 0).  
Bước 2: Chn đỉnh mvi giá thành g tương ng nhnht. Gi đỉnh này là  
N, nếu N là đỉnh mc tiêu thì đường dn ti N là đường đi có giá thành nhỏ  
nht g(n) và vn đề đã được gii. Nếu không còn đỉnh mnào thì cây biu  
din vn đề không có đường đi ti mc tiêu. Nếu có t2 đỉnh trlên cùng  
giá trg nhnht thì kim tra trong số đó có đỉnh mc tiêu không? Nếu có  
thì chn đỉnh mc tiêu đó và quá trình gii kết thúc. Nếu không thì chn tùy  
ý mt đỉnh trong số đó và gi là N.  
Bước 3: Đóng đỉnh N và mcác đỉnh sau N (có cùng hướng đến N), vi  
mi đỉnh sau N gi là s, ta tính:  
g(s)=g(N)+(giá thành cung tN ti s)  
Bước 4: Quay trli bước 2.  
Thut gii AT đã được chng minh là luôn luôn tìm được đường đi vi giá  
thành nhnht nếu như tn ti đường đó trên đồ thvà là thut gii ti ưu theo  
nghĩa số đỉnh đóng trong quá trình tìm kiếm là ít nht.  
7
Chương 2: Các thut toán tìm đường đi  
3. Tìm kiếm vi tri thc bsung  
Thut gii AT là thut gii tìm kiếm đường đi tt nht đối vi các cây chcó  
thông tin về đỉnh, cung và giá thành cung. Nhưng trong nhiu trường hp vic  
tìm kiếm đường đi sẽ được định hướng rõ thêm nếu sdng các tri thc thu  
được da trên nhng hiu biết vtình hung vn đề ở mi bước. Các thtc  
tìm kim da trên 3 cách tiếp cn:  
Không tính đến các tri thc bsung ngoài thông tin về đỉnh, cung, giá  
thành.  
Sdng tri thc bsung để tìm cách gii riêng bit cho vn đề mà bỏ  
qua vic xây dng cây biu din cho vn đề.  
Xây dng biu din vn đề dưới dng cây có tính đến tri thc bsung  
trong cu trúc cây hoc giá thành các cung.  
Ngoài ra có có cách tiếp cn theo hướng xây dng các thut gii “vn  
năng”, tìm kiếm đường đi vi tri thc bsung. Hthut gii này mang tên là  
AKT(Algorithm for knowledgeable Tree search). Tri thc bsung mi đỉnh  
được tương ng mt giá trh(n) . Chng hn đó là ước lượng giá thành đường  
đi tn đến mc tiêu (như vy h ước lượng giá thành đường đi con chương  
biết đến).  
Thut gii AKT gm các bước sau:  
a) Đầu tiên, mi đỉnh cũng như giá trg, h , f là chưa biết. Mở đỉnh đầu  
tiên (o) và gán g(0), sdng tri thc bsung để ước tính h(0) và tính  
f (0) = g(0) + h(0) .  
b) Chn đỉnh mcó giá trf = g(n) + h(n) nhnht. Gi đỉnh này là N. Nếu  
N là mc tiêu thì đường ti N là đường đi có giá thành nhnht g(N). Nếu  
không tn ti đỉnh mnào thì cây không tn ti đường đi ti mc tiêu. Nếu có  
8
Chương 2: Các thut toán tìm đường đi  
t2 đỉnh mtrlên cùng giá trf nhnht, hãy kim tra trong các đỉnh này  
có cha mc tiêu không? Nếu mt trong các đỉnh này là mc tiêu thì vn đề đã  
được gii quyết, còn không thì chn tùy ý mt trong các đỉnh này là N.  
c) Đóng đỉnh N, mở đỉnh sau N. Vi mi đỉnh S sau N ta tính  
g(s)=g(N)+(giá thành cung tN đến S). Sdng tri thc bsung bước này,  
ước lượng h(s) và gán cho f(s) giá trf (s) = g(s) + h(s) .  
d) Quay vbước 2.  
Gii thích ý nghĩa AKT: gish(n) là giá thành nhnht được biết chính  
xác tn đến mc tiêu. Như vy h(n) chước lượng gn đúng vh(n). nếu  
h(n) h(n) thì AKT là thtc hoàn toàn tuyt đối (các đỉnh đóng đúng là các  
đỉnh nm trên đường đi ngn nht đến mc tiêu). Trong trường hp không có  
tri thc bsung, h(n) = 0 và AKT suy biến thành AT. Ta thy rõ ràng rng gia  
h = 0 h = h stn ti các thut gii vi mc độ hiu qurt thú v. Nếu  
h h (vi mi n), AKT sbo đảm tìm ra được đường đi giá thành nhnht và  
ti ưu theo nghĩa sdng số đỉnh đóng ít nht so vi mi thut gii cũng chỉ  
làm vic vi các tri thc như vy.  
Nếu h > h (vi mi n, hoc vi mt số đỉnh). AKT không bo đảm tìm được  
đường đi giá thành nhnht nhưng đường đi mà AKT tìm ra vn dùng được  
trong nhiu trường hp thc tin gii quyết vn đề.  
4. Tìm đường đi trên đồ thtng quát  
Các phn trên đã trình bày thut gii tìm đường đi trên đồ thdng cây. Tuy  
nhiên biu din dng cây nhiu khi slp li quá nhiu mt trng thái. Điu đó  
stăng thêm thi gian tim kiếm. Để khc phc cn ni bỏ điu kin mi đỉnh  
chcó mt cung hướng đến và do vy phi nghiên cu thut gii tìm đường đi  
9
Chương 2: Các thut toán tìm đường đi  
trên mt đồ thdng tng quát. Ta cũng có thmrng thut gii AKT thành  
thut gii tng quát A* như sau:  
Bước 1: Đầu tiên, mi đỉnh và các giá trg, h , f đều xem như chưa biết,  
mở đỉnh đầu tiên 0, gán cho g(0)=0, ước lượng h(0) và gán f (0) = h(0).  
Bước 2: Chn đỉnh mvi giá trf = g + h nhnht và gi là N. Nếu N là  
mc tiêu thì đường dn ti N đã tìm được và g(N) là giá thành ca đường đi đó.  
Nếu không tn ti đỉnh mthì đồ thị đó không tn ti đường đi đến mc tiêu.  
Nếu có t2 đỉnh mtrlên cùng giá trf và 1 trong 2 đỉnh đó là mc tiêu thì  
quá trình tìm đường đi cũng kết thúc, còn không thì chn tùy ý mt trong 2  
đỉnh đó là N.  
Bước 3: Đóng đỉnh N và đối vi mi đỉnh sau đó, ta tính g (s) = g(N) + (giá  
thành cung tN đến S). Nếu đỉnh S đã mg(s) g (s) thì bqua S. Ngược  
li ta mS và đặt g(s) = g (s) , tính h(s) f (s) = g(s) + h(s) .  
Bước 4: Quay vbước 2.  
Bây gichúng ta có thdùng A* để tìm đường đi ngn nht gia 2 thành  
phda theo bn đồ giao thông vi tri thc bsung h(n) có thlà khong cách  
đường chim bay từ đim (thành ph) n ti mc tiêu (thành phcn đến). Do  
khong cách đường chim bay bao gicũng nhhơn khong cách đường giao  
thông nên h(n) h(n) vi mi n. Thut gii A* vi tri thc bsung h(n) như  
trên stìm được đường đi ngn nht (hoc giá thành nhnht) vi mc độ hiu  
qucàng cao nếu h(n) càng gn h(n).  
Trong thut gii A*, ta đặc f = g + h ở đây vai trò ca g và h được xem là  
như nhau. Nhưng tùy theo trường hp, có thxét f = w1.g + w2.h vi w1, w2  
10  
Chương 2: Các thut toán tìm đường đi  
là các trng scho biết vai trò ca g và h tham gia trong quá trình gii. Ngoài  
ra cũng cn thêm các ước lượng vgiá thành (độ phc tp) ca vic xác định h  
và tp đỉnh đóng để có cơ sở đánh giá hiu quca thut gii mt cách đầy đủ.  
11  
Tải về để xem bản đầy đủ
pdf 120 trang yennguyen 29/03/2022 7760
Bạn đang xem 20 trang mẫu của tài liệu "Khóa luận Ứng dụng trí tuệ nhân tạo trong xây dựng game", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfkhoa_luan_ung_dung_tri_tue_nhan_tao_trong_xay_dung_game.pdf