최장 경로 문제

Longest path problem

그래프 이론과 이론 컴퓨터 과학에서, 가장 긴 경로 문제는 주어진 그래프에서 최대 길이의 단순한 경로를 찾는 문제이다.경로는 반복되는 정점이 없는 경우 단순하다고 합니다. 경로의 길이는 에지 수로 측정하거나 (가중치 그래프에서) 에지 가중치의 합으로 측정할 수 있습니다.음수 가중치 사이클이 없는 그래프에서 다항식 시간 내에 해결할 수 있는 최단 경로 문제와 대조적으로, 최장 경로 문제는 NP-hard이며, 적어도 일정 길이의 경로가 존재하는지 여부를 묻는 문제의 결정 버전은 NP-complete입니다.이는 P = NP가 아니면 임의 그래프에 대해 결정 문제를 다항 시간 내에 해결할 수 없다는 것을 의미한다. 더 강한 경도 결과도 알려져 있어 근사하기가 어렵다는 것을 보여준다.그러나, 이것은 유향 비순환 그래프에 대한 선형 시간 솔루션을 가지고 있으며, 이것은 스케줄링 문제에서 중요한 경로를 찾는 데 중요한 응용 프로그램을 가지고 있다.

NP-경도

가중되지 않은 최장 경로 문제의 NP-경도 문제는 해밀턴 경로 문제의 감소를 사용하여 나타낼 수 있습니다. 그래프 G는 가장 긴 경로가 길이 n - 1인 경우에만 해밀턴 경로를 가집니다. 여기서 n은 G의 정점 수입니다. 해밀턴 경로 문제는 NP-완전이기 때문에, 이 감소는 해밀턴 경로 문제의 결정 버전을 보여줍니다.최장 경로 문제도 NP-완전입니다.이 결정 문제에서 입력은 그래프 G와 숫자 k입니다.G에 k 이상의 에지의 경로가 포함되어 있으면 원하는 출력이 "yes"이고, [1]그 이외의 경우에는 "yes

만약 가장 긴 경로 문제를 다항식 시간에 해결할 수 있다면, 가장 긴 경로를 찾아 그 길이를 숫자 k와 비교함으로써 이 결정 문제를 해결하는 데 사용될 수 있다.따라서 가장 긴 경로 문제는 NP-hard입니다."특정 그래프에 최소 k개의 모서리가 있는 단순한 경로가 있는가?"라는 질문은 NP-완전이다.[2]

음수가 아닌 모서리 가중치를 갖는 가중 완전 그래프에서는 가장 긴 경로에 항상 모든 [3]정점이 포함되므로 가중된 가장 긴 경로 문제는 여행 세일즈맨 경로 문제와 동일합니다.

비순환 그래프

가중 그래프 G에서 주어진 두 정점 s와 t 사이의 가장 긴 경로는 모든 무게를 부정으로 바꿈으로써 G에서 도출된 그래프 -G의 가장 짧은 경로와 같다.따라서 -G에서 최단 경로를 찾을 수 있는 경우 [4]G에서도 최단 경로를 찾을 수 있습니다.

대부분의 그래프에서 이 변환은 -G에서 음의 길이의 주기를 생성하므로 유용하지 않습니다.그러나 G가 지향성 비순환 [4]그래프라면 음의 사이클을 생성할 수 없으며, -G의 최단 경로에 대한 선형 시간 알고리즘을 적용하여 선형 시간 G의 가장 긴 경로를 찾을 수 있습니다.DAG의 경우 소스 정점에서 다른 모든 정점으로 가는 가장 긴 경로는 -G에서 최단 경로 알고리즘을 실행하여 얻을 수 있습니다.

마찬가지로, 주어진 DAG의 각 정점 v에 대해, v로 끝나는 가장 긴 경로의 길이는 다음 단계에 의해 구할 수 있다.

  1. 지정된 DAG의 토폴로지 순서를 찾습니다.
  2. DAG의 각 정점 v에 대해 토폴로지 순서로 들어오는 인접 라우터를 보고 해당 인접 라우터에 대해 기록된 최대 길이에 1을 더하여 v로 끝나는 가장 긴 경로의 길이를 계산합니다.v에 들어오는 인접 라우터가 없는 경우 v로 끝나는 가장 긴 경로의 길이를 0으로 설정합니다.어느 경우든 알고리즘의 후속 단계에서 액세스할 수 있도록 이 번호를 기록합니다.

