isisomorphic
두 그래프가 동형인지 확인
설명
예제
두 개의 유방향 그래프를 생성하고 플로팅한 후 서로 동형인지 확인합니다.
G1 = digraph([1 1 1 2 3 4],[2 3 4 4 4 1]); G2 = digraph([3 3 3 2 1 4],[1 4 2 3 2 2]); subplot(1,2,1) plot(G1) subplot(1,2,2) plot(G2)
isisomorphic(G1,G2)
ans = logical
1
두 개의 그래프 G1
과 G2
를 생성하고 플로팅합니다.
G1 = graph([1 1 1 2 2 3 3 4 5 5 7 7],[2 4 5 3 6 4 7 8 6 8 6 8]); plot(G1,'XData',[1 4 4 1 2 3 3 2],'YData',[4 4 1 1 3 3 2 2])
G2 = graph({'a' 'a' 'a' 'b' 'b' 'b' 'c' 'c' 'c' 'd' 'd' 'd'}, ... {'g' 'h' 'i' 'g' 'h' 'j' 'g' 'i' 'j' 'h' 'i' 'j'}); plot(G2,'XData',[1 2 2 2 1 2 1 1],'YData',[4 4 3 2 3 1 2 1])
G1
과 G2
에 대해 동형사상이 존재하는지 여부를 확인합니다. 결과를 보면 그래프는 레이블과 레이아웃이 서로 다르더라도 구조적으로 동일합니다.
tf = isisomorphic(G1,G2)
tf = logical
1
두 가지 다른 비교를 사용하여 두 그래프 간에 동형사상 관계가 있는지 확인합니다. 두 비교 중 하나는 노드 속성을 유지하고, 다른 하나는 노드 속성을 무시합니다.
두 개의 유사한 그래프를 생성합니다. 각 그래프에 노드 속성 Color
를 추가합니다.
G1 = graph({'d' 'e' 'f'},{'e' 'f' 'd'}); G1.Nodes.Color = {'red' 'red' 'blue'}'; G2 = graph({'a' 'b' 'c'},{'b' 'c' 'a'}); G2.Nodes.Color = {'blue' 'blue' 'red'}';
동일한 Figure에 그래프를 나란히 플로팅합니다. Color = 'red'
인 노드를 빨간색으로 표시합니다.
subplot(1,2,1) p1 = plot(G1); highlight(p1,{'d' 'e'},'NodeColor','r') subplot(1,2,2) p2 = plot(G2); highlight(p2,'c','NodeColor','r')
Color
속성을 무시하고 그래프가 동형인지 여부를 확인합니다.
tf = isisomorphic(G1,G2)
tf = logical
1
그래프가 동형이고 비교에서 Color
속성의 값을 유지하는지 여부를 확인합니다. 이 경우, 각 그래프의 Color
속성에 각각 다른 개수의 'red'
값과 'blue'
값이 포함되어 있으므로 동형사상이 존재하지 않습니다.
tf = isisomorphic(G1,G2,'NodeVariables','Color')
tf = logical
0
입력 인수
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: tf = isisomorphic(G1,G2,'NodeVariables',{'Var1' 'Var2'})
유지할 간선 변수로, 'EdgeVariables'
와 함께 문자형 벡터, string형 스칼라, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열이 쉼표로 구분되어 지정됩니다. G1.Edges
와 G2.Edges
모두에 있는 간선 변수를 하나 이상 지정하려면 이 옵션을 사용하십시오. 동형사상 비교가 유효하려면 지정된 간선 변수를 유지해야 합니다. 동일한 두 노드 사이에 다중 간선이 있는 다중 그래프의 경우, 동일한 노드 쌍에 대한 간선 변수의 순서는 중요하지 않습니다.
데이터형: char
| string
| cell
유지할 노드 변수로, 'NodeVariables'
와 함께 문자형 벡터, string형 스칼라, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열이 쉼표로 구분되어 지정됩니다. G1.Nodes
와 G2.Nodes
모두에 있는 노드 변수를 하나 이상 지정하려면 이 옵션을 사용하십시오. 동형사상 비교가 유효하려면 지정된 노드 변수를 유지해야 합니다.
데이터형: char
| string
| cell
세부 정보
두 그래프 G1
과 G2
는 노드 P
의 치환이 존재하는 경우, 즉 reordernodes(G2,P)
가 G1
과 동일한 구조를 갖는 경우 동형입니다.
동형인 두 그래프는 유사한 구조를 갖습니다. 예를 들어, 하나의 순환이 포함된 그래프와 동형인 모든 그래프는 하나의 순환을 포함합니다.
확장 기능
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
버전 내역
R2016b에 개발됨
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)