레이블이 지정된 그래프의 그래프 동형 문제


11

레이블이없는 그래프의 경우 그래프 동 형사상 문제는 실제로 매우 잘 수행되는 여러 알고리즘으로 해결할 수 있습니다. 즉, 최악의 경우 실행 시간은 지수이지만 일반적으로 다항식 실행 시간이 있습니다.

레이블이 지정된 그래프의 경우 상황이 비슷하기를 바랐습니다. 그러나 "실제로 효율적인"알고리즘을 제안하는 참조를 찾기가 정말 어렵습니다.

비고 : 여기서는 동형이 라벨을 보존해야합니다. 즉, 2 개의 유한 한 오토마타 / 프로세스 대수 용어 사이의 동 형사상은 오토마타 / 용어가 본질적으로 "노드 이름 바꾸기와 동일"하다는 것을 암시한다.

내가 찾은 유일한 참조는 Wikipedia에서 레이블이 지정된 그래프의 동형 문제가 다항식으로 일반 그래프의 문제로 줄어들 수 있다고 언급 한 것입니다. 그러나 기본 논문은 실제 알고리즘보다 복잡성 이론에 관한 것입니다.

나는 무언가를 놓치고 있거나 실제로 두 개의 레이블이 지정된 그래프가 동형인지 여부를 결정하는 효율적인 "heuristical"알고리즘이없는 경우입니까?

어떤 힌트 나 참조도 좋습니다.


3
wikipedia 기사와 찾은 논문을 참고하여 문제를 해결하는 것이 좋습니다.
babou

1
"라벨을 보존하는"동 형사상이란 무엇입니까? 오토 마톤과 관련하여 정점 레이블은 서로 다릅니다. 따라서, 동종 사상은 별개의 라벨을 가진 소스의 두 정점도 이미지에 별개의 라벨을 가져야한다는 의미에서 사소하게 "라벨을 유지"합니다. 이 문제는 일반적인 그래프 동형 문제와 동일합니다. 동 형사상이 꼭짓점을 동일한 레이블이있는 꼭짓점에 매핑해야한다는 것을 의미한다면, 꼭짓점 레이블이 항상 다른 경우 알고리즘은 사소한 것입니다. 레이블의 항등 맵이 동형인지 확인하십시오.
David Richerby

여러 정점이 동일한 레이블을 가질 수 있고 정점의 이미지가 원래의 레이블과 동일한 레이블을 가져야하는 경우를 고려하려는 경우, 종종 컬러 그래프 사이의 동 형사상이라고 합니다 . 이 경우 색상을 가젯으로 대체하여 일반 GI를 간단하게 줄일 수 있습니다. 신중하게 선택한 가제트를 적용한 다음 표준 GI 알고리즘을 사용하여 적절한 실제 알고리즘을 얻을 수 있습니다.
David Richerby

등가 클래스의 레이블을 유지하는 일반적인 digraph isomorphism이있는 경우 두 개의 edge-labeled digraphs를 isomorphic으로 간주하고 싶지 않습니까? 귀하의 예에서 두 가지를 FA로 간주하면 및 에서 허용되는 언어는 다르지만 (아마도) 대체 서로의 동형 이미지입니다 . S a c , b dSSac,bd
Rick Decker

4
문제는 사소하게 GI- 완료입니다 (모든 모서리가 동일한 레이블을 갖는 그래프를 선택하십시오). 그래프 이소 형보다 어렵지 않다는 것을 나타내려면 레이블에서 정수 ( 로 1 : 1 맵을 만들고 각 중간에 추가하십시오 기호 라벨 에지 에 완전한 그래프 의 정점 ( ) 플러스 에지의 화살표 측 추가 노드. 원래 오토마타가 동형 인 경우에만 결과 그래프가 동형이다. g ( S ) K의 g ( S )g:a1,b2,c3,...)sg(s)Kg(s)
Vor

답변:


5

이 백서에 관심이있을 수 있습니다.

Aidan Hogan : 동형을 보존하면서 빈 노드를 스 콜레 마이징합니다. WWW 2015 : 430-440

RDF 그래프의 동 형사상을 테스트하기위한 알고리즘 (Nauty 기반)을 가지고 있으며, 이는 본질적으로 고정 된 레이블을 포함 할 수있는 레이블이 지정된 직접 그래프입니다. 알고리즘은 레이블을 고려하여 검색 공간을 좁 힙니다.

