Tải bản đầy đủ (.docx) (24 trang)

(TIỂU LUẬN) báo cáo bài tập lớn đề tài VIẾT CHƯƠNG TRÌNH GIẢI bài TOÁN ĐONG nước

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 (945.77 KB, 24 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
-------------o0o------------

BÁO CÁO BÀI TẬP LỚN
ĐỀ TÀI: VIẾT CHƯƠNG TRÌNH GIẢI BÀI TỐN ĐONG NƯỚC

Lớp:
Tên mơn học:
Sinh viên thực hiện:

Thái Nguyên, tháng 3 năm 2021


~1~


CHƯƠNG 1: CƠ SỞ LÍ
1.1.

Tổng quan về trí tuệ n

1.1.1. Trí tuệ nhân tạo là gì?..........................................................................
1.1.2. Vai trị của trí tuệ nhân tạo trong ngành công nghệ thông tin.............
1.1.3. Giải quyết vấn đề bằng biểu diễn tri thức...........................................
1.1.4. Các chiến lược tìm kiếm mù...............................................................
1.2.

Ngơn ngữ lập trình C

1.2.1.


1.2.2. Lịch sử của C#...................................................................................
1.2.3. Điểm mạnh của C#............................................................................
1.2.4. Xếp hạng của C#...............................................................................
CHƯƠNG 2: ÁP DỤNG TÌM KIẾM MÙ VÀO BÀI HỌC THỰC TẾ.........
2.1.

Giới thiệu bài tốn.....

2.2.

Tư tưởng thuật tốn..

2.3.

Xây dựng chương trìn

2.3.1.
2.3.2. Tạo form hướng dẫn sử dụng............................................................
2.3.3.
CHƯƠNG 4: KẾT LUẬN..................................................................................
TÀI LIỆU THAM KHẢO....................................................................................


~2 ~


MỞ ĐẦU
Những tiến bộ trong cơng nghệ Trí tuệ nhân tạo đã mở ra những thị trường và
cơ hội mới cho sự tiến bộ trong các lĩnh vực quan trong như y tế, giáo dục, năng
lượng và môi trường. Trong những năm gần đây, máy móc đã vượt qua con người

trong việc thực hiện một số nhiệm vụ cụ thể nào đó, chẳng hạn như một số khía
cạnh trong nhận dạng hình ảnh. Các chuyên gia dự báo rằng sẽ tiếp tục có tiến bộ
nhanh chóng trong lĩnh vực trí tuej nhân tạo chuyên ngành. Mặc dù không chắc
rằng máy móc sẽ thể hiện trí tuệ ứng dụng rộng rãi tương đương hoặc vượt con
người trong vòng 20 năm tới, nhưng nó được kỳ vọng sẽ đạt và vượt hiệu suất của
con người trong ngày càng nhiều nhiệm vụ hơn.
Để góp phần chuẩn bị một tương lai, trong đó Trí tuệ nhân tạo đóng vai trị
ngày càng cao, các nghiên cứu tiến hành khảo sát hiện trạng của Trí tuệ nhân tạo,
các ứng dụng hiện tại và tiềm năng của nó, và các vấn đề nảy sinh trong xã hội và
chính sách cơng do sự tiến bộ của Trí tuệ nhân tạo, đồng thời cũng đưa ra các
khuyến cáo cho hành động cụ thể của các cơ quan chính phủ và các chủ thể.
Trí tuệ nhân tạo đã trở thành một mơn học với mục đích chính là cung cấp lời
giải cho các vấn đề của cuộc sống thực tế. Ngày nay, các ứng dụng trí tuệ nhân tạo
rất đa dạng và phong phú, áp dụng cho nhiều lĩnh vực như điều khiển tự động, các
loại robot, các hệ dịch tự động cho các ngôn ngữ tự nhiên, các hệ nhận dạng, trò
chơi điện tử,…

~3 ~


CHƯƠNG 1: CƠ SỞ LÍ THUYẾT
1.1. Tổng quan về trí tuệ nhân tạo
1.1.1. Trí tuệ nhân tạo là gì?
Có nhiều quan điểm khác nhau về trí tuệ nhân tạo. Mỗi quan điểm đứng trên
một góc độ tiếp cận và cách ứng dụng trí tuệ nhân tạo vào cuộc sống. Cho nên việc
xây dựng định nghĩa về trí tuệ nhân tạo là khác nhau. Do đó có nhiều định nghĩa
khác nhau về trí tuệ nhân tạo.
Theo M.Misky: Trí tuệ nhân tạo là một ngành khoa học nhằm mơ phỏng bằng
máy tính về hành vi thông minh của con người.
Đối với những người xây dựng và khai thác tri thức thì trí tuệ nhân tạo là một

chuyên ngành thuộc công nghệ thông tin, được nghiên cứu dựa trên hai khía cạnh:
Nghiên cứu bản chất hoạt động trí tuệ của bộ não con người.
Mơ phỏng những hoạt động trí tuệ của bộ não con người trên các thiết bị
máy.
Để giải quyết các tình huống thông thường con người thường phải trải qua
một loạt các giai đoạn sau:
Thu nhận thơng tin về tình huống.
Khả năng nhớ.
Tổ chức thành những tình huống.
Xử lý tình huống.
Đưa ra những lời giải cho hành động.

~4 ~


1.1.2. Vai trị của trí tuệ nhân tạo trong ngành cơng nghệ thơng tin
Theo một nghĩa nào đó thì trí tuệ nhân tạo nên một cách đơn giản để xây dựng
lên cấu trúc các chương trình ra quyết định phức tạp đòi hỏi phải dựa trên những tri
thức nhất định.
Các chương trình trí tuệ nhân tạo hoạt động giống như bộ não của con người
tức là nó có thể tích hợp những tri thức mới mà không cần thay đổi lại cách làm
việc. Vì vậy những chương trình trí tuệ nhân tạo có thể dễ dàng cải tiến hơn so với
các chương trình truyền thống.
Khi máy tính được trang bị những phần mềm trí tuệ nhân tạo kết hợp với mơi
trường làm việc thì có thể cho phép giải quyết được các bài toán cỡ lớn và phân
tán.
Một số phần mềm trí tuệ nhân tạo thể hiện tính thích nghi và mềm dẻo đối với
các lớp bài toán thuộc nhiều lĩnh vực khác nhau.

~5 ~



1.1.3. Giải quyết vấn đề bằng biểu diễn tri thức
Con người sống trong mơi trường có thể nhận thức được thế giới nhờ các giác
quan (tai, mắt và các giác quan khác), sử dụng các tri thức tích lũy được và thông
qua khả năng lập luận, suy diễn con người có thể đưa ra các hành động hợp lý để
giải quyết vấn đề. Một mục tiêu của Trí tuệ nhân tạo ứng dụng là thiết kế các tác
nhân thông minh (intelligent agent) cũng có được những khả năng kể trên như con
người. Chúng ta có thể hiểu tác nhân thơng minh là bất cứ cái gì có thể nhận thức
được môi trường qua các bộ cảm nhận (sensors) và đưa ra hành động hợp lý đáp
ứng lại môi trường thông qua bộ hành động (effectors). Các robot, softbot
(software robot), các hệ chuyên gia,… là các ví dụ về tác nhân thơng minh. Các tác
nhân thơng minh cần phải có tri thức về thế giới hiện thực mới có thể đưa ra các
quyết định đúng đắn.
Thành phần trung tâm của các tác nhân dựa trên tri thức (knowlegde-based
agent), còn được gọi là hệ dựa trên tri thức (knowledge-based system) hoặc đơn
giản là hệ tri thức, là cơ sở tri thức. Cơ sở tri thức là một tập hợp các tri thức được
biểu diễn dưới dạng nào đó. Mỗi khi nhận được các thơng tin đưa vào, tác nhân cần

có khả năng suy diễn để đưa ra các~6câu~ trả lời, các hành động hợp lý, đúng


đắn. Nhiệm vụ này được thực hiện bởi bộ suy diễn. Bộ suy diễn là thành phần cơ
bản khác của các hệ tri thức. Như vậy, hệ tri thức bảo trì một cơ sở tri thức và được
trang bị một thủ tục suy diễn. Mỗi khi tiếp nhận được các sự kiện từ môi trường,
thủ tục suy diễn thực hiện quá trình liên kết các sự kiện với các tri thức trong cơ sở
tri thức để rút ra các câu trả lời, hoặc các hành động hợp lý mà tác nhân cần thực
hiên. Đương nhiên là, khi ta thiết kế một tác nhân giải quyết một vấn đề nào đó thì
cơ sở tri thức sẽ chứa các tri thức về miền đối tượng cụ thể đó. Để máy tính có thể
sử dụng và xử lý được các tri thức, chúng ta cần biểu diễn tri thức dưới dạng thuận

tiện cho máy tính dễ dàng hiểu được. Đó là mục tiêu của biểu diễn tri thức.
Tri thức được mô tả dưới dạng các câu trong ngôn ngữ biểu diễn tri thức. Mỗi
câu có thể xem như sự mã hóa của một sự hiểu biết của chúng ta về thế giới thực.
Có rất nhiều phương pháp biểu diễn tri thức, và phải phụ thuộc vào tri thức cụ
thể của từng bài toán ta mới chọn được phương pháp biểu diễn hợp lý nhất.
Biểu diễn tri thức bằng luật sản xuất (production rules).
Biểu diễn tri thức bằng khung (frames).
Biểu diễn tri thức sử dụng mạng ngữ nghĩa (semantic
networks). Biểu diễn tri thức bằng ontology.
Các mơ hình xác suất.
Khi biểu diễn tri thức cho một bài toán, việc biểu diễn này được coi là tốt khi
chúng thỏa mãn được các yếu tố sau:
Tính hồn chỉnh (completeness).
Tính ngắn gọn (conciseness).
Tính hiệu quả về tính tốn (computational efficiency).
Tính rõ ràng, dễ hiểu (transparency).
Biểu diễn tri thức bằng luật đặc biệt hữu hiệu trong những tình huống hệ
thống cần đưa ra những hành động dựa vào những sự kiện có thể quan sát được.
Dưới đây là một số ưu điểm chính:
Các luật rất dễ hiểu nên có thể dễ dàng dùng để trao đổi với người dùng
(vì nó là một trong những dạng tự nhiên của ngơn ngữ).
~ 7~


Có thể dễ dàng xây dựng được cơ chế suy luận và giải thích từ các
luật. Việc hiệu chỉnh và bảo trì hệ thống tương đối dễ dàng.
Có thể cải tiến dễ dàng để tích hợp các luật mở.
Bên cạnh các ưu điểm nói trên, vẫn cịn một số nhược điểm như:
Các tri thức phức tạp đơi lúc địi hỏi quá nhiều (hàng ngàn) luật sinh.
Điều này sẽ làm này sinh nhiều vấn đề liên quan đến tốc độ lẫn quản trị

hệ thống.
Thống kê cho thấy, người xây dựng hệ thống trí tuệ nhân tạo thích sử
dụng luật sinh hơn tất cả phương pháp khác (dễ hiểu, dễ cài đặt) nên họ
thường tìm mọi cách để biểu diễn tri thức bằng luật sinh cho dù có
phương pháp khác thích hợp hơn. Đây là nhược điểm mang tính chủ
quan của con người.
Cơ sở tri thức luật sinh lớn sẽ làm giới hạn khả năng tìm kiếm của
chương trình điều khiển. Nhiều hệ thống gặp khó khăn trong việc đánh
giá các hệ dựa trên luật sinh cũng như gặp khó khăn khi suy luận trên
luật sinh
Trong bài này, đề cập đến việc sử dụng các câu trên như các luật, tổng hợp lại
thành các hệ luật và đưa ra kết luận sau q trình suy diễn từ các hệ luật đó.
1.1.4. Các chiến lược tìm kiếm mù
Trong mục này chúng ta sẽ trình bày hai chiến lược tìm kiếm mù: tìm kiếm
theo bề rộng và tìm kiếm theo độ sâu. Trong tìm kiếm theo bề rộng, tại mỗi bước ta
sẽ chọn trạng thái để phát triển là trạng thái được sinh ra trước các trạng thái chờ
phát triển khác. Cịn trong tìm kiếm theo độ sâu, trạng thái được chọn để phát triển
là trạng thái được sinh ra sau cùng trong số các trạng thái chờ phát triển.
Chúng ta sử dụng danh sách L để lưu các trạng thái đã được sinh ra và chờ
được phát triển. Mục tiêu của tìm kiếm trong khơng gian trạng thái là tìm đường đi
từ trạng thái ban đầu tới trạng thái đích, do đó ta cần lưu lại vết của đường đi. Ta
có thể sử dụng hàm father để lưu lại cha của mỗi đỉnh trên đường đi, father(v) = u
nếu cha của đỉnh v là u.
1.1.4.1. Tìm kiếm theo bề rộng
Trong tìm kiếm theo bề rộng, trạng

~~

thái nào được sinh ra trước sẽ
8


được


phát triển trước, do đó danh sách L được xử lý như hàng đợi. Trong bước 2.3, ta
cần kiểm tra xem u có là trạng thái kết thúc hay khơng. Nói chung các trạng thái
kết thúc được xác định bởi một số điều kiện nào đó, khi đó ta cần kiểm tra xem u
có thỏa mãn các điều kiện đó hay khơng.
Nếu bài tốn có nghiệm (tồn tại đường đi từ trạng thái ban đầu tới trạng thái
đích), thì thuật tốn tìm kiếm theo bề rộng sẽ tìm ra nghiệm, đồng thời đường đi
tìm được sẽ là ngắn nhất. Trong trường hợp bài tốn vơ nghiệm và khơng gian
trạng thái hữu hạn, thuật tốn sẽ dừng và cho thơng báo vơ nghiệm.
1.1.4.2. Tìm kiếm theo độ sâu
Thuật tốn tìm kiếm theo bề rộng ln ln tìm ra nghiệm nếu bài tốn có
nghiệm. Song khơng phải với bất kỳ bài tốn có nghiệm nào thuật tốn tìm kiếm
theo độ sâu cũng tìm ra nghiệm! Nếu bài tốn có nghiệm và khơng gian trạng thái
hữu hạn, thì thuật tốn tìm kiếm theo độ sâu sẽ tìm ra nghiệm. Tuy nhiên, trong
trường hợp khơng gian trạng thái vơ hạn, thì có thể nó khơng tìm ra nghiệm, lý do
là ta ln ln đi xuống theo độ sâu, nếu ta đi theo một nhánh vơ hạn mà nghiệm
khơng nằm trên nhánh đó thì thuật tốn sẽ khơng dừng. Do đó người ta khun
rằng, khơng nên áp dụng tìm kiếm theo dộ sâu cho các bài tốn có cây tìm kiếm
chứa các nhánh vơ hạn. Độ phức tạp của thuật tốn tìm kiếm theo độ sâu.
Giả sử rằng, nghiệm của bài toán là đường đi có độ dài d, cây tìm kiếm có
nhân tố nhánh là b và có chiều cao là d. Có thể xẩy ra, nghiệm là đỉnh ngoài cùng
bên phải trên mức d của cây tìm kiếm, do đó độ phức tạp thời gian của tìm kiếm
theo độ sâu trong trường hợp xấu nhất là O(bd), tức là cũng như tìm kiếm theo bề
rộng. Tuy nhiên, trên thực tế đối với nhiều bài tốn, tìm kiếm theo độ sâu thực sự
nhanh hơn tìm kiếm theo bề rộng. Lý do là tìm kiếm theo bề rộng phải xem xét
tồn bộ cây tìm kiếm tới mức d-1, rồi mới xem xét các đỉnh ở mức d. Cịn trong
tìm kiếm theo độ sâu, có thể ta chỉ cần xem xét một bộ phận nhỏ của cây tìm kiếm

thì đã tìm ra nghiệm.
1.1.4.3. Các trạng thái lặp
Trong đồ thị biểu diễn không gian~ 9trạng~ thái, các trạng thái lặp ứng với các


đỉnh có nhiều đường đi dẫn tới nó từ trạng thái ban đầu. Nếu đồ thị có chu trình thì
cây tìm kiếm sẽ chứa các nhánh với một số đỉnh lập lại vơ hạn lần. Trong các thuật
tốn tìm kiếm sẽ lãng phí rất nhiều thời gian để phát triển lại các trạng thái mà ta
đã gặp và đã phát triển. Vì vậy trong quá trình tìm kiếm ta cần tránh phát sinh ra
các trạng thái mà ta đã phát triển. Chúng ta có thể áp dụng một trong các giải pháp
sau đây:
Khi phát triển đỉnh u, không sinh ra các đỉnh trùng với cha của u.
Khi phát triển đỉnh u, không sinh ra các đỉnh trùng với một đỉnh nào đó
nằm trên đường đi dẫn tới u.
Khơng sinh ra các đỉnh mà nó đã được sinh ra, tức là chỉ sinh ra các đỉnh
mới.
Để thực hiện giải pháp thứ 3 ta cần lưu các trạng thái đã phát triển vào tập Q,
lưu các trạng thái chờ phát triển vào danh sách L. Đương nhiên, trạng thái v lần
đầu được sinh ra nếu nó khơng có trong Q và L. Việc lưu các trạng thái đã phát
triển và kiểm tra xem một trạng thái có phải lần đầu được sinh ra khơng địi hỏi rất
nhiều khơng gian và thời gian.
1.1.4.4. Tìm kiếm sâu lặp
Kỹ thuật tìm kiếm sâu lặp kết hợp được các ưu điểm của tìm kiếm theo bề
rộng và tìm kiếm theo độ sâu. Chúng ta có một số nhận xét sau:
Cũng như tìm kiếm theo bề rộng, tìm kiếm sâu lặp ln ln tìm ra nghiệm
(nếu bài tốn có nghiệm), miễn là ta chọn độ sâu mã đủ lớn.
Tìm kiếm sâu lặp chỉ cần khơng gian nhớ như tìm kiếm theo độ sâu.
Trong tìm kiếm sâu lặp, ta phải phát triển lặp lại nhiều lần cùng một trạng
thái. Điều đó làm cho ta có cảm giác rằng, tìm kiếm sâu lặp lãng phí nhiều thời
gian. Thực ra thời gian tiêu tốn cho phát triển lặp lại các trạng thái là khơng đáng

kể so với thời gian tìm kiếm theo bề rộng.

~10~


1.2. Ngơn ngữ lập trình C#
1.2.1. C# là gì ?
C# là một ngơn ngữ lập trình hiện đại được phát triển bởi Microsoft và được
phê duyệt bởi European Computer Manufacturers Association (ECMA) và
International Standards Organization (ISO).C# được phát triển bởi Anders
Hejlsberg và nhóm của ơng trong việc phát triển .Net Framework.

C# được thiết kế cho các ngôn ngữ chung cơ sở hạ tầng (Common Language
Infrastructure – CLI), trong đó bao gồm các mã (Executable Code) và môi trường
thực thi (Runtime Environment) cho phép sử dụng các ngôn ngữ cấp cao khác
nhau trên đa nền tảng máy tính và kiến trúc khác nhau.
C# (đọc là “C thăng” hay “C sharp”) là một ngơn ngữ lập trình hướng đối
tượng được phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch .NET của họ.
Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng theo ECMA là C#,
chỉ bao gồm dấu số thường. Microsoft phát triển C# dựa trên C++ và Java. C#
được miêu tả là ngơn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và
Java.
C#, theo một hướng nào đó, là ngơn ngữ lập trình phản ánh trực tiếp nhất
đến .NET Framework mà tất cả các chương trình.NET chạy, và nó phụ thuộc mạnh
mẽ vào framework này. Mọi dữ liệu cơ sở đều là đối tượng, được cấp phát và hủy
bỏ bởi trình dọn rác Garbage-Collector (GC), và nhiều kiểu trừu tượng khác chẳng
hạn như class, delegate, interface, exception... phản ánh rõ ràng những đặc trưng
~11~



