1. Trang chủ
  2. » Tất cả

Giải các bài toán sử dụng Trí tuệ nhân tạo

8 1 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 171,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giải các bài toán sử dụng Trí tuệ nhân tạo. B¸o c¸o Bµi tËp lín m«n häc TrÝ tuÖ nh©n t¹o §å ¸n TrÝ tuÖ nh©n t¹o GV NguyÔn Xu©n Hoµi Môc lôc 1Lêi nãi ®Çu 2I Néi dung b¸o c¸o 2Bµi tËp lín 1 Gi¶i quyÕt bµi to¸n 4Bµi tËp lín 2 Trß ch¬i Line 7II H¹n.

Trang 1

Môc lôc

Lêi nãi ®Çu 1

I Néi dung b¸o c¸o 2

Bµi tËp lín 1: Gi¶i quyÕt bµi to¸n: 2

Bµi tËp lín 2: Trß ch¬i Line 4

II H¹n chÕ cña ch¬ng tr×nh 7

1 Ch¬ng tr×nh ph¶n øng hãa häc 7

2 Trß ch¬i Line 8

III Híng ph¸t triÓn cña ch¬ng tr×nh 8

1 Ch¬ng tr×nh ph¶n øng hãa häc 8

2 Trß ch¬i Line 8

IV KÕt LuËn 8

Lêi nãi ®Çu

Trang 2

Qua các kiến thức tiếp thu đợc ở trên lớp qua các bài giảng của giáo viên, bài tập lớn, nhỏ và các chuyên đề đợc giáo viên giao ,kết hợp với sự tham khảo tài liệu theo định hớng của giáo viên về môn học Trí tuệ nhân tạo chúng em đã nắm đợc những kiến thức, kỹ thuật cơ bản nhất của các thuật toán trong môn học Những kiến thức này thực sự quan trọng là nền móng cho việc lập trình các chơng trình thông minh(intelligent), mang tính trí tuệ

và là kiến thức để học tập những môn học tiếp theo ứng dụng kiến thức đã học vào để lập trình các chơng trình thông minh và các chơng trình trò chơi mang tính thông minh Tuy nhiên do tìm hiểu nghiên cứu cha sâu, áp dụng kiến thức vào các bài toán thực tế còn ít, một số kỹ thuật còn cha biết tới do vậy việc xử lý có điểm thuật toán còn cha tối u Chúng em rất mong đợc nhận đợc sự góp ý của thầy và các bạn trong lớp về chơng trình để chơng trình có thể đợc hoàn thiện hơn, và cũng rất mong đợc sự gúp đỡ của thầy để chúng em có thể nắm vững hơn về môn học này cũng nh các kiến thức khác Cuối cùng chúng em xin cám ơn thầy đã dành nhiều thời gian để giúp

đỡ chỉ dạy tận tình trong quá trình học tập của chúng em

I. Nội dung báo cáo:

Bài tập lớn 1: Giải quyết bài toán:

Cho hỗn hợp một số chất hoá học (vô cơ), yêu cầu viết các phản ứng hoá học có thể xảy ra và tìm xem một hợp chất nào đó có trong sản phẩm tạo thành hay không?

*Xây dựng chơng trình:

+ Mục tiêu: Chơng trình phải nhận biết đợc các chất khác nhau và

phảI viết đợc phơng trình các chất có thể tác dụng đợc với nhau nếu thoả mãn.Các điều kiện phản ứng phảI đúng nh thực tế

+Kết quả: Đợc xem là rất tốt

+ Trí tuệ nhân tạo đợc sử dụng trong chơng trình

Lập luận tiến dựa trên các quy luật sau:

Su dung cac Quy Luat :

Trang 3

Kim Loai + O2 -> Oxit KimLoai Phi Kim + O2 -> Oxit Phi Kim

Kim Loai + Phi Kim -> Muoi

Phi Kim + H2 -> Axit

Phi Kim + H2O -> Axit (Nhom 7)

