Rozważ następujący problem testowania członkostwa w podgrupie abelian .
Wejścia:
Skończona grupa abelowa o dowolnie dużych .
Wytwarzające osadzone podgrupy .
Element .
Wyjście: „tak”, jeżeli i „nie” w innym miejscu.
Pytanie: Czy ten problem można skutecznie rozwiązać na klasycznym komputerze? Uważam algorytm efektywny jeśli używa czasu i zasobów pamięci w zwykłym znaczeniu klasycznych maszyn Turinga. Należy zauważyć, że można założyć, dla każdej podgrupy . Rozmiar wejściowy tego problemu wynosi .
Trochę motywacji . Intuicyjnie wygląda na to, że problem można rozwiązać za pomocą algorytmów do rozwiązywania liniowych układów zgodności lub liniowych równań diofantycznych (czytaj poniżej). Wydaje się jednak, że istnieją różne pojęcia wydajności obliczeniowej stosowane w kontekście obliczeń z liczbami całkowitymi, takie jak: silnie versus słabo wielomianowy czas, algebraiczna versus złożoność bitowa. Nie jestem ekspertem od tych definicji i nie mogę znaleźć odniesienia, które jednoznacznie rozstrzygałoby to pytanie.
Aktualizacja: odpowiedź na problem brzmi „tak”.
W późnej odpowiedzi zaproponowałem metodę opartą na normalnych formach Smitha, która jest skuteczna dla każdej grupy o przepisanej formie.
Odpowiedź pokazy blondin, że w szczególności w przypadku, gdy wszystkie są postaci D i = N E i i i N i , e i są liczbami całkowitymi, „małe”, to problem należy do NC 3 ⊂ P . Małe liczby całkowite są wykładniczo małe o wielkości wejściowej: O ( log log | A | ) .
W mojej odpowiedzi użyłem „podgrup ortogonalnych”, aby rozwiązać ten problem, ale uważam, że nie jest to konieczne. Postaram się udzielić bardziej bezpośredniej odpowiedzi w oparciu o metodę, którą czytam w formie formularzy Echelon.
Niektóre możliwe podejścia
Problem jest ściśle związany z rozwiązywaniem liniowego układu zgodności i / lub liniowych równań diofantycznych. Podsumowuję te połączenia w celu uzupełnienia.
Weźmy jako macierz, której kolumny są elementami zestawu generującego { h 1 , … , h n } . Poniższy układ równań
ma rozwiązanie tylko wtedy, gdy .
Jeśli wszystkie czynniki cykliczne mają ten sam wymiar istnieje algorytm oparty na normalnych formach Smitha, który rozwiązuje problem w czasie wielomianowym. W tym przypadku skuteczny algorytm z [1] znajduje normalną postać Smitha : zwraca macierz diagonalną i dwie odwracalne macierze i tak że . Zmniejszyło to problem rozwiązania równoważnego systemu systemowego z przekątnąMożemy skutecznie decydować, czy system ma rozwiązanie wykorzystujące algorytm euklidesowy. A D U V D = U A V D Y = U bD.
Powyższy przykład sugeruje, że problem można skutecznie rozwiązać za pomocą podobnych technik w ogólnym przypadku. Możemy spróbować rozwiązać układ wykonując operacje modułowe lub przekształcając go w większy układ liniowych równań diofantycznych. Niektóre możliwe techniki podejścia do problemu, o których mogę myśleć, to:
- Obliczanie normalnych form według Smitha .
- Obliczanie macierz schodkowa z .
- Całkowita eliminacja Gaussa.