답변:
에서 네트워크에서 감지 사회 구조 컴퓨터 과학의 맥락에서 정의 된 특정 문제로, M.Newman을 정의 그래프 클러스터링.
몇 가지 간단한 작업으로 나눌 수있는 계산을 고려해 봅시다. 이들은 네트워크에서 노드로 표현됩니다. 링크는 작업 간의 종속성에 해당합니다. 즉 한 작업의 결과가 다른 작업에 필요합니다. 문제는 병렬 처리 목적으로 여러 프로세서에 작업을 분산시키는 것입니다. 즉, 각 노드 (작업)를 특정 클래스 (프로세서)에 할당하려고합니다. 즉, 그래프를 분할하려고합니다.
그러나 세 가지 제약이 있습니다. 첫 번째는 프로세서 수를 미리 알고 있기 때문에 사전 정의 된 수의 커뮤니티를 얻는 것입니다. 두 번째는 균형 잡힌 부하를 얻는 것입니다. 각 프로세서가 대략 같은 수의 작업을 수행하기를 원합니다. 그래프의 관점에서 볼 때 커뮤니티는 대략 같은 수의 노드를 포함하기를 원합니다. 세 번째는 프로세스 속도를 저하시키기 때문에 프로세서 간 통신을 최소화하는 것입니다. 따라서 그래프 측면에서 커뮤니티 간의 연결 수를 최소화하려고합니다.
따라서이 관점에서 커뮤니티 감지는 그래프 클러스터링보다 더 일반적인 문제로 간주 될 수 있습니다. 세 번째 제약은 두 문제 모두에서 시행되지만 커뮤니티의 수와 크기는 커뮤니티 감지에서 우선적 으로 알려져 있지 않습니다 .
이 두 개의 다른 이름은 소셜 네트워크 동기 부여를 강조할지 여부에 따라 다른 과학자 커뮤니티에서 동일한 것으로 지정됩니다. 어쩌면 누군가 클러스터링과 커뮤니티 감지를 다른 것으로 정의하고 있지만 그 중 하나를 연구하는 대부분의 사람들은 왜 다른 용어를 사용하지 않는지 알 수 없을 것입니다.
큰 네트워크가 두 부분으로 클러스터 된 경우이 두 부분이 두 개의 커뮤니티라는 것을 어떻게 보증합니까? 두 개의 클러스터가 연결이 낮다고해서 각 클러스터에 비슷한 종류의 노드가 있거나 노드가 비슷한 종류의 연결을 가지고 있다는 의미는 아닙니다 (따라서 커뮤니티). 소셜 네트워크 그래프를 생각해보십시오. 확실히 많은 커뮤니티가 있습니다. 또한 클러스터링 알고리즘을 통해 두 개의 조각으로 클러스터링 할 수 있습니다. 이 경우 각 부분을 커뮤니티라고 부릅니다. ? 내 대답은 아니요입니다. 두 군집은 두 지역의 사람들 일 수 있기 때문입니다. 그리고 그들은 분명히 공동체가 아닙니다.
클러스터링 알고리즘은 노드 유사성 또는 연결 유사성 또는 밀집된 연결이 아니라 최소 컷에만 관심이 있습니다. 또한 클러스터링 알고리즘에서는 클러스터 수를 미리 정의해야합니다.
커뮤니티 감지 알고리즘은 밀도에 관심이 있으며 네트워크의 밀도가 높은 부분을 발견하며 이러한 알고리즘은 커뮤니티의 수를 미리 정의 할 필요가 없습니다.
그러나 클러스터링 알고리즘을 사용하여 커뮤니티를 찾을 수 있으므로 각 클러스터가 양호한 커뮤니티 구조를 유지한다고 보장 할 수 없으므로 각 클러스터를 신중하게 검사해야합니다.
"클러스터링을 해결하기 위해 커뮤니티 검색을 간단하게 적용 할 수 없으며 그 반대도 마찬가지입니다. 유사성에도 불구하고 접근 방식에는 중요한 차이점이 있습니다. 커뮤니티 검색은 희소 한 연결을 가정하지만 클러스터링은 밀도가 높은 데이터 세트를 사용할 수 있습니다. 클러스터링에서는 일반적으로 여러 유형의 속성을 처리합니다 커뮤니티 검색은 일반적으로 단일 속성 유형 (가장자리-비가 중 네트워크의 경우에는 이진)을 처리하지만 자세한 내용은 다음 문서를 참조하십시오. "리커도 Guidotti와 Michele Coscia의 커뮤니티 검색과 클러스터링의 동등성"