Hình thức hóa khái niệm bài toánª ς δυ: βαι τοαν ΣΗΟΡΤΕΣΤ−ΠΑΤΗ λα – “không hình thức”: bài toán tìm đường đi ngắn nhất giữa hai đỉnh cho trước trong một đồ thị vô hướng, không có tr
Trang 1NP-Đầy Đủ
Trang 2Vài khái niệm cơ bản
ª Βαι τοαν
– các tham số
– các tính chất mà lời giải cần phải thỏa mãn
ª Μοτ τηχ τηε∑ (ινστανχε) χυα βαι τοαν λα βαι τοαν µα χαχ τηαµ σο〈 χο τρ∫ χυ τηε∑
Trang 3Hình thức hóa khái niệm bài toán
ª ς δυ: βαι τοαν ΣΗΟΡΤΕΣΤ−ΠΑΤΗ λα
– “không hình thức”: bài toán tìm đường đi ngắn nhất giữa hai
đỉnh cho trước trong một đồ thị vô hướng, không có trọng số G = (V, E).
– “hình thức”:
° Một thực thể của bài toán là một cặp ba gồm một đồ thị cụ thể và hai đỉnh cụ thể
° Một lời giải là một dãy các đỉnh của đồ thị
° Bài toán SHORTEST-PATH là quan hệ kết hợp mỗi thực thể gồm một đồ thị và hai đỉnh với một đường đi ngắn nhất (nếu có) trong đồ thị nối hai đỉnh:
SHORTEST-PATH ⊆ I × S
Trang 4Bài toán trừu tượng
ª ∇∫νη νγη⌠α: µοτ βαι τοαν τρυ τνγ Θ λα µοτ θυαν ηε νη∫ πηαν τρεν µοτ ταπ Ι, 〉χ γοι λα ταπ χαχ
τηχ τηε∑ (ινστανχεσ) χυα βαι τοαν, ϖα µοτ ταπ Σ,
〉χ γοι λα ταπ χαχ λι γιαι χυα βαι τοαν:
Q ⊆ I × S
Trang 5Bài toán quyết định
ª Μοτ βαι τοαν θυψε〈τ 〉∫νη Θ λα µοτ βαι τοαν τρυ
τνγ µα θυαν ηε νη∫ πηαν Θ λα µοτ ηαµ τ Ι 〉ε〈ν Σ = {0, 1}, 0 τνγ νγ ϖι νο , 1 τνγ νγ ϖι ψεσ “ ” “ ”
Trang 6Bài toán tối ưu
ª Μοτ βαι τοαν το〈ι υ λα µοτ βαι τοαν τρονγ 〉ο τα χα◊ν ξαχ 〉∫νη τρ∫ λν νηα〈τ ηαψ τρ∫ νηο νηα〈τ χυα µοτ 〉αι
λνγ
ª ∇ο〈ι τνγ χυα λψ τηυψε〈τ ΝΠ−〉α◊ψ 〉υ λα χαχ βαι τοαν θυψε〈τ 〉∫νη, νεν τα πηαι επ (ρεχαστ) χαχ βαι τοαν το〈ι υ τηανη χαχ βαι τοαν θυψε〈τ 〉∫νη
ς δυ: τα 〉α⌡ επ βαι τοαν το〈ι υ 〉νγ 〉ι νγαν νηα〈τ
τηανη βαι τοαν θυψε〈τ 〉∫νη ΠΑΤΗ βανγ χαχη λαµ χηαν
κ τηανη µοτ τηαµ σο〈 χυα βαι τοαν
Trang 7Mã hoá (encodings)
ª ∇ε∑ µοτ χηνγ τρνη µαψ τνη γιαι µοτ βαι τοαν τρυ τνγ τη χαχ τηχ τηε∑ χυα βαι τοαν χα◊ν 〉χ βιε∑υ διεν σαο χηο χηνγ τρνη µαψ τνη χο τηε∑ 〉οχ ϖα
ηιε∑υ χηυνγ 〉χ
ª Τα µα⌡ ηοα (ενχοδε) χαχ τηχ τηε∑ χυα µοτ βαι τοαν τρυ τνγ 〉ε∑ µοτ χηνγ τρνη µαψ τνη χο τηε∑ 〉οχ χηυνγ 〉χ
– Ví dụ: Mã hoá tập N = {0, 1, 2, 3, 4, } thành tập các chuỗi
{0, 1, 10, 11, 100, }. Trong mã hoá này, e(17) = 10001
– Mã hóa một đối tượng đa hợp (chuỗi, tập, đồ thị, ) bằng cách kết hợp các mã hóa của các thành phần của nó
Trang 8Mã hoá (tiếp)
ª Μοτ βαι τοαν χυ τηε∑ λα µοτ βαι τοαν µα ταπ χαχ τηχ τηε∑ χυα νο λα ταπ χαχ χηυοι νη∫ πηαν
ª Μοτ γιαι τηυατ γιαι µοτ βαι τοαν χυ τηε∑ τρονγ τηι γιαν Ο(Τ(ν)) νε〈υ, κηι 〉α νο µοτ τηχ τηε∑ ι χο 〉ο δαι ν
= | ι | , τη νο σε⌡ χηο ρα λι γιαι τρονγ τηι γιαν Ο(Τ(ν))
ª Μοτ βαι τοαν χυ τηε∑ λα χο τηε∑ γιαι 〉χ τρονγ τηι γιαν 〉α τηχ νε〈υ το◊ν ται µοτ γιαι τηυατ γιαι νο τρονγ τηι γιαν Ο(νκ) ϖι µοτ ηανγ σο〈 κ ναο 〉ο
Trang 9Lớp P
ª ∇∫νη νγη⌠α: Λπ Π (χοµπλεξιτψ χλασσ Π) λα ταπ χαχ βαι τοαν θυψε〈τ 〉∫νη χυ τηε∑ χο τηε∑ γιαι 〉χ τρονγ
τηι γιαν 〉α τηχ
Trang 10Bài toán trừu tượng và bài toán cụ thể
Mã hóa e phải thõa điều kiện
° Nếu Q(i) ∈ {0, 1} là lời giải cho i ∈ I, thì lời giải cho thực thể e(i) ∈ {0, 1}∗ của bài toán quyết định cụ thể e(Q) cũng là Q(i).
e(Q)
Trang 11Các mã hoá
ª Μοτ ηαµ φ : {0, 1}∗ →{0, 1}∗ λα χο τηε∑ τνη 〉χ τρονγ τηι γιαν 〉α τηχ νε〈υ το◊ν ται µοτ γιαι τηυατ τηι γιαν
= ε2(ι) ϖα φ21(ε2 (ι)) = ε1(ι)
Trang 12Liên quan giữa các mã hóa
ª Λεµµα 36.1
• Χηο Θ λα µοτ βαι τοαν θυψε〈τ 〉∫νη τρυ τνγ τρεν
µοτ ταπ χαχ τηχ τηε∑ Ι, ϖα χηο ε1 ϖαε2 λα χαχ µα⌡ ηοα τρεν Ι χο λιεν θυαν 〉α τηχ
Trang 13Mã hóa chuẩn (standard encoding)
– Số nguyên 13 được biểu diễn bởi chuỗi có cấu trúc 1101
– Số nguyên −13 được biểu diễn bởi chuỗi có cấu trúc −1101
– Chuỗi [1101] là một chuỗi có cấu trúc có thể dùng làm “tên” (ví dụ, cho một phần tử của một tập, một đỉnh trong một đồ thị, )
Trang 14Mã hóa chuẩn (tiếp)
– Tập {a, b, c, d} có thể được biểu diễn bởi chuỗi có cấu trúc
tập các đỉnh tập các cạnh
Trang 15Một khung ngôn ngữ hình thức
ª Μοτ βανγ χη⌡ χαι Σ λα µοτ ταπ η⌡υ ηαν χαχ κψ ηιευ.
ª Μοτ νγον νγ⌡⌡ Λ τρεν Σ λα µοτ ταπ χαχ χηυοι ταο βι χαχ κψ ηιευ τ Σ.
– Ví dụ: nếu Σ = {0, 1}, thì L = {10, 11, 101, 111, 1011, } là ngôn ngữ
của các biểu diễn nhị phân của các số nguyên tố.
– Chuỗi rỗng được ký hiệu là ε , ngôn ngữ rỗng được ký hiệu là ∅
ª Νγον νγ⌡ χυα τα〈τ χα χαχ χηυοι τρεν Σ 〉χ κψ ηιευ λα Σ ∗
– Ví dụ: nếu Σ = {0, 1}, thì Σ ∗ = { ε , 0, 1, 00, 01, 10, 11, 000,…} là tập tất cả các chuỗi nhị phân.
– Mỗi ngôn ngữ L trên Σ đều là một tập con của Σ ∗
– Hợp và giao của các ngôn ngữ được định nghĩa giống như trong lý thuyết tập hợp
– Phần bu ø của L là = Σ ∗ − L
L
Trang 16Bài toán quyết định và ngôn ngữ tương ứng
ª ∇ο◊νγ νηα〈τ µοτ βαι τοαν θυψε〈τ 〉∫νη ϖι µοτ νγον
νγ⌡:
– Tập các thực thể cho bất kỳ bài toán quyết định Q nào là tập Σ∗
Vì Q là hoàn toàn được đặc trưng bởi tập của tất cả các thực thể nào của nó mà lời giải là 1 (yes), nên có thể xem Q như là một ngôn ngữ L trên Σ = {0, 1}, với
L = {x ∈ Σ∗ : Q(x) = 1}
Trang 17Bài toán quyết định và ngôn ngữ tương ứng (tiếp)
– Ví dụ: bài toán quyết định PATH là ngôn ngữ
{〈G, u, v, k〉 : G = (V, E) là một đồ thị vô hướng,
u, v ∈ V,
k ≥ 0 là một số nguyên, và tồn tại một
đường đi giữa u và v trong G mà chiều dài ≤ k}
Trang 18Ngôn ngữ và giải thuật
ª Μοτ γιαι τηυατ Α χηα〈π νηαν (αχχεπτ) µοτ χηυοι ξ ∈ {0, 1}∗ νε〈υ, ϖι ινπυτ λα ξ, Α ουτπυτσ Α(ξ) = 1
ª Μοτ γιαι τηυατ Α τ χηο〈ι (ρεϕεχτ) µοτ χηυοι ξ ∈ {0, 1}∗ νε〈υ Α(ξ) = 0
ª Νγον νγ⌡ 〉χ χηα〈π νηαν βι µοτ γιαι τηυατ Α λα ταπ χαχ χηυοι Λ = {ξ ∈ {0, 1}∗ : Α(ξ) = 1}
ª Μοτ νγον νγ⌡ Λ 〉χ θυψε〈τ 〉∫νη βι µοτ γιαι τηυατ
Α νε〈υ
– mọi chuỗi nhị phân trong L được chấp nhận bởi A và
– mọi chuỗi nhị phân không trong L được từ chối bởi A.
Trang 19Chấp nhận và quyết định ngôn ngử trong thời gian đa thức
ª Μοτ νγον νγ⌡ Λ 〉χ χηα〈π νηαν τρονγ τηι γιαν 〉α τηχ βι µοτ γιαι τηυατ Α νε〈υ
• 1 νο 〉χ χηα〈π νηαν βι Α ϖα νε〈υ
• 2 χο µοτ ηανγ σο〈 κ σαο χηο ϖι µοι χηυοι ξ ∈ Λ χο
〉ο δαι ν τη Α χηα〈π νηαν ξ τρονγ τηι γιαν Ο(νκ)
ª Μοτ νγον νγ⌡ Λ 〉χ θυψε〈τ 〉∫νη τρονγ τηι γιαν 〉α τηχβι µοτ γιαι τηυατ Α νε〈υ χο µοτ ηανγ σο〈 κ σαο χηο ϖι µοι χηυοι ξ ∈ {0, 1}∗ χο χηιε◊υ δαι ν τη Α θυψε〈τ
〉∫νη χηνη ξαχ ξ χο τρονγ Λ ηαψ κηονγ τρονγ τηι γιαν
Ο(νκ)
Trang 21Chứng thực trong thời gian đa thứcΒαι τοαν χηυ τρνη Ηαµιλτον
ª Μοτ χηυ τρνη ηαµιλτον χυα µοτ 〉ο◊ τη∫ ϖο ηνγ Γ = (ς, Ε) λα µοτ χηυ τρνη 〉ν χηα µοι 〉νη τρονγ ς 〉υνγ µοτ λα◊ν.
ª Μοτ 〉ο◊ τη∫ 〉χ γοι λα ηαµιλτον νε〈υ νο χηα µοτ χηυ τρνη ηαµιλτον, ϖα 〉χ γοι λα κηονγ ηαµιλτον τρονγ χαχ τρνγ ηπ κηαχ.
ª Βαι τοαν χηυ τρνη Ηαµιλτον λα ∇ο◊ τη∫ “ Γ χο µοτ χηυ τρνη ηαµιλτον κηονγ? Βαι τοαν ναψ δι δανγ µοτ νγον νγ⌡ ”
ηνη τηχ:
Trang 22Chứng thực trong thời gian đa thức (tiếp)
ª Λαµ τηε〈 ναο 〉ε∑ µοτ γιαι τηυατ θυψε〈τ 〉∫νη 〉χ νγον νγ⌡ ΗΑΜ−ΧΨΧΛΕ?
– Cho một thực thể <G> của bài toán, a possible decision
algorithm liệt kê tất cả các giao hoán của các đỉnh của G và
kiểm tra mỗi giao hoán có là một chu trình hamilton hay không.– Thời gian chạy của giải thuật trên?
° Giả sử mã hóa một đồ thị bằng ma trận kề của nó, thì số các
đỉnh của nó là m = Ω(√ n), với n = |<G>| là chiều dài của mã
Ω
Trang 23Kiểm tra trong thời gian đa thức
Βαι τοαν χηυ τρνη Ηαµιλτον (τιε〈π)
ª Ξετ µοτ βαι τοαν 〉ν γιαν ην: χηο µοτ 〉νγ 〉ι (µοτ δανη σαχη χαχ 〉νη) τρονγ µοτ 〉ο◊ τη∫ Γ = (ς, Ε), κιε∑µ τρα ξεµ νο χο πηαι λα µοτ χηυ τρνη ηαµιλτον ηαψ κηονγ
– Giải thuật:
° kiểm tra các đỉnh trên đường đi đã cho có phải là một giao
hoán của các đỉnh của V hay không.
° kiểm tra các cạnh trên đường đi có thực sự là các cạnh của E
và tạo nên một chu trình hay không
– Thời gian chạy: O(n2)
Trang 24Giải thuật chứng thực
ª Τα 〉∫νη νγη⌠α µοτ γιαι τηυατ χηνγ τηχ (ϖεριφιχατιον αλγοριτηµ) λα µοτ γιαι τηυατ Α χο ηαι 〉ο〈ι σο〈 (τωο−
αργυµεντ αλγοριτηµ), τρονγ 〉ο µοτ 〉ο〈ι σο〈 λα µοτ χηυοι ινπυτ τηονγ τηνγ ξ ϖα 〉ο〈ι σο〈 κια λα µοτ χηυοι νη∫ πηαν ψ, ψ 〉χ γοι λα µοτ χηνγ τη (χερτιφιχατε)
ª Νγον νγ⌡ 〉χ χηνγ τηχ βι µοτ γιαι τηυατ χηνγ τηχ Α λα
• Λ = {ξ ∈ {0, 1}∗ : το◊ν ται ψ ∈ {0, 1}∗ σαο χηο Α(ξ, ψ) = 1}
– Ví dụ: Trong bài toán chu trình hamilton, chứng thư là danh
sách của các đỉnh trong chu trình hamilton
Trang 25Lớp NP
ª Λπ ΝΠ (ΝΠ: “νονδετερµινιστιχ πολψνοµιαλ τιµε ) λα λπ ”
χαχ νγον νγ⌡ χο τηε∑ 〉χ χηνγ τηχ βι µοτ γιαι τηυατ τηι γιαν 〉α τηχ Χηνη ξαχ ην:
Trang 26Lớp NP– Ví dụ: HAM-CYCLE ∈ NP.
Trang 27Tính có thể rút gọn được (reducibility)
ª Λαµ τηε〈 ναο 〉ε∑ σο σανη “〉ο κηο χυα χαχ βαι τοαν?”
ª ς δυ
– Bài toán Q: Giải phương trình bậc nhất ax + b = 0
– Bài toán Q’: Giải phương trình bậc hai px2 + qx + r = 0
Trang 28Tính có thể rút gọn được (tiếp)
ª Μοτ νγον νγ⌡ Λ1 λα χο τηε∑ ρυτ γον 〉χ τρονγ τηι γιαν 〉α τηχ ϖε◊ µοτ νγον νγ⌡ Λ2 , κψ ηιευ Λ1 ≤ Π Λ2 , νε〈υ το◊ν ται µοτ ηαµ χο τηε∑ τνη 〉χ τρονγ τηι γιαν 〉α τηχ φ : {0, 1}∗ → {0, 1}∗ σαο χηο ϖι µοι ξ ∈ {0, 1}∗ ,
• x ∈ L1 ⇔ f(x) ∈ L2
– Ta gọi hàm f là hàm rút gọn (reduction function)
Trang 29Tính có thể rút gọn được (tiếp)
Trang 30Tính có thể rút gọn được (tiếp)
– Một giải thuật thời gian đa thức F tính f được gọi là một giải thuật rút gọn (reduction algorithm)
Trang 31Rút gọn trong thời gian đa thức
ª Λεµµα 36.3
• Λ1, Λ2 ⊆ {0, 1}∗ λα χαχ νγον νγ⌡ σαο χηο Λ1 ≤ Π Λ2
• Νε〈υ Λ2 ∈ Π τη Λ1 ∈ Π
Trang 32NP-đầy đủ
ª Μοτ νγον νγ⌡ Λ ⊆ {0, 1}∗ λα ΝΠ−〉α◊ψ 〉υ (ΝΠ−χοµπλετε) νε〈υ
Trang 33NP-đầy đủ (tiếp)
ª ∇∫νη λψ 36.4
– Nếu có bất kỳ một bài toán NP-đầy đủ nào có thể giải được
trong thời gian đa thức, thì P = NP
• Τνγ 〉νγ νη τηε〈:
– Nếu có bất kỳ một bài toán nào trong NP là không thể giải được trong thời gian đa thức, thì không có bài toán NP-đầy đủ nào là giải được trong thời gian đa thức
Trang 34Bài toán thỏa mãn mạch
Trang 35Bài toán thỏa mãn mạch (tiếp)
0
1 0 0 1
1 1 1
1
Trang 36Bài toán thỏa mãn mạch (tiếp)
ª Βαι τοαν τηοα µα⌡ν µαχη λα Χηο µοτ µαχη το∑ ηπ “
βοολ ταο βι χαχ χο∑νγ ΑΝ∆, ΟΡ, ϖα ΝΟΤ, νο χο τηε∑ τηοα µα⌡ν 〉χ κηονγ?”
• ΧΙΡΧΥΙΤ−ΣΑΤ = { 〈Χ〉 : Χ λα µοτ µαχη το∑ ηπ βοολ χο τηε∑ τηοα µα⌡ν 〉χ}
Trang 37Cách chứng minh NP-đầy đủ
ª Λεµµα 36.8
• Νε〈υ Λ λα µοτ νγον νγ⌡ σαο χηο Λ’ ≤ Π Λϖι µοτ Λ’ ∈ ΝΠΧ, τη Λ λα ΝΠ−κηο Τηεµ ϖαο 〉ο, νε〈υ Λ ∈ ΝΠ, τη Λ
∈ ΝΠΧ
Trang 38Bài toán thỏa mãn biểu thức bool
ª Βιε∑υ τηχ βοολ
∀ φ = ((ξ1 → ξ2) ∨ ¬((¬ξ1 ↔ ξ3) ∨ ξ4 )) ∧ ¬ξ2
– Một cách gán trị bool (truth assignment) cho một biểu thức bool
φ là một tập các trị cho các biến của φ
– Một cách gán thoả mãn (satisfying assignment) là một cách gán trị bool khiến cho biểu thức bool có trị là 1
– Một biểu thức bool có một cách gán thỏa mãn gọi là một biểu thức có thể thỏa mãn được
ª Βαι τοαν τηοα µα⌡ν βιε∑υ τηχ βοολ
• ΣΑΤ = {〈φ 〉 : φ λα βιε∑υ τηχ βοολ χο τηε∑ τηοα µα⌡ν
〉χ}
ª Τηεορεµ 36.9
Trang 39Bài toán thỏa mãn biểu thức bool dạng 3-CNF
ª Βιε∑υ τηχ βοολ δανγ 3−ΧΝΦ (3−χονϕυνχτιϖε νορµαλ φορµ)
∀ φ = (ξ1 ∨ ¬ξ1 ∨ ¬ξ2) ∧ (ξ3 ∨ ξ2 ∨ ξ4) ∧ (¬ξ1 ∨ ¬ξ3 ∨ ¬ξ4 )
ª Βαι τοαν τηοα µα⌡ν βιε∑υ τηχ βοολ δανγ 3−ΧΝΦ
• 3−ΧΝΦ−ΣΑΤ = {〈φ 〉 : φ λα βιε∑υ τηχ βοολ δανγ 3−ΧΝΦ χο τηε∑ τηοα µα⌡ν 〉χ}
ª Τηεορεµ 36.9
• Βαι τοαν τηοα µα⌡ν βιε∑υ τηχ βοολ δανγ 3−ΧΝΦ λα
ΝΠ−〉α◊ψ 〉υ
Trang 40Bài toán clique
ª Χαχ 〉∫νη νγη⌠α
– Một clique của một đồ thị vô hướng G = (V, E) là một đồ thị con
đầy đủ của G.
– Kích thước của một clique là số đỉnh mà nó chứa
Trang 41Bài toán clique (tiếp)
ª Βαι τοαν χλιθυε λα βαι τοαν το〈ι υ τµ χλιθυε χο κχη τηχ λν νηα〈τ χυα µοτ 〉ο◊ τη∫
Trang 42Bài toán che phủ đỉnh
ª Χαχ κηαι νιεµ χ βαν
– Một che phủ đỉnh (vertex cover) của một đồ thị vô hướng G =(V, E) là một tập con V’ ⊆ V sao cho nếu (u, v) ∈ E thì u ∈ V’ hoặc v ∈ V’ (hoặc cả hai).
– Kích thước của một che phủ đỉnh là số đỉnh trong đó
Trang 43Bài toán che phủ đỉnh (tiếp)
ª Βαι τοαν χηε πηυ 〉νη λα τµ µοτ χηε πηυ 〉νη χο κχη τηχ νηο νηα〈τ τρονγ µοτ 〉ο◊ τη∫ χηο τρχ
ª Βαι τοαν θυψε〈τ 〉∫νη τνγ νγ δι δανγ µοτ νγον νγ⌡ λα:
• ςΕΡΤΕΞ−ΧΟςΕΡ = { 〈Γ, κ〉 : 〉ο◊ τη∫ Γ χο µοτ χηε πηυ 〉νη χο
ª Τηεορεµ 36.12
• Βαι τοαν χηε πηυ 〉νη λα ΝΠ−〉α◊ψ 〉υ
Trang 44Bài toán tổng của tập con
ª Χηο µοτ ταπ η⌡υ ηαν Σ ⊂ Ν ϖα µοτ τρ∫ 〉χη τ ∈ Ν
ª Βαι τοαν το∑νγ χυα ταπ χον λα ηοι χο το◊ν ται µοτ ταπ χον Σ’⊆ Σ σαο χηο το∑νγ χαχ πηα◊ν τ χυα νο βανγ τ
ηαψ κηονγ
– Ví dụ: với S = {1, 3, 5, 7, 11, 13}, và t = 12 thì tập con S’ = {1,
11} là một lời giải
ª Βαι τοαν το∑νγ χυα ταπ χον δι δανγ µοτ νγον νγ⌡:
• ΣΥΒΣΕΤ−ΣΥΜ = { 〈Σ, τ〉 : το◊ν ται µοτ ταπ χον Σ’⊆ Σ σαο χηο
• t = ∑ s ∈ S’ s }
ª Τηεορεµ 36.13
• Βαι τοαν το∑νγ χυα ταπ χον λα ΝΠ−〉α◊ψ 〉υ
Trang 45Bài toán chu trình Hamilton
ª Βαι τοαν χηυ τρνη Ηαµιλτον
• ΗΑΜ−ΧΨΧΛΕ = {〈Γ〉 : Γ λα µοτ 〉ο◊ τη∫ ηαµιλτον}
ª Τηεορεµ 36.14
• Βαι τοαν χηυ τρνη ηαµιλτον λα ΝΠ−〉α◊ψ 〉υ
Trang 46Bài toán người bán hàng rong
ª Χαχ κηαι νιεµ χ βαν
– Cho một đồ thị đầy đủ G Mỗi cạnh (i, j) nối hai đỉnh i và j của
G có một chi phí là một số nguyên c(i, j)
– Ta định nghĩa một tua (tour) là một chu trình hamilton của G,
chi phí của tua là tổng của các chi phí của mỗi cạnh của tua
Trang 47Bài toán người bán hàng rong (tiếp)
ª Βαι τοαν νγι βαν ηανγ ρονγ (ΤΣΠ, τραϖελλινγ−
σαλεσπερσον προβλεµ) λα τµ µοτ τυα χο χηι πη νηο
νηα〈τ
ª Νγον νγ⌡ ηνη τηχ χηο βαι τοαν θυψε〈τ 〉∫νη τνγ νγ λα
Trang 48P = NP?
Βαι τοαν µ θυαν τρονγ νηα〈τ τρονγ κηοα ηοχ µαψ τνη λψ τηυψε〈τ