부분 그래프 동형사상 문제
1. 개요
1. 개요
부분 그래프 동형사상 문제는 그래프 이론과 계산 복잡도 이론의 핵심적인 결정 문제 중 하나이다. 주어진 두 개의 그래프 G와 H에 대해, G가 H의 부분 그래프와 동형인지, 즉 G의 구조가 H의 일부 안에 그대로 포함되어 있는지를 판별하는 문제를 다룬다.
이 문제는 NP-완전 문제로 알려져 있어, 다항 시간 내에 해결할 수 있는 효율적인 일반 알고리즘이 존재하지 않는다고 여겨진다. 따라서 실제 응용에서는 문제의 특성을 고려한 다양한 알고리즘과 휴리스틱 기법이 사용된다.
1970년대부터 본격적으로 연구되기 시작한 이 문제는 화학정보학에서 분자 구조를 비교하거나, 소셜 네트워크 분석에서 특정 연결 패턴을 탐지하는 등 광범위한 분야에서 응용된다. 또한 바이오인포매틱스의 단백질 상호작용 네트워크 분석, 패턴 인식, 데이터베이스 질의 처리 등에서도 중요한 도구로 활용된다.
2. 정의
2. 정의
부분 그래프 동형사상 문제는 그래프 이론과 계산 복잡도 이론의 핵심적인 결정 문제 중 하나이다. 이 문제는 두 개의 그래프 G(패턴 그래프)와 H(대상 그래프)가 주어졌을 때, G가 H의 어떤 부분 그래프와 동형인지를 판별하는 것을 목표로 한다. 즉, G의 정점들을 H의 서로 다른 정점에 일대일로 대응시키고, G에 존재하는 모든 간선이 H에서도 그 대응 관계를 유지하며 존재하는 매핑을 찾는 것이 문제의 본질이다.
이 문제는 NP-완전 문제로 분류되며, 이는 다항식 시간 내에 해를 검증할 수 있지만, 모든 경우를 다항식 시간 내에 해결할 수 있는 효율적인 알고리즘이 아직 알려져 있지 않음을 의미한다. 문제의 복잡도는 패턴 그래프 G의 구조에 크게 의존한다. 예를 들어, G가 트리나 사이클과 같은 제한된 형태를 가질 때는 효율적으로 해결할 수 있는 알고리즘이 존재하지만, 일반적인 그래프에 대해서는 그러한 보장이 없다.
문제의 정의는 그래프 동형사상 문제와 유사하지만, 부분 그래프 동형사상 문제는 G가 H의 부분 구조와 정확히 일치해야 한다는 점에서 더 일반적이며 어렵다. 이 문제는 1970년대부터 본격적으로 연구되기 시작했으며, 화학정보학에서 분자 구조를 비교하거나, 소셜 네트워크 분석에서 특정 관계 패턴을 탐지하는 등 다양한 실용적인 분야에서 응용된다.
3. 계산 복잡도
3. 계산 복잡도
3.1. NP-완전성
3.1. NP-완전성
부분 그래프 동형사상 문제는 NP-완전 문제로 알려져 있다. 이는 1970년대에 스티븐 쿡과 리처드 카프의 연구를 통해 확립된 NP-완전성 이론의 초기 사례 중 하나이다. 문제의 정의 자체가 모든 가능한 매핑을 검증해야 하는 조합적 특성을 가지기 때문에, 비결정적 튜링 기계로 다항 시간 내에 검증 가능한 동시에 (클리크 문제 등의 다른 NP-완전 문제로부터의 다항 시간 변환을 통해) 모든 NP 문제만큼 어려운 것으로 증명되었다.
이 문제의 NP-완전성은 실질적으로 다항 시간 내에 문제를 항상 해결할 수 있는 일반적인 알고리즘이 존재하지 않음을 의미한다. 따라서 큰 규모의 그래프에 대해 부분 그래프 동형사상을 정확히 찾는 것은 매우 어려운 과제가 된다. 이 복잡도는 문제가 화학정보학이나 소셜 네트워크 분석과 같은 다양한 분야에서 유용하게 응용됨에도 불구하고, 실제 적용 시에는 근사 알고리즘이나 휴리스틱 방법에 의존해야 하는 주요 이유가 된다.
NP-완전성은 입력 그래프의 형태에 따라 달라질 수 있다. 예를 들어, 패턴 그래프 G가 매우 단순한 구조, 예컨대 트리나 경로인 경우에는 문제가 다항 시간 내에 해결 가능할 수 있다. 그러나 일반적인 경우, 특히 G가 완전 그래프나 해밀턴 경로를 포함하는 경우와 같이 복잡한 구조를 가질 때는 NP-완전성을 유지한다. 이는 문제의 매개변수화된 복잡도 연구로 이어지는 중요한 동기가 된다.
3.2. 특수 그래프 클래스
3.2. 특수 그래프 클래스
일반 그래프에 대한 부분 그래프 동형사상 문제는 NP-완전 문제이지만, 입력 그래프의 구조에 제약을 가하면 다항식 시간 내에 해결 가능한 경우가 있다. 이는 문제의 계산 복잡도가 그래프의 클래스에 크게 의존함을 보여준다.
주요 특수 그래프 클래스에 대한 복잡도는 다음과 같다. 대상 그래프 H가 트리 구조를 가질 경우, 부분 그래프 동형사상 문제는 다항식 시간 내에 해결 가능하다. 마찬가지로 H가 외부평면 그래프이거나, 직렬 병렬 그래프인 경우에도 효율적인 알고리즘이 존재한다. 반면, 패턴 그래프 G가 완전 그래프나 클릭인 경우, 문제는 H에서 동일한 크기의 클릭을 찾는 클릭 문제로 환원되어 여전히 어려운 문제가 된다.
이러한 연구는 매개변수화 복잡도 이론과 깊은 연관이 있다. 예를 들어, 패턴 그래프 G의 크기를 고정된 매개변수로 두면, 문제는 FPT(Fixed-Parameter Tractable)가 되어 다양한 그래프 클래스에서 효율적으로 해결될 수 있다. 또한, 두 입력 그래프 모두에 제약을 가하는 경우, 예를 들어 두 그래프가 모두 구간 그래프이거나 순열 그래프인 경우에도 문제의 복잡도가 감소할 수 있다.
실제 응용 분야에서는 데이터 그래프 H가 특정 구조를 가지는 경우가 많다. 예를 들어, 화학정보학에서 분자 구조는 대체로 나무와 유사한 구조를 가지며, 소셜 네트워크는 특정한 통계적 속성을 보인다. 따라서 이론적으로 연구된 특수 그래프 클래스에 대한 알고리즘은 실제 문제 해결에 직접적으로 기여할 수 있다.
4. 알고리즘 및 접근법
4. 알고리즘 및 접근법
4.1. 백트래킹
4.1. 백트래킹
부분 그래프 동형사상 문제를 해결하는 가장 기본적이고 직관적인 알고리즘은 백트래킹이다. 이 방법은 가능한 모든 매핑을 체계적으로 시도하되, 중간에 불가능한 매핑은 조기에 포기하여 탐색 공간을 줄이는 방식으로 작동한다. 일반적으로 큰 그래프 H(호스트 그래프)의 정점에 작은 그래프 G(패턴 그래프)의 정점을 하나씩 대응시키며, 현재까지의 부분 매핑이 동형사상의 조건을 만족하는지 지속적으로 검증한다.
알고리즘은 보통 깊이 우선 탐색 형태로 구현된다. 패턴 그래프 G의 정점을 특정 순서로 방문하며, 각 단계에서 해당 정점을 호스트 그래프 H의 아직 매핑되지 않은 정점 후보 중 하나에 할당한다. 할당 시, 현재까지 매핑된 모든 정점 쌍 사이의 인접 관계가 G와 H에서 일치하는지, 즉 에지가 보존되는지 확인한다. 조건을 위반하면 해당 분기는 더 이상 탐색하지 않고 되돌아가(백트랙) 다음 후보를 시도한다.
백트래킹의 효율성은 정점 방문 순서와 후보 정점 필터링 전략에 크게 의존한다. 예를 들어, 연결성이 높거나 차수가 큰 정점을 먼저 매핑하면 후보 집합이 빠르게 줄어들어 탐색 공간을 효과적으로 축소할 수 있다. 또한, 도메인 필터링 기법을 통해 각 패턴 정점에 대해 가능한 호스트 정점 후보들의 집합을 사전에 제한할 수 있다. 그러나 최악의 경우, 이 방법은 여전히 지수 시간 복잡도를 가지며, 그래프의 크기가 커질수록 실용적이지 않을 수 있다.
이러한 기본적인 백트래킹은 Ullmann 알고리즘과 같은 초기 알고리즘의 근간이 되었으며, 이후 더 정교한 인덱싱 기법이나 매개변수화 복잡도 분석을 통한 개선된 알고리즘들의 출발점이 된다.
4.2. 인덱싱 기법
4.2. 인덱싱 기법
인덱싱 기법은 부분 그래프 동형사상 문제를 해결하기 위해 데이터 그래프에 대한 사전 처리와 효율적인 검색 구조를 구축하는 방법이다. 이 기법은 질의 그래프가 주어지기 전에 대상 그래프의 구조 정보를 미리 계산하여 인덱스로 저장함으로써, 실제 매칭 단계에서 탐색 공간을 크게 줄이는 것을 목표로 한다. 특히 대규모 그래프 데이터베이스에서 반복적인 질의를 처리해야 하는 응용 분야, 예를 들어 화학정보학이나 소셜 네트워크 분석에서 유용하게 사용된다.
인덱싱 기법의 핵심은 그래프의 지역적 또는 전역적 특성을 요약하는 특징 벡터나 라벨을 생성하는 것이다. 대표적인 방법으로는 그래프의 모든 정점에 대해 그 정점을 중심으로 한 특정 반경 내의 이웃 구조(예: 인접 행렬의 부분 행렬, 차수 분포)를 인코딩하는 것이 있다. 질의가 들어오면, 질의 그래프의 각 정점에 대한 특징 벡터를 계산하고, 인덱스에서 이 특징과 일치하거나 이를 포함하는 후보 정점 집합만을 대상 그래프에서 빠르게 필터링해 낸다. 이를 통해 백트래킹 검색이 시작될 때 고려해야 할 매칭 경우의 수를 효과적으로 제한할 수 있다.
다양한 인덱싱 기법이 제안되었으며, 그 접근 방식에 따라 몇 가지 유형으로 나눌 수 있다.
기법 유형 | 주요 특징 | 예시 |
|---|---|---|
특징 기반 필터링 | 정점/간선 라벨, 차수, 이웃 구조 등 간단한 특징을 사용하여 후보 제거 | 그래프Gräph 인덱스 |
구조 요약 인덱싱 | 그래프를 작은 조각(예: 경로, 트리, 작은 서브그래프)으로 분해하고 그 발생 빈도를 색인 | gIndex, Tree+Δ |
빈도 기반 인덱싱 | 빈번하게 나타나는 그래프 패턴(빈발 서브그래프)을 미리 탐색하여 인덱스로 활용 | FG-인덱스 |
이러한 인덱싱 기법은 질의 처리 시간을 단축시키는 강력한 도구이지만, 인덱스 자체를 구축하고 유지하는 데 추가적인 계산 비용과 저장 공간이 필요하다는 트레이드오프가 존재한다. 따라서 대상 그래프의 크기, 질의의 특성, 그리고 허용 가능한 사전 처리 시간에 따라 적절한 인덱싱 전략을 선택하는 것이 중요하다.
4.3. 매개변수화 복잡도
4.3. 매개변수화 복잡도
부분 그래프 동형사상 문제는 NP-완전 문제이므로, 모든 경우에 대해 다항 시간 내에 해결하는 일반적인 알고리즘은 존재하지 않는다. 이에 따라, 문제의 어려움을 정밀하게 분석하기 위해 매개변수화 복잡도 이론이 활발히 적용된다. 이 접근법은 입력 크기 외에 문제 인스턴스의 특정 '매개변수'를 고려하여, 해당 매개변수가 작을 때 효율적인 알고리즘이 존재하는지를 연구한다.
부분 그래프 동형사상 문제에서 주요하게 고려되는 매개변수는 패턴 그래프 H의 크기이다. H의 정점 수를 k라고 할 때, 이 문제는 고정 매개변수 취약이지 않다. 즉, k만 고정된다고 해서 다항 시간 알고리즘이 존재한다는 보장이 없다. 그러나 H의 구조에 제약을 가하면 상황이 달라진다. 예를 들어, 패턴 그래프 H가 트리나 경로와 같이 특정 형태를 가질 때, 이 문제는 고정 매개변수 취약이 될 수 있으며, 동적 계획법이나 커널화 기법을 통해 효율적으로 해결될 수 있다.
매개변수화 복잡도 연구는 다양한 매개변수 조합을 탐구한다. 패턴 그래프 H의 트리 너비나 정점 덮개 수와 같은 구조적 매개변수와 함께, 호스트 그래프 G의 특성(예: 평면 그래프)을 결합한 분석이 이루어진다. 이를 통해 특정 조건 하에서 문제가 고정 매개변수 처리 가능함을 증명하거나, 반대로 어려움을 보이는 것이 주요 목표이다. 이러한 연구는 문제의 본질적 어려움을 이해하고, 실용적으로 유용한 알고리즘의 개발 범위를 규정하는 데 기여한다.
5. 응용 분야
5. 응용 분야
5.1. 화학정보학
5.1. 화학정보학
화학정보학은 부분 그래프 동형사상 문제가 가장 널리 활용되는 분야 중 하나이다. 이 문제는 분자 구조를 그래프로 표현한 뒤, 특정 부분 구조나 기능기를 찾는 데 핵심적인 도구로 사용된다. 분자 구조에서 원자는 정점에, 화학 결합은 간선에 대응되며, 이를 통해 복잡한 유기 화합물이나 약물 분자 내에서 원하는 부분 구조의 존재 여부를 효율적으로 검색할 수 있다.
이러한 기술은 약물 발견과 신약 개발 과정에서 특히 중요하다. 연구자들은 특정 생물학적 활성을 나타내는 것으로 알려진 분자 골격이나 기능기 패턴을 질의 그래프로 정의한다. 이후 대규모 화합물 데이터베이스를 대상으로 부분 그래프 동형사상 검색을 수행하여, 유사한 구조를 가진 후보 물질들을 선별해낸다. 이는 신약 후보물질의 발굴 속도를 크게 향상시키는 방법이다.
응용 분야 | 설명 |
|---|---|
구조-활성 관계 연구 | 특정 약리 활성과 연관된 분자 부분 구조를 식별 |
화합물 데이터베이스 검색 | 사용자가 그린 분자 구조도를 질의로 하여 동일 또는 유사 구조 검색 |
부작용 예측 | 알려진 유해 구조 패턴이 신약 후보 물질에 존재하는지 확인 |
또한, 부분 그래프 동형사상 알고리즘은 화학 반응 경로 분석이나 분자 동형사상 판별과 같은 더 복잡한 문제를 해결하는 기초가 되기도 한다. 이를 통해 화학 정보 시스템은 방대한 양의 분자 정보를 체계적으로 관리하고, 연구자에게 유용한 지식을 제공할 수 있다.
5.2. 소셜 네트워크 분석
5.2. 소셜 네트워크 분석
소셜 네트워크 분석은 사회 관계망의 구조와 역학을 이해하기 위한 연구 분야로, 부분 그래프 동형사상 문제가 중요한 도구로 활용된다. 이 분야에서는 개인 또는 조직을 노드로, 그들 사이의 관계를 에지로 표현한 대규모 네트워크를 다룬다. 여기서 특정한 관계 패턴이나 구조적 모티프를 찾는 것은 네트워크의 특성과 기능을 파악하는 핵심 과제가 된다.
예를 들어, 특정 소셜 미디어 플랫폼에서 "한 사용자가 두 명의 친구를 소개시켜 주는" 폐쇄된 삼각형 관계는 네트워크의 응집성을 나타내는 중요한 패턴이다. 분석가는 큰 네트워크 데이터에서 이와 같은 사전에 정의된 작은 패턴 그래프(예: 삼각형)를 탐색하는 문제를 부분 그래프 동형사상 문제로 공식화할 수 있다. 이는 네트워크 내에서 클러스터를 발견하거나, 정보 확산 경로를 예측하거나, 영향력 있는 사용자 집단을 식별하는 데 기여한다.
응용 목적 | 탐색 대상 패턴 예시 | 분석 의의 |
|---|---|---|
커뮤니티 탐지 | 완전 연결된 서브그래프(클릭) | 강한 응집성을 가진 그룹 식별 |
정보 전파 분석 | 특정 형태의 트리 또는 경로 | 루머나 콘텐츠의 확산 경로 모델링 |
역할 식별 | 특정 연결 구조를 가진 서브그래프 | 네트워크 내에서 유사한 위치에 있는 노드 군집 발견 |
이러한 패턴 매칭을 통해, 소셜 네트워크 분석은 단순한 연결 통계를 넘어 네트워크의 깊은 구조적 속성을 규명할 수 있다. 그러나 실제 소셜 네트워크는 방대한 규모와 복잡성을 가지므로, 부분 그래프 동형사상 문제의 NP-완전 성질로 인해 효율적인 근사 알고리즘이나 휴리스틱 방법론의 개발이 지속적으로 요구된다.
5.3. 바이오인포매틱스
5.3. 바이오인포매틱스
바이오인포매틱스 분야에서는 단백질 상호작용 네트워크, 유전자 조절 네트워크, 대사 경로와 같은 복잡한 생물학적 네트워크를 분석하는 데 부분 그래프 동형사상 문제가 핵심적으로 활용된다. 생물학적 네트워크는 수천 개의 노드와 연결을 가질 수 있는 대규모 그래프로 모델링되며, 여기서 특정 기능을 수행하는 알려진 패턴이나 모듈을 찾는 것은 중요한 연구 과제이다. 예를 들어, 한 종의 단백질 상호작용 네트워크에서 발견된 특정 연결 패턴이 다른 종의 네트워크에서도 보존되어 있는지 확인하는 보존 모티프 탐색에 이 문제가 적용된다.
이러한 분석은 기능적 유사성을 추론하거나 새로운 생물학적 지식을 발견하는 데 기여한다. 연구자들은 질의 그래프 형태의 알려진 기능적 모듈을 대규모 표적 네트워크에 매칭시켜, 유사한 구조를 가진 하위 네트워크를 식별한다. 이 과정은 시스템 생물학과 진생물학 연구의 기초를 제공하며, 복잡한 생명 현상을 네트워크 수준에서 이해하려는 시도의 일환이다.
그러나 생물학적 네트워크의 거대한 규모와 복잡성은 계산상의 심각한 도전 과제를 제기한다. 부분 그래프 동형사상 문제 자체가 NP-완전 문제이기 때문에, 정확한 알고리즘은 실용적인 시간 내에 대규모 네트워크를 처리하기 어렵다. 따라서 바이오인포매틱스에서는 휴리스틱 방법, 근사 알고리즘, 또는 매개변수화 복잡도 이론을 활용한 특화된 알고리즘 개발이 활발히 진행되고 있다. 또한, 확률적 그래프 모델이나 색인 기법을 도입하여 검색 공간을 효과적으로 줄이는 연구도 이루어지고 있다.
6. 관련 문제
6. 관련 문제
6.1. 그래프 동형사상 문제
6.1. 그래프 동형사상 문제
부분 그래프 동형사상 문제와 밀접하게 연관되지만, 그 정의와 계산 복잡도가 명확히 다른 문제가 그래프 동형사상 문제이다. 이 문제는 두 개의 그래프 G와 H가 주어졌을 때, G의 꼭짓점과 H의 꼭짓점 사이에 변의 연결 관계를 보존하는 일대일 대응(동형사상)이 존재하는지를 판별하는 것이다. 즉, 두 그래프가 구조적으로 완전히 동일한지를 묻는 문제이다.
부분 그래프 동형사상 문제가 NP-완전으로 알려진 반면, 그래프 동형사상 문제의 복잡도는 오랫동안 미해결 난제로 남아 있었다. 이 문제는 NP에 속하지만 NP-완전인지, 아니면 P에 속하는지가 확정되지 않았으며, NP-중간 문제의 대표적인 후보로 여겨져 왔다. 2015년에 라슬로 바바이는 쿼지-다항식 시간 알고리즘을 제시하며 이 분야에 획기적인 진전을 가져왔으나, 문제의 최종적인 복잡도 범주는 여전히 열려 있다.
두 문제의 핵심적 차이는 다음과 같다.
문제 | 질문 | 복잡도 |
|---|---|---|
그래프 동형사상 문제 | 그래프 G와 H가 구조적으로 완전히 같은가? | 미확정 (NP-중간 후보) |
부분 그래프 동형사상 문제 | 그래프 G가 그래프 H의 일부 구조와 같은가? | NP-완전 |
이러한 복잡도 차이 때문에, 부분 그래프 매칭을 필요로 하는 화학정보학이나 바이오인포매틱스 등의 응용 분야에서는 주로 휴리스틱이나 근사 알고리즘에 의존하는 반면, 그래프 동형 판별은 보다 효율적인 전용 알고리즘의 연구가 가능한 영역이 되었다.
6.2. 최대 공통 부분 그래프 문제
6.2. 최대 공통 부분 그래프 문제
최대 공통 부분 그래프 문제는 주어진 두 개 이상의 그래프에서 공통적으로 포함되는 가장 큰 부분 그래프를 찾는 문제이다. 여기서 '가장 크다'는 것은 일반적으로 정점의 수나 간선의 수가 최대인 것을 의미한다. 이 문제는 부분 그래프 동형사상 문제와 밀접하게 연관되어 있지만, 목표가 다르다. 부분 그래프 동형사상 문제는 한 그래프가 다른 그래프의 부분 그래프와 동형인지를 판별하는 반면, 최대 공통 부분 그래프 문제는 두 그래프 모두에 존재하는 가장 큰 공통 구조를 식별하는 데 중점을 둔다.
이 문제는 NP-난해 문제로 알려져 있으며, 정확한 해를 찾는 것은 매우 어렵다. 따라서 실제 응용에서는 휴리스틱 알고리즘, 근사 알고리즘, 또는 제한된 그래프 클래스에 대한 특수 알고리즘이 주로 사용된다. 예를 들어, 두 그래프가 모두 트리 구조를 가질 경우, 문제는 다항식 시간 내에 해결될 수 있다.
최대 공통 부분 그래프 문제는 다양한 분야에서 패턴 매칭과 구조 비교를 위해 활용된다. 화학정보학에서는 서로 다른 분자 구조의 공통 골격을 찾는 데 사용되며, 바이오인포매틱스에서는 단백질 상호작용 네트워크나 대사 경로의 유사성을 분석하는 데 적용된다. 또한 소셜 네트워크 분석에서도 서로 다른 커뮤니티의 공통 연결 구조를 발견하는 데 유용하게 쓰인다.
이 문제의 변형으로는 정점에 라벨이 있는 그래프를 다루는 문제, 간선의 가중치를 고려하는 문제, 또는 두 개가 아닌 여러 개의 그래프에서 공통 부분 그래프를 찾는 문제 등이 존재한다. 이러한 변형들은 각각의 응용 분야의 요구사항에 맞춰 발전해 왔다.
7. 여담
7. 여담
부분 그래프 동형사상 문제는 계산 복잡도 이론의 대표적인 난제 중 하나로, NP-완전 문제임이 증명되어 있다. 이는 다항식 시간 내에 해결할 수 있는 효율적인 일반 알고리즘이 존재하지 않음을 의미하며, 이론적 중요성과 함께 실용적 한계를 동시에 보여준다. 이 문제의 난해함은 암호학이나 스케줄링 같은 다양한 분야에서 계산 난이도의 기준으로 활용되기도 한다.
문제의 실용적 측면에서, 정확한 해를 구하는 것은 매우 어렵지만, 근사 알고리즘이나 휴리스틱 방법을 통해 실세계 응용 분야에서 사용된다. 예를 들어, 대규모 소셜 네트워크에서 특정 연결 패턴을 찾거나, 화학 데이터베이스에서 유사한 분자 구조를 검색할 때는 완벽한 매칭 대신 실용적인 수준의 해결책을 추구한다.
이 문제는 그래프 동형사상 문제와도 깊은 연관이 있다. 그래프 동형사상 문제는 두 그래프가 구조적으로 완전히 같은지 판별하는 문제로, 그 계산 복잡도는 아직 명확히 규정되지 않았다. 부분 그래프 동형사상이 더 일반화된, 즉 더 어려운 문제임을 고려할 때, 후자의 연구는 전자의 복잡도 이해에도 기여한다.
마지막으로, 이 문제는 매개변수화 복잡도 연구의 주요 대상이다. 예를 들어 패턴 그래프의 크기를 고정된 작은 값으로 제한하면, 문제를 다항식 시간에 해결할 수 있는 알고리즘이 존재할 수 있다. 이러한 접근법은 문제가 본질적으로 어렵더라도 제한된 조건 하에서는 효율적으로 풀 수 있는 길을 열어준다.
