TÀI LIỆU HƯỚNG DẪN THỰC HÀNHmôn Trí tuệ nhân tạo Xác định đỉnh thấy được cho bài toán Robot tìm đường Nội dung trình bày Giới thiệu vấn đề 1 Giới thiệu vấn đề 1 Hướng giải quyết 2 Ví dụ
Trang 1TÀI LIỆU HƯỚNG DẪN THỰC HÀNH
môn Trí tuệ nhân tạo
Xác định đỉnh thấy được
cho bài toán Robot tìm đường
Nội dung trình bày
Giới thiệu vấn đề
1 Giới thiệu vấn đề
1
Hướng giải quyết
2
Ví dụ minh họa
3
Đề xuất cải tiến
4
Trang 2GIỚI THIỆU VẤN ĐỀ
Bài toán Robot tìm đường: Tìm đường đi ngắn
nhất giữa hai điểm trên một mặt phẳng, trong đó
ồ
có chứa chướng ngại vật là những đa giác lồi
GOAL
START
GIỚI THIỆU VẤN ĐỀ
Vấn đề đặt ra: Khi đứng tại một đỉnh, làm sao
xác định robot có thể nhìn thấy những đỉnh nào?
đa giác nào là đỉnh nhìn thấy được
Trang 3Nội dung trình bày
Giới thiệu vấn đề
1 Giới thiệu vấn đề
1
Hướng giải quyết
2
Ví dụ minh họa
3
Đề xuất cải tiến
4
HƯỚNG GIẢI QUYẾT
Nhận xét: Cho trước một điểm P và cạnh AB
không chứa P, những điểm nằm trong cung APB
và nằm bên kia đoạn thẳng AB so với P sẽ là
những điểm không thấy được từ P
A
P
B
Trang 4HƯỚNG GIẢI QUYẾT
đỉnh nào trên toàn bản đồ, ta lần lượt tạo cung từ
đỉnh nằm trong cung APB sẽ bị loại Sau khi
duyệt hết tập cạnh của các đa giác, những đỉnh
không bị loại là đỉnh thấy được
NHẮC LẠI KIẾN THỨC HÌNH HỌC
Cho 2 điểm A(x1, y1), B(x2, y2) Phương trình
đường thẳng tạo bởi đoạn thẳng AB:
d: (x – x 1 )(y 2 – y 1 ) = (y – y 1 )(x 2 – x 1 )
Xét vị trí tương đối của C(x3, y3) và D(x4, y4) đối
với đường thẳng d
Nếu d(C)*d(D) ≥ 0⇒ C, D nằm cùng phía
Nếu d(C)*d(D) < 0⇒ C, D nằm khác phía
Trang 5CÁC BƯỚC THỰC HIỆN
Gọi P là đỉnh đang xét, và V là tập cạnh của tất
cả các đa giác
Với mỗi cạnh đa giác, gọi là AB, trong tập V:
Tạo d1từ P và A, d2từ P và B, và d3từ A và B
Xét tất cả các đỉnh Q còn lại trong đồ thị với
bộ d1, d2, d3đang xét
• Nếu d1(Q)*d1(B) ≥ 0 và d2(Q)*d2(A) ≥ 0 và
d (Q)*d (P) < 0 thì Q khô hì thấ đ từ P
d3(Q)*d3(P) < 0 thì Q không nhìn thấy được từ P.
• Ngược lại, nhìn thấy được từ P.
Kết thúc vòng lặp, ta xác định được tập các đỉnh
còn lại là đỉnh thấy được từ P trên toàn bản đồ
HÌNH VẼ MINH HỌA
Trong hình này, từ P, Robot nhìn thấy được đỉnh
E nhưng không nhìn thấy C và D do C, D nằm
trong cung APB
A
E
D
d 1
P
d
d 3
Trang 6Nội dung trình bày
Giới thiệu vấn đề
1 Giới thiệu vấn đề
1
Hướng giải quyết
2
Ví dụ minh họa
3
Đề xuất cải tiến
4
VÍ DỤ MINH HỌA
Xét đa giác 1
GOAL
Trang 7VÍ DỤ MINH HỌA
Xét đa giác 1
GOAL
START
VÍ DỤ MINH HỌA
Xét đa giác 1
GOAL
START
Trang 8VÍ DỤ MINH HỌA
Xét đa giác 1
GOAL
START
VÍ DỤ MINH HỌA
Xét đa giác 2
GOAL
Trang 9VÍ DỤ MINH HỌA
Xét đa giác 2
GOAL
START
VÍ DỤ MINH HỌA
Xét đa giác 2
GOAL
START
Trang 10VÍ DỤ MINH HỌA
Xét đa giác 3
GOAL
START
VÍ DỤ MINH HỌA
Xét đa giác 3
GOAL
Trang 11VÍ DỤ MINH HỌA
Xét đa giác 3
GOAL
START
CÂU HỎI ?
Nếu gặp một cạnh mà có 2 đỉnh đã bị loại thì có
cần xét cạnh này hay không?
GOAL
?
?
Trang 12Nội dung trình bày
Giới thiệu vấn đề
1 Giới thiệu vấn đề
1
Hướng giải quyết
2
Ví dụ minh họa
3
Đề xuất cải tiến
4
ĐỀ XUẤT CẢI TIẾN
Nhận xét: Trong đa giác lồi, luôn luôn tồn tại một
cạnh AB (kể cả cạnh chéo) sao cho
do những cạnh còn lại tạo thành với P
Các đỉnh đa giác (trừ A, B) thuộc cung APB
A
Trang 13ĐỀ XUẤT CẢI TIẾN
đỉnh A và B trong số n đỉnh sao cho cung APB là
lớn nhất Từ đó, những đỉnh nằm trong cung
APB là đỉnh không nhìn thấy được từ P đối với
đa giác đang xét
VÍ DỤ MINH HỌA
Xét đa giác 1
GOAL
START
Trang 14VÍ DỤ MINH HỌA
Xét đa giác 2
GOAL
START
VÍ DỤ MINH HỌA
Xét đa giác 3
GOAL
Trang 15CÂU HỎI ?
thể tạo cung lớn nhất?
GOAL
d 1
d 2
F G
START
2
d 3
D
PHƯƠNG PHÁP GIẢI QUYẾT
Bước 1: chọn một cạnh AB bất kì để tạo với P
cung APB
làm tiếp bước 2
Ngược lại, đây là cạnh tạo cung lớn nhất
Trang 16PHƯƠNG PHÁP GIẢI QUYẾT
Bước 2: tiến hành cập nhật hai đỉnh của cạnh để
có cạnh mới tạo được cung lớn hơn
Chọn đỉnh T bất kì thuộc cung APB đang xét
Lần lượt xét từng đỉnh R nằm ngoài APB
• Nếu d1(R)*d1(T) ≥ 0 ⇒ R, T cùng phía so với d1 ⇒
R phải nằm gần d2 hơn ⇒ cập nhật B bằng R.
• Ngược lại, cập nhật A bằng R.
• Xét các đỉnh nằm ngoài còn lại:
– nếu tồn tại đỉnh nào nằm ngoài cung RPB (hay APR) thì xét
tiếp đỉnh này.
– Ngược lại, đã có cung lớn nhất, dừng.
CÂU HỎI ?
Chọn cạnh AB bất kì làm cạnh khởi đầu
GOAL
d 1
d 2
F G
2
Trang 17CÂU HỎI ?
thành AC
GOAL
d 1
F G
START
d 2
d 3
D
CÂU HỎI ?
AC thành FC
GOAL
d 1
F G
d 2
d 3
D
Trang 18CÂU HỎI ?
GOAL
d 1
F G
START
d 2
d 3
D