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


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 ↔ dS∗S′a↔c,b↔d
— Rick Decker

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