이것이 완료되면 기록된 값이 가장 큰 정점 v에서 시작하여 기록된 값이 가장 큰 착신 인접 라우터로 반복적으로 후퇴하고 이와 같이 발견된 정점의 시퀀스를 반전시킴으로써 DAG 전체에서 가장 긴 경로를 얻을 수 있습니다.

이는 -G에서 최단 경로 알고리즘을 실행하는 것과 동일합니다.

크리티컬 패스

활동 세트를 스케줄링하기 위한 핵심 경로 방법은 정점이 프로젝트의 이정표를 나타내고 가장자리가 하나의 이정표 이후와 다른 이정표 이전에 수행되어야 하는 활동을 나타내는 방향 비순환 그래프의 구성을 포함한다. 각 가장자리는 해당 활동 w에 대한 시간의 추정치로 가중치를 부여한다.완성해야 할 것 같습니다.이러한 그래프에서 첫 번째 마일스톤에서 마지막 마일스톤까지의 가장 긴 경로는 프로젝트를 [4]완료하기 위한 총 시간을 나타내는 중요 경로입니다.

유향 비순환 그래프의 가장 긴 경로는 레이어 그래프 도면에서도 적용할 수 있다.유향 비순환 그래프 G의 각 정점 v를 v로 끝나는 가장 긴 경로의 길이인 레이어에 할당하면 가능한 [5]최소 레이어 수로 G에 레이어 할당이 이루어진다.

근사치

