Các thuật toán gần đúng cho các vấn đề trong P


34

Người ta thường nghĩ về các giải pháp gần đúng (có bảo đảm) cho các vấn đề NP-hard. Có nghiên cứu nào đang diễn ra trong các vấn đề gần đúng đã được biết đến trong P không? Đây có thể là một ý tưởng tốt cho một số lý do. Ngoài đỉnh đầu của tôi, một thuật toán gần đúng có thể chạy với độ phức tạp thấp hơn nhiều (hoặc thậm chí là hằng số nhỏ hơn nhiều), có thể sử dụng ít không gian hơn hoặc có thể song song tốt hơn nhiều.

Ngoài ra, các kế hoạch cung cấp sự đánh đổi thời gian / độ chính xác (của FPTAS và PTAS) có thể rất hấp dẫn đối với các vấn đề trong P với giới hạn thấp hơn không thể chấp nhận được đối với các đầu vào lớn.

Ba câu hỏi: có điều gì tôi đang thiếu khiến điều này rõ ràng là một ý tưởng tồi? Có nghiên cứu nào đang diễn ra trong việc phát triển một lý thuyết về các thuật toán này không? Nếu không, ít nhất, có ai quen thuộc với các ví dụ riêng lẻ của các thuật toán như vậy không?


8
Hình học tính toán (ví dụ -nets) và đại số tuyến tính số (ví dụ: các phương pháp lặp khác nhau) cung cấp nhiều ví dụ về thuật toán xấp xỉ cho các vấn đề tầm thường trong P, nhưng thuật toán thời gian đa thức chính xác có thể rất đắt đối với thế giới thực lớn bộ dữ liệu.ϵ
Jukka Suomela

Câu trả lời:


20

Như Jukka chỉ ra, hình học tính toán là một nguồn vấn đề phong phú có thể được giải quyết trong thời gian đa thức, nhưng chúng tôi muốn có được xấp xỉ nhanh. Kết quả "lý tưởng" cổ điển là "LTAS" (sơ đồ xấp xỉ thời gian tuyến tính) có thời gian chạy sẽ ở dạng O(n+poly(1/ϵ)) - thường là những giá trị này có được bằng cách trích xuất một hằng số (poly ( )) hạt nhân có kích thước từ dữ liệu và chạy một thuật toán đắt tiền trên hạt nhân đó, với một đảm bảo rằng một giải pháp chính xác trên hạt nhân là một giải pháp gần đúng trên toàn bộ đầu vào.1/ϵ

Có một số mánh khóe, cắt giảm và nguyên tắc, và cuốn sách mới của Sariel Har-Peled có đầy đủ những điều này. Tôi không nghĩ có một lý thuyết phức tạp phong phú như vậy.


Tôi nghĩ rằng đây là gần nhất với một "lý thuyết" mà người ta có thể nhận được. Tôi sẽ xem xét kỹ lưỡng về cuốn sách. Cảm ơn!
aelguindy

15

Danh sách không đầy đủ các bài báo gần đây tìm giải pháp gần đúng cho các vấn đề trong P

1) Có rất nhiều công việc về các giải pháp gần đúng cho phương trình tuyến tính (chiếm ưu thế theo đường chéo đối xứng) trong thời gian gần như tuyến tính O(npolylog(n))

(danh sách các giấy tờ) http://cs-www.cs.yale.edu/homes/spielman/precon/precon.html

(Nói chung hầu hết các bộ giải lặp cho phương trình tuyến tính đều có chung nguyên tắc -appro xấp xỉ giải pháp thực. Điều tương tự cũng xảy ra với các phương pháp lặp giải quyết các vấn đề tổng quát hơn (ví dụ, một số chương trình lồi / tuyến tính)).ϵ

2) Các giải pháp gần đúng cho min / max st cắt / chảy http://people.csail.mit.edu/madry/docs/maxflow.pdf

3) Tìm một xấp xỉ thưa thớt của biến đổi Fourier của tín hiệu trong thời gian tuyến tính http://arxiv.org/pdf/1201.2501v1.pdf

4) Tìm thành phần chính gần đúng của một ma trận http://www.stanford.edu/~montanar/RESEARCH/FILEPAP/G RumPCA.pdf


11

Tôi không biết về một lý thuyết chung đang được phát triển trên các thuật toán gần đúng cho các vấn đề trong P. Tôi biết về một vấn đề cụ thể, tuy nhiên, đó được gọi là các phép lạ khoảng cách gần đúng:

G=(V,E)n=|V|m=|E|s,tV .

1O(1)O(m+nlogn)

k , đều yêu cầu không gian tối ưu. Nó cũng cung cấp cho bạn một sự đánh đổi gần đúng không gian.

