Đưa ra 3CNF với các mệnh đề trên các biến . Giả sử cả và xuất hiện trong công thức cho hầu hết các lần tương ứng.x 1 , ... , x n x i ¯ x i k iφ1, ... , φkx1, Lọ , xnxtôixtôi¯¯¯¯¯ktôi
Chúng tôi thiết kế một DAG màu có các đỉnh gồm ba phần:G
- "Gán" các đỉnh và , , . Màu với "màu" và với .ˉ v i ( j ) 1 ≤ i ≤ n 1 ≤ j ≤ k i v i ( j ) x i ( j ) ˉ v i ( j ) ¯ x i ( j )vtôi( j )v¯tôi( j )1 ≤ i ≤ n1 ≤ j ≤ ktôivtôi( j )xtôi( j )v¯tôi( j )xtôi¯¯¯¯¯( j )
- "Mệnh đề" đỉnh , , . Màu với màu (hoặc ) nếu (hoặc , resp.) Là nghĩa đen của mệnh đề và đó là mệnh đề thứ có chứa nghĩa đen này.1 ≤ i ' ≤ k j ' = 1 , 2 , 3 w i ' ( j ' ) x i ( j ) ¯ x i ( j ) ¯ x i x i j ' φ i ' jwtôi'( j')1 ≤ tôi'≤ kj'= 1 , 2 , 3wtôi'( j')xtôi( j )xtôi¯¯¯¯¯( j )xtôi¯¯¯¯¯xtôij'φtôi'j
- "Cắt" các đỉnh . Tô màu chúng với màu sắc riêng biệt khác nhau từ trên.s = s0, s1, Lọ , sn, sn + 1, ... sn + k= t
Các cạnh bao gồm:
- Stôi - 1vtôi( 1 ) , , ;v i ( k i ) s ivtôi( j ) vtôi( j + 1 )vtôi( ktôi) stôi
- ˉ v i ( j ) ˉ v i ( j + 1 ) ˉ v i ( k i ) s iStôi - 1v¯tôi( 1 ) , , ;v¯tôi( j ) v¯tôi( j + 1 )v¯tôi( ktôi) stôi
- và , .w i ' ( j ' ) s n + i 'Sn + i'- 1wtôi'( j')wtôi'( j') sn + i'
Chẳng hạn, từ 3CNF
đồ thị sau được tạo (Các hướng cạnh là từ trái sang phải).
( x1∨ x2∨ x3¯¯¯¯¯) ∧ ( x1∨ x2¯¯¯¯¯∨ x3)
Bây giờ nó không phải là khó để thấy rằng 3CNF ban đầu là satisfiable khi và chỉ khi có một - con đường với màu sắc đỉnh khác nhau trong .t GStG
(Bằng cách này, nó là một sản phẩm phụ rằng existsence của - con đường với màu sắc đỉnh khác nhau trong màu DAG là . Tôi không tìm thấy nhiều văn học về vấn đề này trong quan điểm tính toán Nếu. bạn biết đấy, hãy bình luận!)t NP-cứngStNP-hard
Vậy mối quan hệ giữa vấn đề của và OP là gì? Theo trực giác những gì chúng ta sẽ làm là thiết kế một ma trận , sao cho mỗi màu được ánh xạ thành một hàng (là một người) và các cạnh được ánh xạ tới các cột liên tiếp (các khe thời gian). Do đó, một lịch trình tối đa, về cơ bản là đi từ trái sang phải trong ma trận, tương ứng với một đường dẫn - .h s tGhst
Ma trận của chúng ta có các cột , với các chỉ số bắt đầu từ . Trong constrcution sau một là hai giá trị đáp ứng . Các tỷ lệ có thể là các lũy thừa lớn của và . Đặt .2 n + 1 + ∑ i 2 k i + k 0 X Y 1 ≪ X ≪ Y X / 1 , Y / X k n K i = 2 i + 2 ∑ i j = 1 k ih2n+1+∑i2ki+k0XY1≪X≪YX/1,Y/XknKi=2i+2∑ij=1ki
- Với mỗi , , hãy để (nếu tọa độ tồn tại, giống nhau dưới đây). 0 ≤ i ≤ n h ( s i , K i ) = h ( s i , K i - k i - 1 ) = h ( s i , K i + k i + 1 + 1 ) = Ysi0≤i≤nh(si,Ki)=h(si,Ki−ki−1)=h(si,Ki+ki+1+1)=Y
- Với mỗi , hãy để ; Đối với mỗi , chúng ta hãy .h ( x i ( j ) , K i - 1 + j ) = X ¯ x i ( j ) h ( ¯ x i ( j ) , K i - 1 + k i + 1 + j ) = Xxi(j)h(xi(j),Ki−1+j)=Xxi¯¯¯¯¯(j)h(xi¯¯¯¯¯(j),Ki−1+ki+1+j)=X
- Với mỗi , và một chữ trong mệnh đề , hãy để . 1 ≤ i ' ≤ k x φ i ' h ( x , K n + i ' ) = 1ϕi′1≤i′≤kxϕi′h(x,Kn+i′)=1
- Tất cả các mục khác là 0.
Ví dụ, đối với biểu đồ ví dụ trên, ma trận tương ứng là
Bây giờ chúng tôi khẳng định: 3CNF ban đầu là thỏa đáng khi và chỉ khi giá trị tối đa là .(2n+1)Y+∑ikiX+k
Xem xét việc lập kế hoạch đạt được giá trị tối đa. Vì có chính xác cột trong chứa , nên tất cả chúng phải được che lại. Đối với cột có hai lựa chọn là , giả sử việc lập lịch biểu gán nó cho . Vì cột phải được gán cho , do liên tiếp, chúng ta phải mất các cột thành . Điều tương tự cũng xảy ra nếu việc lập lịch biểu gán cột cho .h Y K i + k i + 1 Y s i K i s i K i + 1 K i + k i K i + k i + 1 s i + 1(2n+1)hYKi+ki+1YsiKisiKi+1Ki+kiKi+ki+1si+1
Do đó, để có giá trị , chúng ta phải chọn tất cả các còn lại có sẵn trong ma trận, tương ứng với một phép gán trên các biến. Vì vậy, giá trị còn lại của là có thể đạt được khi và chỉ khi phép gán thỏa mãn mọi mệnh đề.X k∑ikiXXk
Để kết luận, việc quyết định giá trị tối đa của lập lịch pháp lý là trong . Có lẽ đó là lý do tại sao tất cả các nỗ lực tìm kiếm thuật toán trước đây của chúng tôi đều thất bại.NP-hard