Sự phức tạp của việc kiểm tra tư cách thành viên đối với các nhóm abelian hữu hạn


12

Hãy xem xét vấn đề kiểm tra tư cách thành viên nhóm abelian sau đây .

Đầu vào:

  1. Một nhóm abel hữu hạn G=Zd1×Zd1×Zdm với tùy ý lớn di .

  2. Một phát-set {h1,,hn} của một nhóm con HG .

  3. Một yếu tố bG .

Đầu ra: 'có' nếu bH và 'không' ở nơi khác '.

Câu hỏi: Vấn đề này có thể được giải quyết hiệu quả trong một máy tính cổ điển không? Tôi xem xét một thuật toán hiệu quả nếu nó sử dụng tài nguyên thời gian và bộ nhớ O(polylog|G|) theo nghĩa thông thường của các máy Turing cổ điển. Lưu ý rằng chúng ta có thể giả sử n=O(log|G|) cho bất kỳ nhóm con H . Các đầu vào kích thước của vấn đề này là log|G| .

Một chút động lực . Theo trực giác, có vẻ như vấn đề có thể được giải quyết bằng các thuật toán để giải các hệ thống tuyến tính hoặc phương trình diophantine tuyến tính (đọc bên dưới). Tuy nhiên, dường như có các khái niệm khác nhau về hiệu quả tính toán được sử dụng trong bối cảnh tính toán với các số nguyên, chẳng hạn như: thời gian đa thức mạnh so với yếu, đại số so với độ phức tạp bit. Tôi không phải là một chuyên gia về các định nghĩa này và tôi không thể tìm thấy một tài liệu tham khảo giải quyết rõ ràng câu hỏi này.

Cập nhật: câu trả lời cho vấn đề là "có".

  • Trong một câu trả lời muộn, tôi đã đề xuất một phương pháp dựa trên các biểu mẫu thông thường của Smith có hiệu quả đối với bất kỳ nhóm nào có biểu mẫu quy định.

  • Một câu trả lời bằng cách Blondin cho thấy rằng trong trường hợp đặc biệt mà tất cả có dạng d i = N e i iN i , e i là "số nguyên nhỏ", sau đó các vấn đề thuộc về NC 3P . Số nguyên nhỏ có kích thước nhỏ theo cấp số nhân với kích thước đầu vào: O ( log log | A | ) .didi=NieiNi,eiNC3PO(loglog|A|)

Trong câu trả lời của tôi, tôi đã sử dụng "các nhóm con trực giao" để giải quyết vấn đề này, nhưng tôi tin rằng điều này là không cần thiết. Tôi sẽ cố gắng cung cấp một câu trả lời trực tiếp hơn trong tương lai dựa trên một phương thức biểu mẫu Echelon mà tôi đang đọc.


Một số cách tiếp cận có thể

Vấn đề liên quan chặt chẽ đến việc giải hệ phương trình tuyến tính và / hoặc phương trình diophantine tuyến tính. Tôi tóm tắt ngắn gọn những kết nối này để hoàn thành.

Hãy là ma trận có các cột là các yếu tố của bộ tạo { h 1 , ... , h n } . Hệ phương trình sauA{h1,,hn}

AxT=(h1(1)h2(1)hn(1)h1(2)h2(2)hn(2)h1(m)h2(m)hn(m))(x(1)x(2)x(n))=(b(1)b(2)b(m))modd1modd2moddm

có một giải pháp khi và chỉ khi .bH

Nếu tất cả các yếu tố tuần hoàn có cùng kích thước thì có một thuật toán dựa trên các dạng thông thường của Smith để giải quyết vấn đề trong thời gian đa thức. Trong trường hợp này, một thuật toán hiệu quả từ [1] tìm thấy dạng A bình thường của Smith : nó trả về một ma trận chéo D và hai ma trận khả nghịch UV sao chod=diADUV . Điều này đã giảm vấn đề để giải quyết hệ thống hệ thống tương đương D Y = U bD=UAV vớiđường chéo D. Chúng ta có thể quyết định hiệu quả nếu hệ thống có giải pháp sử dụng thuật toán Euclide.DY=UbmoddD

