대부분의 질문은 유사성 (pidgeonholes)을 기반으로 노드를 그룹화하는 것과 관련하여 간단하게 근접성을 기준으로 노드를 그룹화하고자합니다.노드를 효율적으로 그룹화 하시겠습니까?
나는 크고 빽빽한 노드 모음을 가지고 있습니다. 잠재적으로 수백만입니다. 화면에서 그들은 어느 정도의 공간을 차지하므로 크기가 있다고 생각할 수 있습니다.
내가 뭘하려는 것은 처리 시간과 컨테이너 당 더 많은 노드를 수집 할 때이 노드를 단일 포함 노드로 효율적으로 그룹화하는 것입니다.
현재 시도가 너무 느려지거나 작동하지 않았지만 마음에있는 동일한 솔루션을 기반으로합니다 : 노드를 가져 와서 주변 노드를 무작위로 계산하여 가능한 많은 컨테이너를 계산하고 그룹화 한 다음 가장 효과적인 컨테이너를 선택합니다.
귀하의 아이디어는 무엇입니까? 특정 언어가 아니지만, PHP 또는 JavaScript를 사용하여 작성하게 될 것입니다.
Edit
은 내가 노드에서 스트리밍 할 것이라고 언급하는 것을 잊었다, 그래서 최대의 수백만을 위해, 그들이 와서, 용기에 넣어 새로운 컨테이너를 만들거나 심지어는 필요에 따라 삭제, 무제한 노드를 수용 할 필요가 컨테이너. 그것은 가장 이상적 일 것입니다.
필자는 자신의 코드에서 클러스터링이라는 용어를 사용하고 있으며, 정확히 내가 원하는 것입니다. 알고리즘에 감사드립니다. 나는 그것들을 살펴보고 그들이 적절한 해결책인지 여부를 알려줄 것이다. – DanRedux
나는 나를 위해 일할 알고리즘을 고안했다. 내 "k"컨테이너를 무작위로 배치하고, 각 노드에 가장 가까운 컨테이너를 찾고, 그 그룹을 의미하며, 몇 번 반복하여 컨테이너를 이동시킵니다. 내가 개선해야 할 부분은 루핑입니다. 일부 노드는 범위를 벗어나고 다른 노드의 범위에있는 노드를 통해서만 루프하는 더 빠른 방법이 있는지 궁금합니다. 하지만 노드 범위가 범위를 벗어난 매우 드문 영역이있을 수 있습니다. – DanRedux
DBSCAN에 대한 기사를 이미 읽었습니까? 이것은 당신이 원하는 것 같다. – Basti