Jaka jest najbardziej znana złożoność obliczenia dokładnej odległości edycji między dwoma ciągami o tej samej długości przy użyciu przestrzeni roboczej, która jest podliniowa w wielkości wejścia? Zakładam, że dane wejściowe są przechowywane w jakimś formacie tylko do odczytu. Czy to wcześniej badany problem?
Aby uczynić pytanie nieco bardziej szczegółowym, co powiesz o spacji gdzie jest długością każdego łańcucha wejściowego.
Edytować. Po odpowiedzi Davida Eppsteina wydaje się, że dobrym pytaniem jest po prostu, czy odległość edycji można znaleźć w czasie wielomianowym i spacji . Interesujące byłyby również wszelkie dolne granice.
Odpowiedzi:
Tylko po to, aby zacząć działać, zamiast próbować rozwiązać ten problem: istnieje oczywisty niedeterministyczny algorytm wykorzystujący logarytmicznie wiele bitów przestrzeni (poszukiwanie pojedynczej ścieżki przez dynamiczną matrycę programowania), więc według twierdzenia Savitcha istnieje algorytm deterministyczny z przestrzenią . Czas musi mieć postać , quasi-wielomianowy, a nie wykładniczy.n O ( log n )O(log2n) nO(logn)
Istnieją pewne dolne granice miejsca dla odległości edycji w http://arxiv.org/abs/1106.4412, ale nie sądzę, aby pasowały do twojej wersji problemu.
źródło