술어에 대해 두 가지 관계를 결합하려고한다고 가정하십시오. 이것이 NC에 있습니까?
나는 그것이 NC에 있지 않다는 증거는 따라서 공개적으로 문제가 있다는 증거를 답변으로 받아들입니다.
일반적인 경우와 특정 사례에 관심이 있습니다 (예 : 특정 데이터 구조를 사용하면 병렬화 가능).
편집 : 의견의 일부 설명을이 게시물에 가져옵니다.
- 우리는 equijoin을 고려할 수 있습니다 . 단일 프로세서에서 해시 기반 알고리즘은 에서 실행되며 각 세트를 읽어야하므로 이것이 최선입니다
- 술어가 각 쌍을 점검해야하는 "블랙 박스"인 경우쌍이 될 수 있고 각각이있을 수도 있고 없을 수도 있으므로 가능성입니다. 각 쌍을 확인하면 가능성이 절반으로 나눠 지므로 최선을 다하는 것은 입니다.
여러 프로세서 에서 이들 (또는 일부 세 번째 조인 유형)을 로 개선 할 수 있습니까?
이 문제가 실질적인 문제에 의해 동기가 부여된다면, NC는 "유용 할 수없는"의 가장 적합한 개념이 아닐 수 있음을 명심하십시오.
—
Raphael
@Raphael : 그렇지는 않지만 왜 그런지에 대해 연결할 수 있습니까? 더 적절한 경우 별도의 질문으로 이것을 요청할 수 있습니다.
—
Xodarap
당신이 무엇을 요구하는지는 분명하지 않습니다. 조인 연산자를 추가 할 기본 관계형 데이터베이스 쿼리 언어는 무엇입니까? 아니면 조인 연산자 만 포함하는 쿼리의 복잡성을 묻고 있습니까? 아니면 더 나은 시간 복잡성을 달성하기 위해 조인 연산자를 "병렬로"실행할 수 있는지 여부가 실제 질문입니까? (AND가 병렬로 수행 될 수있는 방식과 유사) 또한 (안전한) SQL 쿼리는 FOL (Count)에 해당합니다.
—
Kaveh
또는 두 개의 관계형 데이터베이스를 입력으로 사용하여 조인을 계산하는 복잡성에 대해 가장 잘 알려진 상한 및 하한 (복잡성 클래스)이 무엇인지 묻고 있습니까?
—
Kaveh
@ Xodarap : 내 질문 에 대한 답변과 의견을 찾을 수 있습니다 . 나도 알아 Kruskal et al. (1990) 도 잘 읽었습니다.
—
Raphael