SlideShare a Scribd company logo
1 of 3
Toán rời rạc             Thuật toán 5: Khử ký tự                 Phần 2: Đồ Thị              => Để chứng minh định lý ta
                                 không dẫn về được.                                                  chỉ cần chứng minh không tồn
 Phần 1: NNHT&Ôtômát             Xuất phát từ tập Δ={S}, tập       I) Các định nghĩa                 tại 1 đồ thị nào có 1 đỉnh bậc
                                 ∑=Φ,      nếu    A∈Δ      và      - Đồ thị: G=(X,E) trong đó:       lẻ.
Giả thiết:                       A=>x1,x2…xn thì kết nạp           X là tập đỉnh (x1, x2,…xn); E     Phản chứng: Giả sử G có 1
Ta có:                           biến vào Δ và ký tự kết thúc      là tập cạnh (e1,e2,..en).         đỉnh bậc lẻ x1 vì x1 là 1 đỉnh
VP: G=<∑,Δ,P,S>                  vào ∑. Khi đó tập sản xuất        - Cung (xi,xj) – có hướng         bậc lẻ ta xóa 1 cung đi qua x1
Otomat: M=<∑,Q,δ, q0, F>         B sẽ lấy tất cả các sản xuất      hoặc vô hướng                     thì x1 thành chẵn. Tuy nhiên
Trong đó:                        có các biến ∈Δ và ký tự ∈∑        Chú ý: một cung vô hướng          đỉnh kề với nó thành bậc lẻ x2
∑: là bảng chữ cái khi tập                                         có thể thay bằng hai cung         tiếp tục lặp lại: ta xóa cung đi
hợp các trạng thái trung         Thuật toán 6: Loại bỏ ε           ngược chiều nhau.                 qua x2 -> thành chẵn cứ như
gian.                            sản xuất.                         - Chu trình: là một đường đi      vậy ta xóa mãi đến khi hết
∑={a, b, c}                      A->ε sẽ được gọi là ε sản         khép kín, đầu cuối trùng          cạnh mọi đỉnh sẽ trở về bậc
Q={q0, q1,… qn}                  xuất.                             nhau.                             không =>
q0: trạng thái xuất phát         * Chú ý: A->ε thì A được          + Chu trình Euler: là chu
F: Tập trạng thái kết thúc       gọi là biến triệt tiêu nếu        trình đi qua tất cả các           3. Định lý 3: 1 đồ thị là đồ thị
δ(q,a) = P                       A->x1,x2…xn và x1,xn là biến      cạnh, mỗi cạnh 1 lần.             Euler (là đồ thị tồn tại chu
                                 triệt tiêu thì A cũng là biến     + Chu trình Haminton: là          trình Euler) khi và chỉ khi 1 đồ
Thuật toán 1: Biến đổi           triệt tiêu. Khi đó:               chu trình đi qua tất cả các       thị tồn tại mọi đỉnh bậc chẵn
OHK -> OHĐ.                      Bước 1: xác định tất cả các       đỉnh mỗi đỉnh 1 lần               (G-Euler  mọi đỉnh bậc
Input: M=<∑,Q,δ, q0, F>          biến triệt tiêu.                  - Bậc của đỉnh:                   chẵn).
Output:M1=<∑1,Q1,δ1,q01, F1>     Bước 2: Xét sản xuất              Kí hiệu: din của x là số cung     G1/2 Euler (tồn tại đường đi
∑1=∑; q01=q0, q1=2Q (là tập      A->x1,x2…xn .                     đi vào đỉnh x                     Euler  không quá 2 đỉnh bậc
hợp tất cả các tập con của Q     - Nếu xk là biến triệt tiêu thì   dout(x): là số cung đi ra của x   lẻ).
kể cả các tập Φ và q.            thay xk bởi ε hoặc giữ            d=din+dout: số bậc của x.         CM:
δ1([p1, p2,pk]a) = Uδ(pi, a).    nguyên xk                         din: nửa bậc vào; dout: nửa       Bổ đề: với mọi đồ thị G mà
F1: là tập hợp tất cả các đỉnh   - Không được thay tất cả          bậc ra.                           bậc của đỉnh ≥2 thì luôn luôn
của q1 có chứa các đỉnh                                            Khi đó: đỉnh cô lập là đỉnh       tồn tại chu trình.
                                 các xk=ε
thuộc F.                                                           bậc 0, đỉnh bậc 1 là đỉnh         - Nếu chu trình tồn tại khuyên
                                                                   treo.                             (là chu trình chỉ có 1 đỉnh) =>
                                 Thuật toán 7: Chuẩn
Thuật    toán     2:      Xây                                      * Mô tả đồ thị                    ĐPCM.
                                 Choomssky.
dựngOH, tương đương với                                            Cách 1: Mô tả bằng ma trận        - Nếu không tồn tại khuyên:
                                 Dạng chuẩn Choomssky có
VPCQ G.                                                            kề (ma trận trọng số): với        tức là đồ thị đã tồn tại cung.
                                 dạng:
Input: G=<∑,Δ,P,S>                                                 mỗi 1 cung xi, xj gán 1 giá       Xuất phát từ 1 đỉnh ta tiếp tục
                                 G=<∑,Δ,P,S>
Output: M1=<∑1,Q1,δ1,q01, F1>                                      trị (gọi là trọng số) Cịj mang    đi:
                                 P=     A->BC
Lấy ∑1≡∑, Q1=Δ∪{D} (là                                             ý nghĩa thực tế nào đó.           + Nếu quay về đỉnh xuất phát
                                        A-> A
đỉnh mới phát sinh), q01=S,                                        G=(X,E) tương đương với           => là 1 chu trình.
F1={D}.                                                            ma trận C=(Cij)mxn                + Nếu không quay về đỉnh
                                 Khi đó tồn tại bài toán: Cho
Nếu A->aB thì δ(A,a) = B                                           Cách 2: Mô tả bằng danh           xuất phát => phải đi tiếp đến
                                 văn phạm phi ngữ cảnh bất
Nếu A->a thì δ(A,a) = D                                            sách cạnh: dùng 3 mảng ký         khi quay về để thành 1 chu
                                 kỳ, hãy chuyển văn phạm
                                                                   hiệu là mảng đầu, mảng            trình.
                                 về dạng chuẩn Choomssky.
Thuật toán 3: Xây dựng                                             cuối và mảng trọng số.            * Chứng minh định lý Euler.
                                 - Với giả thiết: Văn phạm
VPCQ G tương đương với                                             II) Các định lý                   - Điều kiện cần: giả sử G là
                                 không chứa ký tự vô sinh,
