TR - PowerPoint PPT Presentation

About This Presentation
Title:

TR

Description:

TR TU NH N T O Artificial Intelligent – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 203
Provided by: Nguyen92
Category:
Tags: hypergraph

less

Transcript and Presenter's Notes

Title: TR


1
TRÍ TU? NHÂN T?OArtificial Intelligent
2
N?i dung môn h?c Gi?i thi?u
  • Chuong 1 Gi?i thi?u
  • Ngành Trí tu? nhân t?o là gì?
  • M?c tiêu nghiên c?u c?a ngành Trí tu? nhân t?o
  • L?ch s? hình thành và hi?n tr?ng
  • Turing Test
  • Chuong 2 Logic v? t?
  • M?nh d? logic v? t?
  • Logic v? t? du?i góc nhìn c?a AI

3
N?i dung môn h?c Các k? thu?t tìm ki?m
  • Chuong 3Tìm ki?m trên không gian tr?ng thái
  • (State Space Search)
  • AI Bi?u di?n và tìm ki?m
  • Các gi?i thu?t tìm ki?m trên không gian tr?ng
    thái
  • Depth first search (DFS) - Breath first search
    (BFS)
  • Chuong 4Tìm ki?m theo Heuristic
  • Heuristic là gì?
  • Tìm ki?m theo heuristic
  • Các gi?i thu?t Best first search (BFS), Gi?i
    thu?t A
  • Chi?n lu?c Minimax, Alpha Beta

4
N?i dung môn h?c K? thu?t phát tri?n ?ng d?ng
  • Chuong 5H? lu?t sinh
  • Tìm ki?m d? qui
  • H? lu?t sinh Ð?nh nghia và ?ng d?ng
  • Tìm ki?m trên h? lu?t sinh
  • Chuong 6H? chuyên gia
  • Gi?i thi?u v? h? chuyên gia
  • Mô hình h? chuyên gia d? trên lu?t, d?a trên
    frame
  • Phát tri?n m?t h? chuyên gia
  • Chuong 7Bi?u di?n tri th?c
  • Bi?u di?n tri th?c trong AI vai trò và ?ng d?ng
  • Các k? thu?t bi?u di?n tri th?c semantic
    network, luu d? ph? thu?c khái ni?m, frame, script

5
Th?c hành Tài li?u tham kh?o
  • Th?c hành Prolog và CLISP
  • Prolog Các gi?i thu?t tìm ki?m
  • CLISP Bi?u di?n tri th?c
  • Bài t?p l?n
  • Tài li?u tham kh?o
  • Bài gi?ng Trí tu? nhân t?o ThS Nguy?n Cao Trí
    KS Lê Thành Sách
  • Giáo trình Trí tu? nhân t?o Ðinh M?nh Tu?ng
  • Artificial Inteligent George F. Luget Cilliam
    A. Stubblefied
  • Giáo trình Trí tu? nhân t?o KS Nguy?n Ð?c
    Cu?ng
  • Trí tu? nh?n t?o Nguy?n Quang Tu?n Hà n?i

6
Chuong 1 GI?I THI?U
  • Ngành Trí tu? nhân t?o là gì?
  • M?c tiêu nghiên c?u c?a ngành Trí tu? nhân t?o
  • L?ch s? hình thành và hi?n tr?ng
  • Turing Test

7
Ð?i tu?ng nghiên c?u c?a AI
  • Ð?i tu?ng nghiên c?u c?a ngành AI
  • AI là ngành nghiên c?u v? các hành x? thông minh
    (intelligent behaviour) bao g?m thu th?p, luu
    tr? tri th?c, suy lu?n, ho?t d?ng và k? nang.
  • Ð?i tu?ng nghiên c?u là các hành x? thông minh
    ch? không ph?i là s? thông minh.
  • Không có S? Thông Minh
  • Ch? có
  • Bi?u hi?n thông minh qua hành x?

8
S? Thông Minh
  • Thông minh hay Hành x? thông minh là gì?
  • Hành x? thông minh là các ho?t d?ng c?a m?t d?i
    tu?ng nhu là k?t qu? c?a m?t quá trình thu th?p,
    x? lý và di?u khi?n theo nh?ng tri th?c dã có hay
    m?i phát sinh (thu?ng cho k?t qu? t?t theo mong
    d?i so v?i các hành x? thông thu?ng) là bi?u hi?n
    c? th?, c?m nh?n du?c c?a S? thông minh
  • Khái ni?m v? tính thông minh c?a m?t d?i tu?ng
    thu?ng bi?u hi?n qua các ho?t d?ng
  • S? hi?u bi?t và nh?n th?c du?c tri th?c
  • S? lý lu?n t?o ra tri th?c m?i d?a trên tri th?c
    dã có
  • Hành d?ng theo k?t qu? c?a các lý lu?n
  • K? nang (Skill)

TRI TH?C ???
9
Tri th?c (Knowledge)
  • Tri th?c là nh?ng thông tin ch?a d?ng 2 thành
    ph?n
  • Các khái ni?m
  • Các khái ni?m co b?n là các khái ni?m mang tính
    quy u?c
  • Các khái ni?m phát tri?n Ðu?c hình thành t? các
    khác ni?m co b?n thành các khái ni?m ph?c h?p
    ph?c t?p hon.
  • Các phuong pháp nh?n th?c
  • Các qui lu?t, các th? t?c
  • Phuong pháp suy di?n, lý lu?n,..
  • Tri th?c là di?u ki?n tiên quy?t c?a các hành x?
    thông minh hay S? thông minh
  • Tri th?c có du?c qua s? thu th?p tri th?c và s?n
    sinh tri th?c
  • Quá trình thu th?p và s?n sinh tri th?c là hai
    quá trình song song và n?i ti?p v?i nhau không
    bao gi? ch?m d?t trong m?t th?c th? Thông Minh

10
Tri th?c Thu th?p và s?n sinh
  • Thu th?p tri th?c
  • Tri th?c du?c thu th?p t? thông tin, là k?t qu?
    c?a m?t quá trình thu nh?n d? li?u, x? lý và luu
    tr?. Thông thu?ng quá trình thu th?p tri th?c g?m
    các bu?c sau
  • Xác d?nh linh v?c/ph?m vi tri th?c c?n quan tâm
  • Thu th?p d? li?u liên quan du?i d?ng các tru?ng
    h?p c? th?.
  • H? th?ng hóa, rút ra nh?ng thông tin t?ng quát,
    d?i di?n cho các tru?ng h?p dã bi?t T?ng quát
    hóa.
  • Xem xét và gi? l?i nh?ng thông tin liên quan d?n
    v?n d? c?n quan tâm , ta có các tri th?c v? v?n
    d? dó.
  • S?n sinh tri th?c
  • Tri th?c sau khi du?c thu th?p s? du?c dua vào
    m?ng tri th?c dã có.
  • Trên co s? dó th?c hi?n các liên k?t, suy di?n,
    ki?m ch?ng d? s?n sinh ra các tri th?c m?i.

11
Tri th?c Tri th?c siêu c?p
  • Trí th?c siêu c?p (meta knowledge) hay Tri
    th?c v? Tri th?c
  • Là các tri th?c dùng d?
  • Ðánh giá tri th?c khác
  • Ðánh giá k?t qu? c?a quá trình suy di?n
  • Ki?m ch?ng các tri th?c m?i
  • Phuong ti?n truy?n tri th?c ngôn ng? t? nhiên

12
Hành x? thông minh K?t lu?n
  • Hành x? thông minh không don thu?n là các hành
    d?ng nhu là k?t qu? c?a quá trình thu th?p tri
    th?c và suy lu?n trên tri th?c.
  • Hành x? thông minh còn bao hàm
  • S? tuong tác v?i môi tru?ng d? nh?n các ph?n h?i
  • S? ti?p nh?n các ph?n h?i d? di?u ch?nh hành d?ng
    - Skill
  • S? ti?p nh?n các ph?n h?i d? hi?u ch?nh và c?p
    nh?t tri th?c
  • Tính ch?t thông minh c?a m?t d?i tu?ng là s? t?ng
    h?p c?a c? 3 y?u t? thu th?p tri th?c, suy lu?n
    và hành x? c?a d?i tu?ng trên tri th?c thu th?p
    du?c. Chúng hòa quy?n vào nhau thành m?t th?
    th?ng nh?t S? Thông Minh
  • Không th? dánh giá riêng l? b?t k? m?t khía c?nh
    nào d? nói v? tính thông minh.
  • ? THÔNG MINH C?N TRI TH?C

13
M?c tiêu nghiên c?u c?a ngành AI
  • Trí tu? nhân t?o nh?m t?o ra Máy ngu?i?
  • M?c tiêu
  • Xây d?ng lý thuy?t v? thông minh d? gi?i thích
    các ho?t d?ng thông minh
  • Tìm hi?u co ch? s? thông minh c?a con ngu?i
  • Co ch? luu tr? tri th?c
  • Co ch? khai thác tri th?c
  • Xây d?ng co ch? hi?n th?c s? thông minh
  • Áp d?ng các hi?u bi?t này vào các máy móc ph?c v?
    con ngu?i.