Ví dụ trên cho thấy vấn đề có thể được giải quyết hiệu quả bằng cách sử dụng các kỹ thuật tương tự trong trường hợp chung. Chúng ta có thể cố gắng giải quyết hệ thống thực hiện các hoạt động mô đun, hoặc bằng cách biến hệ thống thành một hệ thống lớn hơn của phương trình diophantine tuyến tính. Một số kỹ thuật có thể để tiếp cận vấn đề mà tôi có thể nghĩ đến là:

  1. Tính toán các hình thức bình thường Smith .A
  2. Tính toán các hàng hình thức Echelon của .A
  3. Loại bỏ Gaussian số nguyên.

1
đồng thời vượt qua trên MO: mathoverflow.net/questions/81300/ từ
Suresh Venkat

2
Có vẻ như bạn đã vượt qua câu hỏi này đồng thời . Mặc dù chúng tôi không bận tâm đến câu hỏi được đăng lại , chính sách trang web của chúng tôi là chỉ cho phép đăng lại sau khi đủ thời gian trôi qua và bạn không nhận được câu trả lời mong muốn ở nơi khác, bởi vì thảo luận trùng lặp đồng thời nỗ lực và bẻ gãy. Bạn có thể gắn cờ câu hỏi này để đóng ngay bây giờ, và sau đó phản hồi lại để mở nếu cần sau khi tóm tắt các cuộc thảo luận có liên quan từ các trang web khác.
Suresh Venkat

1
Đóng theo yêu cầu của poster gốc (do trùng lặp trên MO).
Dave Clarke

1
Tôi đã đăng một câu trả lời trước khi bài viết được đóng lại. Theo tôi, câu hỏi phù hợp hơn ở đây so với dòng chảy toán học vì nó được nghiên cứu rộng rãi trong các tài liệu lý thuyết phức tạp.
Michael Blondin

1
mở lại theo yêu cầu của OP; tập trung vào sự phức tạp làm cho nó phù hợp với ở đây.
Suresh Venkat

Câu trả lời:


10

Xác minh liệu (nơi h i là vectơ theo ý kiến của OP) là tương đương với xác minh liệu có một giải pháp cho hệ thống này: ( h 1 ( 1 ) h n ( 1 ) d e 1 1 0 0bh1,,hnhi

(h1(1)hn(1)d1e100h1(m)hn(m)00dmeN)(x(1)x(n)y(1)y(m))(b(1)b(m))

Trong trường hợp của bạn là số nhỏ (ví dụ. Giá trị của họ là logartihmic trong kích thước đầu vào). Thật không may, nó không có vẻ như chúng ta có thể giả định rằng d 1 , ... , d n là rất nhỏ.e1,,eNd1,,dn

Nếu có, thì bạn có thể tìm giải pháp cho hệ thống trong từ kết quả của McKenzie & Cook [1] . Bài viết này cho thấy việc giải các phép cộng tuyến tính một số nguyên với các thừa số nhỏ (LCON) nằm trong NC 3 . Hơn nữa, vấn đề này là NC 1 tương đương với vấn đề thành viên nhóm hoán vị abelian (AGM). Luận án tiến sĩ của McKenzie hoàn toàn dành cho những vấn đề đó [1] . Gần đây, những vấn đề đó đã được Arvind & Vijayaraghavan xem xét [3] .NC3NC3NC1

[1] Pierre McKenzie & Stephen A. Cook. Sự phức tạp song song của các vấn đề nhóm hoán vị Abelian. 1987.

[2] Pierre McKenzie. Độ phức tạp song song và các nhóm hoán vị. 1984.

[3] V. Arvind & TC Vijayaraghavan. Phân loại các vấn đề về các phép cộng tuyến tính và các nhóm hoán vị Abelian bằng cách sử dụng các lớp đếm Logspace. 2010.


Cảm ơn, unfortunatley tôi không có quyền truy cập vào các giấy tờ này cho đến thứ Hai. Nó làm tôi ngạc nhiên rằng điều này làm việc cho bất kỳ nhóm abelian. Đối với , đó là nhóm Abel xác định thời tiết b thuộc về một liên quan đến việc quyết định thời tiết b = một iZNba có một giải pháp. Tôi thấy có hai vấn đề ở đây: 1) Về mặt kinh điển, thật khó để tính hàm tổng số Euler 2) Đây là phiên bản quyết định của một logarit rời rạc. Vấn đề giảm để giải phương trình mô-đun nếu phân tách theo chu kỳ được đưa ra. Làm thế nào để bạn đi xung quanh vấn đề này? Tôi có thiếu một cái gì đó quan trọng ở đây? b=aimodφ(N)
Juan Bermejo Vega

