1. Trang chủ
  2. » Giáo Dục - Đào Tạo

TRÍ TUỆ NHÂN TẠO - Các phương pháp giải quyết vấn đề cơ bản pps

131 3,1K 42

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 131
Dung lượng 3,3 MB

Nội dung

Các phương pháp giải quyết vấn đề cơ bản2.1 2.2 2.3 Biểu diễn bài toán trong không gian trạng thái Tìm kiếm lời giải trong không gian trạng thái Tìm kiếm lời giải trên đồ thị và/hoặc...

Trang 1

KHOA KHOA HỌC MÁY TÍNH

-*** -TRÍ TUỆ NHÂN TẠO

(Artificial Intelligence - AI)

Nguyễn Thanh Cẩm

Trang 2

Tổng quan về khoa học trí tuệ nhân tạo

Trang 3

Các phương pháp giải quyết vấn đề cơ bản

2.1 2.2 2.3

Biểu diễn bài toán trong không gian trạng thái

Tìm kiếm lời giải trong không gian trạng thái Tìm kiếm lời giải trên đồ thị và/hoặc

Trang 4

2.1.1 2.1.2 2.1.3 2.1.4

Đặt vấn đề

Mô tả trạng thái Toán tử chuyển trạng thái Không gian trạng thái của bài toán

Biểu diễn không gian trạng thái dưới dạng đồ thị

2.1.5

Trang 5

Khi giải quyết bài toán bằng phương pháp tìm kiếm: phải xác định không gian tìm kiếm

Phương pháp giải quyết vấn đề dựa trên:

được gọi là cách tiếp cận giải quyết vấn đề nhờ không gian trạng thái.

2.1.1 Đặt vấn đề

Trang 6

2.1.1 2.1.2 2.1.3 2.1.4

Trang 7

Mô tả trạng thái bài toán:

Mỗi trạng thái là một hình trạng của bài toán:

2.1.2 Mô tả trạng thái

Trang 8

Ví dụ: Bài toán đong nước

Cần đong k lit nước giả thiết k <= min(m,n).

Trang 9

Ví dụ: Bài toán đong nước

 Gọi x là lượng nước hiện có trong bình dung tích m

 và y là lượng nước hiện có trong bình dung tích n

 bộ có thứ tự (x,y) có thể xem là trạng thái của bài toán

 Trạng thái đầu: (0,0)

 Trạng thái cuối: (x,k) hoặc (k,y), 0  x  m , 0  y  n

2.1.2 Mô tả trạng thái

Trang 11

Có thể mô tả trạng thái của bài toán bằng một ma trận

7

4 6

1

3 8

7

4 0

8

3 2

1

Trạng thái cuối Trạng thái đầu

Trang 12

 Hãy dịch chuyển n đĩa ở cọc 1 sang cọc 3 sao cho:

 Mỗi lần chỉ chuyển một đĩa.

 Trong mỗi cọc không cho phép đĩa to nằm trên đĩa nhỏ hơn.

Ví dụ: Bài toán tháp Hà Nội

Trang 13

Ví dụ: Bài toán tháp Hà Nội

 Bài toán xác định khi biết từng đĩa đang nằm ở cọc nào.

 Cách 1:

 Cách 2:

(i = 1 n)

2.1.2 Mô tả trạng thái

Trang 14

Cách 1 ta phải dùng 3 danh sách động

Cách 2 mô tả bài toán hiệu quả hơn

x i {1, 2, 3}, i{1 n}

Khi đó bộ có thứ tự (x 1 , x 2 , ,x n ) là dạng mô tả trạng thái đang xét của bài toán

Trang 15

2.1.1 2.1.2 2.1.3 2.1.4

Đặt vấn đề

Mô tả trạng thái

Toán tử chuyển trạng thái

Không gian trạng thái của bài toán

Biểu diễn không gian trạng thái dưới dạng đồ thị

2.1.5

Trang 16

Là các phép biến đổi đưa từ trạng thái này sang trạng thái khác

Có hai cách biểu diễn các toán tử:

và nhận giá trị cũng trong tập này.

có nghĩa là nếu có trạng thái S thì có thể đưa đến trạng thái A.

Trang 17

Ví dụ: Bài toán đong nước