14
M?c tiêu c?a AI (tt)
  • C? th?
  • K? thu?t xây d?ng các máy móc có tính thông minh
    nh?m dáp ?ng t?t hon nhu c?u c?a con ngu?i.
  • Khoa h?c xây d?ng và phát tri?n các khái ni?m,
    thu?t ng?, phuong pháp d? hi?u du?c các hành x?
    thông minh c?a sinh v?t.
  • Ð?i tu?ng thu?ng du?c chú tr?ng phát tri?n là máy
    tính
  • S? c?n thi?t c?a ngành AI ?????
  • Làm sao bi?t máy có thông minh?

15
Turing Test Th? tính thông minh
  • Bài toán xác d?nh tính thông minh c?a m?t d?i
    tu?ng
  • Turing test

Ai dây?? Máy/ngu?i??
Câu h?i
Ð?i tu?ng du?c test
Ngu?i th?c hi?n test
Ngu?i d?i ch?ng
16
Turing Test Uu - Khuy?t
  • Uu di?m
  • Ðem l?i quan di?m khách quan v? s? thông minh
    Thông minh hay không th? hi?n qua các tr? l?i c?a
    các câu h?i
  • Lo?i tr? các thành ki?n không thích công nh?n
    tính thông minh c?a máy móc. S? thông minh ch?
    du?c dánh giá qua các câu h?i, không b? chi ph?i
    b?i các y?u t? khác.
  • Tránh tình tr?ng hi?u l?m
  • Khuy?t di?m
  • Phép th? t?p trung vào các công vi?c bi?u di?n
    hoàn toàn b?ng ký hi?u do dó làm m?t m?t d?c tính
    r?t quan tr?ng c?a máy tính là tính toán chính
    xác và hi?u qu?
  • Không th? nghi?m du?c các kh? nang tri giác và
    khéo léo
  • Gi?i h?n kh? nang thông minh c?a máy tính theo
    khuôn m?u con ngu?i. Nhung con ngu?i chua h?n là
    thông minh hoàn h?o.
  • Không có m?t ch? s? rõ ràng d?nh lu?ng cho s?
    thông minh. Ph? thu?c vào ngu?i tester.

Thông Minh? ? Còn tùy ?
17
L?ch s? phát tri?n c?a AI Giai do?n c? di?n
  • Giai do?n c? di?n (1950 1965)
  • Ðây là giai do?n c?a 2 linh v?c chínhGame
    Playing (Trò choi) và Theorem Proving (Ch?ng minh
    d?nh ký)
  • Game Playing d?a trên k? thu?t State Space
    Search v?i tr?ng thái (State) là các tình hu?ng
    c?a trò choi. Ðáp án c?n tìm là tr?ng thái th?ng
    hay con du?ng d?n t?i tr?ng thái th?ng. áp d?ng
    v?i các trò choi lo?i d?i kháng. Ví d? Trò choi
    dánh c? vua.
  • Có 2 k? thu?t tìm ki?m co b?n
  • K? thu?t generate and test ch? tìm du?c 1 dáp
    án/ chua ch?c t?i uu.
  • K? thu?t Exhaustive search (vét c?n) Tìm t?t c?
    các nghi?m, ch?n l?a phuong án t?t nh?t.

(Bùng n? t? h?p mn v?i mgt10)
18
L?ch s? phát tri?n c?a AI Giai do?n c? di?n (tt)
  • Theorem Proving d?a trên t?p tiên d? cho tru?c,
    chuong trình s? th?c hi?n chu?i các suy di?n d?
    d?t t?i bi?u th?c c?n ch?ng minh.
  • N?u có nghia là dã ch?ng minh du?c. Ngu?c l?i là
    không ch?ng minh du?c.
  • Ví d? Ch?ng minh các d?nh lý t? d?ng, gi?i
    toán,...
  • V?n d?a trên k? thu?t state space search nhung
    khó khan hon do m?c d? và quan h? c?a các phép
    suy lu?n song song, d?ng th?i, b?c c?u,..
  • Có các k?t qu? khá t?t và v?n còn phát tri?n d?n
    ngày nay

(Bùng n? t? h?p mn , mgt10)
19
L?ch s? phát tri?n c?a AI- Giai do?n vi?n vông
  • Giai do?n vi?n vông (1965 1975)
  • Ðây là giai do?n phát tri?n v?i tham v?ng làm cho
    máy hi?u du?c con ngu?i qua ngôn ng? t? nhiên.
  • Các công trình nghiên c?u t?p trung vào vi?c bi?u
    di?n tri th?c và phuong th?c giao ti?p gi?a ngu?i
    máy b?ng ngôn ng? t? nhiên.
  • K?t qu? không m?y kh? quan nhung cung tìm ra du?c
    các phuong th?c bi?u di?n tri th?c v?n còn du?c
    dùng d?n ngày nay tuy chua th?t t?t nhu
  • Semantic Network (m?ng ng? nghia)
  • Conceptial graph (d? th? khái ni?m)
  • Frame (khung)
  • Script (k?ch b?n)

V?p ph?i tr? ng?i v? nang l?c c?a máy tính
20
L?ch s? phát tri?n c?a AI- Giai do?n hi?n d?i
  • Giai do?n hi?n d?i (t? 1975)
  • Xác d?nh l?i m?c tiêu mang tính th?c ti?n hon c?a
    AI là
  • Tìm ra l?i gi?i t?t nh?t trong kho?ng th?i gian
    ch?p nh?n du?c.
  • Không c?u toàn tìm ra l?i gi?i t?i uu
  • Tinh th?n HEURISTIC ra d?i và du?c áp d?ng m?nh
    m? d? kh?c ph?c bùng n? t? h?p.
  • Kh?ng d?nh vai trò c?a tri th?c d?ng th?i xác
    d?nh 2 tr? ng?i l?n là bi?u di?n tri th?c và bùng
    n? t? h?p.
  • Nêu cao vai trò c?a Heuristic nhung cung kh?ng
    d?nh tính khó khan trong dánh giá heuristic.

Phát tri?n ?ng d?ng m?nh m? H? chuyên gia, H?
chu?n doán,..
Better than nothing
21
Các linh v?c ?ng d?ng
  • Game Playing Tìm ki?m / Heuristic
  • Automatic reasoning Theorem proving Tìm ki?m /
    Heuristic
  • Expert System là hu?ng phát tri?n m?nh m? nh?t
    và có giá tr? ?ng d?ng cao nh?t.
  • Planning Robotic các h? th?ng d? báo, t? d?ng
    hóa
  • Machine learning Trang b? kh? nang h?c t?p d?
    gi?i quy?t v?n d? kho tri th?c
  • Supervised Ki?m soát du?c tri th?c h?c du?c.
    Không tìm ra cái m?i.
  • UnSupervisedT? h?c, không ki?m soát. Có th? t?o
    ra tri th?c m?i nhung cung nguy hi?m vì có th?
    h?c nh?ng di?u không mong mu?n.

22
Các linh v?c ?ng d?ng (tt)
  • Natural Language Understanding Semantic
    modelling Không du?c phát tri?n m?nh do m?c d?
    ph?c t?p c?a bài toán c? v? tri th?c kh? nang
    suy lu?n.
  • Modeling Human performance Nghiên c?u co ch? t?
    ch?c trí tu? c?a con ngu?i d? áp d?ng cho máy.
  • Language and Environment for AIPhát tri?n công
    c? và môi tru?ng d? xây d?ng các ?ng d?ng AI.
  • Neurol network / Parallel Distributed processing
    gi?i quy?t v?n d? nang l?c tính toán và t?c d?
    tính toán b?ng k? thu?t song song và mô ph?ng
    m?ng th?n kinh c?a con ngu?i.

23
Mô hình phát tri?n ?ng d?ng AI
  • Mô hình ?ng d?ng Ai hi?n t?i
  • AI Presentation Search

Tìm ki?m Search Suy lu?n Heurictic
Tri Th?c Knowledge Engineering
24
Chuong 2 PHÉP TOÁN V? T?
  • Phép toán v? t? du?i góc nhìn c?a AI
  • M?nh d?
  • V? t?

25
AI Phép toán v? t?
  • T?i sao Ai ph?i nghiên c?u phép toán v? t??
  • AI ? Phát tri?n các chuong trình có kh? nang suy
    lu?n
  • Suy lu?n giúp chuong trình AI bi?t du?c tính
    dúng/sai c?a m?t v?n d? nào dó.
  • Phép toán v? t? ? cung c?p m?t kh? nang tri?n
    khai các quá trình suy di?n trên máy tính
  • Phát tri?n chuong trình AI c?n phép toán v? t?.
  • Phép toán v? t? du?c hi?n th?c b?ng ngôn ng? l?p
    trình trên máy tính PROLOG

26
AI Phép toán v? t? Minh h?a 1
  • M?nh d? th?c t?
  • N?u tr?i mua thì b?u tr?i có mây
  • Tr?i dang mua
  • V?y ? B?u tr?i có mây
  • M?nh d? logic
  • PTr?i mua
  • Q B?u tr?i có mây
  • Ta có hai phát bi?u sau dúng
  • P? Q
  • P
  • V?y theo lu?t suy di?n ? Q là dúng.
  • Nghia là B?u tr?i có mây