OH.                                                                1. Định lý 1: Không tồn tại       Euler cần chứng minh mọi
                                 không chứa ký tự không
Input: M=<∑,Q,δ, q0, F> OHĐ                                        một đồ thị nào mà số đỉnh         đỉnh bậc chẵn cho G là Euler
                                 dẫn về được, không chứa
Output: G=<∑1,Δ1,P1,S1>                                            bậc lẻ là 1 số lẻ.                tức là tồn tại chu trình đi qua
                                 epsilon sản xuất và không
 ∑1=∑, Q1=Δ1,q0=S,                                                 2. Định lý 2: Mọi đồ thị số       tất cả các cạnh, mỗi cạnh đúng
                                 chứa sản xuất đơn.
Nếu δ(q,a) = P =>q->ap∈p1                                          đỉnh bậc lẻ phải là số chẵn       1 lần, từ đó suy ra mỗi lần chu
Và δ(q,a)=P∈F =>q->a∈p1                                            Đề thi: CMR không tồn tại         trình đi qua 1 đỉnh thì bậc của
                                 Thuật toán chuyển về dạng
                                                                   1 đỉnh bậc lẻ là 1 số lẻ          đỉnh tăng 2. Từ đó => mọi
                                 chuẩn Chomsky:
Thuật toán 4: Khử ký tự vô                                         CM:                               đỉnh bậc chẵn.
                                 Bước 1: giữ nguyên các sx
sinh.                                                              Giả sử xk và xm là 2 đỉnh         - Điều kiện đủ: Giả sử mọi
                                 đã thuộc chuẩn Chomsky.
Xuất phát từ tập A=Φ                                               bậc lẻ thì chúng ta nối 2         đỉnh bậc chẵn => tồn tại chu
                                 Bước 2: Xét A->x1,x2…xn
Nếu A->a thì Δ=Δ∪{A}                                               cung phụ vào 2 đỉnh này =>        trình C đi qua các cạnh, mỗi
                                 với xk∈∑.
Nếu A->x1,x2,…xn∈Δ->Δ=Δ∪{A}                                        2 đỉnh trở về chẵn => nếu G       cạnh đúng 1 lần. Vì G là liên
                                  Thay A->x1,x2…xn bởi
Khi đó: tập sản xuất chỉ giữ                                       có 2k+1 đỉnh lẻ thì ta thêm       thông và mọi đỉnh bậc chẵn từ
                                 A->x1,x2…Ak…xn
lại các sản xuất chứa các                                          k cung để biến đỉnh lẻ thành      đó suy ra mọi đỉnh của G bậc
                                 Ak->xk
biến trong Δ.                                                      đỉnh chẵn.                        ≥2 => tồn tạ chu trình C1 ∈G.
                                 Bước 3: Xét A->x1,x2…xn
                                                                   => 1 đồ thị có số đỉnh bậc        Nếu C1 chứa tất cả các cạnh
                                 với ∀xk∈∑.                        lẻ là 1 số lẻ sẽ tương đương      => đó chính là chu trình Euler
                                                                   với 1 đồ thị có 1 đỉnh là số      cần tìm.
                                                                   lẻ.
Nếu C1 chưa chứa tất cả các      1. Thuật toán Khuska             - Xuất phát từ 1 đỉnh bất kỳ,    u∈U đều được gán một số
cạnh, ta xóa C1 khỏi G, xóa      Bước 1: Sắp xếp các cạnh         hãy kết nạp vào cây khung        thức l(u), l(u) gọi là trọng số
chu trình khỏi G và đồng         theo Cij tăng dần                mà đỉnh lân cận gần nhất         của cạnh u. Trọng số của đồ
thời xóa các đỉnh cô lập xuất    Bước 2: xuất phát từ T=∅         với đỉnh xuất phát và thuật      thị G ta ký hiệu là l(G):=∑l(u).
hiện =: thu được G1 mọi          hãy kết nạp dần T theo           toán sẽ kết thúc khi tập đỉnh    Nếu l(u)≥0 với mọi u∈U thì ta
đỉnh bậc chẵn.                   nguyên tắc từ cạnh bé đến        =n.                              nói đồ thị G là đồ thị có trọng
- Áp dụng bổ đề, trong G1        cạnh lớn để sao cho cạnh         * Nhận xét:                      số không âm.
tồn tại chu trình C2∈G1, nếu     sau không được tạo thành         1. Thuật toán không cần sắp      Giả sử a=x1u1x2u2…xkukxk+1=b
C2 chứa tất cả các cạnh =>       chu trình với cạnh trước.        xếp, từ đó dẫn tới độ phức       là đường đi từ a đến b trong đồ
ĐPCM. Nếu không ta lại           Thuật toán kết thúc khi số       tạp của thuật toán thấp hơn.     thị có trọng số G. Độ dài
xóa tiếp.                        cạnh trong T=n-1                 2. Do ta kết nạp các đỉnh        đường đi trên là l(a,b):=∑l(ui)
Ta nối C1,C2,….Cn =>             - Nhận xét 1: Độ phức tạp        hoàn toàn mới, từ đó khẳng       và gọi là trọng số của đường đi
* Thuật toán:                    của thuật toán sẽ phụ thuộc      định, đỉnh mới luôn luôn         từ đỉnh a đến đỉnh b. Ký hiệu
Xuất phát từ 1 đỉnh bất kỳ,      vào thuật toán sắp xếp.          kết nạp đỉnh ngoài.              D(a,b) là tập tất cả các đường
hảy đi 1 cách thoải mái, chỉ     - Nhận xét 2: Trong trường       Vì vậy khi cần kiểm soát         đi từ đỉnh a đến đỉnh b trong
cần tuân thủ 2 nguyên tắc        hợp đồ thị nhiều cạnh ta vẫn     quá trình tạo chu trình.         đồ thị có trọng số G. Đường đi
NT1: Đi đến đâu xóa cạnh         phải sắp xếp tất cả các cạnh     3. Để xây dựng thuật toán,       ngắn nhất từ đỉnh a đến đỉnh b
đến đó, đồng thời xóa các        bắt buộc, tuy nhiên khi kết      với 1 đỉnh xk [αk,βk].           là đường thỏa mãn
đỉnh cô lập tạo thành.           nạp chỉ kết nạp n-1 cạnh.        Trong đó:                        l(a,b)=min{l(ω)/ω∈D(a,b)}
NT2: Chỉ đi qua cầu (cung        + Điểm khó nhất của thuật        αk: là khoảng cách nhỏ nhất      * Mô tả thuật toán
lối trực tiếp giữa 2 đỉnh) khi   toán chính là cần xác định       đến tập A.                       Procedure Dijkstra (G=<X,U):
không còn cách nào khác thì      sao cho cạnh sau không tạo       βk: là đỉnh tương ứng với        đồ thị liên thông có trọng số
mới được đi.                     thành chu trình với cạnh         khoảng cách nhỏ nhất được        không âm)
CM: G là 1 đỉnh Euler           trước.                           nối với đỉnh đó trong tập A      {G có các đỉnh a=x0,x1....,xn
không quá một đỉnh bậc lẻ.       Cách làm: Ký hiệu A là tập       được nối với xk.                 =b và trọng số l(xi,xj)=∞ nếu
Do G không quá 1 đỉnh bậc        đỉnh của T hiện thời. xét        * Mô tả thuật toán               (xi,xj)≠U trong G}
lẻ do đó số đỉnh bậc lẻ chỉ là   cạnh xk -> xl khi đó có các      Procedure Prim                   For i:= l to n
0 or 2. Nếu là 0 -> chính là     khả năng sau:                    Input: G=<V,E>                   σ(vi):= ∞
chu trình Euler. Nếu số đỉnh     1. xk,xl∈A => tồn tại chu        Output: A={u0}                   σ(a):=0
bậc lẻ là 2 ta đem nối 1 cung    trình => không được chấp                  Tmin =∅
phụ giữa 2 đỉnh lẻ -> mọi                                                                          S:=∅
                                 nhận.                            While |A<n do
