Tải bản đầy đủ (.pdf) (4 trang)

trí tuệ nhân tạo cao hoàng trứ bài tập lớn 2 13 04 robocode tournament sinhvienzone com

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (538.63 KB, 4 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA TPHCM
KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH

om

MON TRÍ TUE NHÂN TÂO
BÂÍ TÂP LỚN 2 2014-2015
ROBOCODE TOURNÂMENT

ne

Củng cố các kiến thức của môn học Trí Tuệ Nhân Tạo (AI)
Rèn luyện thêm về kỹ năng lập trình, đặc biệt là đối với Java
Rèn luyện cách đọc tài liệu (document) và cách viết báo cáo (report)
Tăng cường khả năng nghiên cứu

Zo






.C

Mục tiêu

en

Giới thiệu


Vi

Theo wikipedia ( Robocode là một chương trình trò chơi mà mục
tiêu là tạo ra một robot, robot mô phỏng xe tăng trong một đấu trường chiến đấu để tìm và tiêu diệt các
robot khác, nó được trang bị với hệ thống radar.

Si

nh

Một robot có thể di chuyển tới, lui ở các tốc độ khác nhau và di chuyển qua trái, qua phải. Các radar và
tháp pháo có thể được chuyển sang trái hoặc sang phải độc lập với nhau so với phần còn lại của xe tăng.
Khẩu súng có thể bắn. Khi cài đặt một trận đấu, ta có thể xem được trận đấu từ bên ngoài màn hình
chơi. Người chơi là các lập trình viên, những người này sẽ không ảnh hưởng trực tiếp vào trò chơi mà
thay vào đó người chơi phải lập trình làm sao cho robot thông minh có thể xử lý và phản ứng tất cả các
sự kiện xảy ra trong lĩnh vực chiến đấu.
Khi một robot đối thủ lọt vào radar, một sự kiện sẽ được sinh ra và một hành động phù hợp sẽ được
robot thực hiện. Robot có thể lấy được các thông tin về một đối thủ đang trong vùng quét của radar như
tốc độ, heading, năng lượng còn lại, tên và gốc giữa heading của nó với robot đối thủ, khoảng cách giữa
nó với đối thủ. Dựa vào các thông tin này mà robot sẽ đưa ra các hành động phù hợp. Ví dụ, khi phát
hiện một đối thủ trong vòng radar, robot có thể dùng súng để bắn.
Các robot được viết bằng ngôn ngữ lập trình Java và trò chơi Robocode có thể chạy trên bất kz hệ điều
hành có hỗ trợ nền tảng Java, bao gồm tất cả các hệ thống phổ biến như Windows, Mac OS X, Linux ...

SinhVienZone.com

/>

Yêu cầu
Phần lập trình

Sinh viên sẽ lập thành nhóm 2 người, tạo ra cho mình 1 robot thông minh nhất để có thể chiến đấu với
các nhóm sinh viên khác. Để có thể chiến đấu được, robot của nhóm phải vượt qua được vòng sơ tuyển
với robot của nhóm TA (Teaching Assistant, sẽ submit trước qua Sakai). Những robot vượt qua được
vòng sơ tuyển với robot của nhóm TA sẽ được thông báo trên Sakai và tiếp tục chuẩn bị để bước vào các
vòng đấu loại sau, chi tiết như sau:

Si

nh

Vi

en

Zo

ne

.C

om

1. Vòng sơ tuyển: đấu với robot của nhóm TA.
2. Vòng sơ loại: Trong lớp thực hành, sẽ chọn ra 6 nhóm mỗi lớp để bước vào vòng tiếp theo. Tổng
cộng có 6 lớp thực hành, số nhóm tổng cộng của vòng này 36 nhóm.
3. Vòng bảng 1: Trong 36 nhóm đã vượt qua vòng trước sẽ được chia thành 8 bảng, mỗi bảng 4-5
nhóm. Kết quả chia bảng và lịch thi đấu sẽ được công bố sau. Mỗi bảng sẽ chọn ra 2 nhóm nhất
và nhì bảng để tiếp tục vào vòng tiếp theo. Như vậy, sau vòng này sẽ có 8 * 2 = 16 nhóm được đi
tiếp.
4. Vòng bảng 2: Trong 16 nhóm đã vượt qua vòng trước, sẽ được chia thành 4 bảng A, B, C, D, mỗi

bảng 4 nhóm. Kết quả chia bảng và lịch thi đấu sẽ được công bố sau. Mỗi bảng sẽ chọn ra 2
nhóm nhất và nhì bảng để đi tiếp vào vòng sau.
5. Vòng tứ kết đến chung kết: Theo thể thức vòng loại trực tiếp World Cup:
Vòng tứ kết: 8 nhóm sẽ có 4 trận đấu:
 Nhất bảng A – Nhì bảng B (trận 1)
 Nhất bảng B – Nhì bảng A (trận 2)
 Nhất bảng C – Nhì bảng D (trận 3)
 Nhất bảng D – Nhì bảng C (trận 4)
Vòng bán kết:
 Thắng trận 1 – Thắng trận 3 (trận 5)
 Thắng trận 2 – Thắng trận 4 (trận 6)
Vòng chung kết:
 Thắng trận 5 – Thắng trận 6
Cách đánh giá phần lập trình:









SinhVienZone.com

Không vượt vòng sơ tuyển: 0 điểm
Chỉ vượt qua vòng sơ tuyển: 5 điểm
Vượt qua vòng sơ loại, không vượt qua vòng bảng 1: 6 điểm
Vượt qua vòng bảng 1, không vượt qua vòng bảng 2: 7 điểm
Vượt qua vòng bảng 2, không vượt qua vòng tứ kết: 8 điểm

Vượt qua vòng tứ kết, không vượt qua vòng bán kết: 9 điểm
Vượt qua vòng bán kết, thua trong trận chung kết: 9.5 điểm
Vô địch: 10 điểm

/>

Phần bài báo cáo
Bài báo cáo có thể viết bằng MS Word (xuất ra file pdf) hoặc Latex (xuất ra file pdf) và in ra bảng giấy
nộp lại cho TA vào cuối môn học. Các phần cần có trong báo cáo:






Liệt kê và dẫn nguồn javadoc của các phương thức (method) mà nhóm sử dụng từ mã nguồn của
robocode.
Trình bày javadoc của phương thức (method) mà nhóm tự tạo
Các giải thuật, kiến thức của môn AI mà nhóm đã sử dụng
Các giải thuật, kiến thức khác mà nhóm đã sử dụng
Trình bày chi tiết các giải thuật, chiến thuật mà nhóm đã sử dụng để tạo robot. (Lưu { phải có ví
dụ cụ thể một số trường hợp)

om



Tham khảo

/> />

en




Zo

ne

.C

Sinh viên tham khảo các trang web sau để đọc tài liệu (document) – lưu {, để tránh trường hợp không
đọc được tài liệu do trang web không hoạt động, sinh viên phải có nhiệm vụ sao lưu các trang cần thiết
của trang web để có thể đọc offline khi cần thiết, không viện bất cứ l{ do gì liên quan đến nguồn tài liệu
không hoạt động để làm bài không được, ngay tại thời điểm 13/4/2015, các trang web trên vẫn hoạt
động bình thường:

nh

Vi

Để thống nhất trong lúc chấm và chạy chương trình, các nhóm sử dụng mã nguồn cũng như tài liệu tham
khảo ứng với phiên bản robocode-1.9.2.4-setup.jar được đính kèm, lưu { để cài đặt được, cần nhấn
chuột phải, chọn property, và unblock.

Cách đánh giá

Si

Như đã nói ở trên, sẽ có 1 vòng sơ tuyển trực tiếp với robot của nhóm TA, vượt qua vòng này, các nhóm

mới có thể viết báo cáo và nộp bài, mới chính thức tính điểm. Nếu không vượt qua được vòng này,
nhóm sẽ bị nhận điểm 0 cho bài tập lớn này. Sau khi vượt qua vòng sơ tuyển, nhóm có thể tùy ý chỉnh
sửa robot của mình để tối ưu chiến đấu ở các vòng sau. Mỗi trận đấu sẽ có 3 hiệp, nhóm thắng 2 trong 3
hiệp sẽ là nhóm chiến thắng, trong trường hợp hòa, thì dựa vào tổng điểm (total score xem thêm tại
đây: Luật chơi đều theo trên trang web.
Đối với các vòng trước vòng tứ kết, các TA sẽ ghi nhận lại kết quả của trận đấu và tổng hợp danh sách
các đội sẽ đi vào vòng tiếp theo cũng như cách chia bảng, thời gian thi đấu.
Đối với vòng tứ kết, bán kết và chung kết sẽ được tổ chức vào một buổi riêng biệt vào cuối học kz, dự
kiến là tuần dự trữ.

SinhVienZone.com

/>

Điểm tổng kết được đánh giá như sau:
Tổng điểm = Điểm số tối đa mà các đội nhận được – 3 + điểm làm của bài báo cáo
Số điểm của bài báo cáo được đánh giá từ 0 đến 3 như sau:





0: bài báo cáo quá tệ, không đáp ứng được yêu cầu cơ bản
1: bài báo cáo sơ sài, ghi chung chung, không hiểu { nghĩa thật sự
2: bài báo cáo được, đáp ứng được yêu cầu cơ bản
3: bài báo cáo tốt, đáp ứng được yêu cầu cơ bản, trình bày rõ ràng, hợp lý, dễ hiểu

om

Nộp bài


.C

2 sinh viên trong mỗi lớp thực hành (không được lớp khác) sẽ bắt cặp với nhau để tạo nhóm. Rồi sẽ
submit tại đây để các TA có thể tổng hợp được: />Nhóm sinh viên nộp bài 2 lần vào Sakai, lưu {, mỗi nhóm chỉ cần 1 người nộp là đủ.

Zo

ne

Đợt 1 là file jar của Java package robot của nhóm mình (cách đặt tên như sau:
vn.edu.hcmut.ai.tennhom_spring2015) xem thêm về cách package robot của nhóm tại đây:
để sơ tuyển với robot của TA.
Deadline đợt 1: 10/05/2015

nh

Vi

Deadline đợt 2: 24/05/2015

en

Đợt 2 là file zip bao gồm file jar của Java package robot của nhóm mình và file pdf báo cáo sau khi đã
hoàn thành xong mùa giải.

Xử lý gian lận

Si


Xử theo luật của nhà trường.

SinhVienZone.com

/>


×