Biểu diễn bài toán (tt)
Hầu hết các bài toán đều có thể phát biểu
dưới dạng sau: từ một trạng thái xuất phát
hãy tìm đường dẫn đến một trạng thái kết
thúc mong muốn. Việc tìm đường đi này là
một nghệ thuật để giải quyết vấn đề, bao
gồm các bước sau:
Chọn được không gian tìm kiếm thích hợp.
Tiến hành tìm kiếm có hệ thống và có hiệu quả
trong không gian tìm kiếm.
Sử dụng triệt để các nguồn tri thức có liên quan
trong quá trình tìm kiếm tương ứng với miền đại
lượng cụ thể.
Biểu diễn bài toán (tt)
Không gian tìm kiếm của một vấn đề giải
trên máy tính thường được biểu diễn bởi
một đồ thị hoặc một dạng đặc biệt của đồ
thị (cây). Sau khi bài toán được biểu diễn
dưới dạng đồ thị (hoặc cây) thì:
1. Mỗi đỉnh là một giai đoạn của quá trình giải
(hay là trạng thái).
2. Mỗi cung là một tác động biến đổi quá trình
từ giai đoạn này sang giai đoạn khác.
26 trang |
Chia sẻ: trungkhoi17 | Lượt xem: 405 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài giảng Trí tuệ nhân tạo - Bài 1: Tổng quan về trí tuệ nhân tạo - Văn Thế Thành, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
11
2
Mục đích của trí tuệ nhân tạo:
Theo Winton: mục đích chính của trí tuệ nhân
tạo là làm cho các máy tính điện tử thông minh
hơn, có ích hơn và giúp khám phá các quy luật
về khả năng hoạt động trí tuệ của con người. Từ
đây sẽ tác động trực tiếp làm cho con người
thông minh hơn, hoạt động có hiệu quả hơn.
23
G ia
û i qu y e át v a án ñeà
R
o
b
o
t
G
a
m
e
s
N
h
aä n da
ï ng
H
e
ä
c
h
u
y
e
ân g
i
a
Heuristic
Bieåu dieãn
tri thöùc
Laäp luaän
Coâng cuï
thöïc hieän
Maùy: Newral
Ngoân ngöõ: Prolog
Mô hình “củ hành”:
4
Intelligence
System
Knowledge Engineering
(Coâng ngheä veà tri thöùc)
Artificial Intelligence
(Trí tueä nhaân taïo)
ÖÙng duïng
Kyõ thuaät
Khoa hoïc
Vai trò trí tuệ nhân tạo:
35
Các định nghĩa
Trí tuệ nhân tạo: trí tuệ nhân tạo có thể được định
nghĩa như một hệ thống máy móc có khả năng thực
hiện những hành động của con người được xem là
thông minh.
Thông minh: sự nghiên cứu, sự thu thập thông tin
tiêu biểu như: cố gắng học những ý tưởng xử lý của
bộ não con người, bao gồm cả việc nghiên cứu sự
vật có ý tưởng, có ý nghĩa, có sự chú ý, nhận dạng,
hiểu vấn đề và sáng tạo ra vấn đề.
6
Ghi Nhôù
Tính Toaùn
Tìm Kieám
Suy Luaän
Maùy tính hieän nay chæ môùi laøm ñöôïc phaàn naøy
Nhân tạo: Có nghĩa là cố gắng sử dụng
máy tính để xây dựng những hệ thống
nhân tạo bắt chước đặc tính của việc thu
thập thông tin một cách thông minh.
Các định nghĩa (tt)
47
DỮ LIỆU = Chữ cái, con số, hình ảnh riêng rẽ,
rời rạc, không mang một ý nghĩa nào.
THÔNG TIN = Các dữ liệu được sắp xếp theo
một quan hệ nào đó.
TRI THỨC = mối quan hệ giữa các dữ liệu được
xác định một cách tường minh.
8
VÍ DỤ :
DỮ LIỆU : 1, 1, 3, 5, 2, 7, 11, ...
THÔNG TIN : 1, 1, 2, 3, 5, 8, 13, 21, 34, ....
TRI THỨC : Un = Un-1 + Un-2.
59
DỮ LIỆU
THÔNG TIN
TRI
THỨC
Đ
ộ
tr
ừ
u
tư
ợ
n
g
Số
lư
ợ
n
g
10
Một số thuật toán:
1. Phương pháp giải quyết vấn đề theo hướng xác định trực tiếp
lời giải:
Áp dụng một công thức cụ thể để tính ra lời giải trong mọi trường
hợp được sử dụng. Đây là phương pháp tốt nhất (theo nghĩa các công
thức tìm ra và được chứng minh sẽ cho lời giải trong mọi trường hợp.) và
hữu hiệu nhất.
Ví dụ: Lập chương trình tính S = 1 + 2 + 3 + + n (n ∈ N)
Write(‘Nhập n=‘);
Readln(n);
Write(‘ S = ‘, n*(n-1)/2);
611
Một số thuật toán (tt)
2. Phương pháp “Vét cạn”:
Giả sử chúng ta giải bài toán P trên miền D, ∀x∈D
Bước 1: ∀x∈D, P(x) đúng: in kết quả và dừng (success).
Bước 2: D := D \ {x}: Loại trường hợp này nếu sai.
Bước 3: Kiểm tra D ≠ {}
+ Đúng : Goto bước 1.
+ Sai: Dừng (fail).
Lưu ý: Đối với phương pháp này, việc giới hạn D càng nhỏ giải càng nhanh.
Ví dụ: Tìm các số có ba chữ số thỏa: abc=a3 +b3 +c3
Ta có D: 1 ≤ a ≤ 9
0 ≤ b, c ≤ 9
For a := 1 To 9 Do
For b := 0 To 9 Do
For c:=1 To 9 Do
If (100*a+10*b+c = a*a*a + b*b*b + c*c*c) then
Writeln(a,b,c);
12
Một số thuật toán (tt)
3. Phương pháp đệ qui:
Định nghĩa kiểu đệ qui:
Ví dụ: Định nghĩa số tự nhiên:
1 là số tự nhiên
n là số tự nhiên thì (n-1) cũng là số tự nhiên.
Hàm đệ qui: Hàm f được gọi là đệ qui
nếu: f(x) = f(x, f(x’))
713
Một số thuật toán (tt)
4. Phương pháp ngẫu nhiên (phương pháp
Monte – Carlo):
Bài toán: Tính diện tích của hình M bất kỳ.
+ Có thể bao hình M nội tiếp trong một
hình vuông có cạnh là 1 đơn vị.
+ Phát ngẫu nhiên N điểm vào trong hình
vuông.
+ Có N
m
điểm nằm trong hình M.
14
Một số thuật toán (tt)
Với n đủ lớn, diện tích (xấp
xỉ) hình M được tính như
sau:
MhìnhS
vuoâng hình
M hìnhM
S
S
N
N
=≈
815
Một số thuật toán (tt)
2
0
R
S
=pi⇒
x(x0,y0)
O x
y
Ví dụ: Tính pi: diện tích hình tròn S0 = piR2
với R = 1/2 ⇒ pi = 4S0
16
Một số thuật toán (tt)
Function Pi:Real;
Var
m, i : Integer;
x, y : Real;
Begin
m := 0;
For i := 1 To N Do {Phát ngẫu nhiên N điểm}
Begin
x := random; {x ∈ (0,1)}
y := random; {y ∈ (0,1)}
If (x2 + y2) ≤ 1 Then
m := m + 1;
End;
Pi := 4*m/N;
End;
917
Các tính chất của một thuật toán:
Khi xây dựng một thuật toán và chương trình
tương ứng để giải một bài toán cần phải phân
tích:
+ Tính đúng đắn của thuật toán: phải dùng
công cụ toán học để chứng minh là đúng.
+ Tính đơn giản của thuật toán: dễ hiểu, dễ
lập trình, dễ hiệu chỉnh.
+ Tính tối ưu của thuật toán (nếu có nhiều
thuật toán).
18
Các tính chất của một thuật toán:
Lưu ý:
Thời gian và bộ nhớ là 2 đại lượng tỷ lệ nghịch, nên
nhiều khi tính càng đơn giản càng làm chậm chương
trình.
Thời gian thực hiện một thuật toán phụ thuộc rất
nhiều yếu tố:
+ Kích thước của dữ liệu.
+ Kiểu lệnh
+ Tốc độ xử lý của máy.
+ Ngôn ngữ lập trình.
+ Trình biên dịch.
10
19
Kỹ thuật tìm kiếm
Một số bài toán
Bài toán mê cung:
20
Kỹ thuật tìm kiếm (tt)
Cực tiểu hóa giá thành: Người đưa thư cần
xác định hành trình đi ngắn nhất sao cho mỗi
thành phố đi đến đúng một lần và quay về thành
phố xuất phát.
Trò chơi: Tic-tac-toe (cờ caro).
Bài toán tô màu:
Cho một bản đồ, tô màu cho mỗi nước trên bản đồ
sao cho hai nước láng giềng (có chung đường biên
giới) có hai màu khác nhau.
Vấn đề : số màu cần dùng tối đa là bao nhiêu?
1976 người ta đã dùng máy tính để chứng minh
được là chỉ cần dùng tối đa là 4 màu.
11
21
Kỹ thuật tìm kiếm (tt)
Bài toán taci:
22
Biểu diễn bài toán:
Giaû thuyeát Keát luaän
S0 → S1 → S2 → → Sn
START GOAL
Traïng thaùi baét ñaàu Traïng thaùi keát thuùc
12
23
Biểu diễn bài toán (tt)
Hầu hết các bài toán đều có thể phát biểu
dưới dạng sau: từ một trạng thái xuất phát
hãy tìm đường dẫn đến một trạng thái kết
thúc mong muốn. Việc tìm đường đi này là
một nghệ thuật để giải quyết vấn đề, bao
gồm các bước sau:
Chọn được không gian tìm kiếm thích hợp.
Tiến hành tìm kiếm có hệ thống và có hiệu quả
trong không gian tìm kiếm.
Sử dụng triệt để các nguồn tri thức có liên quan
trong quá trình tìm kiếm tương ứng với miền đại
lượng cụ thể.
24
Biểu diễn bài toán (tt)
Không gian tìm kiếm của một vấn đề giải
trên máy tính thường được biểu diễn bởi
một đồ thị hoặc một dạng đặc biệt của đồ
thị (cây). Sau khi bài toán được biểu diễn
dưới dạng đồ thị (hoặc cây) thì:
1. Mỗi đỉnh là một giai đoạn của quá trình giải
(hay là trạng thái).
2. Mỗi cung là một tác động biến đổi quá trình
từ giai đoạn này sang giai đoạn khác.
13
25
Biểu diễn bài toán (tt)
1
2 3
4
567
8
1 2 3
4
567
8
START GOAL
26
1
2 3
4
567
8
1
2 3
4
567
8
1
2 3
4
567
8 1
2 3
4
567
8
8 2 3
1 2 3
4
567
8
1
1
2 3 4
567
8
4
1 2 3
4
56
7 8
1 2 3
4
567
8
87
GOAL
14
27
Tìm kiếm rộng (Breadth-first search)
Hiện thực: FIFO queue.
28
Breadth-first search
Hiện thực: FIFO queue.
15
29
Breadth-first search
Hiện thực: FIFO queue.
30
Breadth-first search
Hiện thực: FIFO queue.
16
31
Tìm kiếm sâu (Depth-first search)
Hiện thực: LIFO queue
32
Depth-first search
Hiện thực: LIFO queue
17
33
Depth-first search
Hiện thực: LIFO queue
34
Depth-first search
Hiện thực: LIFO queue
18
35
Depth-first search
Hiện thực: LIFO queue
36
Depth-first search
Hiện thực: LIFO queue
19
37
Depth-first search
Hiện thực: LIFO queue
38
Depth-first search
Hiện thực: LIFO queue
20
39
Depth-first search
Hiện thực: LIFO queue
40
Depth-first search
Hiện thực: LIFO queue
21
41
Depth-first search
Hiện thực: LIFO queue
42
Depth-first search
Hiện thực: LIFO queue
22
43
Tìm kiếm sâu dần: (Iterative
deepening search)
Kết hợp của tìm kiếm rộng và tìm kiếm sâu
trên cơ sở cho biết mức sâu n rồi tìm kiếm
rộng ứng mới mức sâu đó.
44
Iterative deepening search l =0
23
45
Iterative deepening search l =1
46
Iterative deepening search l =2
24
47
Iterative deepening search l =3
48
Là một cây mô tả các chọn lựa có thể
thực hiện trong mỗi bước của quá
trình giải bài toán.
Toàn bộ cây tìm kiếm được tượng trưng
bằng một hình tam giác.
Vị trí bắt đầu ở đỉnh, vị trí kết thúc ở đáy
25
49
Sâu Rộng
50
Sâu Rộng
Có thể đi vào các ngõ,
nhánh cụt (không thể đi
tiếp được nữa) → quay lui
Không cần quay lui
Chỉ quan tâm đến hướng đi
đã chọn. Quan tâm đến tất cả hướngđi → tốn bộ nhớ để lưu trữ
26
51
Sâu dần
Hạn chế trường hợp đi quá sâu mà gặp nhánh cụt
Ít tốn bộ nhớ hơn.
Tận dụng được ưu điểm “rộng” của phương pháp
tìm theo chiều rộng.
Độ sâu giới hạn bao nhiêu là đủ ?
52
Chặt nhánh
Loại bỏ hướng tìm kiếm chắc chắn không dẫn đến lời giải.
Tìm kiếm với tri thức bổ sung
Ưu tiên đi theo hướng có triển vọng nhất, hy vọng sẽ đến lời
giải nhanh hơn, trường hợp xấu nhất quay về vét cạn.
(như thế nào là triển vọng nhất?)
Các file đính kèm theo tài liệu này:
- bai_giang_tri_tue_nhan_tao_bai_1_tong_quan_ve_tri_tue_nhan_t.pdf