đỉnh bậc chẵn -> ĐPCM.                                                                             {ban đầu các nhãn được khởi
                                 2. xk∈A; xl∉A => kết nạp         Begin
Từ 1 chu trình C’ đi qua mọi     được đồng thời kết nạp xl vào      Xét u∉A
                                                                                                   tạo sao cho nhãn của a bằng 0,
cạnh, ta xóa khỏi C’ cung phụ    A (A được mở rộng).                If d(u,x*) = min d(v,A) then   còn các đỉnh khác bằng ∞, tập
nối 2 đỉnh lẻ ta thu được định   3. xk∉A; xl∉A => kết nạp           A= A∪{v}                       S=∅}.
lý.                              được và đồng thời kết hợp          Tmin=Tmin ∪ {x*, v}            While b∉S
* Mô tả thuật toán               được xk vào A.                   End;                             Begin
Procedure Euler(G:đồ thị vô      4. xk∉A; xl∉A => kết nạp         Output(Tmin)                     U:=đỉnh không thuộc S có
hướng liên thông với các         được và phát sinh tập mới.       3. Thuật toán Diskstra           nhãn σ(u) nhỏ nhất.
                                 => Thuật toán kết thúc khi tất   Thuật toán tìm đường đi          S:=S∪{u}
đỉnh đều bậc chẵn)
                                 cả các tập gộp làm 1.            ngắn nhất với ma trận trọng
Chu trình:=Chu trình trong                                                                         For tất cả các đỉnh x không
                                 * Mô tả thuật toán               số không âm.
G bắt đầu tại một đỉnh được      Procedure Kruska                                                  thuộc S.
chọn tùy ý và các cạnh được                                       - Xuất phát trên tư tưởng        If σ(u)+l(u,x)< σ(x):= σ(u)
                                 Input: G=<V,E>
thêm vào để xây dựng                                              gán 1 đỉnh xk với 1 nhãn là      +l(u,x).
                                 Output: Tmin cây khung bé nhất
đường đi qua các đỉnh và              + Sắp xếp E theo Cij tăng   [αk,βk]. trong đó                {thêm vào S đỉnh có nhãn nhỏ
cuối cùng quay lại đỉnh xuất     dần.                             αk: khoảng cách đường đi         nhất và sửa đổi nhãn của các
phát ban đầu;                       + Tmin = ∅                    ngắn nhất.                       đỉnh không thuộc S}.
H:=G với các cạnh của G          While |Tmin<n-1 do              βk: đỉnh nối với xk trong        End {l(a,b)=độ dài đường đi
sau khi bỏ đi chu trình;         Begin                            đường đi ngắn nhất.              ngắn nhất từ a đến b
While H còn các cạnh                      + Xét (u,v)∈E           Trong quá trình tiến hành        4. Thuật toán Ployd
Begin                                     If (u,v) không tạo      các nhãn luôn luôn thay đổi      Xác định đường đi ngắn nhất
                                 thành chu trình trong Tmin.      liên tục và chọn các nhãn
Chu trình con:=chu trình                                                                           giữa mọi cặp đỉnh.
                                          Then Begin              nhỏ nhất.
trong H bắt đầu tại đỉnh                                                                           Nhận xét:
                                             Tmin= Tmin∪(u,v)
trong H cũng là đỉnh đầu                                          Nhãn d(xk) = min[d(xk),          - Dij KS kiểm tra đường đi
                                             E=E(u,v)
mút của một cạnh thuộc chu                End;
                                                                  d(u0 + C[u,xk]]. Trong đó:       ngắn nhất từ i->j.
trình.                           End.                             d(u) : là nhãn trước             - Mô phỏng thuật toán
H:=H với các cạnh của chu        Output (Tmin).                   C[u,xk]: là khoảng cách từ       For i:=1 to n do
trình con được chèn vào tại      2. Thuật toán Prim               u-> x.                           For j:=1 to n do
một đỉnh thích hợp;              Xuất phát từ tư tưởng lân        * Định nghĩa:                    If(i≠j) theo Dij ks ktra (i,j).
End {chu trình là chu trình      cận lớn nhất.                    * Đồ thị G=<X,U> được            Thuật toán:
Euler}.                                                           gọi là đồ thị có trọng số khi
III) Các thuật toán cơ bản                                        và chỉ khi mỗi cạnh (cung)
Input: ma trận trọng số
C=(Cịj)nxm
Output: là ma trận D đường
đi ngắn nhất.
Ký hiệu:
dij là đường đi ngắn nhất từ
i->J.
θij là đỉnh đi trước đỉnh j
trong đường đi từ i->j
Bước 1: Khởi tạo Dij=Cij
                      θij =i
     Bước 2: lặp k:=1 ->n
     Bước 3: For i:=1 ->n
                For j:=1 ->n
      If(nếu) Dij>Dik+Dkj
         -> Dij=Dik+DKj
            θij =θki




4. Dạng chuẩn Chomsky
* Định nghĩa:
1 văn phạm được gọi là dạng
chuẩn Chomsky nếu tập sản
xuất có dạng A->BC
            A->a
Ý nghĩa: Nếu thuộc dạng chuẩn
Chomsky thì khi xây dựng cây
văn phạm thì đó là cây nhị
phân.
* Mô tả thuật toán
Procedure Chomsky
Input:    G=<∑,∆,P,S)      PNC
không chứa ký tự vô ích, không
chứa epsilon sản xuất, không
chứa sản xuất đơn.
Output: G1 là dạng chuẩn
Chômsky.
P có dạng
      A -> x1,x2,x3,…xn n≥2
      A ->a