Các thao tác sử dụng để chuyển trạng thái này sang trạng thái khác gồm:

2.1.2 Mô tả trạng thái

Trang 18

 Nếu trạng thái đang xét là (x,y) thì các trạng thái kế tiếp có thể chuyển đến sẽ là:

Trang 19

Ví dụ: Trò chơi 8 số

 Các thao tác để chuyển trạng thái tương ứng với việc chuyển ô trống sang phải, sang trái, lên, xuống nếu có thể được.

2.1.2 Mô tả trạng thái

Trang 20

Biểu diễn theo một hàm

 Gọi fu là hàm biểu diễn toán tử chuyển ô trống lên trên;

 Gọi B (B= (bij)) là trạng thái sau khi di chuyển ô trống

ở trạng thái A (A= (aij)) lên trên, nghĩa là: B= fu(A), giả sử ô trống đang ở vị trí (i0, j0) (hay nói cách khác

ai0 j0 = 0) thì hàm fu được xác định như sau:

Trang 21

2.1.2 Mô tả trạng thái

Phép chuyển ô trống xuống dưới fd, qua trái fl, qua phải fr như sau:

Trang 22

Ví dụ: Bài toán Tháp Hà Nội với n = 3

Mỗi trạng thái là một bộ ba (i, j, k) Có các trường hợp như sau:

Hai đĩa cùng nằm trên hai cọc: (i, i, j), (i, j, i), (j, i, i),

Trang 23

2.1.2 Mô tả trạng thái

Trang 24

2.1.1 2.1.2 2.1.3 2.1.4

Đặt vấn đề

Mô tả trạng thái Toán tử chuyển trạng thái

Không gian trạng thái của bài toán

Biểu diễn không gian trạng thái dưới dạng đồ thị

2.1.5

Trang 26

Ví dụ: KHTT của bài toán đong nước là bộ bốn

T, S, G, F xác định như sau:

 T = {(x,y) | 0 <= x <= m; 0 <= y <= n }

 S = (0,0)

 G = {(x,k) hoặc (k,y) | 0 <= x <= m; 0 <= y <= n}

 F = Tập các thao tác đong đầy, đổ ra hoặc đổ sang bình khác thực hiện trên một bình.

Trang 27

Ví dụ: KGTT của bài toán Tháp Hà nội với n = 3

Trang 28

Ví dụ: KGTT của bài toán trò chơi 8 số

 T = {(aij)3x3 | 0<= aij<= 8 và aij<> akl với i<> j hoặc

k <> l}

 S = Ma trận xuất phát của bài toán,

 G = Ma trận cuối cùng của bài toán (các số nằm theo vị trí yêu cầu)

 F = {fl, fr, fu, fd}

Tìm kiếm lời giải trong kGTT là quá trình tìm kiếm:

 xuất phát từ trạng thái đầu,

 chuyển trạng thái

 gặp trạng thái đích

Trang 29

2.1.1 2.1.2 2.1.3 2.1.4

Đặt vấn đề

Mô tả trạng thái Toán tử chuyển trạng thái Không gian trạng thái của bài toán

Biểu diễn không gian trạng thái dưới dạng đồ thị

2.1.5

Trang 30

a.Các khái niệm

Đồ thị G = (V, E) trong đó V: tập đỉnh, E: tập cung

(EV*V)

 Chú ý

như là (j, i) (tức là:(i, j)E thì (j,i)E)

toàn khác với cung (j, i).

Trang 31

Ví dụ: xét đồ thị vô hướng G 1 và đồ thị có hướng G 2

2.1.5 Biểu diễn không gian trạng thái dưới dạng đồ thị

Trang 32

Tập đỉnh kề:

nV, T(n) = {mV| (n,m)E} được gọi là tập các đỉnh

kề của n

Đường đi:

p = (n1, ,nk) được gọi là đường đi từ đỉnh n1 nk nếu

niV, i=1,k ; (n i , ni+1)E i=1, k -1

Cây là đồ thị có đỉnh gốc n0V thoả:

 nV, nT(n0), trong đó T(n0): tập các đỉnh thuộc dòng dõi của n0 (n0 là tổ tiên của n)

 nV, mV sao cho nT(m); m là cha của n

Trang 33

b.Biểu diễn không gian trạng thái bằng đồ thị

 KGTT tương ứng với một đồ thị định hướng trong đó:

Trang 34

0 , trong trường hợp ngược lại

 G là đồ thị vô hướng thì ma trận kề A là ma trận đối xứng.

Trang 35

Ví dụ:

2.1.5 Biểu diễn không gian trạng thái dưới dạng đồ thị

Trang 36

(2) Biểu diễn bằng danh sách kề.

tất cả các đỉnh kề với i, ký hiệu là List(i)

tập hợp hay kiểu con trỏ

Trang 37

(2) Biểu diễn bằng danh sách kề.

Trang 38

Ví dụ: Bài toán đong nước m =3, n =2, k =1

Trang 39

Ví dụ: Tháp Hà Nội với n = 3

2.1.5 Biểu diễn không gian trạng thái dưới dạng đồ thị

Trang 40

Các phương pháp giải quyết vấn đề cơ bản

2.1 2.2 2.3

Biểu diễn bài toán trong không gian trạng thái

Tìm kiếm lời giải trong không gian trạng thái

Tìm kiếm lời giải trên đồ thị và/hoặc

Trang 41

Tìm kiếm lời giải trong không gian trạng thái làquá trình tìm trên đồ thị

Cần quan tâm đến các vấn đề sau:

(mô tả trạng thái bài toán)

Trang 42

Tìm kiếm theo chiều rộng (Breadth – First Search)

Trang 43

2.2.1 2.2.2 2.2.3 2.2.4

Phương pháp tìm kiếm theo chiều rộng

Phương pháp tìm kiếm theo chiều sâu

Phương pháp tìm kiếm tốt nhất đầu tiên (BFS) Phương pháp tìm kiếm leo đồi (HCS)

Trang 44

a.Ý tưởng

Tìm kiếm rộng là tìm kiếm trên tất cả các nút của một mức trong không gian bài toán trước khi chuyển sang các nút của mức tiếp theo

Trang 46

}

Trang 47

c.Đánh giá độ phức tạp của giải thuật tìm kiếm rộng

 Giả sử rằng, mỗi trạng thái khi được xét sẽ sinh ra k trạng thái kế tiếp Khi đó ta gọi k là nhân tố nhánh

 Nếu bài toán tìm được nghiệm theo phương pháp tìm kiếm rộng có độ dài d Như vậy, đỉnh đích sẽ nằm ở mức d+1, do đó số đỉnh cần xét lớn nhất là:

 1 + k + k 2 + + k d

 Như vậy độ phức tạp thời gian của giải thuật là O(k d ) Độ phức tạp không gian cũng là O(k d ), vì tất cả các đỉnh của cây tìm kiếm ở mức d+1 đều phải lưu vào danh sách.

2.2.1 Phương pháp tìm kiếm theo chiều rộng

Trang 48

d.Ưu và nhược điểm của phương pháp tìm kiếm rộng

(1)Ưu điểm

trạng thái bài toán vì vậy sẽ tìm được lời giải nếu có.

Trang 49

(2)Nhược điểm

 Tìm kiếm lời giải theo thuật toán đã định trước.

 Không phù hợp với không gian bài toán kích thước lớn

2.2.1 Phương pháp tìm kiếm theo chiều rộng

Trang 51

2.2.1 Phương pháp tìm kiếm theo chiều rộng

i T(i)MO  DONG

(0;0) (0;0) (5;0) (0;4) (5;0) (0;4) (0;0) (5;0) (5;4) (0;0) (1;4) (0;4) (5;4) (1;4) (0;0) (5;0) (0;4) (5;4) (0;0) (4;0) (5;4) (1;4) (4;0) (0;0) (5;0) (0;4) (5;4) (0;4) (5;0) (1;4) (4;0) (0;0) (5;0) (0;4) (5;4) (1;4) (5;4) (0;4) (1;0) (5;0) (4;0) (1;0) (0;0) (5;0) (0;4) (5;4) (1;4) (4;0) (5;0) (4;4) (0;0) (0;4) (1;0) (4;4) (0;0) (5;0) (0;4) (5;4) (1;4) (4;0) (1;0) (5;0) (1;4) (0;1) (4;4) (0;1) (0;0) (5;0) (0;4) (5;4) (1;4) (4;0) (1;0) (4;4) (5;4) (0;4) (4;0) (5;3) (0;1) (5;3) (0;0) (5;0) (0;4) (5;4) (1;4) (4;0) (1;0) (4;4) (0;1) (5;1) (0;4) (0;0) (1;0) (5;3) (5;1) (0;0) (5;0) (0;4) (5;4) (1;4) (4;0) (1;0) (0;1) (5;3)