27
AI Phép toán v? t? Minh h?a 2
  • M?nh d? th?c t?
  • N?u NAM có nhi?u ti?n thì NAM di mua s?m
  • Nam KHÔNG di mua s?m
  • V?y ? Nam KHÔNG có nhi?u ti?n
  • M?nh d? logic
  • PNam có nhi?u ti?n
  • Q Nam di mua s?m
  • Ta có hai phát bi?u sau dúng
  • P? Q
  • ? Q
  • V?y theo lu?t suy di?n ? ? P là dúng.
  • Nghia là Nam KHÔNG có nhi?u ti?n

28
Phép toán m?nh d? Ð?nh nghia
  • M?nh d?
  • M?nh d? là m?t phát bi?u khai báo
  • M?nh d? ch? nh?n m?t trong hai giá tr? ÐÚNG
    (True) ho?c SAI (False)
  • Ví d?
  • Ngày 01tháng giêng là ngày t?t c? truy?n
  • Môn b?n dang h?c là AI
  • Hôm nay là qu?c khánh
  • Hôm nay tr?i l?nh
  • T?i sao ph?i h?c AI ?

29
M?nh d? Các phép toán
  • Bi?u th?c m?nh d? là s? k?t h?p c?a các m?nh d?
    b?i các phép toán m?nh d?
  • Các phép toán
  • ? Ph? d?nh m?t ngôi
  • ? H?i hai ngôi
  • ? Tuy?n hai ngôi
  • ? Suy ra hai ngôi
  • ? Tuong duong hai ngôi
  • Cách dánh giá giá tr? c?a phép toán
  • B?ng chân tr?

Uu tiên
30
B?ng chân tr? c?a các k?t n?i
P Q lP PÙQ P v Q PgtQ PltgtQ
False False True False False True True
False True True False True True False
True False False False True False False
True True False True True True True
31
M?nh d? Các phép toán ví d?
PNam h?c gi?i QNam thông minh RNam
d?p trai
  • M?nh d? th?c t?
  • Nam h?c gi?i, thông minh, d?p trai
  • Nam h?c gi?i ho?c thông minh
  • Nam ho?c h?c gi?i, ho?c d?p trai
  • Nam thông mình thì h?c gi?i
  • Bi?u th?c m?nhd?
  • P ? Q ? R
  • P ? Q
  • (P ? ?R)? (?P ? R)
  • Q ? P

32
M?nh d? Các bi?u th?c m?nh d? dúng
  • Ký hi?u bi?u th?c dúng wff
  • Thành ph?n co b?n là P hay ?P, v?i P là m?t m?nh
    d?
  • Các bi?u th?c dúng d?nh nghia theo d?ng lu?t sinh
    sau
  • Wff Thành ph?n co b?n
  • ?wff wffwff
  • wff v wff
  • wff ? wff
  • wff wff
  • (wff)

33
M?nh d? Ng? nghia
  • Ng? nghia c?a m?t bi?u th?c m?nh d? là giá tr?
    c?a bi?u th?c m?nh d? dó.
  • Giá tr? c?a bi?u th?c m?nh d? là có kh? nang tính
    toán du?c. Trong dó
  • M?i m?nh d? du?c gán m?t giá tr? true hay false
  • M?i toán t? du?c dánh giá theo b?ng chân tr? và
    th? t? uu tiên c?a toán t?.
  • Giá tr? c?a bi?u th?c m?nh d? tính b?ng cách
  • Dùng b?ng chân tr?
  • Ðánh giá ngu?c t? node lá khi bi?u th?c m?nh d?
    du?c bi?u di?n ? d?ng cây

34
M?nh d? Các tuong duong
  • Các tuong duong du?c s? d?ng thu?ng xuyên trong
    quá trình bi?n d?i m?t bi?u th?c t? d?ng này sang
    d?ng khác.
  • Kh? nang bi?n d?i tuong duong trên máy tính có
    th? du?c làm t? d?ng
  • Các tuong duong
  • Trong các tuong duong sau A,B,C là các m?nh d?
    b?t k?.
  • D?ng ph? d?nh kép
  • ?? A A
  • D?ng tuy?n
  • A ? TRUE TRUE
  • A ? FALSE A
  • A ? A A
  • A ? ? A TRUE
  • D?ng hôäi
  • A ? TRUE A
  • A ? FALSE FALSE
  • A ? A A
  • A ? ? A FALSE

35
M?nh d? Các tuong duong (tt)
  • D?ng suy ra
  • A ? TRUE TRUE
  • A ? FALSE ?A
  • TRUE ? A A
  • FALSE ? A TRUE
  • A ? A TRUE
  • D?ng h?p thu
  • A ? (A ? B) A
  • A ? (A ? B) A
  • A ? (?A ? B) A?B
  • A ? (?A ? B) A?B
  • D?ng De Morgan
  • ? (A ? B) ?A ? ?B
  • ? (A ? B) ?A ? ?B
  • D?ng khác
  • A ? B ?A ? B
  • ? (A ? B) A ? ?B
  • A ? B
  • A ? ?B? FALSE
  • Phép ? và ? có kh? nang k?t h?p.
  • Phép ? và ? có kh? nang hoán v?.
  • Phép ? có kh? nang phân ph?i trên ?
  • A ? (B?C) (A?B)?(A?C)
  • Phép ? có kh? nang phân ph?i trên ?
  • A ? (B?C) (A?B)?(A?C)

36
M?nh d? Các d?ng chu?n CNF DNF
  • D?ng chu?n là k?t xu?t chu?n c?a các gi?i thu?t
    làm vi?c v?i phép toán m?nh d?.
  • Tuy?n co b?n là thành ph?n co b?n hay s? k?t h?p
    c?a các thành ph?n co b?n b?ng phép tuy?n(v)
  • H?i co b?n là thành ph?n co b?n hay s? k?t h?p
    c?a các thành ph?n co b?n b?ng phép h?i ().
  • D?ng chu?n h?i CNF là thành ph?n tuy?n co b?n
    hay các tuy?n co b?n k?t h?p b?i phép h?i.
  • D?ng chu?n tuy?n DNF là thành ph?n h?i co b?n
    hay các h?i co b?n k?t h?p b?i phép tuy?n.

37
M?nh d? Lu?t suy di?n ch?ng minh
Lu?t suy di?n du?c áp d?ng d? phát tri?n các ?ng
d?ng có kh? nang suy lu?n. Suy lu?n là ho?t d?ng
thu?ng xuyên c?a con ngu?i d? hi?u các lý l?,
ki?m ch?ng, phán doán các v?n d?.
  • Lu?t Modus Ponens (MP)
  • A, A? B ? B
  • Lu?t Modus Tollens (MT)
  • A? B, ?B ? ?A
  • Lu?t H?i
  • A,B ? AB
  • Lu?t don gi?n
  • AB ? A
  • Lu?t C?ng
  • A ? AvB
  • Lu?t tam do?n lu?n tuy?n
  • Av B, ?A ? B
  • Lu?t tam do?n lu?n gi? thi?t
  • A? B,B? C? A? C

38
M?nh d? Lu?t suy di?n ch?ng minh Ví d? 1
  • Ta có các bi?u th?c sau AvB, AvC,và ?A là TRUE
  • Ch?ng minh BC có tr? TRUE
  • Ðã ch?ng minh xong

1 2 3 4 5 6 AvB AvC ?A B C BC P (tieân ñeà) P (tieân ñeà) P (tieân ñeà) 1,3, tam ñoaïn luaän tuyeån 2,3, tam ñoaïn luaän tuyeån 4,5, Luaät hoäi
39
M?nh d? Lu?t suy di?n ch?ng minh Ví d? 2
  • Ta có các bi?u th?c sau là dúng
  • AvB, A? C, B? D, ?D Ch?ng minh C
  • Ta gi? thi?t ?C d?n d?n false

1 2 3 4 5 6 7 8 9 10 AvB A?C B? D ?D ?C ?B A ?A A ?A False P (tieân ñeà) P (tieân ñeà) P (tieân ñeà) P (tieân ñeà) P (giaû thieát phaûn chöùng) 3,4,Modus Tollens 1,6, Tam ñoaïn luaän tuyeån 2,5,Modus Tollens 7,8, Luaät hoäi Maâu thuaãn vôùi Luaät hoäi
40
M?nh d? Lu?t phân gi?i m?nh d?
  • Clause là tuy?n c?a không hay nhi?u thành ph?n
    co b?n.
  • D?ng clauselà h?i c?a m?t hay nhi?u Clause
  • Lu?t phân gi?i m?nh d?
  • PVD1, ?PvD2 ? (D1-P)v(D2-?P)
  • D1,D2 là tuy?n c?a không hay m?t thành ph?n co
    b?n.
  • P là m?nh d?
  • D1-P là m?t clause thu du?c b?ng cách xóa b?
    các P trong D1
  • D2- ?P là m?t clause thu du?c b?ng cách xóa b?
    các ?P trong D2

41
M?nh d? Lu?t phân gi?i m?nh d? (tt)
  • Lu?t phân gi?i b?o toàn tính Unsatisfiable
  • S là unsatisfiable ? Rn(S)cung unsatisfiable
  • R lu?t phân gi?i, n s? l?n áp d?ng R trên S, ngt0
  • ?ng d?ng c?a lu?t phân gi?i dùng d? ch?ng minh
    Có S là t?p các clause, dùng S ch?ng minh bi?u
    th?c m?nh d? W
  • Phuong pháp
  • Thành l?p ph? d?nh c?a W
  • Ðua ?W v? d?ng clause
  • Thêm clause trong bu?c ii vào S thành l?p S1
  • Dùng lu?t phân gi?i trên S1 d? d?n ra clause r?ng.

