Mỗi bảng con ứng với một giá trị của thuộc tính quyết định của tập mẫu Thực hiện lần lượt các bước từ 2 đến 8 cho mỗi bảng con có được Bước 2: j = 1 Bước 3: Trên mỗi bảng con đang
Trang 1I THUẬT TOÁN ILA:
1 Thuật toán:
Bước 1: Chia mẫu ban đầu thành n bảng con Mỗi bảng con ứng với một giá trị của thuộc
tính quyết định của tập mẫu
Thực hiện lần lượt các bước từ 2 đến 8 cho mỗi bảng con có được
Bước 2: j = 1
Bước 3: Trên mỗi bảng con đang khảo sát, chia danh sách các thuộc tính thành các tổ hợp
khác nhau, mỗi tổ hợp bao gồm j thuộc tính
Bước 4: Với mỗi tổ hợp thuộc tính có được, tính số lần giá trị thuộc tính xuất hiện theo cùng tổ hợp thuộc tính trong các dòng còn lại của bảng con đang xét (mà đồng thời không xuất hiện tổ hợp giá trị này trên tất cả các bảng còn lại) Gọi tổ hợp đầu tiên (trong bảng
con) có số lần xuất hiện nhiều nhất là tổ hợp lớn nhất.
Bước 5: Nếu tổ hợp lớn nhất có giá trị bằng 0, tăng j lên 1 và quay lại bước 3.
Bước 6: Loại bỏ các dòng thỏa tổ hợp lớn nhất ra khỏi bảng con đang xử lý.
Bước 7: Thêm luật mới vào tập luật R, với vế trái là tập các thuộc tính của tổ hợp lớn nhất
(kết hợp các thuộc tính bằng toán tử AND) và vế phải là giá trị thuộc tính quyết định tươngứng
Bước 8: Nếu tất cả các dòng đều đã được loại bỏ, tiếp tục thực hiện từ bước 2 cho các
bảng con còn lại Ngược lại (nếu còn dòng chưa bị loại bỏ) thì quay lại bước 4 Nếu tất cảcác dòng con đã được xét đến thì kết thúc Tập R chính là tập luật cần tìm
2 Minh họa thuật toán:
Minh họa giải thuật ILA cho bảng dữ liệu sau đây:
Bước 1: Chia tập mẫu ban đầu thành hai bảng con (2 lớp) bởi 2 loại quyết định “Yes” và
“No” như sau:
Trang 27 Large Green Sphere Yes
Bước 2: Áp dụng lần lượt các bước từ 2 đến 8 với bảng con thứ nhất
Với j = 1 Có 3 tổ hợp, mỗi tổ hợp gồm một thuộc tính là {Size}, {Color}, {Shape}
Với tổ hợp {Size} thuộc tính “Medium” xuất hiện 1 lần trong bảng 1 và không xuấthiện trong bảng 2; thuộc tính “Small” và “Large” xuất hiện trên cả hai bảng
T(Sizemedium) = 1; T(Sizesmall) = 0; T(Sizelarge) = 0
Với tổ hợp {Color} thuộc tính “Green” xuất hiện 2 lần trong bảng 1 và không xuấthiện trong bảng 2; thuộc tính “Blue” xuất hiện 1 lần trong bảng 1 và không xuất hiệntrong bảng 2; thuộc tính “Large” xuất hiện trên cả hai bảng
T(Colorgreen) = 2; T(Colorblue) = 1; T(Colorred) = 0
Với tổ hợp {Shape} thuộc tính “Brick” xuất hiện 1 lần trong bảng 1 và không xuấthiện trong bảng 2; thuộc tính “Sphere” xuất hiện 2 lần trong bảng 1 và không xuất hiệntrong bảng 2; thuộc tính “Pillar” xuất hiện trên cả hai bảng
T(Shapebrick) = 1; T(Shapesphere) = 2; T(Shapepillar) = 0
Như vậy, ta có T(Colorgreen) và T(Shapesphere) lớn nhất và đều bằng 2 Ta mặc định chọn T(Colorgreen) và ta sẽ có luật:
IF Color = Green THEN Decision = Yes (a)
Kế tiếp, loại bỏ hai dòng ứng với Color = Green ra khỏi bảng ta được:
Lập lại việc tính toán các giá trị T cho dữ liệu còn lại ta được:
T(Sizemedium) = 1; T(Colorblue) = 1; T(Shapesphere) = 1
Ta chọn trường hợp T(Sizemedium) để xây dựng luật, ta được:
IF Size = Medium THEN Decision = Yes (b)
Trang 3Kế tiếp, loại bỏ dòng ứng với Size = Medium ra khỏi bảng ta được
Tính giá trị T cho dữ liệu còn lại ta được:
T(Shapewedge) = 2 là lớn nhất Do đó ta có luật:
IF Shape = Wedge THEN Decision = No (d)
Dữ liệu còn lại:
Với các dòng còn lại, mọi giá trị của thuộc tính đều xuất hiện trong cả hai bảng (mọi giá trị Tđều bằng 0) nên ta sẽ tăng j lên 1 và thực hiện lại bước 2
Với j = 2, có 3 tổ hợp mỗi tổ hợp gồm 3 thuộc tính là {Size, Color}, {Size, Shape}, {Color, Shape}
Ta có: T(Sizelagre, Colorred) = 1
T(Colorred, Shapepillar) = 1Chọn trường hợp đầu tiên để xây dựng luật ta có luật sau:
IF (Size = Large) AND (Color = Red) THEN Decision = No (e)
Thuật toán kết thúc vì tất cả các bảng đã được xét đến và tất cả các dòng trong các
Tổng số phần tử trong phân hoạch có giá trị thuộc tính dẫn xuất là
A là j và có giá trị thuộc tính mục tiêu là ri
Trang 4Trong đó r1, r2, …, rn là các giá trị thuộc tính mục tiêu Như vậy nếu một thuộc tính A cóthể nhận một trong 5 giá trị khác nhau thì nó sẽ có 5 vector đặc trưng.
Một vector V(Aj) được gọi là vector đơn vị nếu nó có duy nhất một thành phần có giá trị 1
và những thành phần khác có giá trị 0
Thuộc tính được chọn để phân hoạch là thuộc tính có nhiều vector đơn vị nhất
2 Minh họa thuật toán:
Số người tóc nâu và cháy nắng là: 0
Số người tóc nâu và không cháy nắng là: 3Như vậy: Vtóc(nâu) = (0/3, 3/3) = (0, 1) vector đơn vị
- Tóc đỏ:
Vtóc(đỏ) = (1/1, 0/1) = (1, 0) Vector đơn vị
Tổng số vector đơn vị của thuộc tính Màu Tóc là 2
Xét thuộc tính Chiều cao
Trang 5 Xét thuộc tính Dùng kem
Vdùng.kem(có) = (3/4, 0/3) = (0, 1)
Vdùng.kem(không) = (3/5, 2/5)
Như vậy: thuộc tính màu tóc có số vector đơn vị nhiều nhất (2 vector đơn vị) nên sẽ được
chọn đầu tiên để phân hoạch
Sau khi phân hoạch theo tóc vàng ta có tập phân hoạch:
(Bảng số 2)
b Bước 2:
Trong tập phân hoạch này ta thấy còn chứa những người cháy nắng và không cháy nắng, tiếp
tục phân hoạch tập này Tính vector đặc trưng trên các tập còn lại (chiều cao, cân nặng, dùngkem)
Xét thuộc tính Chiều cao
Trang 6(Hình số 5)
3 Nhận xét (độ đo hỗn loạn):
Thay vì phải xây dựng vector đặc trưng như phương pháp của Quinlan, ứng với mỗi thuộctính dẫn xuất ta chỉ cần tính ra độ đo hỗn loạn và lựa chọn thuộc tính nào có độ đo hỗn loạn làthấp nhất Người ta tính được công thức như sau:
Gọi TA là độ đo hỗn loạn của một thuộc tính A, ta có:
Trong đó:
o bt là tổng số phần tử có trong phân hoạch
o bj là số phần tử có thuộc tính dẫn xuất A có giá trị j
o bri là tổng số phần tử có thuộc tính dẫn xuất A có giá trị j và thuộc tính mục tiêu có giá trị i
*** Tính độ đo hỗn loạn trong bài toán trên:
o Tập tóc Vàng có 2 người cháy nắng và 2 người không cháy nắng;
bt-
TA =
Trang 7Ttóc = 4/8(-2/4log22/4 – 2/4log22/4) + 1/8*0 + 3/8*0
Ttóc = 0.5Tính tương tự ta có:
Tchiều.cao = 0.69
Tcân.nặng = 0.94
Tdùng.thuốc = 0.61
ta chọn được thuộc tính màu tóc để phân hoạch
Tiếp tục tính độ đo hỗn loạn trên các thuộc tính còn lại
Dựa vào cây định danh được xây dựng như trong hình số 5 mục 2, các quyết định được phát
sinh như sau: Người ta theo các nhánh của cây từ gốc đến lá lấy các thử nghiệm là giả thiết vàlấy nút lá làm kết luận, có các luật sau:
(Hình số 6)
Vấn đề còn lại là làm sao tối ưu hóa tập luật này nếu nó có tồn tại luật dư thừa
BÀI 1: TÍNH CHI PHÍ HÀNH TRÌNH TỐT NHẤT: (THUẬT TOÁN GTS2)
1 (Màu tóc vàng) và (có dùng kem) không cháy nắng
2 (Màu tóc nâu) và (không dùng kem) cháy nắng
3 (Màu tóc nâu) không cháy nắng
Trang 8Gọi GTS1(1)
T1 = 1524631C1=6+7+7+15+16+23=74Bước 4: do C1<cost => cost=74; best=T1;
Bước 2: Do k=1 <p Bước 3
Bước 3: k=2
Gọi GTS1(2)
T2 = 2415362C2=7+12+6+21+9+15=70Bước 4: do C2<cost => cost=74; best=T2;
Bước 2: Do k=2 <p Bước 3
Bước 3: k=3
Gọi GTS1(4)
T3 =4215364 C3=9+12+6+21+9+15=72Bước 4: do C3>cost => cost=70; best=T2;
Bước 2: Do k=3 <p Bước 3
Bước 3: k=4
Gọi GTS1(6)
T4 = 6421536C4=5+9+12+6+21+9=62Bước 4: do C4<cost => cost=62; best=T4;
Trang 9BÀI 2: Thuật tốn tơ màu
Giả sử có 9 cuộc mitting a,b,c,d,e,f,g,h,i được tổ chức Mỗi cuộc mitting được tổ chức
trong một buổi Các cuộc mitting sau không được diễn ra đồng thời: ae, bc, cd, ed, abd, ahi,
bhi, dfi, dhi, fgh Hãy sử dụng thuật toán tô màu tối ưu để bố trí các cuộc mitting vào các
buổi sao cho số buổi diễn ra là ít nhất
Giải:
Xây dựng ma trận M các cuộc mitting diễn ra với:
M[i][j] = 1 , nếu các buổi mitting khơng được diễn ra đồng thời;
BÀI 3: Bài tốn tơ màu đồ thị:
BÀI 4: Bài toán xếp lịch thi đấu
Ta có bảng các trận đấu :
diễn ra còn lại là ít nhất Một đội khơng thể tham
gia thi đấu 2 trận cùng lúc
Trang 10Các trận đấu còn lại có thể xảy ra : AC,AE,AF,BC,BD,CF,DE,EF
Kết luận :
+ Tuần 1 : cho các trận đấu AC, BD, EF+ Tuần 2 : cho các trận đấu AE, BC+ Tuần 3 : cho các trận đấu AF, DE + Tuần 4 : cho các trận đấu CF
Bài 5: Bài tốn đèn giao thơng (Thuật tốn tơ màu)
Hãy xây dựng các cột đèn sao cho việc lưu thông không bị giao nhau (số màu đèn làbao nhiêu)
Trang 11+ Lấy 13 tuyến đường làm đỉnh đồ thị
+ Cung là những tuyến đường không thể cùng đi một lúc (tuyến đường giaonhau)
+ BA, DC, ED: khơng giao nhau với các tuyến khác (được phép rẻ phải)
+ Các tuyến cùng đỉnh xuất phát hay cùng đích thì khơng giao nhau
+ Các tuyến song song thì khơng giao nhau (AB và BA, AC và CA,…)
Trang 12A B
A C
A D
C
B D
D A
D B
D C
E A
E B
E C
E D
Trang 13- Màu 1: AB, AC, AD, BA, DC, ED
- Màu 2: BC, BD, EA
- Màu 3: DA, DB
- Màu 4: EB, EC
Trang 14Bài 6: Thuật toán TACI (A KT )
Start
Cách 1: Tính vị trí sai trạng thái hiện tại so với trạng thái đích
Cách 2: Tính độ dịch chuyển các ô (ngang/dọc) từ trạng thái hiện tại so với trạng thái đích
Trang 15g=0 h=4 f=4
g=1 h=3 f=4 (min)
g=1 h=3 f=4 (min)
g=2 h=2 f=4(min)
g=2 h=3 f=5
g=2 h=4 f=6
g=2 h=3 f=5
g=5 h=1 f=6
g=4 h=1 f=5
g=3 h=2 f=5 (min)
g=3 h=3 f=6
g=5 h=0 f=5 (đích)
Trang 16B3: pq, qr p, r
B4: Phân thành 2 dòng:
(1) p, qr p, r (CM)(2) q, qr p, r
Trang 17(1”’) a b, d (không CM)
(2”’) a b, d, c
Kết luận: Bài toán không được chứng minh
Bài 9: (Thuật toán Robinson) (Mệnh đề đối ngẫu: P và P)
a, Cho {pq, qr, rs, p} Hỏi ps ?
Giải:
Biến đổi:
pq = pqqr = qrrs = rs Theo thuật toán Robinson:
B1: Phát biểu có dạng chuẩn:
pq, qr, rs, p psB2: Chuyển vế kết luận:
pq, qr, rs, pp, psB3: Tuyển từng cặp mệnh đề, tính đối ngẫu:
pr, rs, pp, ps
ps, pp, ps
sp, ps
s sĐược chứng minh
b, Cho{a b c, b c d, a b} Hỏi d ?
Trang 18Giải:
Biến đổi:
a b c = ( a b)c = abc
b c d = ( b c)d = bcdTheo thuật tốn Robinson:
B1: Phát biểu cĩ dạng chuẩn:
abc, bcd, a b dB2: Chuyển vế kết luận:
abc, bcd, a b, d
B3: Tuyển từng cặp mệnh đề, tính đối ngẫu:
abd, a b, d = (a b) d, (a b), d
d, dĐược chứng minh
Bài 10:
Sử dụng thuật toán QuinLan để giải quyết bài toán sau:
Để xác định người châu Á hay người châu Âu khi xem xét một nhóm người căn cứ trên hình dáng, chiều cao và giới tính theo bảng sau:
Đặc điểm
Người Dáng Chiều cao Giới tính Thuộc châu
Giải:
Định nghĩa độ đo V :
V(Dáng = To) = (Áto, Âuto)
Áto=
Tổng số quan sát Á có dáng = To Tổng số quan sát có dáng = ToÂuto =
Tổng số quan sát Âu có dáng = To Tổng số quan sát có dáng = To
Trang 19V(Dáng = To) = (13,
2
3)V(Dáng = Nhỏ) = (25,
3
5)V(ChiềuCao = Trung bình) = (12,
1
2)V(ChiềuCao = Thấp) = (1,0)
V(chiềuCao = Cao) = (0,1)
V(Giới = Nam) = (35,
2
5)V(Giới = Nữ) = (0,1)
Tiêu chuẩn phân loại : là thuộc tính có nhiều vector đơn vị nhất Cụ thểchọn: ChiềuCao (có 2 vector đơn vị)
Cao
ChiềuCao
Loại những người châu Âu, Á đã xét chúng ta có bảng sau:
Người Dáng Giới tính Thuộc châu
1
2)
Trang 20V(Giới = Nam) = (1,0)V(Giới = Nữ) = (0,1)Chọn Giới (có 2 vector đơn vị):
Bài 11:
Sử dụng phương pháp độ đo hỗn loạn để giải bài toán sau:
Theo bảng dữ liệu xác định hiệu quả của việc sử dụng kem cháy nắng
Tên Màu tóc Chiều cao Cân nặng Dùng kem Kết quả
1 Sarah Vàng Trung bình Nhẹ Không Cháy nắng
2 Dana Vàng Cao Trung bình Có Không cháy nắng
3 Alex Nâu Lùn Trung bình Có Không cháy nắng
4 Annie Vàng Lùn Trung bình Không Cháy nắng
5 Emily Đỏ Trung bình Nặng Không Cháy nắng
7 John Nâu Trung bình Nặng Không Không cháy nắng
Giải:
Lý thuyết thông tin cho công thức xác định độ hỗn loạn:
Đơ hơn loan trung bình = ∑(nb
Trang 21ni: Tổng số mẫu trong tất cả các nhánh
nbc: Tổng số mẫu trong nhánh b thuộc lớp c
Alex
Anna Katie
Sarah
Emily John
Dana Pete
Sarah
Katie
Dana Alex
Anna
Emily Pete John
Alex Katie Dana
Sarah
Anna
Emily Pete John
Test Độ hỗn loạnMàu tóc 0.50 ***
Trang 22Chú thích: log 2 a x = xlog 2 a => log 2 2 x = x;
=> log 2 (1/2) = log 2 2 -1 = -1;
log 2 a= loga/log2= lna/ln2 Bài 12 :
Sử dụng do do hon loan để giải quyết bài toán sau:
Quyết định mua hàng hay không mua theo bảng sau:
STT
Kích cở
Màu sắc
Hình dáng Quyết định
Độ hỗn loạn TB màu sắc= 0.46
Độ hỗn loạn TB hình dáng=
27
√ 2
√ 1
√ 7
3
√ 4 5 6
Hình dáng Cầu
Hình dáng
Hộp Trụ Mua
Nhánh đã ổn định
Nhánh = 0
Trang 23Sau khi test lần 1 xong, ta đã loại ra 5 mẫu ổn định => có 1 bảng nhỏ hơn:
Độ hỗn loạn trung bình màu sắc= 0
Chọn thuộc tính màu sắc vì có độ hỗn loạn TB nhỏ nhất:
Trang 24Xây dựng bảng kích hoạt ban đầu (1) Kích hoạt các yếu tố đã biết c (2)
Từ R1 => kích hoạt được Từ R6 => kích hoạt được b (4)Từ R6 => kích hoạt được b (4)
Trang 25Từ R4 => kích hoạt được h c (5) Từ R3 => kích hoạt được S (6) : kết quả