B1: Khử epsilon sản xuất
B2: Khử sản xuất đơn
B3: Khử ký tự vô sinh
B4: Khử ký tự không dẫn về
được
B5: Đưa về dạng chuẩn
Chomsky.

More Related Content

What's hot

100 đề thi thử tốt nghiệp hay truonghocso.com
100 đề thi thử tốt nghiệp hay   truonghocso.com100 đề thi thử tốt nghiệp hay   truonghocso.com
100 đề thi thử tốt nghiệp hay truonghocso.comThế Giới Tinh Hoa
 
ThiếT Kế Và đáNh Giá ThuậT ToáN
ThiếT Kế Và đáNh Giá ThuậT ToáNThiếT Kế Và đáNh Giá ThuậT ToáN
ThiếT Kế Và đáNh Giá ThuậT ToáNguest717ec2
 
Lý thuyết tính toán - BKHN - 6
Lý thuyết tính toán - BKHN - 6Lý thuyết tính toán - BKHN - 6
Lý thuyết tính toán - BKHN - 6Minh Lê
 
Lý thuyết tính toán - BKHN - 7
Lý thuyết tính toán - BKHN - 7Lý thuyết tính toán - BKHN - 7
Lý thuyết tính toán - BKHN - 7Minh Lê
 
[Math educare] giao trinh toan cao cap a1-giai tich ham mot bien_chuoi so
[Math educare] giao trinh toan cao cap a1-giai tich ham mot bien_chuoi so[Math educare] giao trinh toan cao cap a1-giai tich ham mot bien_chuoi so
[Math educare] giao trinh toan cao cap a1-giai tich ham mot bien_chuoi soNguyen Vietnam
 
Lý thuyết tính toán - BKHN - 3
Lý thuyết tính toán - BKHN - 3Lý thuyết tính toán - BKHN - 3
Lý thuyết tính toán - BKHN - 3Minh Lê
 
Tom tat cong thuc xstk
Tom tat cong thuc xstkTom tat cong thuc xstk
Tom tat cong thuc xstkBích Anna
 
Phân tích và thiết kế thuật toán độ phức tạp
Phân tích và thiết kế thuật toán   độ phức tạpPhân tích và thiết kế thuật toán   độ phức tạp
Phân tích và thiết kế thuật toán độ phức tạpgiangnguyn853776
 
TinHoc_tuyentapde_nk
TinHoc_tuyentapde_nkTinHoc_tuyentapde_nk
TinHoc_tuyentapde_nkQuyen Hong
 
Thi thử toán mai anh tuấn th 2012 lần 3 k a
Thi thử toán mai anh tuấn th 2012 lần 3 k aThi thử toán mai anh tuấn th 2012 lần 3 k a
Thi thử toán mai anh tuấn th 2012 lần 3 k aThế Giới Tinh Hoa
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Nguyễn Công Hoàng
 
Thi thử toán hậu lộc 4 th 2012 lần 1 k b
Thi thử toán hậu lộc 4 th 2012 lần 1 k bThi thử toán hậu lộc 4 th 2012 lần 1 k b
Thi thử toán hậu lộc 4 th 2012 lần 1 k bThế Giới Tinh Hoa
 
Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...
Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...
Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...Nguyen Vietnam
 
7007643 baitap xu_li_tin_hieu_so_6201
7007643 baitap xu_li_tin_hieu_so_62017007643 baitap xu_li_tin_hieu_so_6201
7007643 baitap xu_li_tin_hieu_so_6201mvminhdhbk
 
Bai tap giai tich 2
Bai tap giai tich 2Bai tap giai tich 2
Bai tap giai tich 2quyet tran
 

What's hot (17)

100 đề thi thử tốt nghiệp hay truonghocso.com
100 đề thi thử tốt nghiệp hay   truonghocso.com100 đề thi thử tốt nghiệp hay   truonghocso.com
100 đề thi thử tốt nghiệp hay truonghocso.com
 
ThiếT Kế Và đáNh Giá ThuậT ToáN
ThiếT Kế Và đáNh Giá ThuậT ToáNThiếT Kế Và đáNh Giá ThuậT ToáN
ThiếT Kế Và đáNh Giá ThuậT ToáN
 
Lý thuyết tính toán - BKHN - 6
Lý thuyết tính toán - BKHN - 6Lý thuyết tính toán - BKHN - 6
Lý thuyết tính toán - BKHN - 6
 
Lý thuyết tính toán - BKHN - 7
Lý thuyết tính toán - BKHN - 7Lý thuyết tính toán - BKHN - 7
Lý thuyết tính toán - BKHN - 7
 
[Math educare] giao trinh toan cao cap a1-giai tich ham mot bien_chuoi so
[Math educare] giao trinh toan cao cap a1-giai tich ham mot bien_chuoi so[Math educare] giao trinh toan cao cap a1-giai tich ham mot bien_chuoi so
[Math educare] giao trinh toan cao cap a1-giai tich ham mot bien_chuoi so
 
Lý thuyết tính toán - BKHN - 3
Lý thuyết tính toán - BKHN - 3Lý thuyết tính toán - BKHN - 3
Lý thuyết tính toán - BKHN - 3
 
Tom tat cong thuc xstk
Tom tat cong thuc xstkTom tat cong thuc xstk
Tom tat cong thuc xstk
 
Phân tích và thiết kế thuật toán độ phức tạp
Phân tích và thiết kế thuật toán   độ phức tạpPhân tích và thiết kế thuật toán   độ phức tạp
Phân tích và thiết kế thuật toán độ phức tạp
 
TinHoc_tuyentapde_nk
TinHoc_tuyentapde_nkTinHoc_tuyentapde_nk
TinHoc_tuyentapde_nk
 
Thi thử toán mai anh tuấn th 2012 lần 3 k a
Thi thử toán mai anh tuấn th 2012 lần 3 k aThi thử toán mai anh tuấn th 2012 lần 3 k a
Thi thử toán mai anh tuấn th 2012 lần 3 k a
 
Toan Cao Cap A1
Toan Cao Cap A1Toan Cao Cap A1
Toan Cao Cap A1
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
 