42
M?nh d? Lu?t phân gi?i m?nh d? - Ví d?
  • Cho do?n sau
  • Nam d?p trai, giàu có. Do v?y, Nam ho?c là
    phung phí ho?c là nhân t? và giúp ngu?i. Th?c t?,
    Nam không phung phí ho?c cung không kiêu cang.
  • Do v?y, có th? nói Nam là ngu?i nhân t?
  • Ki?m ch?ng k?t qu? suy lu?n trên, b?ng lu?t phân
    gi?i.

43
M?nh d? Lu?t phân gi?i m?nh d? - Ví d?
  • (i) Chuy?n sang m?nh d?
  • P1 Nam d?p trai.
  • P2 Nam giàu có.
  • P3 Nam phung phí.
  • P4 Nam kiêu cang.
  • P5 Nam nhân t?.
  • P6 Nam giúp ngu?i.
  • Các bi?u th?c thành l?p du?c t? do?n trên
  • Wff1 P1 P2
  • Wff2 (P1 P2) gt (P3 ?(P5 P6)) v (?P3
    (P5 P6))
  • Wff3 ?P3 ?P4
  • Wff4 P5 Bi?u th?c c?n ch?ng minh.

44
M?nh d? Lu?t phân gi?i m?nh d? - Ví d?
  • (ii) Ðua v? d?ng clause
  •   Wff1, sinh ra hai clause C1 P1 C2 P2
  • Wff2 ?(P1 P2) v ((P3 ?(P5 P6)) v (?P3
    (P5 P6)) )
  • (?P1 v ?P2 v P3 v ?P3 v ?P6) (?P1 v ?P2 v
    P5 v ?P3 v ?P6)(?P1 v ?P2 v P3 v P3 v P5) (?P1
    v ?P2 v P5 v P3 v P5) (?P1 v ?P2 v P3 v P5 v
    ?P6) (?P1 v ?P2 v P5 v P5 v ?P6) (?P1 v ?P2 v
    P3 v P3 v P6) (?P1 v ?P2 v P5 v P3 v P6)
  • Sinh ra các clause
  • C3 (?P1 v ?P2 v ?P6) C4 (?P1 v ?P2 v P5 v
    ?P3 v ?P6)
  • C5 (?P1 v ?P2 v P3 v P5) C6 (?P1 v ?P2 v P3
    v P5)
  • C7 (?P1 v ?P2 v P3 v P5 v ?P6) C8 (?P1 v ?P2
    v P5 v ?P6)
  • C9 (?P1 v ?P2 v P3 v P6) C10 (?P1 v ?P2 v P5
    v P3 v P6)
  • Wff3 sinh ra các clause C11 ?P3 C12
    ?P4 C13 ?P5
  • (g?m c? bu?c l?y ph? d?nh k?t lu?n)

45
M?nh d? Lu?t phân gi?i m?nh d? - Ví d?
  • iii) áp d?ng lu?t phân gi?i trên các clause
  • TT Clauses Lu?t áp d?ng
  • 1 P1 P
  • 2 P2 P
  • 3 ?P1 v ?P2 v ?P6 P
  • 4 ?P1 v ?P2 v P5 v ?P3 v ?P6 P
  • 5 ?P1 v ?P2 v P3 v P5 P
  • 6 ?P1 v ?P2 v P3 v P5 P
  • 7 ?P1 v ?P2 v P3 v P5 v ?P6 P
  • 8 ?P1 v ?P2 v P5 v ?P6 P
  • 9 ?P1 v ?P2 v P3 v P6 P
  • 10 ?P1 v ?P2 v P5 v P3 v P6 P
  • 11. ?P3 P
  • TT Clauses Lu?t áp d?ng
  • 12. ?P4 P
  • 13 ?P5 P
  • 14 ?P2 v ?P6 1,3, R
  • 15 ?P6 2, 14, R
  • 16 ?P1 v ?P2 v P5 v P3 10,15,R
  • 17 ?P2 v P5 v P3 1,16,R
  • 18 P5 v P3 2,17, R
  • 19 P3 13, 18, R
  • 20 ? 11, 19, R
  • ÐÃ CH?NG MINH

46
Logic V? t? T?i sao?
  • Phép toán m?nh d? ? suy di?n t? d?ng nhung chua
    d? khi c?n ph?i truy c?p vào thành ph?n nh? trong
    câu, dùng bi?n s? trong câu.
  • Ví d?
  • M?i sinh viên tru?ng ÐH d?u có b?ng tú tài. Lan
    không có b?ng tú tài. Do v?y, Lan không là sinh
    viên tru?ng ÐH
  • Lan là m?t d?i tu?ng c? th? c?a SV tru?ng
    ÐHBK không th? d?c t? du?c quan h? này trong
    m?nh d? du?c mà ch? có th? là
  • LAN là sinh viên tru?ng ÐH thì Lan có b?ng tú
    tài. Lan không có b?ng tú tài. Do v?y, Lan không
    là sinh viên tru?ng ÐH
  • M?nh d? ph?i gi?i quy?t b?ng cách li?t kê t?t c?
    các tru?ng h?p
  • ? Không kh? thi
  • Do dó, chúng ta c?n m?t Logic khác hon là phép
    toán m?nh d?
  • PHÉP TOÁN V? T?

47
V? t? Ð?nh nghia
  • V? t? là m?t phát bi?u nói lên quan h? gi?a m?t
    d?i tu?ng v?i các thu?c tính c?a nó hay quan h?
    gi?a các d?i tu?ng v?i nhau.
  • V? t? du?c bi?u di?n b?i m?t tên du?c g?i là tên
    v? t?, theo sau nó là m?t danh sách các thông s?.
  • Ví d?
  • Phát bi?u Nam là sinh viên tru?ng ÐHBK
  • Bi?u di?n sv_bk(Nam)
  • Ý nghia d?i tu?ng tên là Nam có thu?c tính là
    sinh viên tru?ng ÐHBK.

48
V? t? Bi?u di?n v? t? Cú pháp
  • Chúng ta có bao nhiêu cách bi?u di?n dúng cú pháp
    cho phát bi?u nói trên?
  • ? Không bi?t bao nhiêu nhung ch?c ch?n nhi?u hon
    1 ?
  • Ví d? chúng ta có th? thay d?i các tên v? t?
    thành các tên khác nhau nhu sinhvien_bk,
    sinhvien_bachkhoa, T?t c? chúng d?u dúng cú
    pháp.
  • M?t s? quy u?c/ chú ý khi bi?u di?n
  • Không mô t? nh?ng v? t? th?a, có th? suy ra t?
    m?t t?p các v? t? khác. Hình th?c th?a cung tuong
    t? du (th?a) d? li?u khi thi?t k? CSDL.
  • Tên v? t? ph?i có tính g?i nh?. C? th?, trong ví
    d? trên chúng ta có th? bi?u di?n b?i q(Nam),
    nhung rõ ràng cách này không m?y thân thi?n và d?
    nh?.
  • B?n có bi?t q(Nam) có nghia gì ???

49
V? t? Bi?u di?n v? t? Cú pháp (tt)
  • D?ng v? t? tên_v?_t?(term1, term2, , termn)
  • Tên v? t? a..z(a..z A..Z 0..9_)
  • B?t d?u b?i m?t ký t? ch? thu?ng.
  • Ví d? ban_than, banThan,bAN_THAN,
  • Term có th? là H?ng,Bi?n, Bi?u th?c hàm.
  • H?ng có th? h?ng chu?i hay h?ng s?.
  • H?ng chu?i (a..z A..Z 0..9_) hay
    a..z(a..z A..Z 0..9_)
  • Ví d? Nam, nam, chuoi, nam, chuoi,
    qua,
  • H?ng s? (0..9) Ví d? 10, 32,..
  • Bi?n A..Z(a..z A..Z 0..9_) Ví d? Nguoi,
    NGUOI,..
  • Bi?u th?c hàm có d?ng tên_hàm(term1, term2, ,
    termk)
  • Trong dó Tên hàm a..z (a..z A..Z 0..9_)

50
V? t? Bi?u th?c v? t?
  • Bi?u th?c V? t? là s? k?t h?p c?a các v? t? b?i
    các phép toán v? t?.
  • Các phép toán
  • ? Ph? d?nh - m?t ngôi.
  • ?X V?i m?i - m?t ngôi
  • ?X T?n t?i - m?t ngôi
  • H?i - hai ngôi.
  • v Tuy?n - hai ngôi.
  • gt Suy ra - hai ngôi.
  • ? Tuong duong - hai ngôi.

Uu tiên
51
V? t? Các bi?u th?c v? t? dúng
  • Bi?u th?c v? t? dúng du?c ký hi?u wff.
  • Bi?u th?c co b?n Có th? là m?t v? t? , m?t d?i
    di?n tr? TRUE (tr? là T - dúng), m?t d?i di?n tr?
    FALSE (tr? là F - sai).
  • M?t bi?u th?c dúng cú pháp du?c d?nh nghia nhu
    sau
  • Wff Bi?u th?c co b?n ? wff wff wff wff
    v wff wffgtwff wff
  • wff (wff) ?X wff ?X wff
  • V?i
  • X Là m?t bi?n.
  • ? Lu?ng t? v?i m?i.
  • ? Lu?ng t? t?n t?i.

