데이터 스트림 알고리즘 "분할 및 정복"


12

거대한 데이터 스트림에서 작동하는 유용한 알고리즘은 무엇이며 결과도 상당히 작으며 결과를 병합하여 두 스트림을 혼합하여 결과를 계산할 수 있습니까?

몇 가지 이름을 지정할 수 있습니다.

  • sum, min, max, count, top-K 등과 같은 명백한 것
  • 히스토그램, 별개의 항목 수 계산 또는 Quantile 계산을위한 대략적인 "스케치 기반"스트림 알고리즘

다른 사람이 있습니까?

(이 알고리즘의 유용성에 의해 유용성이 직접 결정되는 분산 시스템 모니터링을위한 취미 프로젝트를 작성하고 있기 때문에 관심이 있습니다)


"분할 및 정복"/ 연관되지 않은 스트리밍 알고리즘을 생각하기가 훨씬 더 어렵다는 것을 알게되었습니다. 아마도 일종의 롤링 해시 함수 ... 그런 스트림 알고리즘의 자연스러운 예가 있습니까?
Thomas Ahle

답변:


9

Guha et al. '03 은 스트리밍 모델에서 k- 중앙 군집에 대한 근사 알고리즘을 제공합니다. 이 알고리즘은 데이터를 분리 된 조각으로 나누고 각 분리 된 조각에 대한 O (k) 중심을 찾은 다음 결과를 결합하여 k 중심을 얻습니다. 이것은 찾고있는 알고리즘 유형 인 것 같습니다.


7

하여 용지 Bagchi, Chaudhary, Eppstein 및 굿 리치 산출하는 기본 루틴을 사용하여 기하학적 문제 스트리밍 다수 해결 -nets 및 -approximations 적절히 선택 범위를 공간. 이 서브 루틴은 이들을 계산하기위한 계층 적 체계를 개발하여 이러한 객체의 추가 구조를 사용합니다 (가상 레벨 스트림은 가상 레벨 스트림이며 레벨 0은 원래 스트림입니다. 이것은 본질적으로 분할 및 정복 전략의 상향식 렌더링입니다. 재귀 트리의 "가장자리"를 따라 업데이트됩니다. 구조적으로 이것은 Lev.ε i 번째 ( i - 1 ) 번째εεith(i1)th


6

스트림 주파수 분포의 모든 기능을 병합 할 수 있음 ( 병합 작업에 대한 명시 적이고 효율적인 구성을 제공하지는 않음 )이라는 논문 ( "분배 빈도에 따른 데이터 스트림 계산" )을 발견 했습니다 . 그리고 그 증거는 링 이론과 관련하여 매우 흥미로운 것 같습니다. 주요 결과가이 논문의 기초로 사용되는 동일한 저자 ( "데이터 스트림의 주파수 추정에 대한 하한" )가 이전 논문을 읽어야합니다 .

이것은 제 3의 동질주의 정리를 생각 나게합니다 ...


Ganguly 논문은 분할 및 정복 전략이 스트리밍에 효과적 일 수 있다고 생각하지 않습니다. 이 모델은 데이터를 여러 번 통과 할 수있는 Mapreduce / MUD 모델로 축소 된 것 같습니다.
Suresh Venkat

읽었을 때 그것은 결국 다중 패스를 사용하지 않는 것 같습니다.
jkff

4

연속 스트림 쿼리 언어에 대한 연구는 약간의 통찰력을 제공 할 수 있습니다. 그러한 언어 중 하나는 CQL 인데 Oracle에서 채택하고 있다고 생각합니다. 이 언어를 사용하면 스트림의 슬라이딩 윈도우 (크기 1의 윈도우 포함)에서 함수를 계산할 수 있습니다. 이 학사 논문 은 몇 가지 예를 포함하여 언어에 대한 최근 개요를 제공합니다. 이 백서 는 일부 스트림 처리 언어에 대한 개요를 제공하며 다른 관련 연구 링크를 찾는 데 유용합니다.

이것이 귀하의 질문에 직접 대답하는 것은 아니라는 것을 알고 있지만 동일한 출발점에서 출발하는 사람들이 수행 한 연구와 연락해야합니다.


4

이 질문은 조금 원형 인 것 같습니다. 문제에 원하는 속성이 있으면 스케치 앤 병합 기반 알고리즘이 있습니다. 위에서 언급했듯이 클러스터링, 근사 및 코어 세트에 대한 작업이 있습니다. 또한 대부분의 스트리밍 알고리즘은 하나의 스트림을 다른 스트림에 (개념적으로) 연결하여 스트림을 병합 할 수 있습니다.

또한 top-k 스트리밍 알고리즘이 합병 가능한지 확실하지 않지만 잘못되었을 수 있습니다.


Top-k는 간단하게 병합 가능합니다. k 개의 항목 두 목록을 병합하려면 병합하고 결과의 마지막 항목을 가져옵니다.) 그러나 아마도 "최고의 k k"를 의미했지만이 중 하나를 의미했습니다. 예를 들어, 페이스 북 벽과 같은 것의 분산 계산에 유용한 문제)
jkff

3

이것을 괴롭히는 것은 죄송하지만 스트림에 대한 분산 연속 모니터링에 대한 작업을보고 싶을 수도 있습니다. 여기에는 여러 스트림이 제공되며 목표는 통신을 최소화하면서 중앙 모니터링 사이트에서 일부 집계 통계를 모니터링하는 것입니다. 이 모델은 당신의 동기와 밀접한 관련이 있습니다. Muthu 's book 의 참고 문헌을보십시오 . 한 종이는 이것 입니다.

Ganguly의 논문도 매우 흥미 롭습니다.

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