Kim Loai + Axit -> Muoi + H2

Oxit Axit + H20 -> Axit

Oxit Bazo + H20 -> Bazo

Oxit Axit + Kiem -> Muoi + H20

Oxit Bazo + Axit -> Muoi + H2O

Phan ung Trung Hoa

Bazo + Muoi -> Muoi(moi) + Bazo(moi)

Muoi + Muoi -> Muoi(moi) + Muoi(moi)

Muoi + Axit -> Muoi(moi) + Axit(moi)

Kim Loai+ Muoi -> Muoi(moi) + KimLoai(moi)

Sản phẩm đợc tạo ra của phản ứng trớc sẽ nếu nh cha có sẵn sẽ đợc thêm vào các chất tham gia phản ứng của các phản ứng sau theo thứ tự các quy luật trên

+Sự phức tạp chơng trình: Là phải kiểm soát đợc các điều kiện của

phản ứng có thể xảy ra

Chính vì vậy việc tổ chức dữ liệu là hết sức quan trọng

Public Type kimloai

ten As String

nhom As Byte

End Type

Public Type goc_axit

hoatri As Byte

ten As String

End Type

Public Type phikim

ten As String

nhom As Byte

End Type

Public Type oxit_axit

ten As String

End Type

Public Type oxit_bazo

kl As kimloai

ten As String

End Type

Public Type axit

Trang 4

gocaxit As goc_axit

End Type

Public Type bazo

kl As kimloai

ten As String

End Type

Public Type muoi

ten As String

kl As kimloai

gocaxit As goc_axit

End Type

Kết quả chạy ch ơng trình:

Bài tập lớn 2: Trò chơi Line

Chắc hẳn trò chơi Line rất quen thuộc với các bạn, trò chơi gồm một bảng chứa các viên bi, có 10 loại bi đợc đặt bằng 10 màu khác nhau Ngời chơi sẽ

di chuyển vị trí của các viên bi để chúng thành một hàng ngang (từ trái qua phải), hàng đứng (từ trên xuống dới) hay đờng chéo 5 viên bi liên tiếp thì sẽ ghi điểm và 5 viên bi này sẽ bị xóa khỏi bảng Trò chơi kết thúc khi bảng đầy các viên bi

Trang 5

Sẽ không thể di chuyển đợc các viên bi trên bảng nếu nó không có đờng

đi nào đến điểm đích Bị chặn nếu xung quanh điểm đích các viên bi là sáng màu thì sẽ không di chuyển qua đợc, chỉ khi trên đờng đi là trống hoặc là có các viên bi còn mờ cha sáng màu thì mới có thể di chuyển qua đợc

Để làm trò chơi Line, đầu tiên bạn phải xác định đợc đờng đi ngắn nhất của các viên bi(khi các bạn chọn một viên và chọn một ô trống nào đó trong bảng) Do số ô trên bàn là không lớn nên dùng giảI thuật tìm kiếm theo bề rộng BFS để tìm đờng đi của các viên bi trên bảng Thực chất đó là tìm đờng

đi ngắn nhất có thể để di chuyển các viên bi đến đúng đích cần đi Để áp dụng thuật toán BFS chúng ta xem bảng nh một đồ thị với mỗi ô trên bảng

nh một đỉnh của đồ thị

Giả sử, các bạn tìm đờng đi từ ô (i,j) đến ô (i’,j ’), chúng ta sử dụng 2 hàng

đợi để lu trạng thái Đầu tiên chúng ta bỏ phần tử đầu tiên (i,j) vào hành đợi Sau đó lặp vòng lặp để tìm đờng đi đến đích cần đi

Khi (hàng đợi []cha rỗng) AND Not Found

{

Lấy từng phần tử trong hàng đợi [0]

{

Kiểm tra 4 ô xung quanh (trên, dới, phải, trái) của phần tử này {

Nếu là ô còn trống và cha đợc đánh dấu đã đI qua {

- Lu ô này vào trong hành đợi []

- Đánh dấu ô đã đợc xét

- Nếu ô này là ô đích cần đến thì dừng: Found = True }

} }

}