52
V? t? Lu?ng t?
  • Gi? s? chúng ta có
  • Nam là h?c sinh khá. Lan là h?c sinh trung
    bình. Mai h?c sinh khá
  • Xét t?p D Nam, Lan, Mai
  • G?i p(X) cho bi?t X là h?c sinh khá ta có các
    v? t?
  • p(Nam) tr? là T. p(Lan) tr? là
    F. p(Mai) tr? là T.
  • Lu?ng t? t?n t?i
  • Xét m?nh d? p(Nam) v p(Lan) v p(Mai) có
    th? bi?u di?n b?ng v? t? ?X ? D p(X)
  • T?n t?i X thu?c t?p D, mà X là h?c sinh khá
  • Lu?ng t? v?i m?i
  • Xét m?nh d? p(Nam) p(Lan) p(Mai) có
    th? bi?u di?n b?ng v? t? ?X ? D p(X)
  • M?i X thu?c t?p D d?u là h?c sinh khá

53
V? t? Bi?u di?n th? gi?i th?c
  • Chuy?n các câu sau sang bi?u th?c v? t?
  • M?i sinh viên tru?ng ÐH d?u có b?ng tú tài.
  • Lan không có b?ng tú tài.
  • Do v?y, Lan không là sinh viên tru?ng ÐH
  • V?i sv_bk(X) cho bi?t X là sinh viên tru?ng
    DH
  • tu_tai(X) cho bi?t X có b?ng tú tài
  • Các câu trên du?c chuy?n qua v? t? là
  • ?X(sv_bk(X) gt tu_tai(X)).
  • ?tu_tai(Lan).
  • Do v?y, ?sv_bk(Lan).

54
V? t? Bi?u di?n th? gi?i th?c (tt)
  • Ch? vài sinh viên máy tính l?p trình t?t.
  • v?i sv_mt(X) X là sinh viên máy tính
  • laptrinh_tot(X) X l?p trình t?t
  • Câu trên chuy?n sang v? t? là ?X(sv_mt(X)
    laptrinh_tot(X))
  • Không m?t sinh viên máy tính nào không c?n cù.
  • v?i sv_mt(X) X là sinh viên máy tính
  • can_cu(X) X c?n cù
  • Câu trên chuy?n sang là ?X (sv_mt(X) gt
    can_cu(X))
  • Không ph?i t?t c? các sinh viên máy tính d?u
    thông minh
  • v?i thong_minh(X) X thông minh
  • Câu trên chuy?n sang là ?X(sv_mt(X)
    ?thong_minh(X))

55
V? t? Ng? nghia
  • V?n d? N?u chúng ta có bi?u th?c sau
  • ?X?Y p(X,Y)
  • Chúng ta hi?u nhu th? nào ????!
  • -gt C?n s? di?n d?ch.
  • Cách hi?u 1
  • X, Y là con ngu?i.
  • p(X,Y) cho bi?t X là cha c?a Y
  • Do v?y
  • ?X?Y p(X,Y) có th? hi?u là
  • M?i ngu?i X, t?n t?i ngu?i Y d? X là cha c?a
    Y
  • -gt wff ?X?Y p(X,Y) có tr? là F (sai)

56
V? t? Ng? nghia (tt)
  • Cách hi?u 2
  • X, Y là con ngu?i.
  • p(X,Y) cho bi?t Y là cha c?a X
  • Do v?y
  • ?X?Y p(X,Y) có th? hi?u là
  • M?i ngu?i X, t?n t?i ngu?i Y là cha c?a X
  • -gt wff ?X?Y p(X,Y) có tr? là T (dúng)
  • Cách hi?u 3
  • X, Y là s? nguyên.
  • p(X,Y) cho bi?t Y b?ng bình phuong c?a X
  • -gt wff ?X?Y p(X,Y) có tr? là T (dúng)

57
V? t? Ng? nghia (tt)
  • Di?n d?ch g?m
  • - T?p D, không r?ng, mi?n di?n d?ch.
  • - Các phép gán
  • V? t? Quan h? trên D
  • Hàm Hàm (ánh x?) trên D
  • Bi?n t? do M?t tr? trên D, cùng m?t tr? cho các
    xu?t hi?n
  • H?ng M?t tr? trên D, cùng m?t tr? cho các xu?t
    hi?n

58
V? t? Ng? nghia (tt)
  • Ng? nghia
  • Có di?n d?ch I trên mi?n D c?a wff.
  • Wff không có lu?ng t?
  • Ng? nghia tr? s? th?t (TF) c?a wff khi áp
    d?ng di?n d?ch
  • wff có lu?ng t?
  • ?XW là T, n?u W(X/d) là T cho m?t d thu?c D
  • ngu?c l?i ?XW là F
  • ?XW là T, n?u W(X/d) là T cho m?i d thu?c D
  • ngu?c l?i ?XW là F

59
V? t? Khái ni?m
  • Có I di?n d?ch, E là wff
  • Model
  • I là cho E có tr? T ---gt I là Model c?a E
  • Ngu?c l?i ---gt I là CounterModel c?a E
  • Valid
  • E là valid n?u m?i di?n d?ch I d?u là Model.
  • Ngu?c l?i là Invalid
  • Unsatisfiable
  • E là unsatisfiable m?i I dêu là CounterModel
  • Ngu?c l?i Satisfiable

60
V? t? Tuong duong
  • T? tuong duong c?a m?nh d?
  • N?u chúng ta thay th? các m?nh d? b?i các bi?u
    th?c v? t?, các m?nh d? cùng tên thì du?c thay
    cùng m?t bi?u th?c v? t?, thì du?c m?t tuong
    duong c?a v? t?.
  • Ví d?
  • M?nh d?
  • (P gt Q) (?P v Q)
  • V? t?
  • P b?i ?X?Yp(X,Y), Q b?i q(X)
  • tuong duong
  • (?X?Yp(X,Y) gt q(X)) (?(?X?Yp(X,Y)) v q(X))

61
V? t? Tuong duong
  • Lu?ng t?
  • ?(?X W) ?X(?W)
  • ?(?X W) ?X(?W)
  • V?i W là m?t wff
  • Tuong duong có ràng bu?c
  • Sau dây Y bi?n, W(X) wff có ch?a bi?n X, C là
    wff không ch?a X
  • Ràng bu?c Y không xu?t hi?n trong W(X)
  • Tuong duong
  • ?X W(X) ?Y W(Y)
  • ?X W(X) ? Y W(Y)

62
V? t? Tuong duong
  • Tuong duong
  • D?ng tuy?n
  • C v ?XA(X) ?X(C v A(X))
  • C v ?XA(X) ?X(C v A(X))
  • D?ng h?i
  • C ?XA(X) ?X(C A(X))
  • C ?XA(X) ?X(C A(X))
  • D?ng suy ra
  • C gt ?XA(X) ?X(C gt A(X))
  • C gt ?XA(X) ?X(C gt A(X))
  • ?XA(X) gt C ?X(A(X) gt C)
  • ?XA(X) gt C ?X(A(X) gt C)

63
V? t? D?ng chu?n Prenex
  • D?ng Chu?n Prenex
  • Q1X1Q2X2QnXnM
  • Qi ?, ?.
  • M wff không có lu?ng t?.
  • Ví d?
  • - sv_bk(x)
  • - ?X(sv_bk(X) hoc_te(X))
  • - ?X?Ycha(X,Y)
  • Gi?i thu?t dua wff v? chu?n Prenex
  • Ð?i tên bi?n --gt wff không còn lu?ng t? cùng tên
    bi?n, bi?n lu?ng t? không trùng tên bi?n t? do.
  • Ðua lu?ng t? sang trái dùng tuong duong.

64
V? t? D?ng chu?n Prenex
  • D?ng chu?n Tuy?n Prenex
  • Q1X1Q2X2QnXn(C1 v v Ck)
  • Ci Thành ph?n h?i co b?n.
  • D?ng chu?n H?i Prenex
  • Q1X1Q2X2QnXn(D1 v v Dk)
  • Di Thành ph?n tuy?n co b?n.
  • Gi?i thu?t
  • Ð?i tên bi?n.
  • Lo?i b? gt b?i A gt B ?A v B
  • Chuy?n ? sang ph?i dùng De Morgan và ph? d?nh
    kép.
  • Chuy?n lu?ng t? sang trái dùng tuong duong.
  • Phân ph?i v trên (CNF), hay trên v (DNF)

65
Chuong 3 TÌM KI?M TRÊN KHÔNG GIAN TR?NG THÁI
(State Space Search)
  • AI Bi?u di?n và tìm ki?m
  • Không gian tìm ki?m
  • Graph Search
  • Các gi?i thu?t tìm ki?m trên không gian tr?ng
    thái
  • Depth first search (DFS) - Breath first search
    (BFS)

66
T?i sao ph?i tìm ki?m?
  • Tìm ki?m cái gì?
  • Bi?u di?n và tìm ki?m là k? thu?t ph? bi?n gi?i
    các bài toán trong linh v?c AI
  • Các v?n d? khó khan trong tìm ki?m v?i các bài
    toán AI
  • Ð?c t? v?n d? ph?c t?p
  • Không gian tìm ki?m l?n
  • Ð?c tính d?i tru?ng tìm ki?m thay d?i
  • Ðáp ?ng th?i gian th?c
  • Meta knowledge và k?t qu? t?i uu
  • Khó khan v? k? thu?t

