XÂY DỰNG MÔ HÌNH BIỂU DIỄN TRI THỨC HÌNH HỌC PHẲNG ỨNG DỤNG GIẢI BÀI TOÁN VECTOR

Embed Size (px)

DESCRIPTION

XÂY DỰNG MÔ HÌNH BIỂU DIỄN TRI THỨCHÌNH HỌC PHẲNGỨNG DỤNG GIẢI BÀI TOÁN VECTOR

Citation preview

  • I H C QU C GIA TP. H CH MINH

    I H C CNG NGH THNG TIN

    KHOA KHOA H C MY TNH

    N

    L P TRNH SYMBOLIC TRONG TR TU NHN T O

    XY D NG M HNH BI U DI N TRI TH C

    HNH H C PH NG

    NG D NG GI I BI TON VECTOR

    Gi ng d n: THS. NGUY N

    Sinh vin th c hi n:

    NGUY N TR H I 11520094

    NGUY 11520603

    L p: KHTN2011

    L p mn h c: CS314.E2 1 .KHTN

    Kho: 2011

    TP. H

  • M U

    Tr tu nhn t o l m c l n v quan tr ng trong cng

    ngh thng tin hi n nay. V i nhi ng nghin c u khc nhau cng

    m c tiu xy d ng, m ph ng l i tr tu

    x l v m t cch thng minh. c l m t ph n

    quan tr nh c a con

    i. D n vi c c n thi t ph i bi u di n tri th i trn

    c th suy lu n gi i quy t v . T

    bi u di n tri th c xy d c th gi i q uy t v n trn.

    C r t nhi u cc m hnh bi u di n tri th

    gi i quy t v bi u di n tri th c m t

    cch t ng qut nh t. Hi c s d ng v

    ti p t c m r ng ph h p c th m hnh ho a

    tri th c ton h c. Cng v u cch bi u di n

    tri th c c i v xy d ng cc chi c tm ki m l i gi i

    cho b suy di c th c m t h th ng thng minh c kh

    i bi ton thng minh i. ng d ng

    nh ng tri th n s xy d ng m hnh bi u di n tri th c cho

    mi n tri th c hnh h c ph ng (c gi i h n mi n tri th c) v p d ng

    suy lu c th xy d i ton trn mi n tri th c

    ny.

  • L I C M

    hS. N , K hoa My tnh

    Thng tin -HCM,

    v

    CS314 .E21.KHTN cng

    TP. H Ch Minh, Ngy 10 thng 05 4

    Nguy n Tr H i Nguy

  • Bo c n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    A

    M C L C

    T N ............................................................................................................. 1

    I. M hnh tri th c hnh h c ph ng v h gi i ton t ng ................................................ 2

    1. M hnh tri th c hnh h c ph ng ................................................................................................. 2

    2. H gi i ton vector t ng .......................................................................................................... 2

    II. Thu th p tri th c ................................................................................................................. 2

    1. Tri t h c v vector .......................................................................................................................... 2

    2. Cc v c n gi i quy t trong mi n tri th c vector ................................................................ 5

    III. Bi u di n tri th c ............................................................................................................... 6

    ng tnh ton (C-object) ..................................................................................................... 6

    2. M hnh COKB khy t ................................................................................................................... 7

    2.1. T p C cc khi ni m v ng tnh ton ................................................................. 8

    2.2. T p R cc quan h ng .................................................................................. 8

    2.3. T p Rules cc lu ng phn c p ................................................................. 9

    3. M hnh bi ton ......................................................................................................................... 10

    IV. Thu t gi i suy di n .......................................................................................................... 11

    1. Rt g n bi u th c vector ............................................................................................................ 11

    2. Ch ng th c vector ................................................................................................... 13

    3. T i gi i .............................................................................................................................. 14

    V. Xy d ng ng d ng ........................................................................................................... 15

    1. C .......................................................................................................................... 15

    2. Cng c h tr , l p trnh ............................................................................................................ 16

    2.1. K t n i C# v i Maple ........................................................................................................... 17

    2.2. Th hi n k hi u, bi u th c ton h c .................................................................................. 17

    2.3. Nh bi theo ngn ng t nhin .................................................................................. 18

    3. Xy d .............................................................................................................. 20

    3.1. L p trnh tnh ton ............................................................................................................... 20

    3.2. L p trnh giao di n ............................................................................................................... 21

    VI. Ki m tra k t qu .............................................................................................................. 25

    VII. T ng k t .......................................................................................................................... 30

    TI LI U THAM KH O ..................................................................................................... 32

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    1

    T N

    1. ti

    Xy d ng m hnh biu di n tri th c hnh h c ph ng ng d ng gi i bi ton

    vector.

    2. Gi ng d n

    ThS. Nguy n.

    3. Sinh vin th c hi n

    Nguy n Tr H i, Nguy

    4. Kho h c

    Kho 2011 (Ngy nhp h c: Thng 09/2011).

    5. Thng tin lin l c c a sinh vin

    STT Tn MSSV Email

    1 Nguy n Tr H i 11520094 [email protected]

    2 Nguy 11520603 [email protected]

    6. ng d ng s d ng

    trnh l p trnh, h tr : Maple 13.0, Microsoft Visual Studio 12.

    ng l p trnh: Windows Forms, Maple.

    7. Phn cng th c hi n

    Phn cng Th c hi n

    Tm ki m, t ng h p ti li u

    C nhm Ln n i dung c ti, tm ki m ti li u:

    - Th i gian th c hi n.

    - T ng h p ti c li u lin quan.

    - Tm hi u c ng d ng h tr .

    Th c hi n

    Nguy n Tr H i - Tm hi u, xy d ng n i dung ng d ng

    Nguy - T ng h p, xy d ng n i dung l thuy t.

    C nhm - Vi t bo co, trnh by slide

    - S a l i

    mailto:[email protected]:[email protected]
  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    2

    I. M hnh tri th c hnh h c ph ng v h gi i ton t ng

    1. M hnh tri th c hnh h c ph ng

    Tr tu nhn t o (Artificial Intelligent) l khoa hc my tnh gii quy t v

    my tnh c th c tr tu gi i. Trong tr tu i, tri

    th ng. V bi u di n tri th c (Knowledge representation) trn

    my tnh t c nghin c xu i quy t v n

    ny.

    n s tm hi u m hnh tri thc hnh h c ph ng c gi i h n mi n tri th c. M c

    d l ki n th c ph n tri th c hnh h c ph ng kh r ng v nhiu v n

    khc nhau cn gi i quy t. n mn h c s gi i h n mi n

    tri th c l i v tm hi u m hnh biu di n cho n.

    2. H gi i ton vector t ng

    T cc m hnh biu di n tri th c, chng ta s thi t k cc thut gi i suy di

    gi i quy t cc v n mi n tri th c bi u di n. Trong c th xy

    d c cc h tri th c (Knowledge Based Systems) s d ng tri th gi i

    quy t v h gi i quy t v c a m t chuyn gia, cc h

    gi h tr cng vi c tnh v gi i cc bi ton. c bi gi i ton

    t ng trong gio dc, ngoi cc yu cu c a h gi i ton cn ph i cung c i

    dng l i gi i chi ti t cho bi ton. M t h gi y c cc yu c n v

    vi c gi i quy t cc dng ton tng qut trong min tri th

    ph n quan tr tri th c v b suy di n.

    y, bo co s ng d ng xy d ng m t h gi i ton ton gio dc v mi n tri

    th c vector c bi u di n. ng d ng s gi i quy t cc bi ton c th trn vector v

    cung cp l i gi i chi ti t cho bi ton m t cch d hi i dng.

    II. Thu th p tri th c

    u tin d xy d ng m t h tri th c c n ph i thu th p tri th c. D a

    trn s hi u bi t, kh c tiu c i thi t k , ta s thu th p v l a ch n tri

    th c ph h p. c p t i ph n I, mi n tri th c v bi ton cn gi i quy t v

    vector s c gi i h n trong mi n tri th c ph h p.

    1. Tri th c v vector

    Cc khi nim (concepts) v lut (rules) l cc thnh ph n c u thnh nn

    m t tri th c. M t mi n tri th c xy d ng trn cc thnh ph n t

    n ph c t p v cc mi lin h gi a cc thnh ph . Ta s thu th p v t ng

    h p ki n th c t cc thnh ph n ph c t p. Ph n thu th p tri th c

    c tham kho v trch ra t [5]:

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    3

    m m l khi ni n nh t c a hnh hc. N l m t c u trc r c

    nh m t ch m nh trn trang gi y (m t ph ng) c

    k hi u thng qua cc ch ci in hoa

    ng th ng ng th n v i hnh nh l mp bn, hay si

    ch

    n th ng:

    n th ng th ng b gi i h n b m.

    m c n th ng l di m thu c n th ng v chia n th ng thnh

    2 ph n b ng nhau.

    Tam gic:

    Tam gic l hnh gm n th ng n i gi a m khng th ng hng v i nhau.

    c t o thnh t m A, B, C g i l tam gic ABC.

    Trung tuy n ng v i 1 c nh c n th ng n i t m c a

    i di n n. M ng trung tuyn.

    ng trung tuy n c a tam gic ct nhau t m. Giao c ng

    trung tuy n g i l tr ng tm c a tam gic.

    Hnh bnh hnh: Hnh bnh hnh l t gic c cc c i song song vi nhau. Trong

    ng cho ct nhau t i trung m m ng, h i l tm c a hnh

    bnh hnh.

    Vector:

    Khi ni m:

    - Vector l m n th ng. T u, 1

    m l cu i.

    - Vector m cu i l B g i l vector AB. K hi u: ho c

    vector c th k hi u l .

    - ng th u v cu i c a vector c g i l gi c a vector

    ng c a vector:

    - ng c a vector nh l chi u t m cu i c a

    vector.

    - 2 vector c g u gi c a chng song song vi nhau.

    Vector b ng nhau:

    - di c a vector l kho ng cch gi u v cu i c a vector

    hi u: .

    - Vector di b c g i l vector .

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    4

    - Hai vector c g i l b ng nhau nu chng c ng v ng

    nhau.

    - Vector khng l vector m cu i trng nhau. K hiu: .

    T ng c a 2 vector:

    - Cho 2 vector v . L y m m A tu , v v . Vector

    c g i l t ng c a hai vector v . K hi u: .

    - Quy t m A, B, C tu ta lun c .

    - Quy t c hnh bnh hnh: Nu ABCD l hnh bnh hnh th

    ( ).

    Tnh ch t:

    V i 3 vector , , tu :

    - Tnh giao hon: ;

    - Tnh k t h p: ;

    - Tnh ch t c a vector khng: .

    Hi u 2 vector:

    Vector i:

    - Vector ng v i g i l vector i c a . K hi u:

    .

    - M i vector u c vector i.

    - Vector i c a l .

    - Cho 2 vector v . Ta g i hi u c a 2 vector v l vector . K

    hi u: .

    - V m tu , ta c: .

    - m c n th ng AB khi v ch khi .

    - G l tr ng tm ca tam gic ABC khi v ch khi .

    Tch c a vector v i 1 s :

    - Cho s a vector v i s k l m t vector, k hi u l k , cng

    ng v i v n ng v i n di b ng

    |k|| |.

    - .

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    5

    Tnh ch t:

    - ;

    - ;

    - ;

    - .

    - N m c a AB, th ta c v i m i M: .

    - N u G l tr ng tm ca tam gic A, B, C th ta c vi m i M:

    .

    2. Cc v c n gi i quy t trong mi n tri th c vector

    T mi n tri th c ta s nh cc v c n gi i quy t (cc bi ton)

    trn mi n tri th i v i mi n tri th c vector c 2 d ng g

    l rt g n bi u th c vector v ch ng th c vector. Ta s x l 2 d ng bi ton

    ny:

    D ng ton rt gn bi u th c vector: bi t ng qut cho mt bi u th c vector

    v yu c i gi i dng cc cng thc vector t nh m rt g n nh t cc

    thnh phn (t i gi n) c th .

    V d 2.1: Rt g n bi u th c vector:

    D ng ton ch ng th c vector r ng bao gm:

    - Bi ton ch u ki bi cung cp m ng th c

    v yu cu ch ng th c t n t i.

    - Bi ton chng minh u ki n l quan h: bi cung cp m ng

    th c v quan h gi a cc thnh ph ng th

    c u ch ng th c t n t i.

    - Bi ton ch u ki : bi cung cp m t

    ng th c v quan h d a cc thnh phn lin quan

    ng th u ch ng th c t n t i.

    - Bi ton chng minh t ng qut: L dng t ng h p cc d bi

    cung c p m ng th u ki n d ng quan h ho c tnh ton. Yu

    c u ch ng th c t n t i.

    V d 2.2: n AB. Ch ng

    minh:

    V d 2.3: m n AB,

    n EF. Ch ng minh r ng :

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    6

    III. Bi u di n tri th c

    Nhi m v c a tr tu nhn t o l bi u di n tri th c v tm ki m tri th c trong

    mi n bi u di u di n tri th n kh

    hi u qu c a h th ng tri th c. C nhi bi u di n, m hnh

    tri th c. V l a ch n, p d c ph h u quan trng.

    Vi c l a ch n v s d ng m hnh tri thc ph m b o cc yu cu v m t bi u di n

    p trnh:

    M hnh tri th c ph i ph h p v i mi n tri th n ch c ch n

    khng th gi i quy c vi c bi u di n tri th c nh. Cn cc m hnh

    tri th c qu phc t p gy t n th i gian trong vi c tm hi u, bi u di

    m t l p trnh v i cc thnh phn khng s d n.

    S c l p c a m hnh tri thc v thut gi i suy di n u c n thi t. Vi c

    l p s gip tch r i hai khu trong qu trnh xy dng h tri th c i xy

    d ng s t n c a mnh ng th i, vi c m r ng v c i ti n

    s th c hi c l p.

    Trong [1 c p cc m hnh biu di n tri th c ph h p v i cc h gi

    ng tnh ton (C Object) v m hnh tri th ng tnh ton

    COKB. p d ng cc m hnh trn vi vi c rt g ph

    h p v i mi n tri th c

    1. ng tnh ton (C-object)

    c p d ng trong biu di n tri

    th c. Khi m i thnh phn c a tri th ng v i nh ng thnh phn

    thu c tnh (states) v hnh vi (behavious) ca n. Ta s s d ng ph h nh a

    [1], [4]: G ng tnh ton (C object) l m ng O c cu trc:

    (1) M t danh sch cc thuc tnh Attr(O) = {x1, x2 n i thu c

    tnh l y gi tr trong m t mi nh nh nh, v gi a cc thuc tnh ta c

    cc quan h th hi n qua cc s ki n, cc lut suy di n hay cc cng thc tnh

    ton.

    n s suy di n v tnh ton trn cc thuc tnh c i

    ng hay trn cc s ki

    - a A Attr(O) (Cc thuc tnh c th c t A).

    - nh tnh gi c c a bi ton suy din c d ng A

    Attr(O), B Attr(O).

    - Cho bi nh l i gi i cho bi ton trn (A B).

    - Cho bi t gi tr cc thu c tnh c a n c yu cu.

    V d 3.1: v i gc nh A, B, C; 3 c ng

    c bi cng v i cc cng thc lin h gi a chng (quan h) xc

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    7

    nh m t c u trc bi u di n tam gic. Cu trc ny kt h p v i cc hnh vi c a n bao

    g m gi nh gi tr cc thuc tnh v x n

    n i b c xem l mt bi u di n c a ng tam gic.

    M t C c m hnh ho bi 1 b :

    (Attr, F, Facts, Rules)

    Attr l t p h p cc thuc tnh c ng;

    F l t p h p cc quan h suy di n tnh ton;

    Facts l tp h p cc tnh cht, s ki n v n c c ng;

    Rules l tp h p cc lu t suy di n trn cc s ki n thu

    c bi u di n b ng m hnh lut d n theo

    d ng {A} => {B}, v i A Attr(O), B Attr(O).

    V d 3.2: c bi u di

    - Attr = {A, B, C, a, b, c, ha, hb, hc, S, }.

    - F = { A + B + C = Pi; S = a.ha/2; S = b.hb/2 S = c.hc }.

    - Facts = { };

    - Rules = { {A = B} => {a = b}, {A + B = Pi/2} => {hc = 1/2.c} .

    2. M hnh COKB khy t

    M hnh COKB (Computational Objects Knowledge Base) bao g m cc khi

    ni m v ng c cu trc v i cc lo i quan h v cc tnh ton lin quan. M t

    g m cc thnh phn:

    (C, H, R, Ops, Rules)

    C l t p h p cc khi nim v cc C object;

    H l t p cc quan h phn cp gi a cc lo ng;

    R l t p cc khi nim v cc lo i quan h trn cc C Object;

    Ops l tp cc ton t;

    Rules l tp cc lu c phn l p.

    i v i mi n tri th c xt n tri th c v vector) ta th y

    cc quan h phn c n, c p th p v cc ton t s d ng 2 ton t

    thng d ng l `+ , `-` v `*` v i 1 s th c xem xt ta khng cn ph i

    xy d ng t p phn cp v ton t ring nh n thao tc biu di n v l p

    trnh khi ng d ng. T ng m t m hnh COKB khuyt (rt g n) d a trn

    nh ng rt g n trn. M t m hnh COKB khuyt g m c cc thnh phn:

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    8

    (C, R, Rules)

    C l t p cc khi nim v cc C Ojects;

    R l t p cc quan h ng;

    Rules l tp cc lu t c phn l p d a trn cc s ki n c d ng

    r: {f 1, f2 n} => {f 1, f2 m} . Trong , cc fi l cc s ki n.

    2.1. T p C cc khi ni m v ng tnh ton

    M i khi ni m l m t l p C Oject v i c u trc v phn cp theo thi t l p c ng:

    ng c p th p nh t: Cc bi n th c.

    n c c u trc r ng ho c c c u trc t m t thu c tnh ki u

    th c.

    ng C Object cp 1, c thuc tnh th c v c th c danh sch

    n n.

    ng C Object cp 2, c thuc tnh th c v c th c danh sch

    n ng c p 1.

    C u trc bn trong m ng g m:

    - Ki ng.

    - Danh sch cc thuc tnh.

    - Quan h trn c u trc thi t l p.

    - T p h u ki n rng buc trn cc thuc tnh.

    - T p h p cc tnh cht n i t n cc thu c tnh c ng.

    - T p h p cc quan h suy di n tnh ton.

    - T p h p cc lu t suy di n trn cc loi s ki n cc

    thu c tnh c ng hay b ng.

    Trong mi n tri th c vector hi n t i t p C bi u di n cc khi ni m g m: m

    Vector

    - n, c u trc r ng.

    - Vector ng c c xy d ng t danh sch

    n n ng n.

    - ng c c xy d ng

    t danh sch n ng c p 1.

    2.2. T p R cc quan h ng

    M t quan h nh b i v cc lo ng lin quan. Trong

    quan h nh cc tnh cht c th c: tnh cht ph n x , tnh ch i x ng, tnh

    ch t ph n x ng v tnh cht b c c u.

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    9

    Trong mi n tri th c vector hi n t i t p R bi u di n cc quan h g m:

    -

    - Vector

    - Tr ng tm

    -

    - Trung tuy

    2.3. T p Rules cc lu ng phn c p

    Cc lu t th hi n tri th c ph qut trn cc khi nim v cc loi s ki n khc nhau.

    M i lu t cho qua mt quy lu c th c 1 s ki n m i t m t s s ki

    bi t. M t lu t r c th c m hnh dng:

    {f 1, f2 n} => {f 1, f2 m}.

    i l cc s ki n.

    ki n c c m t m t cch chi ti t v c th c th m hnh ho

    v gi i quy t bi ton d i s ki n khc nhau cho m hnh

    ny:

    (1) S ki n thng tin v lo i c ng. C u trc s ki n:

    [, ] .

    (2) S ki n v tnh xc nh c a m ng (thu t) hay c a m t

    thu c tnh. C u trc s ki n:

    | . .

    ng h c c u thnh t ng khc th

    c th vi t theo dng c u trc.

    (3) S ki n v s b ng nhau gi a m ng hay mt thu c tnh v i m i

    ng hay mt thu c tnh khc (thu ng c a chng bng nhau). C u

    trc s ki n:

    | . = | ..

    (4) S ki n v s ph thu c c a m ng hay mt thu c tnh theo nhng

    ng hay thuc tnh khc thng qua mt cng th c tnh ton. Cu trc s

    ki n:

    | . = .

    (5) S ki n v m t quan h ng hay trn cc thuc tnh c a cc

    ng. C u trc s ki n c d ng danh sch:

    [

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    10

    Ta th y, khng c s ki nh c a m t thu c tnh thng qua biu th c h ng

    do ta khng tnh ton h ng s trong mi n tri th

    Trong mi n tri th c vector hi n t i t p Rules bi u di n cc lu t g m m t s lu :

    - { [A , i m ] ,

    Hnh bnh hnh[ A, B, C, D] } =>

    { Vector [A, B] + Vector [A, D] = Vector [A, C] ,

    Vector [C, B] + Vector [C, D] = Vector [C, A] ,

    Vector [B, A] + Vector [B, D] = Vector [B, D],

    Vector [D, A] + Vector [D, C] = Vector [D, B],

    Vector [B, C] = Vector [A, D],

    Vector [A, B] = Vector [D, C]} .

    - { [A , [M

    m", M, n[A,B]] } =>

    {Vector[M, A] + Vector[M, B] = Vector[0],

    Vecto[A, M] + Vecto[B, M] = Vecto[0],

    Vecto[A, B] = 2*Vecto[A, M],

    Vecto[A, B] = 2*Vecto[M, B],

    Vecto[B, A] = 2*Vecto[B, M],

    Vecto[B, A] = 2*Vecto[M, A]} .

    3. M hnh bi ton

    Ta s d ng m hnh m ng cc C xy d ng m hnh bi ton, m hnh

    gi i quy t v c d ng:

    (O, Facts), Goal

    O l t ng tnh ton trong bi ton;

    Facts l tp cc s ki n thu c cc lo trn;

    Goal l m c tiu c a bi ton c dng m t bi u th .

    V d 3.3: M hnh bi ton:

    O = {A,B,C,D,E,F};

    D] + Vecto[B, E] + Vecto[C, F] = Vecto[A,

    E] + Vecto[B, F] + Vecto[C, D]}.

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    11

    IV. Thu t gi i suy di n

    Hi n n di n chnh c dng ph bi n cho vi c suy di n

    trn cc biu di n tri th c l suy din ti n (Forward chaining) v suy din li (Backward

    chaining) suy di n ti n l qu trnh suy lun t i m c ta s tm c th t

    t t c cc lu t c th p d s d n khi c k t qu t qu trnh

    suy di n t nhin gi ng v i cch gi i quy t v c i. Ta s s d

    php ny thi t k thu t gi i suy di n.

    1. Rt g n bi u th c vector

    Bi ton

    Cho m t bi u th n. Yu c u rt g n bi u th

    Input

    M hnh bi ton.

    Output

    Bi u th c rt g i gi n nh t c th ) v cc thao tc rt g n.

    Thu t gi i

    i v i d ng bi t p rt g n ny, ta ch c n s d ng quy t m v quan

    i nn ta khng cn p d ng thao tc tm kim lu p d t gi i

    suy di n ti c l i l tm cc thnh phn c th p d c lu

    x l.

    N i dung thut gi i m i thao tc chnh, thut gi i s gom nhm cc cp

    vector c th rt g c v x l. Thu t gi i k t thc khi khng gom nhm

    c n a. Ta c l i cch gom nhm v kt qu gom nhm.

    Cc bi n s d ng:

    exp: D ng bi u th c, cc bi u th bi.

    sol : D ng b ng cc danh sch, danh c gom t i m i

    c.

    solVal : D ng b ng (m ng) , k t qu gom nhm ti m c.

    count : D ng s t m s thao tc thc hi n.

    flag : D ng logic, c hi u: true cn c th rt g c, false khng th rt

    g c n a.

    c 1: X bi.

    exp = Bi u th bi;

    sol = [ ];

    solVal = [ ];

    count = 0 ;

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    12

    ;

    c 2: Gi i ton.

    flag = true ;

    While flag = true do

    f lag = false; c gom.

    count = count + 1;

    solVal count = [ ]; //K t qu c a thao tc th count .

    for i from 1 to do //L y t ng thnh

    ph n vector trong exp

    if

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    13

    2. Ch ng th c vector

    D ng bi ton chn ng th c vector c nhiu d ng khc nhau. Ta s x l d ng

    t ng qut nh gi i quy c ton b cc dng.

    Bi ton

    Cho m ng (thu c mi n tri th c vector) v cc quan h gi a cc

    u ch ng minh m ng th c.

    Input

    M hnh bi ton.

    Output

    K t qu ch ng minh bi ton v cc thao tc chng minh.

    Thu t gi i

    Thu t gi i suy di n ti c p d ng. Ta c i danh sch cc lu c p d ng

    v k t qu .

    Cc bi n s d ng:

    exp: D ng th c, ng th c c n ch ng minh. exp c dng exp.L =

    exp.R . v i L v R l cc biu th c vector.

    sol : D ng danh sch, danh sch cc lu c p d ng. Bao g m c danh sch

    ng tham gia trong lut.

    facts : D ng danh sch, danh sch cc lut.

    flag : D ng logic. C dnh du: true C th c lu p d ng, false

    c lu t p d ng.

    c 1: X bi.

    exp = ng th bi;

    sol = [ ];

    exp.L = exp.L exp.R; exp.R = ; //Chuy n v ph i qua v tri

    flag = true;

    c 2: Gi i ton.

    while flag = true do

    flag = false;

    ;

    sol = sol + ;

    for i in facts do

    if then

    sol = sol ng tham

    gia>;

    flag = true;

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    14

    if exp.L = then break; end if;

    end if;

    end for;

    end while ;

    c 3: Xu t k t qu .

    // Xu t k t qu v thao tc x l trol sol.

    if exp.L = 0 then

    Xu t sol;

    else

    Xu ng th c sai ;

    end if;

    3. T i gi i

    t nh ph n t a v cch m sol thm cc quan h c h t,

    ta th y sol l m t t p cc f F. Gi s t c th i ta p d ng lu t f i: u(fi) v(f i)

    gi i bi ton. Th m t quan h f i a khi H G. Ta s d

    php ca [1]. V i:

    newSol: D ng danh sch, Danh sch t

    Gi s sol sau khi p dng gi i thu c k quan h p d ng.

    c 1: Kh i t o

    newSol = [];// Danh sch t thm t ng quan h .

    V = G;// T p x u l G.

    c 2: X l

    for i from k downto 1 do

    if (V v(f i )

    newSol = f k + newSol;

    V = V\ v(f k) u(f k) \ H;

    end if ;

    end for;

    c 3: Xu t k t qu .

    Xu t newSol;

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    15

    V. Xy d ng ng d ng

    Sau khi thu th p tri th c v xy dng m hnh, c u trc c th ta ti n hnh xy

    d ng ng d ng. Cc v c n quan tm khi tin hnh lp trnh l s d ng

    c u trc d li u bi u di n tri th c; ngn ng, cng c l p trnh ph hp v gi i quy t

    cc v v k thu t l p trnh.

    1. C

    u tin ta cn xy d ng c u trc t tri th u di n. C u

    trc d li u c n c vi c tri n khai thut gi

    bi u di n t c kh c l p trong

    l gi i quy t cc v khc nhau s gy n t v c th v

    n c

    C c tham kh o t [1] g m h th ng cc t p tin:

    (1) T p tin nh danh (hay tn gi) cho cc khi nim

    v cc lo ng C-Object. C u trc:

    begin_Objects

    ng 1>

    ng 2>

    end_Objects

    (2) T p tin thng tin v cc lo i quan h khc nhau trn

    cc lo i C-Object.

    begin_Relations

    [, ,

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    16

    begin_constraints

    end_constraints

    begin_properties

    end_properties

    begin_computation_relations

    begin_relation

    end_relation

    end_computation_relations

    begin_rules

    begin_rule

    i lu

    hypothesis_part:

    {Cc s ki n gi thi t c a lu t}

    goal_part:

    {Cc s ki n k t lu n c a lu t ho c l

    end_rule

    end_rules

    end_object

    (4) T p tin h lu t c tri th c.

    begin_rules

    begin_rule

    i lu

    ng>: ;

    ng>: ;

    hypothesis_part:

    {Cc s ki n gi thi t c a lu t}

    goal_part:

    {Cc s ki n k t lu n c a lu t ho

    end_rule

    end_r ules

    2. Cng c h tr , l p trnh

    Ph n m m Maple c s d ng l cng c h tr gi i ton h tr s n cc cu

    trc l p trnh c p cao v cc thut ton gi i ton c sn v s d ng l p trnh Windows

    Forms l p trnh giao din.

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    17

    2.1. K t n i C# v i Mapl e

    Qu trnh thc hi n l i gi i m c thi t k t trn Maple, tuy

    nhin l i gi c theo mt c u trc d li

    i s d c i thi n v ny, c n m n tr c

    quan, d n th hi hi n l i gi i bi ton. V C#

    l m t trong nh ng ngn ng l p trnh m nh c th u y. T t c k t qu v

    c u trc d li u l i gi i nh n t c chuy th hi n l i

    gi i bi ton mt cch t nhin.

    Ph n l n ch c c c vi t b ng ngn ng c

    thng dch b c vi t b ng C. V v y vi c k t n i C# v i

    n l xm nhp C.dlls t t k t n i C# v i Maple c th tm t t

    MapleEngine v c StartMaple, StopMaple,

    EvalMapleStatement v IsMapleStop c ny g i tr c ti p t i C

    OpenMaple API t n i v i Maple c th xm nh t t c nh ng ch c

    a b my tnh ton Maple.

    OpenMaple v c Open, Run th c hi n chi ti t

    k t n i C# v c trong class MapleEngine .

    c Open: ki m tra vi c k t n i v m OpenMaple.

    c Run: truy n l nh t C# sang Maple v ly k t qu tr v t Maple.

    V d 5.1 sau minh ha vi c k t n i C# v i Maple:

    Cu truy vn: - (x -

    Th c hi n k t n i:

    OpenMaple openMaple = new OpenMaple();

    openMaple.Open();

    openMaple.Run( query);

    K t qu tr v :

    2.2. Th hi n k hi u, bi u th c ton h c

    C nhi u cch th hi n cc k hiu, bi u th c ton hc, d ng

    MimeTex.dll l m n lin k ng kh mnh trong vi c th hi n k hi u, bi u

    th c ton hc.

    c v cc k hi u, bi u th c ton h n MimeTex.dll theo 1

    nh d ng ph bi nh d ng LaTex. Sau khi vi nh d ng LaTex,

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    18

    cc k hi u v bi u th c s c chuy n sang dng nh .gif gip d dng khi thm mt

    hnh nh s d ng ny, cn nhng n vo ng d ng v s d ng 2

    c sau:

    GetFilePath() : kh i t ng d nh

    WriteEquation() : chuy c k hi u, bi u th c LaTex v file nh .gif

    c Latex v th hi n Vecto r : \ vec{x} => k t qu hi n th

    2.3. Nh bi theo ngn ng t nhin

    X t nhin c i l m t v i v i cc

    h gi i ton, do tnh cht c a ngn ng ng th i h n ch c a cng c h tr ng

    cc h gi i ton ch t p trung vo vic gi i ton l chnh. Tuy nhin, do min tri th c

    gi i h n v cc dng ton x l t (2 d ng bi ton) nn ta c th p d ng m t thu t gi i

    c th x bi theo ngn ng t nhin v i nh u ki n nh nh.

    Vi c x b i s theo cc tiu ch: T x l nhanh, khng n th i

    gian ch t gi n trong gi i h n cho php (thi gian tm

    hi u, ki n th c).

    c dng d a trn cu trc chung c bi v b t n c

    s n. Ta s n m hnh bi ton: (O, Facts),Goal. Ta xt cc yu t u vo v cc

    c:

    T ng tnh ton g ng c a mi n tri th c v i cc tn gi

    c n th ng, vector, tam gic, hnh bnh hnh.

    V d 5.2:

    Nh p vo: m: A, B, C, s x l thnh:

    A,B,C,D: Diem .

    T p Facts thuc 1 trong 5 loi s ki c ng v i

    gi thi t) n quan h g m 5 quan h v i 3 tn g i c nh:

    m, tr ng tm, tm v trung tuyn.

    V d 5.3:

    - Nh p vo: n AB. n thnh:

    ["TrungDiem",J,Doan[A,B]] ;

    - Nh p vo: K l tr n thnh:

    ["TrongTam",K,TamGiac[D,E,F]] ;

    - Nh p vo: O l tm hnh bnh hnh ABCD n thnh:

    ["Tam",O,HinhBinhHanh[A,B,C,D]] ;

    - Nh p vo: NA = - n thnh: Vecto[N,A]= -

    2*Vecto[N,B] .

    T p Goal c dng bi u th c ho ng v i gi thi t).

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    19

    V d 5.4:

    Nh p vo: Ch ng th c: AB+AC+AD-

    chuy n thnh:

    Vecto[A,B] + Vecto[A,C] + Vecto[A,D] 4*Vecto[A,K] = Vecto[0] .

    M t s c: Danh sch cc thnh phn d ng sau du `:`. T i yu c bi,

    m n lc nh p l vector.

    M t s v d v i d li u nh p vo:

    V d 5.5 n AB, F l

    n EF. Ch ng minh :

    AB + AC + AD - 4*AK = 0

    begin_exercise

    kind_ex = "Chung_minh_Dang_thuc_Vecto"

    begin_hypothesis

    objects:

    A,B,C,D,E,F,K: Diem

    end_objects

    facts:

    ["TrungDiem",E,Doan[A,B]]

    ["TrungDiem",F,Doan[C,D]]

    ["TrungDiem",K,Doan[E,F]]

    end_facts

    end_hypothesis

    begin_goals

    Vecto[A,B] + Vecto[A,C] + Vecto[A,D] 4*Vecto[A,K] = Vecto[0]

    end_goals

    end_exercise

    V d 5.6: n AB. Ch ng minh

    ng th c:

    AB + CD + BC + DA = 0, JD + JC = AD + BC

    begin_exercise

    kind_ex = "Chung_minh_Dang_thuc_Vecto"

    begin_hypothesis

    objects:

    A,B,C,D,J: Diem

    end_objects

    facts:

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    20

    ["TrungDiem",J,Doan[A,B]]

    end_facts

    end_hypothesis

    begin_goals

    Vecto[A,B] + Vecto[C,D] + Vecto[B,C] + Vecto[D,A] = Vecto[0]

    Vecto[J,D] + Vecto[J,C] = Vecto[A,D] + Vecto[B,C]

    end_goals

    end_exercise

    3. Xy d g trnh

    3.1. L p trnh tnh ton

    Ta s s d ng ngn ng l p trnh hnh th c h

    tr l p trnh v x l tnh ton. C n v thao tc xy dng

    Ph n 1: Xy d n, h tr c

    Cc hm x c file cc thnh phn bi u di n): S d c

    nh d n c c cc

    c u trc ph h x l.

    Cc hm h tr x l chung trong l p trnh): Cc hm

    h tr x l c u trc t ng qut c c tn

    cc bi n ra kh i bi u th c, l y tn cc thnh phn trong danh sch, cc hm x

    l trn list (m Maple khng h tr

    Hm x l m hnh bi ton (mng tnh ton): Cc hm h tr suy di n trn m

    hnh m ng tnh ton: Kim tra tn ca m t thu nh cc thnh phn

    c ng, tm ki m cc dng s ki

    Hm nhn d ng, phn loi s ki n: nh n bi cc lo i s ki

    c phn loi trong m hnh (5 loi s ki ta o dng x l.

    Cc hm h tr xu t n i dung ra mn hnh: Cc n

    thi t, k t lu n, l i gi i, tm t t, c n c cc hm h tr nh d ng, thm ni dung

    ph h p.

    Ph n 2: Gi i bi ton

    X bi: N c t s c x l

    nh n di n v phn lo n ( hm) ph h

    ti n hnh gii ton gi i.

    Xy d ng b suy di n: S d ng gi i thu t suy di i IV) v cc

    hm h tr xy d ng b suy di n.

    X l gi i hon chnh: Cc hm x l v h tr s c k t h p l i thnh m t

    thnh phn hon chnh x c cc v c

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    21

    3.2. L p trnh giao di n

    bi

    :

    class MapleEngine v hm LoadMapleEngine() .

    :

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    22

    Bi ton : ch a 2 menu con l M, Gi i:

    - M m bi ton b c v t t p tin v i c u

    nh s n ho c nh p b ng tay b ng ngn ng t nh d ng

    c u trc cu sn.

    T t p xu t hi n h p tho i m t p, ch n t p .txt

    ph h m bi ton:

    Nh p vo : Nh p b ng ngn ng t nhin c bt bu c v c php

    cu:

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    23

    - SubMenu Gi i : sau khi m t p ho c nh bi thnh cng th khung

    hi n th bi s hi n th bi v tm tt l bi b ng ngn ng t

    nhin, k hi u ton hc:

    Khi ta ch gi i v xu t k t qu khung

    hi n th l i gi i.

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    24

    Thng tin : cung cp thng tin v ph n m m.

    : ph s d u trc t nh p

    bi v m t s bi ton m nh p b ng tay.

    Thot

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    25

    VI . Ki m tra k t qu

    K t qu th nghi m so snh gi a l i gi i t nhin v gi i my :

    V d 6.1 m n AB Ch ng minh :

    L i gi i t nhin L i gi i c

    Ch ng minh :

    VT =

    =

    =

    = VP

    Ch ng minh :

    Ta ch ng minh :

    =

    VT =

    =

    =

    =

    m AB

    Nn

    Suy ra

    Ch ng minh :

    _____________________ Bi gii _____________________

    c 1:

    VT =

    =

    =

    =

    =

    =

    *K t lu n:

    ____________________________________________________

    Ch ng minh :

    _____________________ Bi gii _____________________

    c 1:

    VT =

    =

    =

    =

    c 2:

    n AB Nn:

    VT =

    *K t lu n:

  • n mn h c L p trnh Symbolic GVHD: Ths. Nguy n

    26

    V d 6.2 m A, B, C, D, E, F. Chng minh :

    L i gi i t nhin L i gi i c

    Ch ng minh :

    VT =

    =

    =

    =

    = VP

    Ch ng minh :

    VT =

    = ( ) + (

    )

    = ( ) + ( )

    =

    = VP

    Ch ng minh :

    ______________ Bi gi i ________________

    c 1:

    VT =

    =

    =

    =

    =

    =

    =

    =

    *K t lu n:

    ______________________________________

    Ch ng minh :

    _______________ Bi gi i ________________

    c 1:

    VT =

    =

    =

    =

    =

    =

    =

    =

    *K t lu n: