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:
Một nhóm abel hữu hạn với tùy ý lớn .
Một phát-set của một nhóm con .
Một yếu tố .
Đầu ra: 'có' nếu 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ớ 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ử cho bất kỳ nhóm con . Các đầu vào kích thước của vấn đề này là .
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 i và N i , e i là "số nguyên nhỏ", sau đó các vấn đề thuộc về NC 3 ⊂ P . 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 | ) .
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 sau
có một giải pháp khi và chỉ khi .
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 U và V sao cho . Điều này đã giảm vấn đề để giải quyết hệ thống hệ thống tương đương D Y = U b 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.
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à:
- Tính toán các hình thức bình thường Smith .
- Tính toán các hàng hình thức Echelon của .
- Loại bỏ Gaussian số nguyên.