Thi thử toán hậu lộc 4 th 2012 lần 1 k b
Thi thử toán hậu lộc 4 th 2012 lần 1 k bThi thử toán hậu lộc 4 th 2012 lần 1 k b
Thi thử toán hậu lộc 4 th 2012 lần 1 k b
 
Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...
Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...
Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...
 
7007643 baitap xu_li_tin_hieu_so_6201
7007643 baitap xu_li_tin_hieu_so_62017007643 baitap xu_li_tin_hieu_so_6201
7007643 baitap xu_li_tin_hieu_so_6201
 
Dãy số namdung
Dãy số namdungDãy số namdung
Dãy số namdung
 
Bai tap giai tich 2
Bai tap giai tich 2Bai tap giai tich 2
Bai tap giai tich 2
 

Similar to Toan roi rac (chuan)

Goi y-toan-khoi-a-dh-2012-v2
Goi y-toan-khoi-a-dh-2012-v2Goi y-toan-khoi-a-dh-2012-v2
Goi y-toan-khoi-a-dh-2012-v2lam hoang hung
 
Thi thử toán nguyễn đức mậu na 2012 lần 1 k a
Thi thử toán nguyễn đức mậu na 2012 lần 1 k aThi thử toán nguyễn đức mậu na 2012 lần 1 k a
Thi thử toán nguyễn đức mậu na 2012 lần 1 k aThế Giới Tinh Hoa
 
De toan aa1 2012
De toan aa1 2012De toan aa1 2012
De toan aa1 2012Quyen Le
 
De toanaa1ct dh_k12
De toanaa1ct dh_k12De toanaa1ct dh_k12
De toanaa1ct dh_k12hosichuong
 
Chuong 2. de quy dai hoc
Chuong 2. de quy   dai hocChuong 2. de quy   dai hoc
Chuong 2. de quy dai hocVũ Nam
 
Thi thử toán vĩnh lộc th 2012 lần 2 k a
Thi thử toán vĩnh lộc th 2012 lần 2 k aThi thử toán vĩnh lộc th 2012 lần 2 k a
Thi thử toán vĩnh lộc th 2012 lần 2 k aThế Giới Tinh Hoa
 
Cau truc du_lieu_dac_biet
Cau truc du_lieu_dac_bietCau truc du_lieu_dac_biet
Cau truc du_lieu_dac_bietVõ Tâm Long
 
De cuong on tap toan 9 ky ii chuan qh (sửa)
De cuong on tap toan 9 ky ii chuan qh (sửa)De cuong on tap toan 9 ky ii chuan qh (sửa)
De cuong on tap toan 9 ky ii chuan qh (sửa)Nắng Vàng Cỏ Xanh
 
Thiết lập phương trình mặt phẳng
Thiết lập phương trình mặt phẳngThiết lập phương trình mặt phẳng
Thiết lập phương trình mặt phẳngThế Giới Tinh Hoa
 
Thi thử toán bỉm sơn th 2012 lần 2
Thi thử toán bỉm sơn th 2012 lần 2Thi thử toán bỉm sơn th 2012 lần 2
Thi thử toán bỉm sơn th 2012 lần 2Thế Giới Tinh Hoa
 
Thi thử toán đặng thúc hứa na 2012 lần 2 k ab
Thi thử toán đặng thúc hứa na 2012 lần 2 k abThi thử toán đặng thúc hứa na 2012 lần 2 k ab
Thi thử toán đặng thúc hứa na 2012 lần 2 k abThế Giới Tinh Hoa
 
De thi thu thpt t ndoc
De thi thu thpt t ndocDe thi thu thpt t ndoc
De thi thu thpt t ndocmuoigio
 
Chuong II 3 Ham so bac hai.pptx
Chuong II 3 Ham so bac hai.pptxChuong II 3 Ham so bac hai.pptx
Chuong II 3 Ham so bac hai.pptxthao299200
 
10 mat102-bai 7-v1.0
10 mat102-bai 7-v1.010 mat102-bai 7-v1.0
10 mat102-bai 7-v1.0Yen Dang
 
Thi thử toán chuyên nguyễn huệ 2011 lần 2 k a
Thi thử toán chuyên nguyễn huệ 2011 lần 2 k aThi thử toán chuyên nguyễn huệ 2011 lần 2 k a
Thi thử toán chuyên nguyễn huệ 2011 lần 2 k aThế Giới Tinh Hoa
 

Similar to Toan roi rac (chuan) (20)

Mon toan khoi a 2012 tuoi tre
Mon toan khoi a 2012 tuoi treMon toan khoi a 2012 tuoi tre
Mon toan khoi a 2012 tuoi tre
 
Goi y-toan-khoi-a-dh-2012-v2
Goi y-toan-khoi-a-dh-2012-v2Goi y-toan-khoi-a-dh-2012-v2
Goi y-toan-khoi-a-dh-2012-v2
 
Thi thử toán nguyễn đức mậu na 2012 lần 1 k a
Thi thử toán nguyễn đức mậu na 2012 lần 1 k aThi thử toán nguyễn đức mậu na 2012 lần 1 k a
Thi thử toán nguyễn đức mậu na 2012 lần 1 k a
 
De toan aa1 2012
De toan aa1 2012De toan aa1 2012
De toan aa1 2012
 
De toanaa1ct dh_k12
De toanaa1ct dh_k12De toanaa1ct dh_k12
De toanaa1ct dh_k12
 
Chuong 2. de quy dai hoc
Chuong 2. de quy   dai hocChuong 2. de quy   dai hoc
Chuong 2. de quy dai hoc
 
Thi thử toán vĩnh lộc th 2012 lần 2 k a
Thi thử toán vĩnh lộc th 2012 lần 2 k aThi thử toán vĩnh lộc th 2012 lần 2 k a
Thi thử toán vĩnh lộc th 2012 lần 2 k a
 
De toan a_2012
De toan a_2012De toan a_2012
De toan a_2012
 
Cau truc du_lieu_dac_biet
Cau truc du_lieu_dac_bietCau truc du_lieu_dac_biet
Cau truc du_lieu_dac_biet
 
De cuong on tap toan 9 ky ii chuan qh (sửa)
De cuong on tap toan 9 ky ii chuan qh (sửa)De cuong on tap toan 9 ky ii chuan qh (sửa)
De cuong on tap toan 9 ky ii chuan qh (sửa)
 
Thiết lập phương trình mặt phẳng
Thiết lập phương trình mặt phẳngThiết lập phương trình mặt phẳng
Thiết lập phương trình mặt phẳng
 
Thi thử toán bỉm sơn th 2012 lần 2
Thi thử toán bỉm sơn th 2012 lần 2Thi thử toán bỉm sơn th 2012 lần 2
Thi thử toán bỉm sơn th 2012 lần 2
 