Trang 52

Ví dụ 2 Bài toán trò chơi 8 số

Trang 54

 Mức 2: Có ba trạng thái

Trang 55

 Mức 3: Có năm trạng thái

2.2.1 Phương pháp tìm kiếm theo chiều rộng

Trang 56

 Mức 4: Có mười trạng thái

Trang 57

 Mức 6: Có 12 trạng thái

2.2.1 Phương pháp tìm kiếm theo chiều rộng

Trang 58

 Mức 6: Có 24 trạng thái

Ở mức này ta gặp được trạng thái đích

Trang 59

2.2.1 2.2.2 2.2.3 2.2.4

Phương pháp tìm kiếm theo chiều rộng

Phương pháp tìm kiếm theo chiều sâu

Phương pháp tìm kiếm tốt nhất đầu tiên (BFS) Phương pháp tìm kiếm leo đồi (HCS)

Trang 60

a.Ý tưởng

Thuật toán tìm kiếm theo chiều sâu như việc khảo sát một cây bắt đầu từ gốc đi theo mọi cành có thể được, khi gặp cành cụt thì quay lại xét cành chưa đi qua

Trang 61

Ở bước tổng quát, giả sử đang xét đỉnh i, khi đó các đỉnh kề với i có các trường hợp:

đỉnh này (nó trở thành đỉnh đã xét) và bắt đầu từ đó tiếp tục quá trình tìm kiếm với đỉnh này

i coi như duyệt xong và quay trở lại tìm kiếm

từ đỉnh mà từ đó ta đi đến được i

2.2.2 Phương pháp tìm kiếm theo chiều sâu

Trang 62

b.Giải thuật

Input: Đồ thị G = (V,E) đỉnh gốc là n0 (trạng thái đầu); Tập đích Goals

Output: Một đường đi p từ n0 đến một đỉnh n*  Goals

Method: Sử dụng hai danh sách hoạt động theo nguyên tắc LIFO (Stack)

