Phân vùng cạnh thành hình tam giác cầu vồng


9

Tôi tự hỏi nếu vấn đề sau đây là NP-hard.

Đầu vào: một biểu đồ đơn giản và tô màu của các cạnh ( không xác minh bất kỳ thuộc tính cụ thể nào).f : E { 1 , 2 , 3 } fG=(V,E)f:E{1,2,3}f

Câu hỏi: có thể phân vùng thành hình tam giác, sao cho mỗi hình tam giác có một cạnh của mỗi màu?| E | / 3E|E|/3

Tôi biết rằng không có màu sắc, vấn đề "phân vùng cạnh" một đồ thị thành , là NP-hard (xem NP-Completeness của một số vấn đề phân vùng cạnh ) nhưng với các màu tôi không biết. n 3Knn3

Tôi cũng sẽ quan tâm đến một kết quả cho phân vùng cạnh thành cầu vồng , với là hằng số. Tất nhiên, trong trường hợp này, vấn đề trở thành: cKcc

Đầu vào: một biểu đồ đơn giản và tô màu của các cạnh ( không xác minh bất kỳ thuộc tính cụ thể nào) .f : E { 1 , Mạnh , c ( c - 1 ) / 2 } fG=(V,E)f:E{1,,c(c1)/2}f

Câu hỏi: có thể phân vùng thành ', sao cho mỗi có một cạnh của mỗi màu?| E | / ( c ( c - 1 ) / 2 ) K c K cE|E|/(c(c1)/2) KcKc

Câu trả lời:


1

Tôi đã theo liên kết trong câu hỏi và sự giảm ở đó thực sự tạo ra các biểu đồ có các cạnh có màu tự nhiên sao cho mỗi có trong biểu đồ là " cầu vồng " (có chính xác một cạnh của mỗi màu). Nói cách khác, chúng ta có thể dễ dàng điều chỉnh mức giảm trong tờ giấy đó để nó giảm bớt vấn đề của bạn thay vì giảm phân vùng thành vấn đề của : chỉ cần gán mỗi cạnh một màu theo màu tự nhiên này và sau đó biểu đồ có thể được phân vùng thành "Rainbow s" nếu và chỉ khi nó có thể được phân vùng thành s.KnKnKnKnKn

Cấu trúc cơ bản của việc giảm trong bài báo đó có thể được thực hiện với 3 bước sau:

  1. Tạo nhiều bản sao của một biểu đồ cụ thể .Hn,p
  2. Xác định các phần nhất định của một số bản sao của với nhau (nghĩa là hợp nhất các đỉnh / cạnh giữa nhiều bản sao khác nhau của ).Hn,pHn,p
  3. Loại bỏ các đỉnh / cạnh nhất định từ một số bản sao.

Đồ thị đã là đỉnh của nó tập các length- vectơ modulo mà các thành phần thêm vào mod . Các cạnh kết nối mỗi hai đỉnh chỉ khác nhau ở hai thành phần có sự khác biệt và trong hai thành phần đó.Hn,pnp0p+11

Tôi đề xuất cách tô màu sau cho biểu đồ này: gán màu cho mỗi cạnh theo hướng của nó. Nếu và là các đỉnh liền kề, thì là một vectơ có thành phần bằng , một thành phần bằng và một thành phần bằng . Nói cách khác, với mọi cạnh có các tùy chọn cho các thành phần của khác không. Nếu chúng ta gán một màu duy nhất cho mỗi tùy chọn này thì chúng ta có một màu cho tất cả các cạnh sao cho mọi cạnh trong cùng một hướng có cùng màu. Khá dễ dàng để xác minh rằng không có hai cạnh trongxyxyn2011(x,y)(n2)xyKntrong cùng hướng. Do đó, mọi trong là một cầu vồng dưới màu này.Hn,pKnHn,pKn

Khi chúng tôi thực hiện theo cách giảm, chúng tôi sử dụng màu này cho mọi bản sao của . Do đó, ở cuối bước 1 trong danh sách trên, mỗi trong biểu đồ là cầu vồng .Hn,pKnKn

Trong bước 2 của danh sách trên, chúng tôi xác định một số đỉnh / cạnh với nhau. Cụ thể, trong phần giảm, chúng tôi luôn xác định một với một khác . Nhưng trong tình huống này (trong đó tất cả các là từ một bản sao của ), mỗi đều là bản dịch của " tiêu chuẩn " mà bài báo gọi là hoặc bản dịch của . Do đó, chúng tôi hoặc xác định hai s song song hoặc hai là "flips" của nhau. Trong cả hai trường hợp, các cạnh được xác định trên haiKnKnKnHn,pKnKnKKKnKnKns song song và do đó có cùng màu. Ví dụ, xem Hình 2 trong bài báo; các cạnh được xác định luôn song song. Do đó, vì chúng ta không bao giờ cố gắng xác định hai cạnh có màu khác nhau, màu ở cuối bước 1 trong danh sách trên có thể được mở rộng một cách tự nhiên thành màu ở cuối bước 2. Xác định các đỉnh / cạnh nhất định không tạo ra bất kỳ mới nào , do đó, vẫn còn trường hợp ở cuối bước này rằng mỗi là một cầu vồng .KnKnKn

Cuối cùng, trong bước 3, chúng tôi xóa một số đỉnh / cạnh, điều này cũng không tạo ra bất kỳ mới nào . Do đó, chúng tôi có thuộc tính mong muốn của mình: theo màu tôi đã cung cấp, mỗi trong biểu đồ được tạo bởi phép giảm này là cầu vồng .KnKnKn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.