Giới thiệu Ngô Xuân Bách Học viện Công nghệ Bưu chính Viễn thông Khoa Công nghệ thông tin 1 Nhập môn trí tuệ nhân tạo Trí tuệ nhân tạo có thể làm gì? (1/14) http //www ptit edu vn2 Xếp hạng trang web[.]
Trang 1Giới thiệu
Ngô Xuân Bách
Học viện Công nghệ Bưu chính Viễn thông
Khoa Công nghệ thông tin 1
Nhập môn trí tuệ nhân tạo
Trang 2Trí tuệ nhân tạo có thể làm gì? (1/14)
http://www.ptit.edu.vn 2
Xếp hạng trang web trong truy xuất thông tin (Ranking)
Trang 3Trí tuệ nhân tạo có thể làm gì? (2/14)
Dịch máy (Machine Translation)
Trang 4Trí tuệ nhân tạo có thể làm gì? (3/14)
http://www.ptit.edu.vn 4
Kiểm lỗi chính tả - Spelling
Trang 5Trí tuệ nhân tạo có thể làm gì? (4/14)
Nhận dạng tiếng nói – Automatic Speech Recognition (ASR)
Trang 6Trí tuệ nhân tạo có thể làm gì? (5/14)
http://www.ptit.edu.vn 6
Tổng hợp tiếng nói Speech Synthesis - Text to Speech (TTS)
https://text-to-speech-demo.mybluemix.net/
Trang 7Trí tuệ nhân tạo có thể làm gì? (6/14)
Trả lời câu hỏi tự động (Question Answering)
Trang 8Trí tuệ nhân tạo có thể làm gì? (7/14)
http://www.ptit.edu.vn 8
Chatbot
Trang 9Trí tuệ nhân tạo có thể làm gì? (8/14)
Nhận dạng mặt người (Face Detection)
Trang 10Trí tuệ nhân tạo có thể làm gì? (9/14)
http://www.ptit.edu.vn 10
Xe tự hành (Driverless Cars)
Trang 11Trí tuệ nhân tạo có thể làm gì? (10/14)
Hệ tư vấn (Recommender Systems)
Trang 12Trí tuệ nhân tạo có thể làm gì? (11/14)
http://www.ptit.edu.vn 12
Lập lịch bay (Planning)
Trang 13Trí tuệ nhân tạo có thể làm gì? (12/14)
Rôbốt trợ giúp con người (Robotics)
Trang 14Trí tuệ nhân tạo có thể làm gì? (13/14)
http://www.ptit.edu.vn 14
Trò chơi thông minh (AI and Games)
Trang 15Trí tuệ nhân tạo có thể làm gì? (14/14)
Rất nhiều ứng dụng khác
(Liang, 2013)
Trang 16Trí tuệ nhân tạo là gì?
tuệ)
o Thế nào là thực thể thông minh?
bốn nhóm, theo đó, trí tuệ nhân tạo là lĩnh vực nghiên
cứu việc xây dựng các hệ thống có đặc điểm
Trang 17Lịch sử hình thành và phát triển (1/3)
Giai đoạn tiền khởi đầu (1943-1955)
o Chưa có khái niệm về TTNT, xuất hiện một số kết quả nghiên cứu liên quan trực tiếp tới các nghiên cứu về TTNT sau này
▪ 1943: mô hình mạng nơ ron nhân tạo đầu tiên ra đời
▪ 1950: Alan Turing công bố bài báo về trí tuệ máy, mô tả khái niệm phép thử Turing, học máy, thuật toán di truyền, và học tăng cường
Sự ra đời của TTNT (1956)
o Mười nhà khoa học đứng đầu là John McCarthy tổ chức một hội thảo kéo dài hai tháng tại trường đại học Dartmouth đặt nền móng đầu tiên cùng tên gọi chính thức của TTNT
Giai đoạn khởi đầu (1952-1969)
o Một số chương trình có khả năng chứng minh định lý toán học theo cách
tương tự tư duy của con người
o Một số chương trình trò chơi có khả năng học và đánh thắng người chơi
nghiệp dư
o 1958: John McCarthy đề xuất ngôn ngữ LISP
o Mạng nơ ron nhân tạo tiếp tục phát triển đạt được một số thành tựu mới
Trang 18Lịch sử hình thành và phát triển (2/3)
http://www.ptit.edu.vn 18
o Chú trọng tới việc sử dụng nhiều tri thức, thông tin đặc thù cholĩnh vực hẹp của vấn đề cần giải quyết
▪ DENDRAL (1967): hệ chuyên gia cho phép dự đoán cấu trúc phân tử
▪ MYCIN (1974): hệ chuyên gia cho phép chuẩn đoạn bệnh nhiễm trùng máu
▪ Các hệ thống dịch máy sử dụng tri thức để hiểu ngôn ngữ tự nhiên
o Các hệ chuyên gia được thương mại hóa, đặc biệt trong giai đoạn1980-1988, sau đó TTNT rơi vào thời gian trì trệ
o Sự trở lại của mạng nơ ron nhân tạo
o Đặc biệt trong khoảng 10 năm gần đây, các mạng nơ ron nhiềulớp (deep network) đang được đặc biệt quan tâm
Trang 19Lịch sử hình thành và phát triển (3/3)
o TTNT đã có phương pháp nghiên cứu riêng của mình, tuân theocác yêu cầu chung đối với phương pháp nghiên cứu khoa học
▪ Kết quả được chứng minh bằng thực nghiệm
▪ Kết quả được phân tích bằng khoa học thống kê
▪ Các phát minh trước đây của TTNT được phân tích và so sánh, không còn mang tính kinh nghiệm thuần túy, dựa trên cơ sở lý thuyết rõ ràng hơn
o Dữ liệu số hóa được tạo ra tăng rất nhanh
▪ Nhiều nghiên cứu cho thấy việc sử dụng dữ liệu hợp lý quan trọng hơn việc xây dựng các thuật toán phức tạp
o Dữ liệu lớn (Big data): dữ liệu lớn, bản chất đa dạng, thay đổi
nhanh theo thời gian
Trang 20o Suy diễn (reasoning)
▪ Hệ thống có khả năng đưa ra kết luận về hành động dựa trên thông tin thu nhận được từ môi trường và tri thức bên trong
o Hành động (action)
▪ Hệ thống có khả năng tác động trở lại môi trường (thực hiện hành
động hoặc đưa ra thông tin)
http://www.ptit.edu.vn 20
Trang 21Các lĩnh vực nghiên cứu (2/2)
o Thị giác máy tính (computer vision)
o Xử lý ngôn ngữ tự nhiên (natural language processing)
o Biểu diễn tri thức (knowledge representation)
o Tìm kiếm (search)
o Suy diễn (inference hay reasoning)
o Học máy (machine learning)
o Lập kế hoạch (planning)
o Kỹ thuật rôbốt (robotics)
Trang 22Nội dung môn học
o Tìm kiếm không có thông tin (tìm kiếm mù)
o Tìm kiếm có thông tin
Trang 23Thông tin môn học
Giảng viên
o PGS.TS Ngô Xuân Bách, Phó trưởng khoa CNTT1
o Website: https://sites.google.com/site/nxbachcs/home
o Email: bachnx@ptit.edu.vn , ngoxuanbachkcn@gmail.com
Tài liệu tham khảo
o Từ Minh Phương Giáo trình Nhập môn trí tuệ nhân tạo Nhà xuất bản Thông tin và truyền thông, 2016.
o Đinh Mạnh Tường Trí tuệ nhân tạo Nhà xuất bản Khoa học kỹ thuật
o Kiểm tra giữa kỳ (10%)
Thiếu điểm thành phần hoặcnghỉ quá 20% số buổi sẽkhông được thi hết môn!!!
Trang 24Giải quyết vấn đề bằng tìm kiếm
Ngô Xuân Bách
Học viện Công nghệ Bưu chính Viễn thông
Khoa Công nghệ thông tin 1
Nhập môn trí tuệ nhân tạo
Trang 26Nội dung
http://www.ptit.edu.vn 3
o Tìm kiếm và khoa học trí tuệ nhân tạo
o Phát biểu bài toán tìm kiếm
o Các tiêu chuẩn đánh giá thuật toán tìm kiếm
Trang 27Tìm kiếm & khoa học trí tuệ nhân tạo
dưới dạng tìm kiếm
o Trò chơi: tìm kiếm nước đi tối ưu (mang lại lợi thế)
o Lập thời khóa biểu: tìm kiếm phương án sắp xếp thỏa mãn yêucầu đề ra (thỏa mãn ràng buộc)
o Tìm đường: tìm đường đi tối ưu (chiều dài, thời gian, giá, …)
trọng của trí tuệ nhân tạo
o Phát triển các thuật toán tìm kiếm hiệu quả (đặc biệt trong nhữngtrường hợp không gian tìm kiếm có kích thước lớn)
o Là cơ sở cho nhiều nhánh nghiên cứu khác của trí tuệ nhân tạo
▪ Học máy, xử lý ngôn ngữ tự nhiên, suy diễn
Trang 28Phát biểu bài toán tìm kiếm
http://www.ptit.edu.vn 5
Một bài toán tìm kiếm được phát biểu thông qua 5 thành phần sau
1 Tập hữu hạn các trạng thái có thể: 𝑄
2 Tập các trạng thái xuất phát : 𝑆 ⊆ 𝑄
3 Hành động hay hàm nối tiếp hay toán tử 𝑃(𝑥), là tập các trạng thái nhận
được từ trạng thái 𝑥 do kết quả thực hiện hành động hay toán tử
4 Xác định đích :
o Tường minh, cho bởi tập đích G ⊆ 𝑄
o Không tường minh, cho bởi một số điều kiện
5 Giá thành đường đi
o Ví dụ, tổng khoảng cách, số lượng hành động, …
o 𝑐(𝑥, 𝑎, 𝑦) ≥ 0 , là giá thành bước, từ trạng thái 𝑥, thực hiện hành động 𝑎, và
chuyển sang trạng thái 𝑦Lời giải là chuỗi hành động cho phép di chuyển từ trạng thái xuất pháttới trạng thái đích
Trang 29Các tiêu chuẩn đánh giá thuật toán tìm kiếm
o Khối lượng tính toán cần thực hiện để tìm ra lời giải
o Số lượng trạng thái cần xem xét trước khi tìm ra lời giải
Trang 30Nội dung
http://www.ptit.edu.vn 7
Bài toán tìm kiếm trong không gian trạng thái
o Trò chơi 8 ô
o Bài toán 8 con hậu
Trang 31Trò chơi 8 ô (1/2)
(Russell & Norvig, 2010)
Trang 32Trò chơi 8 ô (2/2)
http://www.ptit.edu.vn 9
Trạng thái : tổ hợp ví trí các ô
Trạng thái xuất phát : một trạng thái bất kỳ
Hành động : di chuyển ô trống trái, phải, lên, xuống
Giá thành : số lần di chuyển
(Russell & Norvig, 2010)
Trang 33Bài toán 8 con hậu (1/2)
Đặt 8 con hậu lên bàn cờ vua 8x8 sao cho không có đôi
hậu nào đe dọa nhau
Trang 34Bài toán 8 con hậu (2/2)
http://www.ptit.edu.vn 11
Đặt 8 con hậu lên bàn cờ vua 8x8 sao cho không có đôi
hậu nào đe dọa nhau
Trạng thái : sắp xếp của 0 đến 8 con hậu trên bàn cờ
Trạng thái xuất phát : không có con hậu nào trên bàn cờ
Hành động : đặt một con hậu lên một ô trống trên bàn cờ
nhau
Trang 35Nội dung
Bài toán tìm kiếm trong không gian trạng thái
Một số ví dụ
o Thuật toán tìm kiếm tổng quát
o Tìm kiếm theo chiều rộng (Breadth-first search: BFS)
o Tìm kiếm theo giá thành thống nhất (Uniform-cost search: UCS)
o Tìm kiếm theo chiều sâu (Depth-first search: DFS)
o Tìm kiếm sâu dần (Iterative deepening search: IDS)
Trang 36Thuật toán tìm kiếm tổng quát (1/3)
http://www.ptit.edu.vn 13
hàm trạng thái để mở rộng các trạng thái đó cho tới khi đạt đến trạng thái mong muốn
o Mỗi trạng thái là một nút
o Các nút biên (nút mở) là nút đang chờ mở rộng tiếp
o Nút đã mở rộng gọi là nút đóng
Trang 37Thuật toán tìm kiếm tổng quát (2/3)
𝑆𝑒𝑎𝑟𝑐ℎ(𝑄, 𝑆, 𝐺, 𝑃)
(𝑄: không gian trạng thái, 𝑆: trạng thái bắt đầu, 𝐺: đích, 𝑃: hành động)
Đầu vào: bài toán tìm kiếm
Đầu ra: trạng thái đích
Khởi tạo: 𝑂 ← 𝑆 (𝑂: danh sách các nút mở)
Trang 38Thuật toán tìm kiếm tổng quát (3/3)
http://www.ptit.edu.vn 15
𝑆𝑒𝑎𝑟𝑐ℎ(𝑄, 𝑆, 𝐺, 𝑃)
(𝑄: không gian trạng thái, 𝑆: trạng thái bắt đầu, 𝐺: đích, 𝑃: hành động)
Đầu vào: bài toán tìm kiếm
Đầu ra: trạng thái đích
Khởi tạo: 𝑂 ← 𝑆 (𝑂: danh sách các nút mở)
Trang 39Ví dụ cây tìm kiếm
(Phuong TM, 2016)
Trang 40Các chiến lược tìm kiếm
http://www.ptit.edu.vn 17
các nút trên cây tìm kiếm
sau:
o đầy đủ: có tìm được lời giải không (nếu có)?
o độ phức tạp tính toán: số lượng nút sinh ra
o yêu cầu bộ nhớ: số lượng nút tối đa cần lưu trong bộ nhớ
o tối ưu: có tìm được lời giải có giá thành nhỏ nhất không
o 𝑏: độ rẽ nhánh tối đa của cây tìm kiếm
o 𝑑: độ sâu của lời giải
o 𝑚: độ sâu tối đa của không gian trạng thái (có thể là ∞)
Trang 41Tìm kiếm mù (Tìm kiếm không có thông tin)
tin theo phát biểu của bài toán trong quá trình tím kiếm
o Tìm kiếm theo chiều rộng (Breadth-first search: BFS)
o Tìm kiếm theo giá thành thống nhất (Uniform-cost search: UCS)
o Tìm kiếm theo chiều sâu (Depth-first search: DFS)
o Tìm kiếm sâu dần (Iterative deepening search: IDS)
Trang 42Tìm kiếm theo chiều rộng – BFS (1/4)
http://www.ptit.edu.vn 19
nông nhất (gần gốc nhất) để mở rộng
Trang 43Tìm kiếm theo chiều rộng – BFS (2/4)
nông nhất (gần gốc nhất) để mở rộng
Trang 44Tìm kiếm theo chiều rộng – BFS (3/4)
http://www.ptit.edu.vn 21
nông nhất (gần gốc nhất) để mở rộng
Trang 45Tìm kiếm theo chiều rộng – BFS (4/4)
o Khi chuyển sang một nút cần ghi nhớ nút cha của nút đó bằng
cách sử dụng con trỏ ngược
o Sau khi đạt tới đích, con trỏ ngược được sử dụng tìm đường đi trởlại nút xuất phát
Trang 46Thuật toán BFS (1/2)
http://www.ptit.edu.vn 23
𝐵𝐹𝑆(𝑄, 𝑆, 𝐺, 𝑃)
(𝑄: không gian trạng thái, 𝑆: trạng thái bắt đầu, 𝐺: đích, 𝑃: hành động)
Đầu vào: bài toán tìm kiếm
Đầu ra: đường tới nút đích
Khởi tạo: tập các nút biên (nút mở) 𝑂 = 𝑆
while(𝑂 ≠ Ø) do
1 lấy nút đầu tiên 𝑛 khỏi 𝑂
2 if 𝑛 ∈ 𝐺, return (đường đi tới 𝑛)
3 thêm 𝑃(𝑛) vào đuôi 𝑂
return không tìm được đường đi
Trang 47Thuật toán BFS (2/2)
𝐵𝐹𝑆(𝑄, 𝑆, 𝐺, 𝑃)
(𝑄: không gian trạng thái, 𝑆: trạng thái bắt đầu, 𝐺: đích, 𝑃: hành động)
Đầu vào: bài toán tìm kiếm
Đầu ra: đường tới nút đích
Khởi tạo: tập các nút biên (nút mở) 𝑂 = 𝑆
while(𝑂 ≠ Ø) do
1 lấy nút đầu tiên 𝑛 khỏi 𝑂
2 if 𝑛 ∈ 𝐺, return (đường đi tới 𝑛)
3 thêm 𝑃(𝑛) vào đuôi 𝑂
return không tìm được đường đi
Sử dụngcấu trúchàng đợiFIFO
Trang 48Tránh các nút lặp
http://www.ptit.edu.vn 25
o Thuật toán có thể mở rộng một nút nhiều lần
Trang 49Ví dụ BFS (1/2)
(Phuong TM, 2016)
Trang 50Ví dụ BFS (2/2)
http://www.ptit.edu.vn 27
STT Nút được mở rộng Tập biên O (hàng đợi FIFO)
Trang 51o Có (nếu cost = 1 với mọi bước)
o Do luôn tìm kiếm tất cả các nút ở mức trên trước khi tìm sang nút
ở mức dưới
Bộ nhớ là vấn đề quan trọng hơn thời gian
Trang 52Tìm kiếm theo giá thành thống nhất
http://www.ptit.edu.vn 29
không bằng nhau giữa các cặp nút
o BFS không cho lời giải tối ưu
o Cần sử dụng phương pháp tìm kiếm theo giá thành thống nhất (làmột biến thể của BFS)
rộng trước thay vì chọn nút nông nhất như trong BFS
Trang 53Ví dụ UCS (1/2)
(Phuong TM, 2016)
Trang 54Ví dụ UCS (2/2)
http://www.ptit.edu.vn 31
Trang 55Tìm kiếm theo chiều sâu – DFS (1/4)
nhất (xa gốc nhất) để mở rộng
Trang 56Tìm kiếm theo chiều sâu – DFS (2/4)
http://www.ptit.edu.vn 33
nhất (xa gốc nhất) để mở rộng
Trang 57Tìm kiếm theo chiều sâu – DFS (3/4)
nhất (xa gốc nhất) để mở rộng
Trang 58Tìm kiếm theo chiều sâu – DFS (4/4)
http://www.ptit.edu.vn 35
nhất (xa gốc nhất) để mở rộng
Trang 59Thuật toán DFS (1/2)
𝐷𝐹𝑆(𝑄, 𝑆, 𝐺, 𝑃)
(𝑄: không gian trạng thái, 𝑆: trạng thái bắt đầu, 𝐺: đích, 𝑃: hành động)
Đầu vào: bài toán tìm kiếm
Đầu ra: đường tới nút đích
Khởi tạo: tập các nút biên (nút mở) 𝑂 = 𝑆
while(𝑂 ≠ Ø) do
1 lấy nút đầu tiên 𝑛 khỏi 𝑂
2 if 𝑛 ∈ 𝐺, return (đường đi tới 𝑛)
3 thêm 𝑃(𝑛) vào đầu 𝑂
return không tìm được đường đi
Trang 60Thuật toán DFS (2/2)
http://www.ptit.edu.vn 37
𝐷𝐹𝑆(𝑄, 𝑆, 𝐺, 𝑃)
(𝑄: không gian trạng thái, 𝑆: trạng thái bắt đầu, 𝐺: đích, 𝑃: hành động)
Đầu vào: bài toán tìm kiếm
Đầu ra: đường tới nút đích
Khởi tạo: tập các nút biên (nút mở) 𝑂 = 𝑆
while(𝑂 ≠ Ø) do
1 lấy nút đầu tiên 𝑛 khỏi 𝑂
2 if 𝑛 ∈ 𝐺, return (đường đi tới 𝑛)
3 thêm 𝑃(𝑛) vào đầu 𝑂
return không tìm được đường đi
Sử dụngcấu trúcngăn xếpLIFO
Trang 61Ví dụ DFS (1/2)
(Phuong TM, 2016)
Trang 62Ví dụ DFS (1/2)
http://www.ptit.edu.vn 39
STT Nút được mở rộng Tập biên O (ngăn xếp LIFO)
Trang 64Tìm kiếm sâu dần – IDS (1/3)
http://www.ptit.edu.vn 41
rộng các nút có độ sâu quá một giới hạn nào đó Giới
hạn độ sâu sẽ được tăng dần cho đến khi tìm được lời giải.
Trang 65Tìm kiếm sâu dần – IDS (2/3)
Trang 66Tìm kiếm sâu dần – IDS (3/3)
http://www.ptit.edu.vn 43
Trang 67Thuật toán IDS
𝐼𝐷𝑆(𝑄, 𝑆, 𝐺, 𝑃)
(𝑄: không gian trạng thái, 𝑆: trạng thái bắt đầu, 𝐺: đích, 𝑃: hành động)
Đầu vào: bài toán tìm kiếm
Đầu ra: đường tới nút đích
Khởi tạo: tập các nút biên (nút mở) 𝑂 = 𝑆
𝑐 = 0 là độ sâu hiện thời
while (1) do
1 while (𝑂 ≠ Ø) do
a lấy nút đầu tiên 𝑛 khỏi 𝑂
b if 𝑛 ∈ 𝐺, return (đường đi tới n)
c if 𝑑𝑒𝑝𝑡ℎ 𝑛 < 𝑐 then
thêm 𝑃(𝑛) vào đầu 𝑂
2 𝑐 + +; 𝑂 = 𝑆
Trang 68Tính chất của IDS
http://www.ptit.edu.vn 45
Trang 69Ví dụ IDS
(Phuong TM, 2016)
Trang 70Tóm tắt
http://www.ptit.edu.vn 47
trạng thái đích
Time 𝑂(𝑏𝑑) 𝑂(𝑏 𝐶∗ൗ𝜖
) 𝑂(𝑏𝑚) 𝑂(𝑏𝑑)Space 𝑂(𝑏𝑑) 𝑂(𝑏 𝐶∗ൗ𝜖
Trang 71Khi nào đưa nút lặp vào danh sách?
o Trong trường hợp nút lặp có giá thành (chi phí) tốt hơn, nó sẽ
được đưa lại danh sách (nếu đã phát triển rồi) hoặc cập nhật thaynút cũ có giá thành kém hơn (nếu đang trong danh sách)
DFS
o Có: Việc đưa nút lặp vào ngăn xếp sẽ làm thay đổi thứ tự duyệtcác nút trong ngăn xếp (thay đổi nhánh tìm kiếm), và thay đổi
nghiệm của bài toán
o Tuy nhiên nếu đây là một nút đã được duyệt rồi thì sẽ không đưavào ngăn xếp nữa
IDS:
Trang 72Tìm theo hai hướng (1/2)
http://www.ptit.edu.vn 49
xuất phát và nút đích
o Tồn tại hai cây tìm kiếm, một cây có gốc là nút xuất phát, một cây
có gốc là nút đích
o Tìm kiếm kết thúc khi có lá của cây này trùng với lá của cây kia
(Phuong TM, 2016)
Trang 73Tìm theo hai hướng (2/2)
Trang 74Tìm kiếm có thông tin (informed search)
Ngô Xuân Bách
Học viện Công nghệ Bưu chính Viễn thông
Khoa Công nghệ thông tin 1
Nhập môn trí tuệ nhân tạo
Trang 75Tìm kiếm mù & Tìm kiếm có thông tin
o Không phù hợp trong các bài toán có không gian trạng thái lớn
o Sử dụng thông tin phụ từ bài toán để định hướng tìm kiếm
o Sử dụng một hàm 𝑓(𝑛) đánh giá độ “tốt” tiềm năng của nút 𝑛, từ
đó chọn nút tốt nhất để mở rộng trước
▪ Tìm kiếm tốt nhất đầu tiên (best-first search)
▪ Xây dựng hàm 𝑓(𝑛) thế nào?
Trang 76Nội dung
http://www.ptit.edu.vn 3
Trang 77Ví dụ đồ thị cho bài toán tìm kiếm
Trang 78Tìm kiếm tham lam
http://www.ptit.edu.vn 5
đích nhỏ nhất trước
o 𝑓 𝑛 = ℎ(𝑛): hàm heuristic ước lượng giá thành đường đi từ 𝑛 tớiđích
o Ví dụ: ℎ(𝑛) = đường chim bay từ 𝑛 tới đích
“ Tham lam ”: Chọn nút trông có vẻ tốt nhất để mở rộng, không quan tâm tới tương lai
Trang 79Ví dụ tìm kiếm tham lam (1/4)
S 125
Trang 80Ví dụ tìm kiếm tham lam (2/4)
http://www.ptit.edu.vn 7
Trang 81Ví dụ tìm kiếm tham lam (3/4)
Trang 82Ví dụ tìm kiếm tham lam (4/4)
http://www.ptit.edu.vn 9
Trang 83Tính chất của tìm kiếm tham lam
Đầy đủ?
o Không (có thể tạo thành vòng lặp, hoặc có nhánh gồm vô hạn nút
có giá trị hàm h nhỏ nhưng không dẫn tới đích)
Trang 84Bài tập 1
http://www.ptit.edu.vn 11
Sử dụng thuật toán tìm kiếm tham lam tìm đường đi từ 𝑆 tới 𝐺?
(Phuong TM, 2016)
E