Thi thử toán đặng thúc hứa na 2012 lần 2 k ab
Thi thử toán đặng thúc hứa na 2012 lần 2 k abThi thử toán đặng thúc hứa na 2012 lần 2 k ab
Thi thử toán đặng thúc hứa na 2012 lần 2 k ab
 
De toan a
De toan aDe toan a
De toan a
 
De thi thu thpt t ndoc
De thi thu thpt t ndocDe thi thu thpt t ndoc
De thi thu thpt t ndoc
 
Chuong II 3 Ham so bac hai.pptx
Chuong II 3 Ham so bac hai.pptxChuong II 3 Ham so bac hai.pptx
Chuong II 3 Ham so bac hai.pptx
 
BaiGiang_2.pdf
BaiGiang_2.pdfBaiGiang_2.pdf
BaiGiang_2.pdf
 
10 mat102-bai 7-v1.0
10 mat102-bai 7-v1.010 mat102-bai 7-v1.0
10 mat102-bai 7-v1.0
 
Thi thử toán chuyên nguyễn huệ 2011 lần 2 k a
Thi thử toán chuyên nguyễn huệ 2011 lần 2 k aThi thử toán chuyên nguyễn huệ 2011 lần 2 k a
Thi thử toán chuyên nguyễn huệ 2011 lần 2 k a
 
Nguyen ham
Nguyen hamNguyen ham
Nguyen ham
 