67
Lý thuy?t d? th? - Review
  • Ð? th? là m?t c?u trúc bao g?m
  • T?p các nút N1, N2, Nn,.. Không h?n ch?
  • T?p các cung n?i các c?p nút, có th? có nhi?u
    cung trên m?t c?p nút

A
B
A
B
C
D
E
D
C
E
Nút A,B,C,D,E Cung (a,d), (a,b), (a,c),
(b,c), (c,d), (c,e), (d,e)
68
Ð?c tính d? th?
  • Ð? th? có hu?ng là d? th? v?i các cung có d?nh
    hu?ng, nghia là c?p nút có quan h? th? t? tru?c
    sau theo t?ng cung. Cung (Ni,Nj) có hu?ng t? Ni
    d?n Nj, Khi dó Ni là nút cha và Nj là nút con.
  • Nút lá là nút không có nút con.
  • Path là chu?i có th? t? các nút mà 2 nút k? ti?p
    nhau t?n t?i m?t cung.
  • Ð? th? có g?c Trên d? th? t?n t?i nút X sao cho
    t?t c? các path d?u di qua nút dó. X là g?c -
    Root
  • Vòng là m?t path di qua nút nhi?u hon m?t l?n
  • Cây là graph mà không có path vòng
  • Hai nút n?i nhau n?u có m?t path di qua 2 nút dó

69
Không gian tr?ng thái
  • Ð?nh nghiaKhông gian tr?ng thái là m?t h? th?ng
    g?m 4 thành ph?n N,A,S,GD. Trong dó
  • N là t?p nút c?a Graph. M?i nút là m?t tr?ng thái
    c?a quá trình gi?i quy?t v?n d?
  • A T?p các cung n?i gi?a các nút N. M?i cung là
    m?t bu?c trong gi?i quy?t v?n d?. Cung có th? có
    hu?ng
  • S T?p các tr?ng thái b?t d?u. S khác r?ng.
  • GD T?p các tr?ng thái dích. GD Không r?ng.
  • Solution path Là m?t path di t? m?t nút b?t d?u
    Si d?n m?t nút k?t thúc GDj .
  • M?c tiêu c?a các gi?i thu?t tìm ki?m là tìm ra
    m?t solution path và/hay solution path t?t nh?t.

70
Bi?u di?n không gian tr?ng thái-Ví d?
  • Trò choi Tic Tac Toa

Tr?ng thái
  • Tr?ng thái là m?t tình hu?ng c?a bàn c?
  • S? tr?ng thái bùng n? nhanh.
  • Bi?u di?n tr?ng thái
  • Bi?u di?n không gian

Tr?ng thái k?t thúc có m?t ngu?i có 3 d?u liên
t?c theo du?ng chéo, th?ng, ngang. S? tr?ng thái
k?t thúc???
71
State Space Database search
  • State Space
  • Không gian tìm ki?m thu?ng là m?t graph
  • M?c tiêu tìm ki?m là m?t path
  • Ph?i luu tr? toàn b? không gian trong quá trình
    tìm ki?m
  • Không gian tìm ki?m bi?n d?ng liên t?c trong quá
    trình tìm ki?m
  • Ð?c tính c?a tr?ng thái/nút là ph?c t?p bi?n
    d?ng
  • Database
  • Không gian tìm ki?m là m?t list hay tree
  • Tìm ki?m m?t record/nút
  • Ph?n t? dã duy?t qua là không còn dùng t?i
  • Không gian tìm ki?m là c? d?nh trong quá trình
    tìm ki?m
  • Thu?c tính c?a m?t record/nút là c? d?nh

72
Chi?n lu?c di?u khi?n trong SSS
  • M?c tiêu c?a bài toán tìm ki?n trên không gian
    tr?ng thái PATH vs STATE
  • Xu?t phát t? dâu và k?t thúc nhu th? nào?
  • Chi?n lu?c Data-Driven-Search Quá trình search
    s? di t? tr?ng thái hi?n th?i áp d?ng các lu?t d?
    di d?n tr?ng thái k? ti?p và c? th? cho d?n khi
    d?t du?c m?t goal.
  • Chi?n lu?c Goal-Driven-Search Quá trình search
    s? di t? tr?ng thái hi?n t?i (goal t?m th?i) tìm
    xem lu?t nào có th? sinh ra tr?ng thái này. Các
    di?u ki?n d? áp d?ng du?c các lu?t dó tr? thành
    subgoal. Quá trình l?p l?i cho d?n khi lui v? d?n
    các s? ki?n ban d?u.
  • Data-Driven Search hay Goal-Driven Search??

73
Data-Driven vs Goal-Driven
  • C? hai chi?n lu?c cùng làm vi?c trên không gian
    tr?ng thái nhung th? t? và s? các s? ki?n duy?t
    qua khác nhau. Do co ch? sinh ra các state khác
    nhau.
  • Quy?t d?nh ch?n l?a chi?n lu?c tùy thu?c vào
  • Ð? ph?c t?p c?a các lu?t
  • Ð? phân chia c?a không gian tr?ng thái
  • S? hi?n h?u c?a d? li?u
  • Goal dã có hay chua, nhi?u hay ít
  • Goal du?c d?c t? nhu th? nào state c? th? hay mô
    t? mang tính d?c tính
  • Co s? thông tin d? ch?n l?a chi?n lu?c h?p lý là
    m?t META KNOWLEDGE

74
Data-Driven vs Goal-Driven Ví d?
  • Ba và Nam là bà con. Ba hon Nam 250 tu?i. Tìm m?i
    quan h? gi?a Ba và Nam.
  • Trong bài toán này
  • Không gian tr?ng thái là cây ph? h?
  • M?c tiêu tìm ki?m là path n?i Ba v?i Nam
  • Gi? s? m?i th? h? cách nhau 25 nam, nhu v?y Ba
    cách nam 10 th? h?
  • Data-Driven-Search Tìm t? Ba d?n Nam.
  • n?u trung bình m?i th? h? có X con thì s? tr?ng
    thái c?n xét là X10
  • Goal-Driven search Tìm t? Nam d?n Ba
  • m?i ngu?i ch? có 1 cha và 1 m?. S? tr?ng thai c?n
    xét là 210.
  • Nhu v?y Goal-Driven s? t?t hon Data driven n?u s?
    con gt 2

75
Graph Search
  • Gi?i thu?t graph search ph?i có kh? nang tìm ki?m
    ra t?t c? các path có th? có d? tìm du?c nghi?m
    PATH t? tr?ng thái kh?i d?u d?n goal.
  • Graph search th?c hi?n b?ng cách l?n theo các
    nhánh c?a graph. T? m?t tr?ng thái, sinh ra các
    tr?ng thái con, ch?n m?t tr?ng thái con, xem dó
    là tr?ng thái xét k? ti?p. L?p l?i cho d?n khi
    tìm th?y m?t tr?ng thái dích.
  • L?n theo các tr?ng thái ? Ði vào ngõ c?t ?
  • Khi g?p nhánh không di ti?p du?c, gi?i thu?t ph?i
    có kh? nang quay lui l?i tr?ng thái tru?c dó d?
    di sang nhánh khác BACK TRACKING. Do dó gi?i
    thu?t còn có tên là BACKTRACK search.

76
Gi?i thu?t chi ti?t
  • Procedure backtrack
  • Begin
  • Sstart NLSstart De
  • CSstart
  • While (NSLltgt ) do
  • Begin
  • if CS Goal then return(SL)
  • if CS has no children (Except node in DE, Sl
    and NSL) then
  • begin
  • while ((SLltgt ) and CSFirst element of SL)) do
  • begin add CS to DE
  • remove first element from SL
  • remove first element from NSL
  • Cs first element of NSL
  • end
  • add CS to SL
  • End
  • Else begin
  • add children of CS (Except node in DE,SL and
    NSL) to NSL
  • CS first element of NSL
  • add CS to SL
  • end
  • end
  • End end while
  • Return FAIL
  • End

77
Gi?i thu?t chi ti?t (tt)
  • Trong dó
  • SL (State list) ch?a danh sách các tr?ng thái
    trên path hi?n dang xét. N?u tìm ra goal thì SL
    chính là nghi?m.
  • NSL (New State List) ch?a danh sách các tr?ng
    thái dang d?i xét.
  • DE (Dead End) ch?a các tr?ng thái mà con cháu
    c?a chúng không ch?a dích.
  • CS (Current State) ch?a tr?ng thái dang xét.
  • Hu?ng phát tri?n c?a quá trình search tùy theo co
    c?u t? ch?c c?a NSL FIFO, FILO hay Evaluated.
  • Gi?i thu?t có th? b? loop vô t?n. Lý do????

78
Gi?i thu?t chi ti?t (tt) Ví d?
  • Xét graph sau

A
B
C
D
E
F
G
H
I
J
79
Gi?i thu?t chi ti?t (tt) Ví d?
  • V?i G là goal ta có k?t qu? tìm ki?m theo b?ng
    sau

