Argyrios Deligkas, George B. Mertzios, Paul G. Spirakis, Viktor Zamaraev
{"title":"计算第二哈密顿周期的近似算法和随机算法","authors":"Argyrios Deligkas, George B. Mertzios, Paul G. Spirakis, Viktor Zamaraev","doi":"10.1007/s00453-024-01238-z","DOIUrl":null,"url":null,"abstract":"<div><p>In this paper we consider the following problem: Given a Hamiltonian graph <i>G</i>, and a Hamiltonian cycle <i>C</i> of <i>G</i>, can we compute a second Hamiltonian cycle <span>\\(C^{\\prime } \\ne C\\)</span> of <i>G</i>, and if yes, how quickly? If the input graph <i>G</i> satisfies certain conditions (e.g. if every vertex of <i>G</i> is odd, or if the minimum degree is large enough), it is known that such a second Hamiltonian cycle always exists. Despite substantial efforts, no subexponential-time algorithm is known for this problem. In this paper we relax the problem of computing a second Hamiltonian cycle in two ways. First, we consider <i>approximating</i> the length of a second longest cycle on <i>n</i>-vertex graphs with minimum degree <span>\\(\\delta \\)</span> and maximum degree <span>\\(\\Delta \\)</span>. We provide a linear-time algorithm for computing a cycle <span>\\(C^{\\prime } \\ne C\\)</span> of length at least <span>\\(n-4\\alpha (\\sqrt{n}+2\\alpha )+8\\)</span>, where <span>\\(\\alpha = \\frac{\\Delta -2}{\\delta -2}\\)</span>. This results provides a constructive proof of a recent result by Girão, Kittipassorn, and Narayanan in the regime of <span>\\(\\frac{\\Delta }{\\delta } = o(\\sqrt{n})\\)</span>. Our second relaxation of the problem is probabilistic. We propose a randomized algorithm which computes a second Hamiltonian cycle <i>with high probability</i>, given that the input graph <i>G</i> has a large enough minimum degree. More specifically, we prove that for every <span>\\(0<p\\le 0.02\\)</span>, if the minimum degree of <i>G</i> is at least <span>\\(\\frac{8}{p} \\log \\sqrt{8}n + 4\\)</span>, then a second Hamiltonian cycle can be computed with probability at least <span>\\(1 - \\frac{1}{n}\\left( \\frac{50}{p^4} + 1 \\right) \\)</span> in <span>\\(poly(n) \\cdot 2^{4pn}\\)</span> time. This result implies that, when the minimum degree <span>\\(\\delta \\)</span> is sufficiently large, we can compute with high probability a second Hamiltonian cycle faster than any known deterministic algorithm. In particular, when <span>\\(\\delta = \\omega (\\log n)\\)</span>, our probabilistic algorithm works in <span>\\(2^{o(n)}\\)</span> time.</p></div>","PeriodicalId":50824,"journal":{"name":"Algorithmica","volume":"86 9","pages":"2766 - 2785"},"PeriodicalIF":0.9000,"publicationDate":"2024-06-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://link.springer.com/content/pdf/10.1007/s00453-024-01238-z.pdf","citationCount":"0","resultStr":"{\"title\":\"Approximate and Randomized Algorithms for Computing a Second Hamiltonian Cycle\",\"authors\":\"Argyrios Deligkas, George B. Mertzios, Paul G. Spirakis, Viktor Zamaraev\",\"doi\":\"10.1007/s00453-024-01238-z\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p>In this paper we consider the following problem: Given a Hamiltonian graph <i>G</i>, and a Hamiltonian cycle <i>C</i> of <i>G</i>, can we compute a second Hamiltonian cycle <span>\\\\(C^{\\\\prime } \\\\ne C\\\\)</span> of <i>G</i>, and if yes, how quickly? If the input graph <i>G</i> satisfies certain conditions (e.g. if every vertex of <i>G</i> is odd, or if the minimum degree is large enough), it is known that such a second Hamiltonian cycle always exists. Despite substantial efforts, no subexponential-time algorithm is known for this problem. In this paper we relax the problem of computing a second Hamiltonian cycle in two ways. First, we consider <i>approximating</i> the length of a second longest cycle on <i>n</i>-vertex graphs with minimum degree <span>\\\\(\\\\delta \\\\)</span> and maximum degree <span>\\\\(\\\\Delta \\\\)</span>. We provide a linear-time algorithm for computing a cycle <span>\\\\(C^{\\\\prime } \\\\ne C\\\\)</span> of length at least <span>\\\\(n-4\\\\alpha (\\\\sqrt{n}+2\\\\alpha )+8\\\\)</span>, where <span>\\\\(\\\\alpha = \\\\frac{\\\\Delta -2}{\\\\delta -2}\\\\)</span>. This results provides a constructive proof of a recent result by Girão, Kittipassorn, and Narayanan in the regime of <span>\\\\(\\\\frac{\\\\Delta }{\\\\delta } = o(\\\\sqrt{n})\\\\)</span>. Our second relaxation of the problem is probabilistic. We propose a randomized algorithm which computes a second Hamiltonian cycle <i>with high probability</i>, given that the input graph <i>G</i> has a large enough minimum degree. More specifically, we prove that for every <span>\\\\(0<p\\\\le 0.02\\\\)</span>, if the minimum degree of <i>G</i> is at least <span>\\\\(\\\\frac{8}{p} \\\\log \\\\sqrt{8}n + 4\\\\)</span>, then a second Hamiltonian cycle can be computed with probability at least <span>\\\\(1 - \\\\frac{1}{n}\\\\left( \\\\frac{50}{p^4} + 1 \\\\right) \\\\)</span> in <span>\\\\(poly(n) \\\\cdot 2^{4pn}\\\\)</span> time. This result implies that, when the minimum degree <span>\\\\(\\\\delta \\\\)</span> is sufficiently large, we can compute with high probability a second Hamiltonian cycle faster than any known deterministic algorithm. In particular, when <span>\\\\(\\\\delta = \\\\omega (\\\\log n)\\\\)</span>, our probabilistic algorithm works in <span>\\\\(2^{o(n)}\\\\)</span> time.</p></div>\",\"PeriodicalId\":50824,\"journal\":{\"name\":\"Algorithmica\",\"volume\":\"86 9\",\"pages\":\"2766 - 2785\"},\"PeriodicalIF\":0.9000,\"publicationDate\":\"2024-06-12\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://link.springer.com/content/pdf/10.1007/s00453-024-01238-z.pdf\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Algorithmica\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://link.springer.com/article/10.1007/s00453-024-01238-z\",\"RegionNum\":4,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q4\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Algorithmica","FirstCategoryId":"94","ListUrlMain":"https://link.springer.com/article/10.1007/s00453-024-01238-z","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
摘要
在本文中,我们考虑以下问题:给定一个哈密顿图 G 和 G 的哈密顿循环 C,我们能否计算出 G 的第二个哈密顿循环 \(C^{\prime } \ne C\) ,如果能,计算速度如何?如果输入图 G 满足某些条件(例如,如果 G 的每个顶点都是奇数,或者最小度数足够大),那么众所周知,这样的第二个哈密顿循环总是存在的。尽管做了大量努力,但目前还没有针对这一问题的亚指数时间算法。在本文中,我们从两个方面放宽了计算第二个哈密顿周期的问题。首先,我们考虑在具有最小度(\delta \)和最大度(\Delta \)的 n 顶点图上近似计算第二个最长周期的长度。我们提供了一种线性时间算法来计算一个长度至少为 \(n-4\alpha (\sqrt{n}+2\alpha )+8\) 的循环 \(C^{prime }\ne C\) ,其中 \(\alpha = \frac{Delta -2}\{delta -2}\)。这一结果为吉朗、基蒂帕索恩和纳拉亚南最近在 \(\frac\{Delta }{\delta } = o(\sqrt{n})\) 机制下的结果提供了一个构造性证明。我们对问题的第二种放松是概率放松。我们提出了一种随机算法,只要输入图 G 的最小度数足够大,它就能高概率地计算出第二个哈密顿循环。更具体地说,我们证明了对于每一个 \(0<p\le 0.02),如果 G 的最小度至少是 \(\frac{8}{p} \log \sqrt{8}n + 4\) ,那么第二个哈密顿循环就可以在 \(poly(n) \cdot 2^{4pn}) 时间内以至少 \(1 - \frac{1}{n}\left( \frac{50}{p^4} + 1 \right)\)的概率计算出来。这一结果意味着,当最小度数足够大时,我们计算第二个哈密顿周期的速度很有可能比任何已知的确定性算法都快。特别是,当 \(\delta = \omega (\log n)\)时,我们的概率算法只需要 \(2^{o(n)}\) 时间。
Approximate and Randomized Algorithms for Computing a Second Hamiltonian Cycle
In this paper we consider the following problem: Given a Hamiltonian graph G, and a Hamiltonian cycle C of G, can we compute a second Hamiltonian cycle \(C^{\prime } \ne C\) of G, and if yes, how quickly? If the input graph G satisfies certain conditions (e.g. if every vertex of G is odd, or if the minimum degree is large enough), it is known that such a second Hamiltonian cycle always exists. Despite substantial efforts, no subexponential-time algorithm is known for this problem. In this paper we relax the problem of computing a second Hamiltonian cycle in two ways. First, we consider approximating the length of a second longest cycle on n-vertex graphs with minimum degree \(\delta \) and maximum degree \(\Delta \). We provide a linear-time algorithm for computing a cycle \(C^{\prime } \ne C\) of length at least \(n-4\alpha (\sqrt{n}+2\alpha )+8\), where \(\alpha = \frac{\Delta -2}{\delta -2}\). This results provides a constructive proof of a recent result by Girão, Kittipassorn, and Narayanan in the regime of \(\frac{\Delta }{\delta } = o(\sqrt{n})\). Our second relaxation of the problem is probabilistic. We propose a randomized algorithm which computes a second Hamiltonian cycle with high probability, given that the input graph G has a large enough minimum degree. More specifically, we prove that for every \(0<p\le 0.02\), if the minimum degree of G is at least \(\frac{8}{p} \log \sqrt{8}n + 4\), then a second Hamiltonian cycle can be computed with probability at least \(1 - \frac{1}{n}\left( \frac{50}{p^4} + 1 \right) \) in \(poly(n) \cdot 2^{4pn}\) time. This result implies that, when the minimum degree \(\delta \) is sufficiently large, we can compute with high probability a second Hamiltonian cycle faster than any known deterministic algorithm. In particular, when \(\delta = \omega (\log n)\), our probabilistic algorithm works in \(2^{o(n)}\) time.
期刊介绍:
Algorithmica is an international journal which publishes theoretical papers on algorithms that address problems arising in practical areas, and experimental papers of general appeal for practical importance or techniques. The development of algorithms is an integral part of computer science. The increasing complexity and scope of computer applications makes the design of efficient algorithms essential.
Algorithmica covers algorithms in applied areas such as: VLSI, distributed computing, parallel processing, automated design, robotics, graphics, data base design, software tools, as well as algorithms in fundamental areas such as sorting, searching, data structures, computational geometry, and linear programming.
In addition, the journal features two special sections: Application Experience, presenting findings obtained from applications of theoretical results to practical situations, and Problems, offering short papers presenting problems on selected topics of computer science.