của.NET runtime.
So sánh với C và C++, ngôn ngữ này bị giới hạn và được nâng cao ở một vài
đặc điểm nào đó, nhưng khơng bao gồm các giới hạn sau đây:
Các con trỏ chỉ có thể được sử dụng trong chế độ khơng an tồn. Hầu hết
các đối tượng được tham chiếu an tồn, và các phép tính đều được kiểm
tra tràn bộ đệm. Các con trỏ chỉ được sử dụng để gọi các loại kiểu giá trị;
còn những đối tượng thuộc bộ gom rác (garbage-collector) thì chỉ được
gọi bằng cách tham chiếu.
Các đối tượng không thể được giải phóng tường minh.
Chỉ có đơn kế thừa, nhưng có thể cài đặt nhiều interface trừu tượng
(abstract interfaces). Chức năng này làm đơn giản hóa sự thực thi của
thời gian thực thi.
C# thì an-tồn-kiểu (typesafe) hơn C++.
Cú pháp khai báo mảng khác nhau("int[] a = new int[5]" thay vì "int
a[5]").
Kiểu thứ tự được thay thế bằng tên miền không gian (namespace).
C# khơng có tiêu bản.
Có thêm Properties, các phương pháp có thể gọi các Properties để truy
cập dữ liệu
1.2.2. Lịch sử của C#
Lịch sử phát triển của C# và các đặc điểm chính của từng phiên bản mơ
tả trong bảng sau:
Phiên bản
C# 1.0
C# 2.0
C# 3.0


C# 4.0


C# 5.0

1.2.3. Điểm mạnh của C#
Ngơn ngữ lập trình C# là ngơn ngữ lập trình bậc trung được phát triển vào
năm 2000 bởi Microsoft. C# được xây dựng dựa trên ngôn ngữ C và C++ nhưng
dễ sử dụng hơn nhờ những bộ thư viện rộng lớn để thực hiện các các vụ khác nhau.
-

C# Là một trong số những ngôn ngữ thuần hướng đối tượng.
Chuyên sử dụng để lập trình cho windows.
Thiết kế winform cực tốt, đơn giản và dễ
hiểu. Ngôn ngữ dễ học, dễ tiếp cận với Java
Khả năng tương tác với Database dễ dàng hơn rất nhiều.
Được window hỗ trợ đầy đủ các control.
Thư viện .NET nhẹ, dễ cài đặt và được miễn phí.
Ngơn ngữ mã nguồn mở.
Code/Build trên Visual Studio, một IDE tiện lợi, mạnh mẽ của
Microsoft.
Có thể sử dụng để lập trình web thơng qua C# thuần hoặc ASP.NET.
IDE Visual Studio hỗ trợ debug, build cực khủng.

~ 13 ~


1.2.4. Xếp hạng của C#

Hiện nay ngôn ngữ C# được xếp hạng thứ 5 trong Top 10 các ngôn ngữ lập
trình phổ biến nhất đang được thế giới sử dụng.

~14~



CHƯƠNG 2: ÁP DỤNG TÌM KIẾM MÙ VÀO BÀI HỌC THỰC TẾ
2.1. Giới thiệu bài tốn
Viết chương trình giải bài tốn đong nước: Có 2 bình với dung tích lần lượt n
(lít), m (lít). Với lượng nước là khơng hạn chế, lúc đầu hai bình khơng chứa nước.
Hãy dùng 2 bình trên để đong được k (lít) với n2.2. Tư tưởng thuật toán
-

Gọi lượng nước chứa trong bình X là x (0<=x<=VX).

-

Gọi lượng nước chứa trong bình Y là y (0<=y<=VY).

-

Điều kiện đầu của bài toán là: x = 0 và y=0.

-

Điều kiện kết thúc của bài toán sẽ là: x = z hoặc y = z

-

Bài tốn đc giả dựa theo ba luật chính như sau:
(L1) Nếu bình X đầy thì đổ hết nước trong bình X đi.
(L2) Nếu bình Y rỗng thì đổ đầy nước vào bình Y.


-

(L3) Nếu bình X khơng đầy và bình Y khơng rỗng thì hãy trút nước từ
bình Y sang bình X (cho đến khi bình X đầy hoặc bình Y hết nước).
Bài tốn cần có điều kiện số nước cần đong là một bội số của ước số
chung lớn nhất của thể tích hai bình.
z = n x ƯCLN(VX, VY) (với n nguyên dương)

~15~


2.3. Xây dựng chương trình
2.3.1. Tạo form chính

2.3.2. Tạo form hướng dẫn sử dụng

~16~


2.3.3. Viết chương trình
2.3.3.1. Khai báo các biến cần thiết

2.3.3.2. Tìm ước chung lớn nhất

~17~


2.3.3.3. Chức năng đổ đầy nước vào bình 1(->Vx)

2.3.3.4. Chức năng đổ hết nước bình 1(Vx->)


~18~


2.3.3.5. Chức năng đổ đầy nước vào bình 2(->Vy)

2.3.3.6. Chức năng đổ hết nước bình 2(Vy->)

2.3.3.7. Chức năng đổ bình 1 sang bình 2 (Vx->Vy)

~19~


~20~


2.3.3.8. Chức năng đổ bình 2 sang bình 1(Vy->Vx)

~21~


CHƯƠNG 3: DEMO
3.1. Chạy chương trình

3.2. Hướng dẫn sử dụng

~22~


CHƯƠNG 4: KẾT LUẬN

1.

Những nội dung đã làm được:

a.

Lý thuyết: Nắm chắc kiến thức và trình bày về trí tuệ nhân tạo, và vai trò, gải

quyết các vấn đề bằng biểu diễn tri thức, tổng quan về chiến lược tìm kiếm của trí
tuệ nhân tạo.
b.

Thực hành: hồn thành code và xây dựng được bài tốn và demo chương trình

như mơng muốn.
c.

Khả năng làm việc theo nhóm : Các thành viên trong nhóm làm việc rất tốt,

thường xuyên trao đổi kiến thức và cùng nhau hồn thiện bài tập của mình, và tự
trau dồi để củng cố kiến thức riêng cho bản thân.

2.

Các vấn đề gặp phải:

a. Trong quá trình xây dựng chương trình, biểu diễn tri thức là vấn đề khó khăn
nhất.
b. Ban đầu, các bước tìm kiếm cịn chưa được tối ưu nhất.
3. Đánh giá:

Giao diện của chương trình cịn khá đơn giản.

4. Những đóng góp của các thành viên trong đề tài:
Các thành viên trong nhóm rất hăng hái và đồn kết trong việc xây dựng bài
tốn.
Phân cơng cơng việc rõ ràng để tìm kiếm thơng tin cũng như đóng góp các ý
kiến để hồn thiện bài tập lớn.
~ 23 ~



×