Laàn laëp CS SL NSL DE
0 1 2 3 4 5 6 7 8 A B E H I F J C G A B A E B A H E B A I E B A F B A J F B A C A G C A A B C D A E F B C D A H I E F B C D A I E F B C D A F B C D A J F B C D A C D A G C D A H E I H E I H B F J E I H B F J E I H
80
Breath First Search
  • Procedure Breath_frist_search
  • Begin
  • open start close
  • While (open ltgt) do
  • begin
  • remove X which is the leftmost of Open
  • If (Xgoal) the return (Success)
  • else begin
  • generate children of X Put X to close
  • eleminate children of X which is in Open or
    Close
  • Put remain children on RIGHT end of open
  • End
  • End
  • Return (FALL)
  • End

Là graph search v?i các nút anh em c?a nút hi?n
th?i du?c xem xét tru?c các nút con cháu
81
Breath First Search Ví d?
  • V?i d? th? dã có trong ví d? graph search.V?i
    Breath first search ta có quá trình nhu sau

Laàn laëp X Open Close
0 1 2 3 4 5 6 7 A B C D E F G A B C D C D E F D E F G E F G F G H I G H I J H I J A A B A B C A B C D A B C D E A B C D E F A B C D E F
82
Depth First Search
  • Procedure depth_frist_search
  • Begin
  • open start close
  • While (open ltgt) do
  • begin
  • remove X which is the leftmost of Open
  • If (Xgoal) the return (Success)
  • else begin
  • generate children of X Put X to close
  • eleminate children of X which is in Open or
    Close
  • Put remain children on LEFT end of open
  • End
  • End
  • Return (FALL)
  • End

Là graph search v?i các nút con cháu c?a nút
hi?n th?i du?c xem xét tru?c các nút anh em.
83
Depth First Search Ví d?
  • V?i d? th? dã có trong ví d? graph search.V?i
    Depth First Search ta có quá trình nhu sau

Laàn laëp X Open Close
0 1 2 3 4 5 6 7 8 9 A B E H I F J C G A B C D E F C D H I F C D I F C D F C D J C D C D G D A A B A B E A B E H A B E H I A B E H I F A B E H I F J A B E H I F J C
84
Breath First vs Depth First
  • Breath First open du?c t? ch?c d?ng FIFO
  • Depth First open du?c t? ch?c d?ng LIFO
  • Hi?u qu?
  • Breath First luôn tìm ra nghi?m có s? cung nh?
    nh?t
  • Depth First thu?ng cho k?t qu? nhanh hon.
  • K?t qu?
  • Breath First search ch?c ch?n tìm ra k?t qu? n?u
    có.
  • Depth First có th? b? l?p vô t?n. T?i sao??????
  • Bùng n? t? h?p là khó khan l?n nh?t cho các gi?i
    thu?t này.

Gi?i Pháp cho bùng n? t? h?p??
85
Depth first search có gi?i h?n
  • Depth first search có kh? nang l?p vô t?n do các
    tr?ng thái con sinh ra liên t?c. Ð? sâu tang vô
    t?n.
  • Kh?c ph?c b?ng cách gi?i h?n d? sâu c?a gi?i
    thu?t.
  • Sâu bao nhiêu thì v?a?
  • Chi?n lu?c gi?i h?n
  • C? d?nh m?t d? sâu MAX, nhu các danh th? choi c?
    tính tru?c du?c s? nu?c nh?t d?nh
  • Theo c?u hình resource c?a máy tính
  • Meta knowledge trong vi?c d?nh gi?i h?n d? sâu.
  • Gi?i h?n d? sâu gt co h?p không gian tr?ng thái
    gt có th? m?t nghi?m.

86
AND/OR Graph
  • AND/OR graph là m?t d? th? v?i các nút có th? là
    OR hay AND c?a các nút con.
  • Hypergraph M?t cung xác d?nh b?i m?t c?p 2 ph?n
    t?
  • Ph?n t? d?u là m?t node thu?c N.
  • Ph?n t? sau là m?t t?p con c?a N.
  • N?u ph?n t? sau có k node thì ta nói Hypergraph
    có K-Connector
  • AND/OR Graph dòi h?i luu tr? nhi?u d? li?u hon
  • Các node OR ki?m tra nhu Backtrack Search
  • Các node AND ph?i ki?m tra d?ng th?i
  • Ph?i luu tr? t?t c? các v?t dã di qua d? ki?m tra
    AND/OR

A
A
OR node
AND node
B
C
B
C
87
Chuong 4 HEURISTIC SEARCH
  • Heuristic là gì?
  • Tìm ki?m theo heuristic
  • Các gi?i thu?t Best first search (BFS), Gi?i
    thu?t A
  • Chi?n lu?c Minimax, Alpha Beta

88
Heuristic
  • Heuristic là gì?
  • Heuristic là nh?ng tri th?c du?c rút t?a t? nh?ng
    kinh nghi?m, tr?c giác c?a con ngu?i.
  • Heuristic có th? là nh?ng tri th?c dúng hay
    sai.
  • Heuristic là nh?ng meta knowledge và thu?ng
    dúng.
  • Heuristic dùng d? làm gì?
  • Trong nh?ng bài toán tìm ki?m trên không gian
    tr?ng thái, có 2 tru?ng h?p c?n d?n heuristic
  • V?n d? có th? không có nghi?m chính xác do các
    m?nh d? không phát bi?u ch?t ch? hay thi?u d?
    li?u d? kh?ng d?nh k?t qu?.
  • V?n d? có nghi?m chính xác nhung phí t?n tính
    toán d? tìm ra nghi?m là quá l?n (h? qu? c?a bùng
    n? t? h?p)
  • Heuristic giúp tìm ki?m d?t k?t qu? v?i chi phí
    th?p hon

89
Heuristic (tt)
  • Heuristic dùng nhu th? nào trong SSS?
  • Tìm ki?m trên không gian tr?ng thái theo chi?u
    nào? Sâu hay r?ng?
  • Tìm theo Heuristic Heuristic d?nh hu?ng quá
    trình tìm ki?m theo hu?ng mà nó cho r?ng kh?
    nang d?t t?i nghi?m là cao nh?t. Không sâu cung
    không r?ng
  • K?t qu? c?a tìm ki?m v?i Heuristic
  • Vi?c tìm ki?m theo d?nh hu?ng c?a heuristic có
    k?t qu? t?t hay x?u tùy theo heuristic dúng hay
    sai.
  • Heuristic có kh? nang b? xót nghi?m
  • Heuristic càng t?t càng d?n d?n k?t qu? nhanh và
    t?t.
  • Làm sao tìm du?c Heuristic t?t???

90
Best First Search
  • Procedure Best_First_Search
  • Begin
  • openstart close
  • While (openltgt) do
  • begin L?y ph?n t? d?u tiên X kh?i Open.
  • if X là goal then return path t? start d?n X
  • else begin
  • sinh ra các nút con c?a X
  • for m?i nút con Y c?a X do
  • case Y of
  • Y không có trong open hay close
  • begin gán giá tr? heuristic cho Y
  • dua Y vào open end
  • Y dã có trong Open
  • if d?n du?c Y b?ng m?t path ng?n hon then
    gán path ng?n hon này cho Y trên Open.
  • Y dã có trên close
  • if d?n du?c Y b?ng m?t path ng?n hon then
    begin xóa Y kh?i danh sách Close
  • thêm Y vào danh sách Open end
  • end /end case/
  • Ðua X vào close
  • X?p th? t? các tr?ng thái trên Open theo giá tr?
    Heuristic (tang d?n)
  • end / while/
  • return failure
  • End

91
Best First Search (tt)
  • Best First search vs Depth First Breath First
  • Best First search tuong t? nhu Depth First
    Breath First nhung ph?n t? du?c xét ti?p theo là
    ph?n t? có giá tr? heuristic t?t nh?t.
  • C?n có m?t hàm dánh giá các tr?ng thái d? xác
    d?nh giá tr? heuristic cho các tr?ng thái.
  • Không gian tr?ng thái v?n không thay d?i v? toàn
    c?c tuy nhiên thu?ng Heuristic search có không
    gian tr?ng thái làm vi?c nh? hon Depth First và
    Breath First. T?i sao??
  • Do s? d?nh hu?ng các tr?ng thái k? ti?p theo
    hu?ng có kh? nang tìm ra nghi?m nhanh hon nên s?
    tr?ng thái xét du th?a s? h?n ch? ? sinh ít tr?ng
    thái con hon
  • Ði?u này cung là nguyên nhân làøm cho Best First
    Search có th? d?n d?n k?t qu? là nghiêäm ph?
    thay vì nghi?m t?i uu.

92
Hàm lu?ng giá Heuristic
  • Hàm lu?ng giá Heuristic là hàm u?c lu?ng phí t?n
    d? di t? tr?ng thái hi?n t?i d?n tr?ng thái goal.
  • Co s? d? xác d?nh hàm lu?ng giá là d?a vào tri
    th?c/kinh nghi?m thu th?p du?c.
  • Hàm lu?ng giá cho k?t qu? dúng (g?n th?c th?) hay
    sai (xa giá tr? th?c) s? d?n d?n k?t qu? tìm du?c
    t?t hay x?u.
  • Không có chu?n m?c cho vi?c dánh giá m?t hàm
    lu?ng giá Heuristic. Lý do
  • Không có c?u trúc chung cho hàm lu?ng giá
  • Tính dúng/sai thay d?i liên t?c theo t?ng v?n d?
    c? th?
  • Tính dúng/sai thay d?i theo t?ng tình hu?ng c?
    th? trong m?t v?n d?
  • Có th? dùng nhi?u hàm lu?ng giá khác nhau theo
    tình hu?ng ? c?n hàm lu?ng giá v? các hàm lu?ng
    giá.