Toan roi rac (chuan)

  • 1. Toán rời rạc Thuật toán 5: Khử ký tự Phần 2: Đồ Thị => Để chứng minh định lý ta không dẫn về được. chỉ cần chứng minh không tồn Phần 1: NNHT&Ôtômát Xuất phát từ tập Δ={S}, tập I) Các định nghĩa tại 1 đồ thị nào có 1 đỉnh bậc ∑=Φ, nếu A∈Δ và - Đồ thị: G=(X,E) trong đó: lẻ. Giả thiết: A=>x1,x2…xn thì kết nạp X là tập đỉnh (x1, x2,…xn); E Phản chứng: Giả sử G có 1 Ta có: biến vào Δ và ký tự kết thúc là tập cạnh (e1,e2,..en). đỉnh bậc lẻ x1 vì x1 là 1 đỉnh VP: G=<∑,Δ,P,S> vào ∑. Khi đó tập sản xuất - Cung (xi,xj) – có hướng bậc lẻ ta xóa 1 cung đi qua x1 Otomat: M=<∑,Q,δ, q0, F> B sẽ lấy tất cả các sản xuất hoặc vô hướng thì x1 thành chẵn. Tuy nhiên Trong đó: có các biến ∈Δ và ký tự ∈∑ Chú ý: một cung vô hướng đỉnh kề với nó thành bậc lẻ x2 ∑: là bảng chữ cái khi tập có thể thay bằng hai cung tiếp tục lặp lại: ta xóa cung đi hợp các trạng thái trung Thuật toán 6: Loại bỏ ε ngược chiều nhau. qua x2 -> thành chẵn cứ như gian. sản xuất. - Chu trình: là một đường đi vậy ta xóa mãi đến khi hết ∑={a, b, c} A->ε sẽ được gọi là ε sản khép kín, đầu cuối trùng cạnh mọi đỉnh sẽ trở về bậc Q={q0, q1,… qn} xuất. nhau. không => q0: trạng thái xuất phát * Chú ý: A->ε thì A được + Chu trình Euler: là chu F: Tập trạng thái kết thúc gọi là biến triệt tiêu nếu trình đi qua tất cả các 3. Định lý 3: 1 đồ thị là đồ thị δ(q,a) = P A->x1,x2…xn và x1,xn là biến cạnh, mỗi cạnh 1 lần. Euler (là đồ thị tồn tại chu triệt tiêu thì A cũng là biến + Chu trình Haminton: là trình Euler) khi và chỉ khi 1 đồ Thuật toán 1: Biến đổi triệt tiêu. Khi đó: chu trình đi qua tất cả các thị tồn tại mọi đỉnh bậc chẵn OHK -> OHĐ. Bước 1: xác định tất cả các đỉnh mỗi đỉnh 1 lần (G-Euler  mọi đỉnh bậc Input: M=<∑,Q,δ, q0, F> biến triệt tiêu. - Bậc của đỉnh: chẵn). Output:M1=<∑1,Q1,δ1,q01, F1> Bước 2: Xét sản xuất Kí hiệu: din của x là số cung G1/2 Euler (tồn tại đường đi ∑1=∑; q01=q0, q1=2Q (là tập A->x1,x2…xn . đi vào đỉnh x Euler  không quá 2 đỉnh bậc hợp tất cả các tập con của Q - Nếu xk là biến triệt tiêu thì dout(x): là số cung đi ra của x lẻ). kể cả các tập Φ và q. thay xk bởi ε hoặc giữ d=din+dout: số bậc của x. CM: δ1([p1, p2,pk]a) = Uδ(pi, a). nguyên xk din: nửa bậc vào; dout: nửa Bổ đề: với mọi đồ thị G mà F1: là tập hợp tất cả các đỉnh - Không được thay tất cả bậc ra. bậc của đỉnh ≥2 thì luôn luôn của q1 có chứa các đỉnh Khi đó: đỉnh cô lập là đỉnh tồn tại chu trình. các xk=ε thuộc F. bậc 0, đỉnh bậc 1 là đỉnh - Nếu chu trình tồn tại khuyên treo. (là chu trình chỉ có 1 đỉnh) => Thuật toán 7: Chuẩn Thuật toán 2: Xây * Mô tả đồ thị ĐPCM. Choomssky. dựngOH, tương đương với Cách 1: Mô tả bằng ma trận - Nếu không tồn tại khuyên: Dạng chuẩn Choomssky có VPCQ G. kề (ma trận trọng số): với tức là đồ thị đã tồn tại cung. dạng: Input: G=<∑,Δ,P,S> mỗi 1 cung xi, xj gán 1 giá Xuất phát từ 1 đỉnh ta tiếp tục G=<∑,Δ,P,S> Output: M1=<∑1,Q1,δ1,q01, F1> trị (gọi là trọng số) Cịj mang đi: P= A->BC Lấy ∑1≡∑, Q1=Δ∪{D} (là ý nghĩa thực tế nào đó. + Nếu quay về đỉnh xuất phát A-> A đỉnh mới phát sinh), q01=S, G=(X,E) tương đương với => là 1 chu trình. F1={D}. ma trận C=(Cij)mxn + Nếu không quay về đỉnh Khi đó tồn tại bài toán: Cho Nếu A->aB thì δ(A,a) = B Cách 2: Mô tả bằng danh xuất phát => phải đi tiếp đến văn phạm phi ngữ cảnh bất Nếu A->a thì δ(A,a) = D sách cạnh: dùng 3 mảng ký khi quay về để thành 1 chu kỳ, hãy chuyển văn phạm hiệu là mảng đầu, mảng trình. về dạng chuẩn Choomssky. Thuật toán 3: Xây dựng cuối và mảng trọng số. * Chứng minh định lý Euler. - Với giả thiết: Văn phạm VPCQ G tương đương với II) Các định lý - Điều kiện cần: giả sử G là không chứa ký tự vô sinh, OH. 1. Định lý 1: Không tồn tại Euler cần chứng minh mọi không chứa ký tự không Input: M=<∑,Q,δ, q0, F> OHĐ một đồ thị nào mà số đỉnh đỉnh bậc chẵn cho G là Euler dẫn về được, không chứa Output: G=<∑1,Δ1,P1,S1> bậc lẻ là 1 số lẻ. tức là tồn tại chu trình đi qua epsilon sản xuất và không ∑1=∑, Q1=Δ1,q0=S, 2. Định lý 2: Mọi đồ thị số tất cả các cạnh, mỗi cạnh đúng chứa sản xuất đơn. Nếu δ(q,a) = P =>q->ap∈p1 đỉnh bậc lẻ phải là số chẵn 1 lần, từ đó suy ra mỗi lần chu Và δ(q,a)=P∈F =>q->a∈p1 Đề thi: CMR không tồn tại trình đi qua 1 đỉnh thì bậc của Thuật toán chuyển về dạng 1 đỉnh bậc lẻ là 1 số lẻ đỉnh tăng 2. Từ đó => mọi chuẩn Chomsky: Thuật toán 4: Khử ký tự vô CM: đỉnh bậc chẵn. Bước 1: giữ nguyên các sx sinh. Giả sử xk và xm là 2 đỉnh - Điều kiện đủ: Giả sử mọi đã thuộc chuẩn Chomsky. Xuất phát từ tập A=Φ bậc lẻ thì chúng ta nối 2 đỉnh bậc chẵn => tồn tại chu Bước 2: Xét A->x1,x2…xn Nếu A->a thì Δ=Δ∪{A} cung phụ vào 2 đỉnh này => trình C đi qua các cạnh, mỗi với xk∈∑. Nếu A->x1,x2,…xn∈Δ->Δ=Δ∪{A} 2 đỉnh trở về chẵn => nếu G cạnh đúng 1 lần. Vì G là liên Thay A->x1,x2…xn bởi Khi đó: tập sản xuất chỉ giữ có 2k+1 đỉnh lẻ thì ta thêm thông và mọi đỉnh bậc chẵn từ A->x1,x2…Ak…xn lại các sản xuất chứa các k cung để biến đỉnh lẻ thành đó suy ra mọi đỉnh của G bậc Ak->xk biến trong Δ. đỉnh chẵn. ≥2 => tồn tạ chu trình C1 ∈G. Bước 3: Xét A->x1,x2…xn => 1 đồ thị có số đỉnh bậc Nếu C1 chứa tất cả các cạnh với ∀xk∈∑. lẻ là 1 số lẻ sẽ tương đương => đó chính là chu trình Euler với 1 đồ thị có 1 đỉnh là số cần tìm. lẻ.
  • 2. Nếu C1 chưa chứa tất cả các 1. Thuật toán Khuska - Xuất phát từ 1 đỉnh bất kỳ, u∈U đều được gán một số cạnh, ta xóa C1 khỏi G, xóa Bước 1: Sắp xếp các cạnh hãy kết nạp vào cây khung thức l(u), l(u) gọi là trọng số chu trình khỏi G và đồng theo Cij tăng dần mà đỉnh lân cận gần nhất của cạnh u. Trọng số của đồ thời xóa các đỉnh cô lập xuất Bước 2: xuất phát từ T=∅ với đỉnh xuất phát và thuật thị G ta ký hiệu là l(G):=∑l(u). hiện =: thu được G1 mọi hãy kết nạp dần T theo toán sẽ kết thúc khi tập đỉnh Nếu l(u)≥0 với mọi u∈U thì ta đỉnh bậc chẵn. nguyên tắc từ cạnh bé đến =n. nói đồ thị G là đồ thị có trọng - Áp dụng bổ đề, trong G1 cạnh lớn để sao cho cạnh * Nhận xét: số không âm. tồn tại chu trình C2∈G1, nếu sau không được tạo thành 1. Thuật toán không cần sắp Giả sử a=x1u1x2u2…xkukxk+1=b C2 chứa tất cả các cạnh => chu trình với cạnh trước. xếp, từ đó dẫn tới độ phức là đường đi từ a đến b trong đồ ĐPCM. Nếu không ta lại Thuật toán kết thúc khi số tạp của thuật toán thấp hơn. thị có trọng số G. Độ dài xóa tiếp. cạnh trong T=n-1 2. Do ta kết nạp các đỉnh đường đi trên là l(a,b):=∑l(ui) Ta nối C1,C2,….Cn => - Nhận xét 1: Độ phức tạp hoàn toàn mới, từ đó khẳng và gọi là trọng số của đường đi * Thuật toán: của thuật toán sẽ phụ thuộc định, đỉnh mới luôn luôn từ đỉnh a đến đỉnh b. Ký hiệu Xuất phát từ 1 đỉnh bất kỳ, vào thuật toán sắp xếp. kết nạp đỉnh ngoài. D(a,b) là tập tất cả các đường hảy đi 1 cách thoải mái, chỉ - Nhận xét 2: Trong trường Vì vậy khi cần kiểm soát đi từ đỉnh a đến đỉnh b trong cần tuân thủ 2 nguyên tắc hợp đồ thị nhiều cạnh ta vẫn quá trình tạo chu trình. đồ thị có trọng số G. Đường đi NT1: Đi đến đâu xóa cạnh phải sắp xếp tất cả các cạnh 3. Để xây dựng thuật toán, ngắn nhất từ đỉnh a đến đỉnh b đến đó, đồng thời xóa các bắt buộc, tuy nhiên khi kết với 1 đỉnh xk [αk,βk]. là đường thỏa mãn đỉnh cô lập tạo thành. nạp chỉ kết nạp n-1 cạnh. Trong đó: l(a,b)=min{l(ω)/ω∈D(a,b)} NT2: Chỉ đi qua cầu (cung + Điểm khó nhất của thuật αk: là khoảng cách nhỏ nhất * Mô tả thuật toán lối trực tiếp giữa 2 đỉnh) khi toán chính là cần xác định đến tập A. Procedure Dijkstra (G=<X,U): không còn cách nào khác thì sao cho cạnh sau không tạo βk: là đỉnh tương ứng với đồ thị liên thông có trọng số mới được đi. thành chu trình với cạnh khoảng cách nhỏ nhất được không âm) CM: G là 1 đỉnh Euler  trước. nối với đỉnh đó trong tập A {G có các đỉnh a=x0,x1....,xn không quá một đỉnh bậc lẻ. Cách làm: Ký hiệu A là tập được nối với xk. =b và trọng số l(xi,xj)=∞ nếu Do G không quá 1 đỉnh bậc đỉnh của T hiện thời. xét * Mô tả thuật toán (xi,xj)≠U trong G} lẻ do đó số đỉnh bậc lẻ chỉ là cạnh xk -> xl khi đó có các Procedure Prim For i:= l to n 0 or 2. Nếu là 0 -> chính là khả năng sau: Input: G=<V,E> σ(vi):= ∞ chu trình Euler. Nếu số đỉnh 1. xk,xl∈A => tồn tại chu Output: A={u0} σ(a):=0 bậc lẻ là 2 ta đem nối 1 cung trình => không được chấp Tmin =∅ phụ giữa 2 đỉnh lẻ -> mọi S:=∅ nhận. While |A<n do đỉnh bậc chẵn -> ĐPCM. {ban đầu các nhãn được khởi 2. xk∈A; xl∉A => kết nạp Begin Từ 1 chu trình C’ đi qua mọi được đồng thời kết nạp xl vào Xét u∉A tạo sao cho nhãn của a bằng 0, cạnh, ta xóa khỏi C’ cung phụ A (A được mở rộng). If d(u,x*) = min d(v,A) then còn các đỉnh khác bằng ∞, tập nối 2 đỉnh lẻ ta thu được định 3. xk∉A; xl∉A => kết nạp A= A∪{v} S=∅}. lý. được và đồng thời kết hợp Tmin=Tmin ∪ {x*, v} While b∉S * Mô tả thuật toán được xk vào A. End; Begin Procedure Euler(G:đồ thị vô 4. xk∉A; xl∉A => kết nạp Output(Tmin) U:=đỉnh không thuộc S có hướng liên thông với các được và phát sinh tập mới. 3. Thuật toán Diskstra nhãn σ(u) nhỏ nhất. => Thuật toán kết thúc khi tất Thuật toán tìm đường đi S:=S∪{u} đỉnh đều bậc chẵn) cả các tập gộp làm 1. ngắn nhất với ma trận trọng Chu trình:=Chu trình trong For tất cả các đỉnh x không * Mô tả thuật toán số không âm. G bắt đầu tại một đỉnh được Procedure Kruska thuộc S. chọn tùy ý và các cạnh được - Xuất phát trên tư tưởng If σ(u)+l(u,x)< σ(x):= σ(u) Input: G=<V,E> thêm vào để xây dựng gán 1 đỉnh xk với 1 nhãn là +l(u,x). Output: Tmin cây khung bé nhất đường đi qua các đỉnh và + Sắp xếp E theo Cij tăng [αk,βk]. trong đó {thêm vào S đỉnh có nhãn nhỏ cuối cùng quay lại đỉnh xuất dần. αk: khoảng cách đường đi nhất và sửa đổi nhãn của các phát ban đầu; + Tmin = ∅ ngắn nhất. đỉnh không thuộc S}. H:=G với các cạnh của G While |Tmin<n-1 do βk: đỉnh nối với xk trong End {l(a,b)=độ dài đường đi sau khi bỏ đi chu trình; Begin đường đi ngắn nhất. ngắn nhất từ a đến b While H còn các cạnh + Xét (u,v)∈E Trong quá trình tiến hành 4. Thuật toán Ployd Begin If (u,v) không tạo các nhãn luôn luôn thay đổi Xác định đường đi ngắn nhất thành chu trình trong Tmin. liên tục và chọn các nhãn Chu trình con:=chu trình giữa mọi cặp đỉnh. Then Begin nhỏ nhất. trong H bắt đầu tại đỉnh Nhận xét: Tmin= Tmin∪(u,v) trong H cũng là đỉnh đầu Nhãn d(xk) = min[d(xk), - Dij KS kiểm tra đường đi E=E(u,v) mút của một cạnh thuộc chu End; d(u0 + C[u,xk]]. Trong đó: ngắn nhất từ i->j. trình. End. d(u) : là nhãn trước - Mô phỏng thuật toán H:=H với các cạnh của chu Output (Tmin). C[u,xk]: là khoảng cách từ For i:=1 to n do trình con được chèn vào tại 2. Thuật toán Prim u-> x. For j:=1 to n do một đỉnh thích hợp; Xuất phát từ tư tưởng lân * Định nghĩa: If(i≠j) theo Dij ks ktra (i,j). End {chu trình là chu trình cận lớn nhất. * Đồ thị G=<X,U> được Thuật toán: Euler}. gọi là đồ thị có trọng số khi III) Các thuật toán cơ bản và chỉ khi mỗi cạnh (cung)
  • 3. Input: ma trận trọng số C=(Cịj)nxm Output: là ma trận D đường đi ngắn nhất. Ký hiệu: dij là đường đi ngắn nhất từ i->J. θij là đỉnh đi trước đỉnh j trong đường đi từ i->j Bước 1: Khởi tạo Dij=Cij θij =i Bước 2: lặp k:=1 ->n Bước 3: For i:=1 ->n For j:=1 ->n If(nếu) Dij>Dik+Dkj -> Dij=Dik+DKj θij =θki 4. Dạng chuẩn Chomsky * Định nghĩa: 1 văn phạm được gọi là dạng chuẩn Chomsky nếu tập sản xuất có dạng A->BC A->a Ý nghĩa: Nếu thuộc dạng chuẩn Chomsky thì khi xây dựng cây văn phạm thì đó là cây nhị phân. * Mô tả thuật toán Procedure Chomsky Input: G=<∑,∆,P,S) PNC không chứa ký tự vô ích, không chứa epsilon sản xuất, không chứa sản xuất đơn. Output: G1 là dạng chuẩn Chômsky. P có dạng A -> x1,x2,x3,…xn n≥2 A ->a B1: Khử epsilon sản xuất B2: Khử sản xuất đơn B3: Khử ký tự vô sinh B4: Khử ký tự không dẫn về được B5: Đưa về dạng chuẩn Chomsky.