Liệt kê các loại cấu trúc liên kết của một DAG có nhãn đỉnh


11

Hãy là một đồ thị acyclic đạo diễn , và để cho λ là một chức năng ghi nhãn lập bản đồ mỗi đỉnh v V để một nhãn λ ( v ) trong một số bảng chữ cái hữu hạn L . Viết n : = | V | , Một loại topo của G là một song ánh σ từ { 1 , ... , n } để V (ví dụ, một Trật tự củaG=(V,E)λvVλ(v)Ln:=|V|Gσ{1,,n}V trong một chuỗi) sao cho bất cứ khi nào ( v , v ' ) E sau đó σ - 1 ( v ) < σ - 1 ( v ' ) (ví dụ, nếu có một cạnh từ v đến v ' sau đó v xảy ra trước khi v ' theo trình tự). Cácnhãncủa σ là từ σ ( 1 ) σ ( n ) trong LV(v,v)Eσ1(v)<σ1(v)vvvvσσ(1)σ(n) .Ln

Với , tôi xin liệt kê các nhãn của các loại topo của G một cách hiệu quả. Sự phức tạp của việc liệt kê các nhãn của các loại tôpô là gì? Tất nhiên, vì có thể có nhiều theo cấp số nhân, tôi muốn nghiên cứu sự phức tạp như là một hàm của kích thước của đầu ra, hoặc về độ trễ. Cụ thể, phép liệt kê có thể được thực hiện với độ trễ đa thức không? (hoặc thậm chí trì hoãn liên tục?)(G,λ)G

Trong trường hợp tất cả các đỉnh của mang nhãn riêng biệt (hoặc tương đương, các đỉnh là { 1 , Vách , n } được dán nhãn), tôi biết rằng các nhãn có thể được liệt kê trong thời gian khấu hao không đổi, do kết quả này trong việc liệt kê các phần mở rộng tuyến tính của các posets (tương tự như liệt kê các loại cấu trúc liên kết của DAG). Tuy nhiên, khi các đỉnh được gắn nhãn tùy ý, có thể xảy ra trường hợp một số lượng lớn các loại cấu trúc liên kết có cùng nhãn, vì vậy bạn không thể liệt kê các loại cấu trúc liên kết G và tính toán nhãn của chúng để có được cách liệt kê nhãn hiệu quả . Trong thuật ngữ poset, DAG có nhãn ( G ,G{1,,n}G có thể được xem như là một vị tríđược dán nhãnvà tôi không thể tìm thấy kết quả liệt kê về những điều đó.(G,λ)

Tôi đã biết độ cứng của một số vấn đề liên quan nhờ câu trả lời cho các câu hỏi khác của tôi ở đây. Đặc biệt, tôi biết rằng việc tìm nhãn tối thiểu theo từ vựng là NP-hard . Tôi cũng biết rằng việc quyết định xem một nhãn nhất định có thể đạt được bằng một số loại tôpô hay không là NP-hard (từ độ cứng của vấn đề này : đưa ra một chuỗi nhãn ứng viên , yêu cầu một loại G tôpô trong đó mỗi đỉnh phải xảy ra tại một vị trí nơi nhãn bên phải xảy ra trong ssGs). Tuy nhiên, tôi không nghĩ rằng bất kỳ điều nào trong số này hàm ý độ cứng cho phép liệt kê, vì bạn có thể liệt kê theo bất kỳ thứ tự nào bạn thích (không nhất thiết phải là từ điển), và thuật toán liệt kê không thể được sử dụng để quyết định hiệu quả liệu nhãn có thể đạt được hay không, thậm chí với độ trễ liên tục (vì có thể có nhiều chuỗi theo cấp số nhân để liệt kê trước).

ssvVi{1,,n}siλ(v)viGvi, có thể được thực hiện rõ ràng trong PTIME. Nhưng khi bạn xuất ra càng nhiều nhãn, tôi không chắc làm thế nào để khái quát hóa phương pháp này.

Câu trả lời:


-1

vuu

v1,v2,...,vkuvivju

v1,...,vkO(n2)O~(n)


Cảm ơn câu trả lời của bạn! Tuy nhiên, tôi không hiểu tại sao tinh chỉnh mà bạn đề xuất trong đoạn đầu tiên sẽ đủ để đảm bảo rằng một nhãn sắp xếp tôpô khác nhau được tạo ra sau nhiều bước đa thức. Chẳng hạn, nếu tất cả các phần tử có cùng một nhãn, thì chỉ có một nhãn sắp xếp tôpô để liệt kê, nhưng tôi không chắc tại sao thuật toán của bạn sẽ chú ý đến nó và chấm dứt đủ nhanh? (Một điểm khác: bạn nói "hàng xóm", nhưng biểu đồ là DAG; ý bạn là "trẻ em"?)
a3nm

Các tinh chỉnh trong para đầu tiên là tạo ra tất cả các thứ tự có thể có bất kể nhãn. Để hạn chế thứ tự trong trường hợp các nhãn tương tự, điều quan trọng là tránh chọn các đỉnh của cùng một nhãn nếu chúng dường như được kết nối tương tự với biểu đồ không mong muốn còn lại. Do đó, họ sẽ tạo ra đồ thị không định hình đẳng cấu tạo ra thứ tự tôpô giống nhau.
sbzk

O(n2)

Cảm ơn đã giải thích. Tuy nhiên, tôi đang tìm kiếm một đa thức ràng buộc về độ phức tạp áp dụng cho tất cả các trường hợp, không phải cho một heuristic không có bảo đảm lý thuyết! :)
a3nm
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.