Birleştirmeler paralelleştirilebilir mi?


9

Varsayalım ki iki ilişkide bir yüklem üzerine katılmak istiyoruz. Bu NC'de mi?

NC'de olmadığına dair bir kanıtın, PNC, bu yüzden açık bir sorun olduğuna dair kanıtları bir cevap olarak kabul ediyorum.

Genel durumun yanı sıra belirli vakalarla da ilgileniyorum (örneğin, belki bazı belirli veri yapısı ile paralelleştirilebilir).

EDIT: Bu yazıya yorumlardan bazı açıklamalar getirmek için:

  • Bir equijoin düşünebiliriz A.x=B.y. Tek bir işlemcide, karma tabanlı bir algoritmaO(|A|+|B|) ve her seti okumak zorunda olduğumuz için yapabileceğimiz en iyisi bu
  • Yüklem her bir çifti kontrol etmemiz gereken bir "kara kutu" ise, |A||B| ve her biri olabilir ya da olmayabilir, yani 2abolasılık. Her çifti kontrol etmek olasılıkları ikiye böler, bu yüzden yapabileceğimiz en iyi şeyO(ab).

Bunlardan herhangi biri (veya üçüncü tip bir birleşim) şu şekilde geliştirilebilir: logkn birden fazla işlemcide?


Bu soru pratik bir sorundan kaynaklanıyorsa, NC'nin "uygun paralellik" için en uygun kavram olmayabileceğini unutmayın.
Raphael

@Raphael: Değil, ama nedeniyle ilgili bir şeye bağlanabilir misin? Bunun daha uygun olup olmadığını ayrı bir soru olarak sorabilirim.
Xodarap

Ne istediğini açık değil. Birleştirme işlecini eklediğiniz temel ilişkisel veritabanı sorgu dili nedir? Yoksa yalnızca birleştirme işleçleri içeren sorguların karmaşıklığını mı soruyorsunuz? Veya asıl sorunuz daha iyi zaman karmaşıklığı elde etmek için birleştirme operatörlerini "paralel olarak" çalıştırmanın mümkün olup olmadığı mıdır? (AND ifadesinin paralel olarak yapılabileceği gibi) Ayrıca (güvenli) SQL sorgularının FOL (Sayım) 'a karşılık geldiğine dikkat edin.
Kaveh

Yoksa girdi olarak verilen iki ilişkisel veritabanını birleştiren karmaşıklığı en iyi bilinen üst sınır ve alt sınır (karmaşıklık sınıfları) soruyor musunuz?
Kaveh

2
@Xodarap: Sen cevapları ve yorum bulabilir benim bu soruya öğreticidir; Yaptığımı biliyorum. Kruskal ve diğ. (1990) da iyi bir okumadır.
Raphael

Yanıtlar:


1

n2işlemciler tüm olasılıklarını sabit derinlikte karşılaştırabilir, bu yüzden evet NC'de.(n2)


VEYA alırsanız, derinlik logaritmik olacaktır.
sdcvvc

@sdcvvc: Yeterince adil. Aşırı derecede ilişkisel analizde 3SAT kodlayabilirsiniz, bu nedenle bu sonuç gerçekten sadece seçimleriniz basitse (yani sabit süre) geçerlidir.
Xodarap
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.