Nếu hàng đợi rỗng mà cha tìm đợc ô đích (Found = False) tức là không có

đờng đI đến ô đích hay nói cách khác ô đích đã bị khoá 4 đầu

*Chạy chơng trình:

* Trạng thái ban đầu.

Trang 6

Trong trò chơi có các cấp độ chơi khác nhau Có 3 cấp độ đó là:

Nornal, hard, very hard Mức Normal thì số nút thêm vào là 3 nút sau mỗi khi ngờc chơI Click 1 ô Mức hard thì số nút thêm vào là 5 Mức very hard thì số nút thêm vào là 3, nhng cứ sau 5 giây thì lại thêm vào 3 nút nữa dù ngừơi chơi cha di chuyển để tăng cấp độ khó của trò chơi

Bên cạnh đó trò chơi còn có phàn help(giúp đỡ) để giúp đỡ ngời chơi

khi mà họ cha tìm ra nớc đi ăn điểm, và có nguy cơ game over Khi chọn

help me thì nó sẽ xóa đi 5 nút hiện trên bàn cờ tạo ra các khoảng trống để

bạn tiếp tục trò chơi

- Trạng thái đang chơi: Khi chơi mỗi khi ngời chơi di chuyển đợc năm viên

bi thẳng hàng thì sẽ đợc tình điểm Mỗi hàng sẽ đợc 250 điểm nếu thỏa mãn Mỗi viên bi sẽ tính là 50 điểm

Trang 7

- Trạng thái kết thúc là lúc mà bạn thua không còn nớc để đi, khi đó bàn cờ

đầy các viên bi

II Hạn chế của ch ơng trình.

1 Chơng trình phản ứng hóa học.

Có thể thiếu một vài phản ứng riêng lẻ do cha có điều kiện kiểm soát hết, hoặc có một loại phản úng nào đó mà điệu kiện còn cha chặt

2 Trò chơi Line.

Trong trò chơi Line, về mặt thuật toán chúng tôi chỉ mới sử dụng thuật toán tìm kiếm đờng đi ngắn nhất BFS để tìm đờng đi ngắn nhất trên đồ thị,

nó đem lại hiệu quả khá cao trong việc giải quyết vấn đề tìm đờng đi

III H ớng phát triển của ch ơng trình.

1 Chơng trình phản ứng hóa học

Trang 8

Sẽ hoàn thiện hơn các điều kiện phản ứng.Quan trọng nhất là đã giảI quyết đợc vấn đề cốt lõi của bài toán rất hiệu quả, bây giờ chỉ còn những trờng hợp đơn lẻ đặc thù nhất mà thôi

2 Trò chơi Line.

Việc tìm đờng đI ngắn nhất có thể cải tiến bằng thuật toán Tìm Kiếm Tốt Nhất Đầu Tiên với hàm đánh giá:

h(n) = Số ô ít nhất cần đi qua từ Ô(i1,j1)  Ô(i2,j2)

Tuy nhiên vì số ô trên bàn cờ là không lớn do vậy giải thuật BFS đơn giản mà hiệu quả

IV Kết Luận

Việc áp dụng kiến thức sau khi học môn Trí Tuệ Nhân Tạo vào bài toán thực tế có thể cha lớn, xong những kết quả đạt đợc rất thú vị và hy vọng đợc các bạn hởng ứng Nhóm rất mong đợc sự đánh giá của Thầy và các các bạn

để chơng trình hoàn thiện hơn nữa

Một lần nữa chúng em xin chân thành cảm ơn thầy giáo Nguyễn Xuân Hoài

đã tận tình quan tâm giúp đỡ nhóm hoàn thành đồ án

Nhóm lập trình:

Nguyễn Văn Hoạt

Lê Danh Tài

Nguyễn Vĩnh Long

Lớp Tin học K38

Ngày đăng: 13/11/2022, 22:08

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w