Chỉnh sửa khoảng cách trong không gian tuyến tính


19

Độ phức tạp được biết đến nhiều nhất để tính toán khoảng cách chỉnh sửa chính xác giữa hai chuỗi có cùng độ dài bằng cách sử dụng không gian làm việc là đường con trong kích thước của đầu vào? Tôi giả sử đầu vào được lưu trữ ở một số định dạng chỉ đọc. Đây có phải là một vấn đề được nghiên cứu trước đây?

Để làm cho câu hỏi cụ thể hơn một chút, làm thế nào về không gian trong đó là độ dài của mỗi chuỗi đầu vào.Θ(n)n


Chỉnh sửa. Theo câu trả lời của David Eppstein, có vẻ như một câu hỏi hay chỉ đơn giản là nếu khoảng cách chỉnh sửa có thể được tìm thấy trong thời gian đa thức và không gian . Bất kỳ giới hạn thấp hơn cũng sẽ thú vị.Θ(n)


1
Về chỉnh sửa: Tôi nghĩ bạn hiểu sai một cái gì đó. Câu trả lời của David Eppstein cho thấy vấn đề có thể giải quyết được ở NL, do đó cũng ở P.
Emil Jeřábek hỗ trợ Monica

1
... Trên thực tế, thuật toán Wagner tinh Fischer ban đầu đã làm điều đó.
Emil Jeřábek hỗ trợ Monica

3
Tôi giả sử phiên bản chỉnh sửa dự định yêu cầu các thuật toán là cả không gian tuyến tính và thời gian đa thức.
David Eppstein

@DavidEppstein Vâng, chính xác. Tôi đã chỉnh sửa một lần nữa để làm rõ.
felix

BTW, giả sử mô hình định giá tiêu chuẩn là 1 trên midmatch / xóa / chèn, sau đó nếu khoảng cách chỉnh sửa là l, thì đường dẫn nhận ra đường đi ngắn nhất trong ma trận khoảng cách chỉnh sửa sẽ đi theo khoảng cách nhiều nhất từ ​​đường chéo chính, và sau đó khoảng cách chỉnh sửa được tính bằng không gian O (l). Do đó, với không gian sqrt (n), bạn có thể tính khoảng cách chỉnh sửa nếu nó nhỏ (tức là nhỏ hơn sqrt (n)). Chỉ khi nó lớn mà điều này có vẻ khó khăn. Tất nhiên, trong trường hợp này, có thể nói, bạn nên quan tâm ít hơn.
Sariel Har-Peled

Câu trả lời:


16

Chỉ để giải quyết vấn đề, thay vì cố gắng giải quyết vấn đề này: có một thuật toán không xác định rõ ràng bằng cách sử dụng nhiều bit không gian (tìm kiếm một đường đi qua ma trận lập trình động) vì vậy theo định lý Savitch có một thuật toán xác định với không gian . Thời gian của nó phải có dạng n O ( log n ) , đa thức chứ không phải theo cấp số nhân.Ôi(đăng nhập2n)nÔi(đăng nhậpn)

Có một số giới hạn không gian thấp hơn cho khoảng cách chỉnh sửa trong http://arxiv.org/abs/1106.4412 nhưng tôi không nghĩ rằng chúng phù hợp với phiên bản vấn đề của bạn.


Làm thế nào để bạn xác minh con đường bạn đã tìm thấy là tối ưu?
Lembik

1
Tìm kiếm nhị phân hoặc tìm kiếm tuần tự cho khoảng cách nhỏ nhất mà đường dẫn có thể được tìm thấy, nghĩa là, không có gì ngoài sự tương đương tiêu chuẩn của các vấn đề quyết định và tìm kiếm. Điều này không ảnh hưởng đến các hình thức của không gian hoặc thời gian bị ràng buộc.
David Eppstein

@David Tôi nghĩ bạn đúng nên tôi đã xóa câu trả lời của mình.
SamiD

2
Nó thậm chí có thể tính toán trong không gian đăng nhập?
Lembik
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.