93
Hàm lu?ng giá Heuristic Ví d?
  • Xét bài toán 8 pussle v?i goal là

5 6 0
3 4 0
5 6 0
2 8 3
1 6 4
7 5
1 2 3
8 4
7 6 5
2 8 3
1 4
7 6 5
Heuristic 1 T?ng s? mi?ng sai v? trí Heuristic
2 T?ng kho?ng cách sai v? trí c?a t?ng
mi?ng. Heuristic 3 S? c?p hoán d?i v? trí nhân
cho 2
2 8 3
1 6 4
7 5
Vi?c ch?n l?a hàm Heuristic là khó khan và có ý
nghia quy?t d?nh d?i v?i t?c d? c?a gi?i thu?t
94
Hàm lu?ng giá Heuristic C?u trúc
  • Xét l?i ho?t d?ng c?a gi?i thu?t Best First
    Search
  • Khi có 2 nút cùng có giá tr? k? v?ng d?t d?n m?c
    tiêu b?ng nhau thì nút có path t? nút b?t d?u d?n
    nút dó ng?n hon s? du?c ch?n tru?c nhu v?y nút
    này có giá tr? Heuristic t?t hon.
  • Hay nói cách khác hàm lu?ng giá Heuristic cho nút
    g?n start hon là t?t hon n?u k? v?ng d?n goal là
    b?ng nhau.
  • V?y ch?n nút nào n?u k? v?ng c?a 2 nút khác nhau?
    Nút k? v?ng t?t hon nhung xa start hay nút k?
    v?ng x?u hon nhung g?n root
  • Hàm lu?ng giá bao g?m c? 2 và có c?u trúc
  • F(n) G(n) H(n)
  • G(n) phí t?n th?c t? root d?n n
  • H(n) phí t?n u?c lu?ng heuristic t? n d?n
    goal.

95
Ví d? Best first search
  • Xét ví d? là bài toán 8 puzzle v?i

2 8 3
1 6 4
7 5
1 2 3
8 4
7 6 5
M?c tiêu
B?t d?u
  • Hàm lu?ng giá F(n) G(n) H(n)
  • V?i G(n) s? l?n chuy?n v? trí tile dã th?c hi?n
  • H(n) S? tile n?m sai v? trí
  • Nút X có giá tr? heuristic t?t hon nút Y n?u
    F(x) lt F(y).
  • Ta có ho?t d?ng c?a gi?i thu?t Best First search
    trên nhu hình sau

96
Ví d? Best first search (tt)
97
Ví d? Best first search (tt)
7
3
2
1
State M F(m) 505
4

8
5
6
7
98
Ho?t d?ng theo gi?i thu?t Best First Search
Laàn X Open Close
0 1 2 3 4 5 6 7 A4 C4 E5 F5 J5 l5 m5 a4 c4,b6,d6 e5,f5,g6,b6,d6 f5,h6,g6,b6,d6,i7 j5,h6,g6,b6,d6,k7,i7 l5,h6,g6,b6,d6,k7,i7 m5,h6,g6,b6,d6,k7,i7,n7 a4 a4,c4 a4,c4,e5 a4,c4,e5,f5 a4,c4,e5,f5,j5 a4,c4,e5,f5,j5,l5
99
Ðánh giá gi?i thu?t Heuristic
  • Admissibility Tính ch?p nh?n
  • M?t gi?i thu?t Best first search v?i hàm dánh giá
  • F(n) G(n) H(n) v?i
  • N Tr?ng thái b?t k?
  • G(n) Phí t?n di t? nút b?t d?u d?n nút n
  • H(n) Phí t?n u?c lu?ng heuristic di t? nút n
    d?n goal
  • Ðu?c g?i là gi?i thu?t A
  • M?t gi?i thu?t tìm ki?m du?c xem là admissible
    n?u d?i v?i m?t d? th? b?t k? nó luôn d?ng ? path
    nghi?m t?t nh?t (n?u có).
  • Gi?i thu?t A Là gi?i thu?t A v?i hàm heuristic
    H(n)luôn luôn ? giá tr? th?c di t? n d?n goal.
  • Gi?i thu?t A là admissible

100
Ðánh giá gi?i thu?t Heuristic
  • Monotonicity Ðon di?u
  • M?t hàm heuristic H(n) du?c g?i là monotone (don
    di?u) n?u
  • ?ni, nj nj là nút con cháu c?a ni ta
    cóH(ni)-H(nj) ? phí t?n th?t di t? ni d?n nj
  • Ðánh giá heuristic c?a dích là 0 H(goal) 0.
  • Gi?i thu?t A có hàm H(n) monotone là gi?i thu?t
    A và Admissible
  • Informedness
  • Xét 2 hàm heuristic H1(n) và H2(n) n?u ta có
    H1(n)? H2(n) v?i m?i tr?ng thái n thì H2(n) du?c
    cho là informed hon H1(n).

101
Chi?n lu?c minimax
  • Gi?i thu?t tìm ki?m Heuristic v?i các hàm
    heuristic ch? thích h?p cho các bài toán không có
    tính d?i kháng. Nhu các trò choi ch? có m?t ngu?i
    choi Puzzle, tìm l?i ra mê cung, bài toán n quân
    h?u,
  • Các trò choi có tính d?i kháng cao, thu?ng là các
    trò choi 2 ngu?i choi nhu tic tac toa, caro, c?
    qu?c t?, gi?i thu?t trên không có tác d?ng vì
    Ð?i phuong không bao gi? di theo con du?ng cho ta
    có th? di d?n goal
  • C?n ph?i có m?t gi?i thu?t khác phù h?p hon.
  • Chi?n lu?c MINIMAX
  • Chi?n lu?c Minimax (du?c th? hi?n b?ng gi?i thu?t
    minimax) d?a trên 2 gi? thi?t sau
  • C? 2 d?i th? có cùng ki?n th?c nhu nhau v? không
    gian tr?ng thái c?a trò choi
  • C? 2 d?i th? có cùng m?c c? g?ng th?ng nhu nhau

102
Gi?i thu?t minimax
  • Chi?n lu?c Minimax
  • Hai d?i th? trong trò choi có tên là MAX và MIN
  • Max bi?u di?n cho m?c dích c?a d?i th? này là
    làm l?n t?i da l?i th? c?a mình
  • Min bi?u di?n cho m?c dích c?a d?i th? này là
    làm nh? t?i da l?i th? c?a d?i phuong.
  • Trên cây tìm ki?m s? phân l?p thành các l?p Max
    và Min.
  • V?i m?t node n b?t k?,
  • N?u nó thu?c l?p Max thì gán cho nó giá tr? Max
    c?a các node con
  • N?u nó thu?c l?p Min thì gán cho nó giá tr? nh?
    nh?t c?a các node con.

103
Gi?i thu?t minimax ví d?
  • Bài toán que diêm
  • M?t t?p que diêm ban d?u d?t gi?a 2 ngu?i choi.
    L?n lu?t di xen k?. Ngu?i d?n lu?t di ph?i chia
    nhóm que diêm theo nguyên t?c
  • Ch?n nhóm b?t k? có s? que gt2
  • Chia thành 2 nhóm có s? que khác nhau
  • Goal ngu?i nào d?n lu?t mà không chia du?c là
    thua.
  • MINIMAX
  • Không gian tr?ng thái c?a trò choi du?c phát
    tri?n toàn b?, các node lá du?c gán giá tr? 1 n?u
    là MAX th?ng và 0 n?u là MIN th?ng.
  • V?i m?t node b?t k? n?u thu?c l?p MAX gán cho nó
    giá tr? l?n nh?t c?a các node con. N?u thu?c l?p
    MIN gán cho nó giá tr? nh? nh?t c?a các node con.

104
Minimax bài toán que diêm
MIN
1
1
1
6-1
5-2
4-3
MAX
0
1
0
1
5-1-1
4-2-1
3-2-2
3-3-1
MIN
0
1
0
4-1-1-1
3-2-1-1
2-2-2-1
MAX
0
1
3-1-1-1-1
2-2-1-1-1
MIN
0
2-1-1-1-1-1
MAX
105
Minimax v?i d? sâu gi?i h?n
  • Minimax nhu dã xét bu?c ph?i có toàn b? không
    gian tr?ng thái dã du?c tri?n khai d? có th? gán
    tr? cho các nút lá và tính ngu?c l?i ? Không kh?
    thi v?i các bài toán l?n vì không gian tr?ng thái
    là quá l?n.
  • ? Gi?i h?n không gian tr?ng thái l?i theo m?t d?
    sâu nào dó và gi?i h?n các node con theo m?t qui
    t?c nào dó.
  • Ðây là chi?n lu?c thông thu?ng c?a các ngu?i choi
    c? kh? nang tính tru?c bao nhiêu nu?c.
  • Khi dó ta
Write a Comment
User Comments (0)
About PowerShow.com