Trên thực tế, đó là cho bất kỳ nhóm hoán vị abelian .
Michael Blondin

Tôi sẽ xem xét các giấy tờ này và cố gắng sắp xếp mọi thứ một chút. Cảm ơn.
Juan Bermejo Vega

Bạn có thể cung cấp thêm chi tiết về mã hóa đầu vào? Bằng cách này, tôi có thể cải thiện câu trả lời của mình.
Michael Blondin

Phân tách nhóm làm đầu vào (đây sẽ là một chuỗi có nhiều số và độ dài tôi đoán). Sau đó, mỗi phần tử của nhóm có dạng ( g 1 , Mạnh , g n ) và có thể được biểu thị bằng một bộ số. Để lưu trữ nó, bạn cần n : = l o g 2 | Một | bit. Điều này có trả lời không? A=Zd1×Zd1×ZdN(g1,,gn)n:=log2|A|
Juan Bermejo Vega

4

Sau một thời gian, tôi đã tìm được một thuật toán có thể không tối ưu nhưng đơn giản chứng minh rằng sự phức tạp của vấn đề là đa thức.

Thuật toán

(a) Tính toán một phát-tập hợp các nhóm trực giao của H .HH

(b) Kiểm tra xem phần tử có trực giao với H hay không .bH

Có các thuật toán clasical hiệu quả cho các vấn đề (a) và (b) (xem phân tích dưới đây). Điều này cho phép một thành viên kiểm tra hiệu quả từ một yếu tố là trực giao với H khi và chỉ khi h H .bHhH


Phân tích

Các trực giao phân nhóm được định nghĩa thông qua các nhóm đặc trưng của G như: H : = { g G : χ g ( h ) = 1HG thuộc tính chính:

H:={gG:χg(h)=1hH}
  1. là một nhóm con của G .HG
  2. H=H

Thuật toán cho (a) :

Tôi theo một thuật toán từ [ 1 ] với các biến thể nhỏ. thuộc về H nếu và chỉ nếu χ g ( h ) = 1 cho tất cả các h H , nhưng, bởi tuyến tính nó là đủ để hiển thị χ b ( h i ) = 1 cho mỗi máy phát điện của H . Mở rộng ký tự theo số mũ (ở đây tôi hoàn toàn sử dụng phân rã nhân tố tuần hoàn) điều kiện này tương đương với exp { 2 π i ( g (gHχg(h)=1hHχb(hi)=1H Để giải quyết những phương trình, tính toánM:=lcm(N1,...,Nd)bằng cách sử dụng thuật toán Euclide và những con sốalphai:=M/di. Chúng ta có thể viết lại các điều kiện trên cho mọiidưới dạng một hệ phương trình mô đun tuyến tính.

exp{2πi(g(1)hi(1)d1++g(m)hi(m)dm)}=1
M:=lcm(N1,,Nd)αi:=M/dii

(α1h1(1)α2h1(2)αmh1(m)α1h2(1)α2h2(2)αmh2(m)α1hn(1)α2hn(2)αmhn(m))(g(1)g(2)g(n))=(000)modMmodMmodM
As it is proven in 1, if we sample t+log|G| random solutions of this system of equations we will obtain a generating set of H with probability exponentially close to one p11/2t. Now to sample from this equations write them in matrix form AX=0(modM). Here A is a rectangular matrix over the integers modulo M for which an algorithm given in 2 allows to efficiently compute its Smith normal decomposition. The algorithm returns a diagonal matrix D and two invertible matrices U, V such that D=UAV. Using this formula the system of equations can be written as DY=0(modM) with X=VY. Now it is possible to randomly compute solutions of DY=0(modM) using Euclid's algorithm, since this is a system of equations of the form diyi=0(modM). Finally, computing X=VY one obtains a random element of the orthogonal group H as desired.

Algorithm for (b):

Since we already know how to compute a generating-set of H, it is easy to check if a given element b belongs to H. First compute a generating-set g1,,gs of H. Then, by definition, b belongs to H if and only if χb(gi)=1 for all generators of H. Since there are a O(polylog(|G|)) number of them and this can be done efficiently using modular arithmetic we are done.


1
it's fine to add your own answer if you've made discoveries in the mean time. However, it seems like you need to do some more investigation (based on your comment) before you decide which answer to accept.
Suresh Venkat

Thanks. I would like to keep the discussion further to see if we put everything into one picture. Also, I think there could be a more practical algorithm that could pop-up.
Juan Bermejo Vega
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.