Đối với các biểu đồ thưa thớt, có thể hiển thị một sự đánh đổi thời gian gần đúng không gian tổng quát hơn .


11

Chúng ta thường tìm kiếm các giải pháp gần đúng cho các vấn đề đơn giản như tìm đường đi ngắn nhất trong biểu đồ, tìm số lượng phần tử duy nhất trong một tập hợp. Hạn chế ở đây là đầu vào lớn và chúng tôi muốn giải quyết vấn đề xấp xỉ bằng cách sử dụng một lần truyền dữ liệu. Có một số thuật toán "truyền phát" được thiết kế để đạt được các giải pháp gần đúng trong thời gian tuyến tính / gần tuyến tính.

O(nm)nm



9

P


2
Đó là một động lực tuyệt vời cho sự gần đúng. Cảm ơn đã chỉ ra rằng!
aelguindy

8

Tôi nghĩ rằng toàn bộ lĩnh vực truyền dữ liệu và thuật toán tuyến tính phụ là một nỗ lực theo hướng này. Trong truyền dữ liệu, trọng tâm là giải quyết các vấn đề trong không gian o (n) và lý tưởng là O (polylog (n)) trong khi trong các thuật toán tuyến tính phụ, bạn cố gắng có được thuật toán với thời gian chạy o (n). Trong cả hai trường hợp, người ta thường cần phải thỏa hiệp với việc có thuật toán xấp xỉ ngẫu nhiên.

Bạn có thể bắt đầu với các tài liệu trên trang nàynày .


8

ϵϵ. Có một số bài viết về việc giải quyết các trường hợp đặc biệt của các vấn đề lập trình tuyến tính, chẳng hạn như dòng chảy đa dòng (và nói chung là đóng gói và bao trùm LP). Không có lý thuyết gần đúng riêng cho các vấn đề trong P so với các vấn đề trong NP (chúng tôi không biết liệu P có bằng NP hay không). Người ta có thể nói về một kỹ thuật nhất định được áp dụng cho một loại vấn đề nhất định. Ví dụ, có các kỹ thuật chung được biết đến để giải quyết xấp xỉ việc đóng gói và bao trùm các chương trình tuyến tính và một số biến thể.


4

Dimitris đề cập đến các biến đổi gần đúng. có nhiều ứng dụng này trong nén ảnh, ví dụ như trong thuật toán JPEG. [1] mặc dù tôi chưa thấy một bài báo nhấn mạnh điều này, nhưng dường như trong một số ý nghĩa, việc nén mất mát [2] (với các giới hạn có thể lấy được) cũng có thể được coi là thuật toán xấp xỉ thời gian P. các khía cạnh gần đúng được phát triển cao và hoàn thiện / chuyên biệt theo nghĩa chúng được tối ưu hóa để chúng không thể cảm nhận được bằng tầm nhìn của con người, tức là nhận thức của con người về các tạo tác mã hóa (được định nghĩa đại khái là sự khác biệt giữa xấp xỉ và nén không mất mát) được giảm thiểu.

điều này có liên quan đến các lý thuyết về cách mắt người nhận thức hoặc chính nó thực sự "xấp xỉ" mã hóa màu thông qua một số quy trình giống như thuật toán. nói cách khác, sơ đồ / thuật toán gần đúng lý thuyết thực sự được thiết kế có chủ ý để phù hợp với sơ đồ / thuật toán gần đúng sinh học / vật lý (được mã hóa bằng xử lý thông tin sinh học tức là tế bào thần kinh trong hệ thống thị giác của con người).

vì vậy, việc nén được kết hợp chặt chẽ với phép tính gần đúng. trong JPEG, biến đổi fourier được xấp xỉ bởi DCT, biến đổi cosine rời rạc [3]. các nguyên tắc tương tự được sử dụng trên nhiều khung cho chuẩn nén video MPEG. [4]

[1] nén jpeg, wikipedia

[2] nén mất dữ liệu, wikipedia

[3] DCT, biến đổi cosine rời rạc, wikipedia

[4] MPEG, wikipedia


1

Có thể đây không phải là câu trả lời chính xác cho câu hỏi của bạn, bởi vì hiện tại tôi chỉ có thể nhớ một số phương pháp phỏng đoán, nhưng tôi chắc chắn có một số xấp xỉ, bởi vì tôi đã thấy chúng trước đây.

O(f(k)|G|α)f(k) vấn đề và các xấp xỉ / heuristic sau này của nó (google đơn giản hiển thị kết quả vào năm 2010, 2011) hoặc các thuật toán để tìm phân tách biểu đồ cây.


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.