MO và FIFO (queue) DONG void DFS; (Depth First Search) { Push (MO,n 0 )

Trang 63

c.độ phức tạp của thuật toán tìm kiếm sâu

Đó độ phức tạp thời gian của thuật toán tìm kiếm theo chiều sâu trong trường hợp xấu nhất

Trang 64

d.Ưu và nhược điểm của phương pháp tìm kiếm sâu

 Do cách tìm của kỹ thuật này, nếu lời giải ở rất sâu, kỹ thuật tìm sâu sẽ tiết kiệm thời gian.

Trang 65

(2)Nhược điểm

 Tìm sâu khai thác không gian bài toán để tìm lời giải theo thuật toán đơn giản một cách cứng nhắc Trong quá trình tìm nó không có thông tin nào hổ trợ để phát hiện lời giải Nếu chọn nút ban đầu không thích hợp có thể không dẫn đến đích của bài toán.

 Không phù hợp với không gian bài toán lớn, kỹ thuật tìm kiếm sâu có thể không đến lời giải trong khoảng thời gian vừa phải

2.2.2 Phương pháp tìm kiếm theo chiều sâu

Trang 66

e.Các ví dụ

 Ví dụ: Bài toán đong nước với m = 5, n = 4, k = 3

 Nếu ta chọn nhánh ưu tiên đổ đầy bình thứ hai thì sẽ tìm thấy lời giải rất nhanh

(0;0) (0;0) (5;0) (0;4) (5;0) (0;4) (0;0) (0;4) (5;4) (0;0) (4;0) (5;0) (5;4) (4;0) (0;0) (0;4) (4;0) (5;0) (4;4) (0;0) (0;4) (5;0) (5;4) (4;4) (0;0) (0;4) (4;0) (4;4) (5;4) (0;4) (4;0) (5;3) (5;0) (5;4) (5;3) (0;0) (0;4) (4;0) (4;4) (5;3)

Lời giải tìm được: (0;0)  (0;4)  (4;0)  (4;4)  (5;3)

Trang 67

Ví dụ: Bài toán Tháp Hà nội với n = 3

Nhắc lại, dùng bộ ba (x1; x2; x3) biểu diễn trạng thái bài toán, với xi là cọc chứa đĩa lớn thứ i

2.2.2 Phương pháp tìm kiếm theo chiều sâu

Trang 68

Ví dụ: Bài toán Tháp Hà nội với n = 3

i T(i) MO  DONG

(1;1;1) (1;1;1) (1;1;2) (1;1;3) (1;1;2) (1;1;3) (1;1;1) (1;1;3) (1;1;1)(1;1;2) (1;2;3) (1;1;2)(1;2;3) (1;1;1)(1;1;3) (1;2;3) (1;1;3)(1;2;1) (1;2;2) (1;1;2)(1;2;1)(1;2;2) (1;1;1)(1;1;3)(1;2;3) (1;2;2) (1;2;3)(1;2;1) (3;2;2) (1;1;2)(1;2;1)(3;2;2) (1;1;1)(1;1;3)(1;2;3)(1;2;2) (3;2;2) (1;2;2) (3;2;3) (3;2;1) (1;1;2)(1;2;1)(3;2;1) (1;1;1)(1;1;3)(1;2;3)(1;2;2) (3;2;2) (3;2;1) (3;2;2) (3;2;3) (3;3;1) (1;1;2)(1;2;1)(3;3;1) (1;1;1)(1;1;3)(1;2;3)(1;2;2) (3;2;2)

(3;2;1) (3;3;1) (3;2;1) (3;3;2) (3;3;3) (1;1;2)(1;2;1)(3;3;3) (1;1;1)(1;1;3)(1;2;3)(1;2;2) (3;2;2)

(3;2;1) (3;3;1) (3;3;3)

Lời giải của bài toán:

(1;1;1)  (1;1;3)  (1;2;3)  (1;2;2)  (3;2;2)  (3;2;1)  (3;3;1)  (3;3;3)

Trang 69

Ví dụ: Bài toán tìm dãy hợp lý với số hạng đầu

Trang 71

2.2.1 2.2.2 2.2.3 2.2.4

Phương pháp tìm kiếm theo chiều rộng Phương pháp tìm kiếm theo chiều sâu

Phương pháp tìm kiếm tốt nhất đầu tiên (BFS) Phương pháp tìm kiếm leo đồi (HCS)

Trang 72

Tìm kiếm rộng và tìm kiếm sâu đều là “kỹ thuật tìm kiếm mù”

Trang 73

Sử dụng hàm đánh giá gọi là trọng số của nút

2.2.2 Phương pháp tìm kiếm tốt nhất đầu tiên (BFS)

Trang 74

b.Giải thuật

void BeFS; {Best First Search}

{ Push(MO,n0);

while MO <> null { i = Pop(MO);

if i  Goals exit;

for j  T(i) do Push(MO,j);

Sort(MO); //theo thứ tự của hàm đánh giá }

cout(‘Khong co loi giai’);

}

Trang 75

2.2.2 Phương pháp tìm kiếm tốt nhất đầu tiên (BFS)

Trang 76

Tìm kiếm trong KGTT có sử dụng hàm đánh giá gồm các bước cơ bản sau:

tử chuyển trạng thái

bước

Trang 77

d.Ưu và nhược điểm của phương pháp tìm kiếm tốt nhất đầu tiên

và cách tốt nhất để tiến hành tìm lời giải.

 Tuân theo cách suy lý của một chuyên gia.

2.2.3 Phương pháp tìm kiếm tốt nhất đầu tiên (BFS)

Trang 78

(2)Nhược điểm

giải

Trang 79

e.Các ví dụ

 Ví dụ1: Bài toán tìm kiếm đường đi trên bản đồ giao thông, ta

có thể lấy độ dài của đường chim bay từ một thành phố đang xét tới một thành phố đích làm giá trị của hàm đánh giá của thành phố đang xét.

 Ví dụ2: Bài toán 8 số Có thể đưa ra hai cách đánh giá

Trang 80

Hàm h 1: Với mỗi trạng thái u thì h1(u) là số quân không nằm đúng vị trí của nó trong trạng thái đích

 ví dụ: h1(u) = 4

Hàm h 2: Gọi h2(u) là tổng khoảng cách vị trí của các quân ở trạng thái u và vị trí của nó trong trạng thái đích khoảng cách được hiểu là số lần dịch chuyển ít nhất theo hàng hoặc cột để đưa một quân ở vị trí hiện tại tới trạng thái đích

 ví dụ: h2(u) = 2+3+1+3 = 9 (vì quân 3 cần ít nhất 2 dịch chuyển, quân 8 cần ít nhất 3 dịch chuyển, quân 6 cần ít nhất 1 dịch chuyển và quân 1 cần ít nhất 3 dịch chuyển)

Trang 81

2.2.1 2.2.2 2.2.3 2.2.4

Phương pháp tìm kiếm theo chiều rộng Phương pháp tìm kiếm theo chiều sâu

Phương pháp tìm kiếm tốt nhất đầu tiên (BFS) Phương pháp tìm kiếm leo đồi (HCS)

Trang 83

b.Giải thuật

Input: Đồ thị G = (V,E), đỉnh xuất phát n0 Hàm đánh giá h(n) Tập đỉnh đích DICH

Output: Đường đi từ đỉnh n0 đến DICH

void HLC; (Hill Climbing Search) { Push(MO,n 0 );

while MO <> null do { i = Pop(MO);

if T(i)  DICH <> null then { L= null;

Trang 84

c.Nhận xét.

 Chú trọng tìm hướng đi dễ dẫn đến trạng thái đích nhất

 giảm công sức tìm kiếm

 Thuật toán tìm kiếm leo đồi thực chất là thuật toán tìm kiếm theo chiều sâu song, tại mỗi bước ưu tiên chọn trạng thái có khả năng nhanh tới đích nhất để phát triển

 Nếu trạng thái hiện thời là u thì trạng thái v sẽ được phát triển tiếp theo nếu v kề với u và hàm đánh giá của v đạt giá trị max (hoặc min).

Trang 86

d.Các ví dụ

 Ví dụ: Bài toán trò chơi 8 số.

Trạng thái đầu Trạng thái đích

Trang 87

Hàm đánh giá h(u) cho biết số các chữ số trong trạng thái u không trùng với vị trí của nó trong trạng thái đích

Trạng thái có tiềm năng dẫn đến đích nhanh nhất là trạng thái có hàm đánh giá h đạt giá trị min

Trạng thái được chọn đi tiếp ở hướng mũi tên

Ở mức 3 ta thấy có hai trạng thái cùng giá trị

2.2.4 Phương pháp tìm kiếm leo đồi (HCS)

Trang 89

Các phương pháp giải quyết vấn đề cơ bản

2.1 2.2 2.3

Biểu diễn bài toán trong không gian trạng thái Tìm kiếm lời giải trong không gian trạng thái

Tìm kiếm lời giải trên đồ thị và/hoặc

Trang 90

2.3.1 2.3.2 2.3.3

Đặt vấn đề

Đồ thị Và/Hoặc Tìm kiếm lời giải trên đồ thị Và/Hoặc

Trang 91

Ý tưởng chủ yếu là xuất phát từ bài toán ban đầu, tách thành các bài toán con, quá trình này tiếp tục đối với các bài toán con cho đến khi gặp các bài toán sơ cấp (bài toán có lời giải ngay).

2.3.1 Đặt vấn đề

Trang 92

Ví dụ: Xét bài toán tính tích phân

dx x

x

Trang 93

Trong bài toán tích phân, các tích phân cơ bản

Trang 94

Ví dụ: Bài toán tìm đường đi trên bản đồ giao thông.

phố này với thành phố khác.

Trang 95

2.3.1 Đặt vấn đề

Trang 96

Giả sử ta cần tìm đường đi từ thành phố A đến thành phố B mọi đường đi từ A đến B đều phải

đi qua E hoặc G Khi đó bài toán tìm đường đi từ

A đến B được quy về một trong hai bài toán:

Bài toán tìm đường đi từ A đến B qua E

Bài toán tìm đường đi từ A đến B qua G

Trang 97

 Bài toán tìm đường đi từ A đến B qua E được

Ngày đăng: 07/07/2014, 02:20

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w