입력 레이블이 지정된 그래프를 RDF 그래프로 나타낼 수있는 경우 관련 소프트웨어 패키지 " blabel"를 사용하여 동 형사상을 테스트 할 수 있습니다 .


4

알고리즘이 k- 차원 Weisfeiler-Lehman 알고리즘 범주에 속하고 일반 그래프로는 실패한다는 것을 알았습니다. 자세한 내용은 여기에서 :

http://dabacon.org/pontiff/?p=4148

원본 게시물은 다음과 같습니다.

몇 년 전, 나는이 문제 (레이블이있는 그래프 동형)에 대해 간단하고 유연한 알고리즘을 만들었습니다.

이름을 "Powerhash"로 지정하고 알고리즘을 만들려면 두 가지 통찰력이 필요했습니다. 첫 번째는 PageRank에서도 사용되는 전력 반복 그래프 알고리즘입니다. 두 번째는 전력 반복의 내부 단계 기능을 원하는 것으로 대체하는 기능입니다. 각 반복 및 각 노드에서 다음을 수행하는 함수로 대체했습니다.

  • 노드 이웃의 해시 (이전 반복에서)를 정렬하십시오.
  • 연결된 정렬 해시 해시
  • 노드의 해시를 새로 계산 된 해시로 교체

첫 번째 단계에서 노드의 해시는 직접 이웃의 영향을받습니다. 두 번째 단계에서는 노드의 해시가 2 홉 떨어진 노드의 영향을받습니다. N 번째 단계에서 노드의 해시는 주변 N- 홉에 의해 영향을받습니다. 따라서 N = graph_radius 단계에 대해 Powerhash를 계속 실행하면됩니다. 결국 그래프 센터 노드의 해시는 전체 그래프의 영향을받습니다.

최종 해시를 생성하려면 최종 단계의 노드 해시를 정렬하고 함께 연결하십시오. 그런 다음 최종 해시를 비교하여 두 그래프가 동형인지 확인할 수 있습니다. 레이블이 있으면 각 노드에 대해 계산하는 내부 해시에 레이블을 첫 번째 반복에 추가하십시오.

이에 대한 자세한 내용은 여기 내 게시물을 볼 수 있습니다.

https://plus.google.com/114866592715069940152/posts/fmBFhjhQcZF

위의 알고리즘은 "madIS"기능 관계형 데이터베이스 내에서 구현되었습니다. 알고리즘의 소스 코드는 다음에서 찾을 수 있습니다.

https://github.com/madgik/madis/blob/master/src/functions/aggregate/graph.py


알고리즘이 다항식이라는 경고 만하면 완료되면 CS에서 P가있는 GI에 대한 오랫동안 열린 문제를 해결했습니다. .)
badroit

알고리즘은 대략적이고 확실하지 않습니다 (블로그 게시물에서도 마찬가지입니다). 그것이 작동하는 이유는 그것이 생성하는 해시가 엄청 나기 때문에 수백만 개의 그래프가있는 데이터베이스에서 가양 성 해시 충돌의 가능성은 무한합니다. 거짓 긍정 해시 충돌의 사례를 찾을 수 있다면 그것에 대해 매우 관심이 있습니다. 그 이유는 (암호 해시를 사용할 때) 암호화 해시 기능을 "중단"했기 때문입니다.
estama

해시 충돌 가능성이 얼마나 무한한가에 대해 자세히 설명합니다. 256bits의 암호화 해시가 세계의 모든 다른 파일이 동일한 값으로 해시되지 않도록하기에 충분하다고 생각합니다 (예 : git은 160 비트 인 SHA-1을 사용하여 보장합니다). Powerhash의 해시는 128 비트 * graph_node_count (MD5 해시 사용)입니다. 따라서 실제로이 유니버스에서 해시 충돌을 찾기에 충분한 그래프를 만들 수는 없습니다.
estama

1
해시 충돌이 없다고 가정하더라도 알고리즘에서 오 탐지를 제공한다는 의미입니다. 문헌에서 그래프 동형에 대해 많은 다항식 시간 알고리즘이 제안되어 왔으며 모두 거짓 오탐을 제공합니다. 여기에 관련된 질문 : cs.stackexchange.com/questions/50939/... .
badroit

1
토론 주셔서 감사합니다. 더 많은 연구를 통해 위의 알고리즘이 k 차원 Weisfeiler-Lehman 알고리즘 범주에 있으며 정규 그래프로 실패한다는 것을 알았습니다. 자세한 내용은 여기를 참조하십시오 : dabacon.org/pontiff/?p=4148
estama
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.