Độ phức tạp trạng thái 2FA của k-Clique?


15

Ở dạng đơn giản:

Máy tự động hữu hạn hai chiều có thể nhận ra đồ thị v -vertex có chứa tam giác với trạng thái o(v3) không?

Chi tiết

Điều đáng quan tâm ở đây là các đồ thị v -vertex được mã hóa bằng một chuỗi các cạnh, mỗi cạnh là một cặp đỉnh khác nhau từ {0,1,,v1} .

Giả sử là một chuỗi các automata hữu hạn hai chiều (xác định hoặc không xác định), sao cho M v nhận ra k -Clique trên đồ thị đầu vào v -vertex và có trạng thái s ( v ) . Một dạng tổng quát của câu hỏi là sau đó: là s ( v ) = Ω ( v k ) ?(Mv)Mvkvs(v)s(v)=Ω(vk)

Nếu s ( v ) v k ( v ) với vô số v , thì NL NP. Do đó, ít tham vọng hơn, tôi quy định rằng k là cố định và trường hợp k = 3 là trường hợp không đầu tiên.k=k(v)=ω(1)s(v)vk(v)vkk=3

Lý lịch

Máy tự động hữu hạn hai chiều (2FA) là máy Turing không có không gian làm việc, chỉ có một số trạng thái nội bộ cố định, nhưng có thể di chuyển đầu vào chỉ đọc qua lại. Ngược lại, loại tự động hữu hạn thông thường (1FA) chỉ di chuyển đầu vào chỉ đọc của nó theo một hướng. Máy tự động hữu hạn có thể là xác định (DFA) hoặc không xác định (NFA), cũng như có quyền truy cập một chiều hoặc hai chiều vào đầu vào của chúng.

Một thuộc tính đồ thị là một tập hợp con của đồ thị. Hãy Q v biểu thị v đồ thị -vertex với tài sản Q . Đối với mọi thuộc tính biểu đồ Q , ngôn ngữ Q v có thể được nhận dạng bởi 1DFA với tối đa 2 trạng thái v ( v - 1 ) / 2 , bằng cách sử dụng trạng thái cho mọi biểu đồ có thể và ghi nhãn chúng theo Q và chuyển đổi giữa các trạng thái được gắn nhãn bằng các cạnh. Q v . Theo định lý Myhill-Nerode, sau đó có một định mức duy nhất đến đẳng cấu nhỏ nhất 1DFA nhận ra Q vQQvvQQQv2v(v1)/2QQvDo đó, là ngôn ngữ thông thường cho mọi thuộc tính QQv . Nếu đây có tiểu bang, sau đó giới hạn tiêu chuẩn Blowup mang lại rằng một 2FA nhận Q v có ít nhất s ( v ) Ω ( 1 ) tiểu bang. Vì vậy, cách tiếp cận này thông qua giới hạn thổi tiêu chuẩn chỉ mang lại tối đa một bậc hai trong v giới hạn thấp hơn về số lượng trạng thái trong 2FA cho bất kỳ Q v nào (ngay cả khi Q khó hoặc không thể giải quyết được).2s(v)Qvs(v)Ω(1)vQvQ

-Clique là thuộc tính đồ thị chứa một sơđồ con k -vertexhoàn chỉnh. Nhận biết k -Clique v có thể được thực hiện bởi 1NFA mà lần đầu tiên không nhất định chọn một trong số (kkkv cáck-tiềm năng khác nhauđể tìm kiếm, sau đó quét đầu vào một lần, tìm kiếm từng cạnh cần thiết để xác nhận cụm, và theo dõi các cạnh này bằng cách sử dụng2k(k-1)/2trạng thái cho mỗi các nhóm tiềm năng khác nhau. 1NFA như vậy có ( v(vk)k2k(k1)/2trạng thái, trong đó1cve. Khikcố định, đây làtrạng tháiΘ(vk). Cho phép truy cập hai chiều vào đầu vào có khả năng cho phép cải thiện giới hạn một chiều này. Câu hỏi là yêu cầuk=3(vk)2k(k1)/2=(cv2(k1)/2/k)k.vk1cvekΘ(vk)k=3 liệu 2FA có thể làm tốt hơn giới hạn trên 1FA này hay không.

Phụ lục (2017-04-16): xem thêm một câu hỏi liên quan về thời gian xác định và một câu trả lời hay bao gồm các thuật toán được biết đến nhiều nhất . Câu hỏi của tôi tập trung vào không gian không định hình không hình thành. Trong bối cảnh này, việc giảm nhân nhân ma trận được sử dụng bởi các thuật toán hiệu quả về thời gian là tồi tệ hơn so với phương pháp vũ phu.


Tôi thực sự thích câu hỏi này! Cảm ơn vì đã chia sẻ nó! :)
Michael Wehar

Câu trả lời:


7

Dường như với tôi, hình tam giác có thể được thực hiện bởi trạng thái 2FA với trạng thái O ( n 2 ) (n là số đỉnh).AO(n2)

Với , ý tưởng như sau:k=3

  1. Trong giai đoạn 1, chọn một số cạnh ( i , j ) và lưu trữ ( p h a s e 1 , i , j )A(i,j)(phase1,i,j) ở trạng thái
  2. Trong giai đoạn 2, nó di chuyển đến một số cạnh của mẫu hoặc ( m , i ) và giả sử một trạng thái của mẫu ( p h a s e 2 , j , m )(i,m)(m,i)(phase2,j,m)
  3. Trong giai đoạn 3, nó sẽ kiểm tra rằng có một số cạnh hoặc ( m , j )(j,m)(m,j) and assume an accepting state if it finds one.

This can actually almost be done in a left to right fashion (then A might nondeterministically decide to go first for (j,m) or (m,j) in phase 2). However, if the 2nd edge comes in the form (m,i), A needs to first read i and then m, i.e., a single left-step is needed here.

Điều này sẽ dẫn đến automata với trạng thái cho k -Clique cho k > 3 bằng cách đoán trước một tập S có kích thước k - 3 và kiểm tra, rằng các nút của S được nối với nhau theo các cạnh và, cho mỗi nút i, j, m ở trên, kiểm tra xem họ có cạnh để tất cả các nút trong S .O(nk1)kk>3Sk3SS


I don't see how this is O(n2)? Three vertices i,j,m are being tracked.
András Salamon

Only two at a time. Reading (i,m) in phase 2 is done in two transitions. On reading i, A basically goes from (phase 1,i,j) to (phase 1a,i,j) (indicating, it has just seen i) and in the next step into (phase 2,j,m). At this point it is done with i, as it already saw (i,j) and (i,m) and only (j,m) needs to be checked.
Thomas S

e=Ω(v2)ve states.
Michael Wehar

1
I think you are right. If the input is given in a nice format this works. :)
Michael Wehar

1
@Marzio: no, it says (no, it says deterministic or nondeterministic)
Thomas S
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.