25.9.2004 1 Hình Hoïc Tính Toaùn 25.9.2004 Chương 11: Giao điểm của hai đoạn thẳng 2 Tính chất của đoạn thẳng ª Đònh nghóa – Một tổ hợp lồi của hai điểm khác nhau p 1 = (x 1 ,y 1 ) và p 2 = (x 2 ,y 2 ) là một điểm p 3 = (x 3 ,y 3 ) sao cho x 3 = α x 1 + (1 − α) x 2 y 3 = α y 1 + (1 − α) y 2 0 ≤ α ≤ 1 . – Đoạn thẳng p 1 p 2 là tập mọi tổ hợp lồi của p 1 và p 2 , ký hiệu đt p 1 p 2 – Các điểm đầu mút của đoạn thẳng p 1 p 2 là p 1 và p 2 – Đoạn thẳng có hướng p 1 p 2 là đoạn thẳng p 1 p 2 được đònh hướng từ p 1 đến p 2 , ký hiệu p 1 → p 2 . 25.9.2004 Chương 11: Giao điểm của hai đoạn thẳng 3 Tích chéo ª Đònh nghóa Tích chéo của hai vectors p 1 = (x 1 ,y 1 ) và p 2 = (x 2 ,y 2 ) là ª Nhận xét – Nếu p 1 × p 2 > 0 thì vectơ p 1 nằm theo chiều kim đồng hồ từ vectơ p 2 đối với (0, 0) – Nếu p 1 × p 2 < 0 thì vectơ p 1 nằm ngược chiều kim đồng hồ từ vectơ p 2 đối với (0, 0) – Nếu p 1 × p 2 = 0 thì O, p 1 và p 2 thẳng hàng. p 1 p 2 (0,0) p 1 p 2 (0,0) 1221 21 21 21 det yxyx yy xx pp −= =× 25.9.2004 Chương 11: Giao điểm của hai đoạn thẳng 4 Tích chéo (tiếp) x y p 1 p 2 (0,0) p x y (0,0) vectơ nằm ngược chiều kim đồng hồ từ p vectơ nằm theo chiều kim đồng hồ từ p p 1 × p 2 là diện tích của hình bình hành 25.9.2004 Chương 11: Giao điểm của hai đoạn thẳng 5 Tích chéo (tiếp) ª Nhận xét Cho hai đoạn thẳng có hướng p 0 → p 1 và p 0 → p 2 . Dùng phép tònh tiến mà vectơ tònh tiến là − p 0 , ta thấy – Nếu (p 1 − p 0 ) × (p 2 − p 0 ) > 0 thì p 0 → p 1 nằm theo chiều kim đồng hồ từ p 0 → p 2 – Nếu (p 1 − p 0 ) × (p 2 − p 0 ) < 0 thì p 0 → p 1 nằm ngược chiều kim đồng hồ từ p 0 → p 2 . p 0 p 1 p 2 p 0 p 1 p 2 ngược chiều kim đồng hồ theo chiều kim đồng hồ 25.9.2004 Chương 11: Giao điểm của hai đoạn thẳng 6 Xác đònh hai đoạn thẳng có cắt nhau không ª Bài toán Cho hai đoạn thẳng p 1 p 2 và p 3 p 4 . Hỏi: Hai đoạn thẳng có cắt nhau không? Hai cách giải quyết ª Cách giải 1: giải hệ thống phương trình bậc nhất để tìm tọa độ của điểm cắt (nếu có). Cách giải này cần dùng phép chia nên không chính xác khi tử số gần bằng 0. ª Cách giải 2: không cần dùng phép chia (xem slide tới). 25.9.2004 Chương 11: Giao điểm của hai đoạn thẳng 7 Xác đònh hai đoạn thẳng có cắt nhau không (tiếp) – Đònh nghóa: Một đoạn thẳng p 1 p 2 nằm hai bên (“straddle”) một đường thẳng nếu p 1 và p 2 nằm ở hai bên khác nhau của đường thẳng. (Trường hợp biên: p 1 hay p 2 nằm trên đường thẳng.) p 2 p 1 p 2 p 1 đt p 1 p 2 nằm hai bên đường thẳng L đt p 1 p 2 không nằm hai bên đường thẳng L p 2 p 1 L L L 25.9.2004 Chương 11: Giao điểm của hai đoạn thẳng 8 Xác đònh hai đoạn thẳng có cắt nhau không (tiếp) – Đònh lý: Hai đoạn thẳng cắt nhau nếu và chỉ nếu một trong các điều kiện sau (hoặc cả hai) là đúng. ª 1. Mỗi đoạn thẳng nằm hai bên đường thẳng chứa đoạn thẳng kia. ª 2. Một điểm đầu mút (điểm cuối) của đoạn thẳng này nằm trên đoạn thẳng kia. a b Đoạn thẳng a nằm hai bên đường thẳng chứa b, và đoạn thẳng b nằm hai bên đường thẳng chứa a 25.9.2004 Chương 11: Giao điểm của hai đoạn thẳng 9 Xác đònh hai đoạn thẳng có cắt nhau không (tiếp) p 2 p 1 p 3 p 4 (p 4 − p 1 ) × (p 2 − p 1 ) > 0 (p 3 − p 1 ) × (p 2 − p 1 ) < 0 p 4 p 1 p 3 p 2 (p 4 − p 1 ) × (p 2 − p 1 ) < 0 (p 3 − p 1 ) × (p 2 − p 1 ) < 0 Các tích chéo (p 3 − p 1 ) × (p 2 − p 1 ) và (p 4 − p 1 ) × (p 2 − p 1 ) có dấu khác nhau, do đó đt p 3 p 4 nằm hai bên đường thẳng chứa đt p 1 p 2 (và ngược lại) Các tích chéo (p 3 − p 1 ) × (p 2 − p 1 ) và (p 4 − p 1 ) × (p 2 − p 1 ) có cùng dấu, do đó đt p 3 p 4 không nằm hai bên đường thẳng chứa đt p 1 p 2 (và ngược lại) Dùng tích chéo để xác đònh một đoạn thẳng có nằm hai bên một đường thẳng hay không. 25.9.2004 Chương 11: Giao điểm của hai đoạn thẳng 10 Xác đònh hai đoạn thẳng có cắt nhau không (tiếp) p 1 p 3 p 4 p 2 (p 4 − p 1 ) × (p 2 − p 1 ) = 0 (p 3 − p 1 ) × (p 2 − p 1 ) < 0 (p 4 − p 1 ) × (p 2 − p 1 ) = 0 (p 3 − p 1 ) × (p 2 − p 1 ) = 0 p 1 p 3 p 2 p 4 p 1 p 2 p 3 p 4 [...]... f(x) ∉ L2 thì x ∉ L1 f {0,1}* {0,1}* x L2 L1 13 .11. 20 04 f(x) Ch 12: NP-Complete 29 Tí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) 13 .11. 20 04 Ch 12: NP-Complete 30 Rút gọn trong thời gian đa thức ª • ∀ • Λεµµα 36.3 Λ1, 2 ⊆ {0, 1}∗ λα χαχ νγο®ν νγ⌡ σαο χηο Λ1 ≤ Π 2 ⇒ Νε〈υ 2 ∈ Π τη Λ1 ∈ Π 13 .11. 20 04 Ch 12: NP-Complete... τηχ νγο®ν νγ⌡ Λ τρονγ τηι γιαν 〉α τηχ 13 .11. 20 04 Ch 12: NP-Complete 25 Lớp NP – Ví dụ: HAM-CYCLE ∈ NP 13 .11. 20 04 Ch 12: NP-Complete 26 Tí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 Γιαι πηνγ τρνη βα™χ νηα〈τ αξ... µα⌡ ηοα ε1 ϖα 2 λα χο λιε®ν θυαν 〉α τηχ νε〈υ το◊ν ται ηαι ηαµ χο τηε∑ τνη 〉χ τρονγ τηι γιαν 〉α τηχ φ 12 ϖα 21 σαο χηο ϖι µοι ι ∈ Ι τα χο φ 12( ε1(ι)) = 2( ι) ϖα 21 ( 2 (ι)) = ε1(ι) 13 .11. 20 04 Ch 12: NP-Complete 11 Liên quan giữa các mã hóa ª • ∀ • ª ª Λεµµα 36.1 Χηο Θ λα µο™τ βαι τοαν θυψε〈τ 〉∫νη τρυ τνγ τρε®ν µο™τ τα™π χαχ τηχ τηε∑ Ι, ϖα χηο ε1 ϖα 2 λα χαχ µα⌡ ηοα... νγο®ν νγ⌡ 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) 13 .11. 20 04 Ch 12: NP-Complete 28 Tính có thể rút gọn được (tiếp) ª Νηα™ν ξετ: ∀ξ ∈ {0,1}∗, τρα λι “ξ ∈ Λ1?” βανγ χαχη τρα λι “φ(ξ) ∈ 2? ” – khi f(x) ∈ L2 thì x... ξ χο τρονγ Λ ηαψ κηο®νγ τρονγ τηι γιαν Ο(νκ) 13 .11. 20 04 Ch 12: NP-Complete 19 Lớp P ª • ª • Μο™τ 〉∫νη νγη⌠α κηαχ χυα λπ Π: Π = {Λ ⊆ {0, 1}∗ : το◊ν ται µο™τ γιαι τηυα™τ Α θυψε〈τ 〉∫νη Λ τρονγ τηι γιαν 〉α τηχ} ∇∫νη λψ 36 .2 Π = {Λ : Λ 〉χ χηα〈π νηα™ν βι µο™τ γιαι τηυα™τ χηαψ τρονγ τηι γιαν 〉α τηχ} 13 .11. 20 04 Ch 12: NP-Complete 20 Chứng thực trong thời gian đa thức ª ª ª • Βαι τοαν... cạnh Μα⌡ ηοα χηυα∑ν χυα µο™τ 〉ο〈ι τνγ ∆ 〉χ κψ ηιε™υ λα 13 .11. 20 04 Ch 12: NP-Complete 14 Một khung ngôn ngữ hình thức ª ª ª Μο™τ βανγ χη⌡ χαι Σ λα µο™τ τα™π η⌡υ ηαν χαχ κψ ηιε™υ Μο™τ νγο®ν νγ⌡⌡ Λ τρε®ν Σ λα µο™τ τα™π χαχ χηυο©ι ταο βι χαχ κψ ηιε™υ τ Σ – Ví dụ: nếu Σ = {0, 1}, thì L = {10, 11, 101, 111 , 1 011, } là ngôn ngữ của các biểu diễn nhò phân của các số nguyên 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 13 .11. 20 04 Ch 12: NP-Complete 33 Bài toán thỏa mãn mạch ª Χο∑νγ λογιχ x x y z Cổng NOT ª z x y Cổng AND z Cổng OR Μαχη το∑ ηπ βοολ x1 x2 x5... χαχη γιαι πηνγ τρνη βα™χ ηαι: 0 2 + αξ + β = 0 Τα νοι: Βαι τοαν Θ “χο τηε∑ ρυτ γον 〉χ” ϖε◊ βαι τοαν Θ’ βανγ χαχη βιε∑υ διε©ν πηνγ τρνη βα™χ νηα〈τ δι δανγ: 0 2 + θξ + ρ = 0 Θ λα “κηο®νγ κηο ην” Θ’ ∇ιε◊υ κιε™ν: τηι γιαν 〉ε∑ ρυτ γον βαι τοαν “κηο®νγ 〉χ λα®υ ην” τηι γιαν 〉ε∑ γιαι χηνη βαι τοαν 〉ο 13 .11. 20 04 Ch 12: NP-Complete 27 Tính có thể rút gọn được (tiếp) ª... được biểu diễn bởi chuỗi có cấu trúc 110 1 – Số nguyên −13 được biểu diễn bởi chuỗi có cấu trúc 110 1 – Chuỗi [110 1] 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ò, ) 13 .11. 20 04 Ch 12: NP-Complete 13 Mã 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 ([0], [1], [10], [11] ) – Đồ thò có thể được biểu diễn bởi... trận kề của nó, thì số các đỉnh của nó là m = Ω(√ n), với n = || là chiều dài của mã hóa của G ° Có m! giao hoán của các đỉnh nên thời gian chạy là Ω( 2 n ) Ω(m!) = Ω(√ n!) = Giải thuật không chạy trong thời gian đa thức 13 .11. 20 04 Ch 12: NP-Complete 22 Kiểm tra trong thời gian đa thức ª Βαι τοαν χηυ τρνη Ηαµιλτον (τιε〈π) Ξετ µο™τ βαι τοαν 〉ν γιαν ην: χηο µο™τ 〉νγ 〉ι (µο™τ δανη σαχη χαχ . vectơ p 2 đối với (0, 0) – Nếu p 1 × p 2 = 0 thì O, p 1 và p 2 thẳng hàng. p 1 p 2 (0,0) p 1 p 2 (0,0) 122 1 21 21 21 det yxyx yy xx pp −= =× 25 .9 .20 04 Chương 11: Giao. p 1 p 2 – Các điểm đầu mút của đoạn thẳng p 1 p 2 là p 1 và p 2 – Đoạn thẳng có hướng p 1 p 2 là đoạn thẳng p 1 p 2 được đònh hướng từ p 1 đến p 2 , ký hiệu p 1 → p 2 . 25 .9 .20 04 Chương 11: . 25 .9 .20 04 1 Hình Hoïc Tính Toaùn 25 .9 .20 04 Chương 11: Giao điểm của hai đoạn thẳng 2 Tính chất của đoạn thẳng ª Đònh nghóa – Một tổ hợp lồi của hai điểm khác nhau p 1 = (x 1 ,y 1 ) và p 2