패턴

2011-05-01 2 views
10

I 지향 그래프에 지정된 패턴에 대응하는 부분, 예를 검색하는 도구/알고리즘을 찾기 위해 시도하고있다 :패턴

A-> B-> C 또는 A 또는 < -> B-> C

내 검색 방향을 제안 해주세요.

나는 패턴 매칭을 의미합니다. 노드와 모서리의 모든 그룹을 찾을 필요가 있습니다. 지정된 패턴과 일치합니다.

+0

"패턴"과 "일치"의 엄격한 정의를 지정해야합니다. – akappa

+0

패턴에 사이클이 포함될 수 있습니까? 예 : "A-> B-> A-> C"? –

+0

패턴이있는 경우 직접 코드를 작성할 수 있습니다. 질문에 대한 대답은 그래프를 프로그래밍하는 데 사용하는 프로그래밍 언어에 따라 다릅니다. 따라서이 정보를 제공하지 않으면 귀하를 도울 수 없습니다. – bacchus

답변

1

가능한 라이브러리는 Python Graph Library입니다.

패턴 일치의 경우 검색중인 패턴을 알고 있으면 그래프를 탐색하고 경로를 비교하기 만하면됩니다. 또는 함수를 사용하여 노드 사이의 경로를 검색하고 패턴이 존재하는지 확인할 수 있습니다 .

1

그래프 패턴 매칭은 graph rewrite tools 코어의 기능으로 사전 구현되어 있습니다.

예 : GrGen을 사용하면 예제 패턴을 a -> b : B -> c : C로 기록한 다음 호스트 패턴의 특성에 맞게 패턴 매처를 생성합니다 (통계를 취하여 최적화 됨) 그래프에 대한 설명).