Björklund, Husfeldt & Khanna(2004)는 무가중 무방향 그래프에서 가장 긴 경로 문제는 "근사 [6]경도를 이해하는 것이 어려운 것으로 악명 높다"고 쓰고 있다.가장 좋은 다항식 시간 근사 알고리즘 이 사건을 알려진;0{\displaystyle \epsilon>0}, 그것은 2배 이내에서 가장 긴 길과 가까워지려고 가능하지 않는다는 약한 근사 비율, n/지수 함수 모든ϵ를 들어⁡(Ω(통나무⁡ n)){\displaystyle n(\Omega({\sqrt{\log n}}))}.[7]을 수행한다. (통나무) 1- ( \ 2 ^{ ( \ )^- \ 。다만, NP가 준다항식 결정론적 시간 내에 포함되지 않는 한, 이 [8]문제에 대해 알려진 근사 알고리즘과 큰 차이가 있다.

가중치가 없지만 지시된 그래프의 경우, 강한 비직접성 결과가 알려져 있다.지 않는 한 P는 NP마다 ϵ>;0이 문제에 n1− ϵ{\displaystyle n^{1-\epsilon}에}할 수 없으며 더 강하complexity-theoretic 가정 그것에 n/로그 2+ϵ⁡ n{\displaystylen/\log ^{2+\epsilon}n}에 가깝 수 없{\displaystyle \epsilon>0}. .[6]컬러 코딩 기술을 사용하여 로그 길이의 경로를 찾을 수 있지만, 이는 O/ logn O n[9]의 근사 비율만 합니다.

파라미터화된복잡도

가장 긴 경로 문제는 경로의 길이로 매개 변수를 지정하면 고정 매개 변수를 추적할 수 있습니다.예를 들어, 다음 단계를 수행하는 알고리즘에 의해 입력 그래프의 크기(단, 경로 길이에서는 지수)에서 시간 선형으로 해결할 수 있습니다.

  1. 그래프의 깊이 우선 검색을 수행합니다.dd를 깊이 우선 검색 트리의 깊이로 .
  2. 깊이 우선 검색 트리의 루트 투 리프 경로 시퀀스를 검색에 의해 횡단된 순서대로 사용하여 경로 d\ d를 사용하여 그래프의 경로 분해를 구성합니다.
  3. 이 경로 분해에 동적 프로그래밍을 적용하여 O ! O 중 가장 긴 경로를 찾습니다. n {\ n 그래프 내의 정점 수입니다.

출력 패스의 길이가 d d와 적어도 같기 때문에 실행 시간은 n )(\^{\n됩니다. \ 가장 긴 [10]경로의 길이입니다.색상 코딩을 사용하면 경로 길이에 대한 의존도를 단일 [9][11][12][13]지수 단위로 줄일 수 있습니다.유사한 동적 프로그래밍 기술은 가장 긴 경로 문제도 그래프의 트리 폭에 의해 매개 변수화되었을 때 고정 매개 변수 추적이 가능하다는 것을 보여준다.

유계 클리크 폭의 그래프의 경우, 최장 패스는 다항식 시간 동적 프로그래밍 알고리즘에 의해서도 해결할 수 있다.그러나 다항식의 지수는 그래프의 집단 폭에 의존하므로 이 알고리즘은 고정 매개 변수를 추적할 수 없습니다.clique-width로 파라미터화된 최장 경로 문제는 파라미터화된 복잡도 W [ W[]에는 적용되지 않습니다.이는 고정 파라미터 [14]추적 가능한 알고리즘이 존재할 가능성이 낮음을 나타냅니다.

그래프의 특수 클래스

트리에서 가장 긴 경로를 찾기 위한 선형 시간 알고리즘은 1960년대에 Dijkstra에 의해 제안되었고,[15] 이 알고리즘의 공식적인 증거는 2002년에 발표되었다.또한, 가장 긴 경로는 가중 트리, 블록 그래프, 선인장,[16] 초당 순열 [17]그래프 및 프톨레마이오스 [18]그래프에서 다항식 시간으로 계산될 수 있다.

구간 그래프의 클래스에는 동적 프로그래밍 [19]접근법을 사용하는 O( 4) \ O ( ^ { ) } - time 이 알려져 있습니다.이 동적 프로그래밍 접근방식은 동일한 실행 O4 O^{4display O(n4를 갖는 더 큰 등급의 원형 호[20] 그래프와 공존성 그래프(즉, 치환 그래프[21]포함)에 대한 다항식 시간 알고리즘을 얻기 위해 이용되었다.후자의 알고리즘은 비교가능성 그래프의 사전 깊이 우선 검색(LDFS) 정점[22] 순서의 특수 속성을 기반으로 합니다.공비교 그래프의 경우 입력 공비교 [23]그래프의 보완에 의해 정의된 부분 순서 집합의 하세 다이어그램에 기초한 실행 O 7 O 더 높은 대체 다항 시간 알고리즘도 알려져 있다.

또한, 가장 긴 경로 문제는 거리 종속 그래프와 같이 유계 트리 폭 또는 유계 클리크 폭의 모든 그래프 클래스에서 다항식 시간 내에 해결할 수 있다.마지막으로 분할 그래프, 원 그래프평면 그래프와 같이 해밀턴 경로 문제가 NP-hard인 모든 그래프 클래스에서 NP-hard이다.

유도 비순환 그래프의 단순한 모델은 인용 네트워크를 나타내기 위해 Derek J. de Solla Price에 의해 개발된 Price 모델입니다.이는 일부 특성에 대한 분석 결과를 찾을 수 있을 정도로 단순합니다.예를 들어 네트워크에 추가된n번째 노드부터 네트워크 내의 첫 번째 노드까지의 가장 긴 경로의 는 lnn )\n 입니다[24].

「 」를 참조해 주세요.

레퍼런스

  1. ^ 를 클릭합니다Schrijver, Alexander (2003), Combinatorial Optimization: Polyhedra and Efficiency, Volume 1, Algorithms and Combinatorics, vol. 24, Springer, p. 114, ISBN 9783540443896.
  2. ^ 를 클릭합니다Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2001), Introduction To Algorithms (2nd ed.), MIT Press, p. 978, ISBN 9780262032933.
  3. ^ 를 클릭합니다Lawler, Eugene L. (2001), Combinatorial Optimization: Networks and Matroids, Courier Dover Publications, p. 64, ISBN 9780486414539.
  4. ^ a b c 를 클릭합니다Sedgewick, Robert; Wayne, Kevin Daniel (2011), Algorithms (4th ed.), Addison-Wesley Professional, pp. 661–666, ISBN 9780321573513.
  5. ^ 를 클릭합니다Di Battista, Giuseppe; Eades, Peter; Tamassia, Roberto; Tollis, Ioannis G. (1998), "Layered Drawings of Digraphs", Graph Drawing: Algorithms for the Visualization of Graphs, Prentice Hall, pp. 265–302, ISBN 978-0-13-301615-4.
  6. ^ a b 를 클릭합니다Björklund, Andreas; Husfeldt, Thore; Khanna, Sanjeev (2004), "Approximating longest directed paths and cycles", Proc. Int. Coll. Automata, Languages and Programming (ICALP 2004), Lecture Notes in Computer Science, vol. 3142, Berlin: Springer-Verlag, pp. 222–233, MR 2160935.
  7. ^ Gabow, 해럴드 N, 니에 하이, Shuxin(2008년)," 긴 경로 때문, 사이클과 회로를 찾는 것", 국제 심포지엄 알고리즘과 계수에, 강의 노트 컴퓨터 과학으로, 5369 vol., 베를린:스프링거,를 대신하여 서명함. 752–763, doi:10.1007/978-3-540-92182-0_66, 아이 에스비엔 978-3-540-92181-3, MR2539968.이보다 훨씬 더 미미한 근사치인 구간과 함께 생활하는 초창기 일로, Gabow, 해럴드 N(2007년),"superpolylogarithmic 길이의 길과 사이클을 찾는 것"(PDF), SIAM 저널 컴퓨팅에, 36(6):1648–1671, doi:10.1137/S0097539704445366, MR2299418과 Björklund, 안드레아스, Husfeldt, Thore(2003년),"superlogarithmic 길이의 길을 찾는 것", SIAM 저널일 참조하십시오Mputing, 32(6):1395–1402, doi:10.1137/S0097539702416761, MR2034242.
  8. ^ 를 클릭합니다Karger, David; Motwani, Rajeev; Ramkumar, G. D. S. (1997), "On approximating the longest path in a graph", Algorithmica, 18 (1): 82–98, doi:10.1007/BF02523689, MR 1432030, S2CID 3241830.
  9. ^ a b 를 클릭합니다Alon, Noga; Yuster, Raphael; Zwick, Uri (1995), "Color-coding", Journal of the ACM, 42 (4): 844–856, doi:10.1145/210332.210337, MR 1411787, S2CID 208936467.
  10. ^ Bodlaender, 한스는 L.(1993년),"depth-first 찾는 것과 선형적인 시간 작은 시험에서"면 필기장 알고리즘의 14(1):1–23, doi:10.1006/jagm.1993.1001, MR1199244.경로 길이에 좀 더 의존하지만, 그래프의 크기에 더 나쁜 의존도를 이전 FPT 알고리즘은 조합 문제(우디네, 1982년), North-Holland 수학에 Monien, B(1985년)," 어떻게 효율적으로 긴 경로 찾기", 분석과 알고리즘의 설계를 참조하십시오.스터드., vol. 109, 암스테르담:North-Holland, 니코틴산. 239–254, doi:10.1016(08)73110-4, 아이 에스비엔 9780444876997, MR0808004.
  11. ^ 를 클릭합니다Chen, Jianer; Lu, Songjian; Sze, Sing-Hoi; Zhang, Fenghui (2007), "Improved algorithms for path, matching, and packing problems", Proc. 18th ACM-SIAM Symposium on Discrete algorithms (SODA '07) (PDF), pp. 298–307.
  12. ^ Koutis, 요안 니스(2008년),"경로 및 포장 문제를 위해 더 빨리 수학적 알고리즘", 국제 콜로퀴움 자동자, 언어와 프로그래밍(PDF)에, 강의 노트 컴퓨터 과학으로, 5125 vol., 베를린:스프링거,를 대신하여 서명함. 575–586, CiteSeerX 10.1.1.141.6899, doi:10.1007/978-3-540-70575-8_47, 아이 에스비엔 978-3-540-70574-1, MR2500302 또는에서 보관.2017-08-09에Iginal(PDF), 2013-08-09 돌려받지 못 했다.
  13. ^ 를 클릭합니다Williams, Ryan (2009), "Finding paths of length k in O*(2k) time", Information Processing Letters, 109 (6): 315–318, arXiv:0807.3026, doi:10.1016/j.ipl.2008.11.004, MR 2493730, S2CID 10295448.
  14. ^ 를 클릭합니다Fomin, Fedor V.; Golovach, Petr A.; Lokshtanov, Daniel; Saurabh, Saket (2009), "Clique-width: on the price of generality", Proc. 20th ACM-SIAM Symposium on Discrete Algorithms (SODA '09) (PDF), pp. 825–834, archived from the original (PDF) on 2012-10-18, retrieved 2012-12-01.
  15. ^ 를 클릭합니다Bulterman, R.W.; van der Sommen, F.W.; Zwaan, G.; Verhoeff, T.; van Gasteren, A.J.M. (2002), "On computing a longest path in a tree", Information Processing Letters, 81 (2): 93–96, doi:10.1016/S0020-0190(01)00198-3.
  16. ^ 를 클릭합니다Uehara, Ryuhei; Uno, Yushi (2004), "Efficient algorithms for the longest path problem", Isaac 2004, Lecture Notes in Computer Science, 3341: 871–883, doi:10.1007/978-3-540-30551-4_74, ISBN 978-3-540-24131-7.
  17. ^ 를 클릭합니다Uehara, Ryuhei; Valiente, Gabriel (2007), "Linear structure of bipartite permutation graphs and the longest path problem", Information Processing Letters, 103 (2): 71–77, CiteSeerX 10.1.1.101.96, doi:10.1016/j.ipl.2007.02.010.
  18. ^ 를 클릭합니다Takahara, Yoshihiro; Teramoto, Sachio; Uehara, Ryuhei (2008), "Longest path problems on Ptolemaic graphs", IEICE Transactions, 91-D (2): 170–177, doi:10.1093/ietisy/e91-d.2.170.
  19. ^ 를 클릭합니다Ioannidou, Kyriaki; Mertzios, George B.; Nikolopoulos, Stavros D. (2011), "The longest path problem has a polynomial solution on interval graphs", Algorithmica, 61 (2): 320–341, CiteSeerX 10.1.1.224.4927, doi:10.1007/s00453-010-9411-3, S2CID 7577817.
  20. ^ 를 클릭합니다Mertzios, George B.; Bezakova, Ivona (2014), "Computing and counting longest paths on circular-arc graphs in polynomial time", Discrete Applied Mathematics, 164 (2): 383–399, CiteSeerX 10.1.1.224.779, doi:10.1016/j.dam.2012.08.024.
  21. ^ 를 클릭합니다Mertzios, George B.; Corneil, Derek G. (2012), "A simple polynomial algorithm for the longest path problem on cocomparability graphs", SIAM Journal on Discrete Mathematics, 26 (3): 940–963, arXiv:1004.4560, doi:10.1137/100793529, S2CID 4645245.
  22. ^ 를 클릭합니다Corneil, Derek G.; Krueger, Richard (2008), "A unified view of graph searching", SIAM Journal on Discrete Mathematics, 22 (4): 1259–1276, doi:10.1137/050623498.
  23. ^ 를 클릭합니다Ioannidou, Kyriaki; Nikolopoulos, Stavros D. (2011), "The longest path problem is polynomial on cocomparability graphs" (PDF), Algorithmica, 65: 177–205, CiteSeerX 10.1.1.415.9996, doi:10.1007/s00453-011-9583-5, S2CID 7271040.
  24. ^ Evans, T.S.; Calmon, L.; Vasiliauskaite, V. (2020), "The Longest Path in the Price Model", Scientific Reports, 10 (1): 10503, arXiv:1903.03667, Bibcode:2020NatSR..1010503E, doi:10.1038/s41598-020-67421-8, PMC 7324613, PMID 32601403

외부 링크