세트 패밀리의 세트 포함 포즈를 얼마나 빨리 계산할 수 있습니까?


20

일련의 가족을 감안할 때 F 우주의 부분 집합의 U . 보자. S1,S2F우리는 대답하고 싶다 S1S2.

나는 이것에 빨리 대답 할 수있는 데이터 구조를 찾고 있습니다. 내 응용 프로그램은 정점과 그 주변을 삭제하면 격리 된 정점이 남아 있는지 확인하고 각 정점 목록에 대해 격리 된 정점을 남기고 싶은 그래프 이론입니다.

완전한 poset 또는 결국 |F|2어떤 테이블이 서로의 서브셋인지를 정확하게 알려주는 true false를 저장하는 2 개의 테이블.

하자 m=SF|S|, u=|U|그리고, 이라고 가정n=|F|u,nm

우리는 시간에 행렬 (이분 그래프)을 생성 한 다음 각 세트 의해 시간에 모든 비교 테이블을 생성 할 수 있습니다. 모든 다른 세트의 모든 요소를 통해 루프와 세트로하지 않는 부분 집합 표시 요소가 아닌 경우, 그들은 . 총 시간.n×uO(un)n2O(nm)SFSSO(nm)

더 빨리 할 수 ​​있습니까? 특히, O((n+u)2) 시간은 가능합니까?

관련 기사를 찾았습니다.

O(m2/log(m)) 알고리즘 을 제공하는 부분 집합 부분 순서 (1995)를 계산하기위한 간단한 부분 쿼 라드 알고리즘.

부분 집합 순서 : 컴퓨팅 및 조합 은 위의 내용을 약간 개선하지만 위의 용지는 d 가 공통 요소를 공유하는 최대 세트 수인 O(md) 시간 의 문제를 해결한다고 주장 하지만이 결과를 이해할 수는 없습니다.d

기사의 사이에 O(nm)O(nα) 저자는 그래프로하려면 행렬 곱셈을 사용하여 정점의 닫힌 주변 삭제 후 연결 컴포넌트를 찾는 방법을 도시한다. 이것은 런타임이 싱글 톤인 모든 구성 요소를 찾아서 포함 포함 위치를 계산하는 데 사용할 수 있습니다 O((n+u)2.79).

또한이 포럼 토론과 관련이 있습니다 : 세트 포함을 확인하는 가장 빠른 방법은 무엇입니까? 이것은 하한 를 의미합니다 O(n2ϵ).


단지 제안 : 을 설정하여 질문을 단순화 할 수 있습니까? 아니면 응용 프로그램에서 두 매개 변수가 모두 중요합니까? =
Colin McQuillan

내 응용 프로그램에서 나는이 여기서 < < 수단 점근 작은. <<<<2<<
Martin Vatshelle

답변:


2

임의성이 한계에 도달 한 경우, 하나의 대략적인 아이디어는 "무작위 단조 서명"함수를 생성하고이를 사용하여 하위 집합 관계 (La Bloom 필터)를 근사화하는 것입니다. 불행히도, 이것을 실용적인 알고리즘으로 만드는 방법을 모르겠지만 아이디어를 즉시 불가능하게하지는 않습니다. 이것은 유용한 솔루션과는 거리가 멀지 만 도움이 될 수 있도록 작성하겠습니다.

세트가 모두 거의 같은 크기라고 간단하게 가정하십시오. 이고 s = o ( u ) 입니다. 우리는 가정 할 수있다 (1) « , 그렇지 않으면 우리는 완료. q 정의 |에스|=에스±영형(1)에스=영형()1에스 참고페이지»1.

=[에스/2]=[()(에스)]
1

여기에 비현실적인 부분이 있습니다. 각각의 크기 q 를 대체 하는 서브 세트 A 1 , , A pU 를 무작위로 선택 하고 , 일부 i에 대해 f ( S ) = 1 iff A iS 로 함수 f : 2 U{ 0 , 1 } 을 정의합니다 . . 와 S가 고정 I , f를 임의로 변화, 우리가 잠을에이1,,에이에프:2{0,1}에프(에스)=1에이나는에스나는에스에이나는,에프 이후F(S는), 단조ST가의미F(S)F(T를). 경우TS, 일부 수정tT-S를. f가TS를탐지 할확률은 Pr ( f ( S ) = 0 < 1 = f

홍보(에프(에스)=0)=홍보(나는.에이나는에스)=홍보(에이1에스)=(1(에스)/())=이자형Θ(1)
에프(에스)에스에프(에스)에프()에스에스에프에스 이 단계 중 일부는 매우 소박하지만 오늘 밤에 개선 할 시간이 없습니다. 어쨌든, 그것들이 모두 보유한다면, 적어도 서브셋과 비 서브셋을 구별 할 수있는 합리적인 가능성을 갖는 서명 함수를 무작위로 생성하는 것은 분명히 불가능하지 않다. 이러한 함수의 로그 수는 모든 쌍을 올바르게 구별합니다. 서명 함수f를생성하고 계산f(S) ~ O (n+u)시간으로 줄일 수 있다면결과는 전체 ~ O (n2
홍보(에프(에스)=0<1=에프())=홍보(에프(에스)=0)홍보(에프()=1|에프(에스)=0)=이자형Θ(1)홍보(나는.에이나는,에이나는에스0|에프(에스)=0)=이자형Θ(1)홍보(나는.에이나는|에프(에스)=0)이자형Θ(1)홍보(나는.에이나는)이자형Θ(1)홍보(에이1)이자형Θ(1)(에스1)/()이자형Θ(1)에스(에스)/()=이자형Θ(1)
에프에프(에스)영형~(+) 알고리즘.영형~(2+2)

위의 계산이 정확하더라도 원하는 기능으로 단조로운 서명 기능을 신속하게 생성하는 방법을 모릅니다. 이 기술은 크게 다른 세트 크기로 확장되지 않을 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.