Tham gia có thể được song song?


9

Giả sử chúng ta muốn tham gia hai mối quan hệ trên một vị ngữ. Đây có phải là NC không?

Tôi nhận ra rằng một bằng chứng về việc nó không ở NC sẽ là bằng chứng cho thấy , vì vậy tôi chấp nhận bằng chứng về việc nó là một vấn đề mở như một câu trả lời.PNC

Tôi quan tâm đến trường hợp chung cũng như các trường hợp cụ thể (ví dụ: với một số cấu trúc dữ liệu cụ thể, nó có thể được song song hóa).

EDIT: để mang lại một số làm rõ từ các ý kiến ​​vào bài viết này:

  • Chúng ta có thể xem xét một Equijoin . Trên một bộ xử lý, thuật toán dựa trên hàm băm chạy trong và đây là cách tốt nhất chúng ta có thể làm vì chúng ta phải đọc từng bộA.x=B.yO(|A|+|B|)
  • Nếu vị ngữ là một "hộp đen" nơi chúng ta phải kiểm tra từng cặp, thì cócác cặp và mỗi cặp có thể có hoặc không, vì vậy khả năng. Kiểm tra mỗi cặp chia các khả năng thành một nửa, vì vậy điều tốt nhất chúng ta có thể làm là .|A||B|2abO(ab)

Có thể cải thiện một trong hai (hoặc một số loại tham gia thứ ba) thành trên nhiều bộ xử lý không?logkn


Nếu câu hỏi này được thúc đẩy bởi một vấn đề thực tế, hãy nhớ rằng NC có thể không phải là khái niệm phù hợp nhất về "song song".
Raphael

@Raphael: không, nhưng bạn có thể liên kết với một cái gì đó về lý do tại sao? Tôi có thể hỏi đây là một câu hỏi riêng biệt nếu điều đó phù hợp hơn.
Xodarap

Nó không rõ ràng cho tôi những gì bạn đang yêu cầu. Ngôn ngữ truy vấn cơ sở dữ liệu quan hệ cơ sở mà bạn đang thêm toán tử nối với nó là gì? Hoặc bạn đang hỏi sự phức tạp của các truy vấn chỉ chứa các toán tử nối? Hoặc câu hỏi thực sự của bạn là liệu có thể chạy các toán tử nối "song song" để đạt được độ phức tạp thời gian tốt hơn không? (tương tự như cách nói AND có thể được thực hiện song song) Cũng lưu ý rằng các truy vấn SQL (an toàn) tương ứng với FOL (Đếm).
Kaveh

Hoặc bạn đang hỏi những gì được biết đến là giới hạn trên và giới hạn dưới (các lớp phức tạp) được biết đến nhiều nhất về tính toán phức tạp, phép nối được đưa ra hai cơ sở dữ liệu quan hệ làm đầu vào.
Kaveh

2
@Xodarap: Bạn có thể tìm thấy câu trả lời và nhận xét về câu hỏi này của tôi ; Tôi biết tôi làm được. Kruskal và cộng sự. (1990) cũng là một bài đọc tốt.
Raphael

Câu trả lời:


1

n2 bộ xử lý có thể so sánh tất cả các khả năng ở độ sâu không đổi, vì vậy, có trong NC.(n2)


Nếu bạn định lấy OR, độ sâu sẽ là logarit.
sdcvvc

@sdcvvc: Đủ công bằng. Ở mức cực đoan, bạn có thể mã hóa 3SAT trong phép tính quan hệ, vì vậy kết quả này thực sự chỉ giữ nếu các lựa chọn của bạn đơn giản (tức là thời gian không đổi).
Xodarap
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.