Nhờ gợi ý của j_random_hacker, tôi đã tìm ra giải pháp để giảm Vỏ bọc Vertex cho Sự cố Lưới:
Chúng tôi thực hiện một-Bạn-lưới gồm các khối 3 nhân 3, tức là-Bạn-lưới, với các đỉnh được sắp xếp dưới dạng cột và các cạnh được sắp xếp dưới dạng hàng . Chúng tôi sẽ xây dựng các hình chữ nhật trên lưới này (bản vẽ dưới đây sẽ giúp hiểu rất nhiều về các hình chữ nhật khác nhau được sử dụng)| V | 3 | E | 3 | V | { V 1 , ... , v N 1 } { e 1 , ... , e N 2 }| E|| V|3 |E|3 | V|{ v1, ... , vN1}{ e1, Lọ , eN2}
Đối với mỗi đỉnh, chúng ta tạo một hình chữ nhật loại 1, bao gồm cột trung tâm của cột khối tương ứng với đỉnh đó, vì vậy chúng ta cóhình chữ nhật loại 1.| V|
Mỗi khối tương ứng với một cặp duy nhất , với cho mỗi khối, chúng tôi thêm một hình chữ nhật loại 2:e i = ( v a , v b )( eTôi, vj)eTôi= ( vmột, vb)
- nếu hoặc , đây là hình chữ nhật 3 x 3 bao trùm toàn bộ khối.b < jj < ab < j
- if (resp. ), đây là hình chữ nhật 3 nhân 1 của cột bên trái (tương ứng bên phải) của khối.j = bj = aj = b
- nếu , đây là hình chữ nhật 1 x 3 bao phủ hàng trên cùng của khối.a < j < b
Vậy ta cóhình chữ nhật loại 2, những hình chữ nhật đó sẽ bắt buộc phải chọn, vì mỗi hình sẽ là bìa duy nhất cho góc trên cùng bên trái (hoặc trên cùng bên phải) của khối.| E| | V|
Như chúng ta đã nói, mỗi cạnh tương ứng với một hàng, với hai khối (hãy gọi chúng là endblocks) tương ứng với các điểm cuối của các đỉnh và , bây giờ chúng ta có hình chữ nhật loại 3:( eTôi, vmột)( eTôi, vb)
- đối với endblock (resp. ), chúng ta có một hình chữ nhật 1-by-2 bao phủ góc trên bên phải (phía trên bên trái) của endblock.( eTôi, vmột)( eTôi, vb)
Ta cóhình chữ nhật loại 3, và một lần nữa, chúng bắt buộc vì mỗi hình sẽ là bìa duy nhất cho góc trên bên phải (nếu đó là endblock đầu tiên) hoặc góc trên cùng bên trái (nếu là endblock thứ hai).2 | E|
Bây giờ, với mỗi cạnh chúng ta xây dựng các hình chữ nhật loại 4, giữa các endblocks, chúng ta có hai hình chữ nhật cho hàng thứ hai:
- Một người đi từ quảng trường trung tâm của khối thứ nhất đến quảng trường trung tâm bên trái của khối thứ hai.
- Một người đi từ quảng trường trung tâm bên phải của khối thứ nhất đến quảng trường trung tâm của khối thứ hai.
- Và hai hình chữ nhật giống nhau cho hàng thứ ba.
Ta cóhình chữ nhật loại 4, tuy nhiên không phải tất cả đều bắt buộc.4 | E|
Vì vậy, bây giờ, để che lưới:
- | E| ( | V| +2)Hình chữ nhật (loại 2 và 3) là bắt buộc và(loại 1 và 4) là tùy chọn.| V| +4 | E|
Để che, đối với một cạnh nhất định, phần giữa các endblocks cạnh chưa được bao phủ (hàng thứ hai và thứ ba của hàng khối), chúng ta có thể sử dụng:
- Bốn hình chữ nhật loại 4.
- một hình chữ nhật loại 1 và hai hình chữ nhật loại 4.
Lưu ý rằng trong mọi trường hợp, chúng ta cần ít nhất hai hình chữ nhật loại 4.
Vì vậy, ở đây hàm chi phí sẽ là:| E| ( | V| +4)+k
Nếu chúng là bìa đỉnh hợp lệ có ít hơn k đỉnh: chúng ta sử dụng các hình chữ nhật bắt buộc , thì đối với các hình chữ nhật tùy chọn, chúng ta có thể sử dụng các hình chữ nhật loại 1 tương ứng của bìa đỉnh và đối với mỗi hàng, chúng ta chỉ cần 2 hình chữ nhật loại 4 (chúng ta đã có một hình chữ nhật loại 1). Vì vậy, nếu đồ thị có nắp đỉnh hợp lệ, lưới có nắp đặt hợp lệ.| E| ( | V| +2)
Nếu chúng ta có nắp đặt hợp lệ cho lưới (có ít hơn hình chữ nhật ), thì với mỗi cạnh, chúng ta đã có hình chữ nhật loại 1 (và cạnh được "che ") Hoặc bốn hình chữ nhật loại 4, trong trường hợp đó, chúng ta có thể thay thế hai trong số chúng bằng một hình chữ nhật loại 1 và chúng ta vẫn có bìa hợp lệ với hình chữ nhật . Bằng cách lặp lại quá trình này, chúng tôi đạt được một giải pháp hợp lệ không có hàng sử dụng bốn hình chữ nhật loại 4, từ đó chúng tôi có thể có được một nắp đỉnh hợp lệ.| E| ( | V| +4)+k| E| ( | V| +4)+k
Vì vậy, nắp đỉnh có thể được giảm xuống nắp lưới. Và trường hợp vấn đề lưới có thể được mã hóa bởiche trên lưới cócác phần tử, vì vậy phần giảm là đa thức và bài toán lưới là NPC.| E| ( | V| +6)+ | V|9 | V| | E|
PS: Tôi nhận thấy sau khi viết câu trả lời này rằng rất nhiều hình chữ nhật thực sự vô dụng và việc giảm đơn giản hơn nhiều có thể được thực hiện bằng cách sử dụng một-Bạn-lưới vớibao gồm, sử dụng hàm chi phí| E|3 | V|| V| +4 | E|3 | E| +k