iii shortest nontrivial cycles
play

III. Shortest nontrivial cycles Jeff Erickson University of - PowerPoint PPT Presentation

One-Dimensional Computational Topology III. Shortest nontrivial cycles Jeff Erickson University of Illinois, Urbana-Champaign Todays Question Given a surface , find the shortest topologically nontrivial cycle in . Trivial cycles


  1. <latexit sha1_base64="CSU17sK5hVKBtUG+72EapBR4Q/E=">ACL3icbVC7SgNBFL3rM8ZX1FKExSBYSNy1iYVFwMZSxWgWeLs5GYd3JlZ2aFMGzlR/gNlurHiI3Y+g027sYURj0wcDgPuHPCJGbaeN6rMzE5NT0zW5orzy8sLi1XVlbPtUwVxSaVsVStkGiMmcCmYSbGVqKQ8DGi/D6sPAvblFpJsWZGSQYcBIJ1meUmFzqVjY6fUWo9TNbz9yOvlHGit0op7GM3KhbqXo1bwj3L/FHpNqo3p9eAsBxt/LZ6UmachSGxkTrtu8lJrBEGUZjzMqdVGNC6DWJsJ1TQTjqwA6/kblbudJz+1LlTxh3qP5sWMK1HvAwT3JirvRvrxD/89qp6e8HlokNSjo+BX0Kj8OVWCLWg81i8RYwIaoiCZC7xSESyHbc6oksWyWTlfy/+9zV9yvlfzvZp/4lcbB/CNEqzDJmyD3VowBEcQxMo3MEDPMGz8+i8OG/O+3d0whl1mAMzscXc52sxw=</latexit> <latexit sha1_base64="jFB82KNZDA29C2tDnajWv3WMZH0=">ACL3icbVDLSsNAFJ3UV62vqksRgkFwITVxowsXBTcuq1gtKFOprfp0MxMnJkIMmTlR/gNulM/RtyIW7/BjUl1YVoPDBzOA+6cI6o0q7ZpWmpmdm58rzlYXFpeWV6urahRKJNAkIhKyFWAFEeXQ1FRH0IolYBZEcBkMj3P/8gakoKf69sYfIZDTvuUYJ1J3epmpy8xMV5qDlK7o6lNnwvzGgkQjvsVh235o5gTxLvlzh15/7s/OoRGt3qV6cnSMKAaxJhpdqeG2vfYKkpiSCtdBIFMSZDHEI7oxwzUL4ZfSO1tzOlZ/eFzB7X9kj92zCYKXLgizJsB6ocS8X/Paie4f+obyONHASfEKMsiOA+mbvNYDRUNeCJgAJFaYq92cMF0WaUSJEvm1aytbzxbSbJxX7Nc2veqefUj9APymgDbaEd5KEDVEcnqIGaiKA79ICe0Yv1ZL1a79bHT7Rk/XbWUQHW5zeGu64q</latexit> <latexit sha1_base64="jFB82KNZDA29C2tDnajWv3WMZH0=">ACL3icbVDLSsNAFJ3UV62vqksRgkFwITVxowsXBTcuq1gtKFOprfp0MxMnJkIMmTlR/gNulM/RtyIW7/BjUl1YVoPDBzOA+6cI6o0q7ZpWmpmdm58rzlYXFpeWV6urahRKJNAkIhKyFWAFEeXQ1FRH0IolYBZEcBkMj3P/8gakoKf69sYfIZDTvuUYJ1J3epmpy8xMV5qDlK7o6lNnwvzGgkQjvsVh235o5gTxLvlzh15/7s/OoRGt3qV6cnSMKAaxJhpdqeG2vfYKkpiSCtdBIFMSZDHEI7oxwzUL4ZfSO1tzOlZ/eFzB7X9kj92zCYKXLgizJsB6ocS8X/Paie4f+obyONHASfEKMsiOA+mbvNYDRUNeCJgAJFaYq92cMF0WaUSJEvm1aytbzxbSbJxX7Nc2veqefUj9APymgDbaEd5KEDVEcnqIGaiKA79ICe0Yv1ZL1a79bHT7Rk/XbWUQHW5zeGu64q</latexit> <latexit sha1_base64="LCGnCy6h6BPEOgfmh7c4Zvdsyzc=">ACL3icbVDLSsNAFJ34rPVdSlCsAgupCZu6sJFwY3LCvYBTSiT6U06NDMTZyZCGbLya1yqHyNuxK3f4MakdmFbDwczgPunCJqdKO824tLa+srq2XNsqbW9s7u5W9/bYSqSTQIiIWshtgBTHl0NJUx9BNJGAWxNAJRteF3kAqajgd3qcgM9wxGlICda51K8ceaHExLiZqWe2p+6lNvw8ymksIjvqV6pOzZnAXiTulFTRFM1+5dsbCJIy4JrEWKme6yTaN1hqSmLIyl6qIMFkhCPo5ZRjBso3k29k9kmuDOxQyPxbU/Uvw2DmVJjFuRJhvVQzXuF+J/XS3V46RvKk1QDJ7NXkGF+HEjfFLUBKBrxmYAJQGKFuTorCBNczNqMEimKZbNyvpY7v80iaV/UXKfm3rVxtV0txI6RMfoFLmojhroBjVRCxH0iJ7QC3q1nq0368P6/I0uWdPOAZqB9fUD7NurGw=</latexit> <latexit sha1_base64="AbPyZtYZ6MPtmpJwlvfdAcVjA=">ACL3icbVC7SgNBFL3r2/iKWoqwGEQLibtaBmxsVQwJpAsYXZysw7uzKwzs4IMW/k1luoPWPsDYiO2foONuzGFMR4YOJwH3DlhEjNtPO/NGRufmJyanpktzc0vLC6Vl1cutEwVxTqVsVTNkGiMmcC6YSbGZqKQ8DGRnh1XPiNG1SaSXFubhMOIkE6zFKTC51yuvtniLU+pndz9y2vlbGHu1GOY1l5EadcsWren24o8QfkEpt62X8GQBO+WvdlfSlKMwNCZat3wvMYElyjAaY1ZqpxoTQq9IhK2cCsJRB7b/jczdzJWu25Mqf8K4fV3wxKu9S0P8yQn5lL/9QrxP6+Vmt5hYJlIUoOCDl9BL/PjUAW2qHVRs0gMBWyIimgi9E5BuBRy2OaMKlksm5Xytfy/24ySi72q71X9M79SO4IfzMAabMA2+HANTiBU6gDhTu4h0d4ch6cV+fd+fiJjmDzioMwfn8Bo1erOM=</latexit> <latexit sha1_base64="OeE7kcGI4zqtuDZypWMQGRnqbB0=">ACL3icbVC7SgNBFJ1NfMbXqUIi0G0kLirhZYRG8sIJhGSJcxObtbBnZl1ZlYIw1Z+hY29nY9fsPIHxEZs/QYbdxMLox4YOJwH3DlBHFGlXfVKhTHxicmp6ZLM7Nz8wv24lJDiUQSqBMRCXkaYAUR5VDXVEdwGkvALIigGZwf5n7zEqSigp/ofgw+wyGnPUqwzqSOvdruSUyMl5rd1GmrC6nNwXaY0UiETtixy27FHcD5S7xvUq5uPBef7m6uax37s90VJGHANYmwUi3PjbVvsNSURJCW2omCGJNzHEIroxwzUL4ZfCN1jOl6/SEzB7XzkD92TCYKdVnQZkWJ+p314u/ue1Et3b9w3lcaKBk9EryFl2HEjf5LUuKBrykYAJQGKFudrKCRNcjNqMEinyZdNStpb3e5u/pLFT8dyKd+yVqwdoiCm0gtbQJvLQHqiI1RDdUTQFbpFD+jRurderDfrfRgtWN+dZTQC6+MLbD+uzg=</latexit> <latexit sha1_base64="OeE7kcGI4zqtuDZypWMQGRnqbB0=">ACL3icbVC7SgNBFJ1NfMbXqUIi0G0kLirhZYRG8sIJhGSJcxObtbBnZl1ZlYIw1Z+hY29nY9fsPIHxEZs/QYbdxMLox4YOJwH3DlBHFGlXfVKhTHxicmp6ZLM7Nz8wv24lJDiUQSqBMRCXkaYAUR5VDXVEdwGkvALIigGZwf5n7zEqSigp/ofgw+wyGnPUqwzqSOvdruSUyMl5rd1GmrC6nNwXaY0UiETtixy27FHcD5S7xvUq5uPBef7m6uax37s90VJGHANYmwUi3PjbVvsNSURJCW2omCGJNzHEIroxwzUL4ZfCN1jOl6/SEzB7XzkD92TCYKdVnQZkWJ+p314u/ue1Et3b9w3lcaKBk9EryFl2HEjf5LUuKBrykYAJQGKFudrKCRNcjNqMEinyZdNStpb3e5u/pLFT8dyKd+yVqwdoiCm0gtbQJvLQHqiI1RDdUTQFbpFD+jRurderDfrfRgtWN+dZTQC6+MLbD+uzg=</latexit> <latexit sha1_base64="SNF1nzulHz+AjFsEbKJw1tI5u/o=">ACL3icbVDLSsNAFJ3UV62vqEsRgkVwITXRhS5b3LisYB/QhjKZ3qZDMzNxZiKUISu/xqX6MeJG3PoNbkxqF7b1wMDhPODOCeKIKu2671ZhaXlda24XtrY3NresXf3mkokCDiEjIdoAVRJRDQ1MdQTuWgFkQSsYXed+6wGkoLf6XEMPsMhpwNKsM6kn3YHUhMjJeai9TpqnupTe0szGgkQifs2W34k7gLBJvSspoinrP/u72BUkYcE0irFTHc2PtGyw1JRGkpW6iIMZkhEPoZJRjBso3k2+kznGm9J2BkNnj2pmofxsGM6XGLMiSDOuhmvdy8T+vk+jBlW8ojxMNnMxeQYbZcSB9k9f6oGjIZwImAIkV5uo0J0xwMWszSqTIl01L2Vre/DaLpHle8dyKd+uVq7XpbkV0gI7QCfLQJaqiG1RHDUTQI3pCL+jVerberA/r8zdasKadfTQD6+sHmjGq7w=</latexit> <latexit sha1_base64="BT8G3eDcaFLm8SkxGcsa7Zckc0=">ACJXicbVBNS8NAFHypX7V+RT16iRbBg9SkFz14KIjgUcGq0ISy2b7GpdnduLsRSuhv8aj+G8ieNL/4cWk9mCsAw+GmXkwTJjETBvXfbcqM7Nz8wvVxdrS8srqmr2+caVlqi2qYylugmJxpgJbBtmYrxJFBIexngdDk4K/oelWZSXJphgEnkWB9RonJpa692XR8fadMJg6ikePHMnKirl13G+4YzjTxJqTe2vZPwHgvGt/+T1JU47C0Jho3fHcxAQZUYbRGEc1P9WYEDogEXZyKghHWTj8iNnN1d6Tl+q/IRxurvj4xwrYc8zJOcmFv91yvE/7xOavpHQcZEkhoUtNyC3ublUAVZ8dZDzSJRCmQhKqKJ0PsF4VLIs0ZVbLYc1TL1/L+bjNrpoNz214F169dQw/qMIW7MAeHAILTiDc2gDhSE8wBM8W4/Wi/Vqvf1EK9bkZxNKsD6+AQhwqHs=</latexit> <latexit sha1_base64="MgxXgBSQUWJvFvPt8TX5aC34Bsc=">ACJXicbVDNSsNAGNz4W+tftDe9RIvgQWrSix48FEQTxXsDzShbLZf06XZ3bi7EUros3hUH8abFDz5BD6BF5O2B9s68MEwMx8M40chVdq2P42l5ZXVtfXcRn5za3tn19zbrysRSwI1IkIhmz5WEFIONU1CM1IAmZ+CA2/f535jSeQigr+oAcReAwHnHYpwTqV2mahbLnqUeqEnwdDyw1FYAVts2iX7DGsReJMSbFy5N583x2Mqm3zx+0IEjPgmoRYqZjR9pLsNSUhDMu7GCJM+DqCVUo4ZKC8Zlx9aJ6nSsbpCpse1NVb/fiSYKTVgfpkWPfUvJeJ/3mtWHcvYTyKNbAyWwL0kvLgfS7K0DigZ8JpD4ILHCXJ1lhAkuZm1GiRTZnsN8upYzv80iqZdLjl1y7p1i5QpNkEOH6BidIgdoAq6RVUQwQN0DN6RW/Gi/FufBijSXTJmP4U0AyMr1/xRqnC</latexit> <latexit sha1_base64="MgxXgBSQUWJvFvPt8TX5aC34Bsc=">ACJXicbVDNSsNAGNz4W+tftDe9RIvgQWrSix48FEQTxXsDzShbLZf06XZ3bi7EUros3hUH8abFDz5BD6BF5O2B9s68MEwMx8M40chVdq2P42l5ZXVtfXcRn5za3tn19zbrysRSwI1IkIhmz5WEFIONU1CM1IAmZ+CA2/f535jSeQigr+oAcReAwHnHYpwTqV2mahbLnqUeqEnwdDyw1FYAVts2iX7DGsReJMSbFy5N583x2Mqm3zx+0IEjPgmoRYqZjR9pLsNSUhDMu7GCJM+DqCVUo4ZKC8Zlx9aJ6nSsbpCpse1NVb/fiSYKTVgfpkWPfUvJeJ/3mtWHcvYTyKNbAyWwL0kvLgfS7K0DigZ8JpD4ILHCXJ1lhAkuZm1GiRTZnsN8upYzv80iqZdLjl1y7p1i5QpNkEOH6BidIgdoAq6RVUQwQN0DN6RW/Gi/FufBijSXTJmP4U0AyMr1/xRqnC</latexit> <latexit sha1_base64="CKXJjy1jCMFW2XkaJCjNmkoMZRI=">ACJXicbVBLS8NAGNzUV62vaI9egkXwIDXpRQ8eCl48VrAPaELZbL+mS7O7cXcjlJDf4lH9Md5E8OQP8WJSczCtAx8M/PBMH4UqVt+9OorK1vbG5Vt2s7u3v7B+bhU+JWBLoEhEKOfCxgpBy6GqQxhEjDzQ+j7s5vc7z+CVFTwez2PwGM4HRCdaZNDLrLctVD1In/CJILTcUgRWMzIbdtBewVolTkAYq0BmZ3+5YkJgB1yTESg0dO9JegqWmJIS05sYKIkxmOIBhRjlmoLxkUT61TjNlbE2EzI5ra6H+/UgwU2rO/CzJsJ6qZS8X/OGsZ5ceQnlUayBk3ILMs3KgfS/G0Miga8FEh8kFhrs5zwgQXZtRIkW+Z1rL1nKWt1klvVbTsZvOndNoXxe7VdExOkFnyEGXqI1uUQd1EUFz9IRe0KvxbLwZ78bHb7RiFD91VILx9QMxAaZ</latexit> <latexit sha1_base64="cdwEMKOdRwA6XQvkPIt0ztq/5w4=">ACL3icbVC7SgNBFL3r2/iKWoqwGEQLibux0DJiY6lgVEiWMDu52QzZmVlnZoUwbOXWKo/YO0PiI3Y+g027kYLox4YOJwH3DlhEjNtPO/FGRufmJyanpktzc0vLC6Vl1fOtUwVxQaVsVSXIdEYM4ENw0yMl4lCwsMYL8L+UeFfXKPSTIozM0gw4CQSrMsoMbnULq+3uopQW8vsXua29JUy9nA3ymksIzdqlyte1RvC/Uv8b1Kpbz2NPwLASbv80epImnIUhsZE6bvJSawRBlGY8xKrVRjQmifRNjMqSAcdWCH38jczVzpuF2p8ieMO1R/NizhWg94mCc5MT392yvE/7xmaroHgWUiSQ0KOnoF7eXHoQpsUeugZpEYCdgQFdFE6J2CcCnkqM0ZVbJYNivla/m/t/lLzmtV36v6p36lfghfmIE12IBt8GEf6nAMJ9ACjdwC/fw4Nw5z86r8/YVHXO+O6swAuf9E48hrOQ=</latexit> <latexit sha1_base64="Mr4xuOkv9kUACyjWjG0bc/R8jKc=">ACL3icbVC7SgNBFJ31GeNr1VKExSBaSNyNhZYRG8sIJgrJEmYnN+vgzsw6MyuEYSu/wsbezscvWPkDYiO2foONuzGFiR4YOJwH3DlBHFGlXfNGhufmJyaLswUZ+fmFxbtpeWGEokUCciEvIswAoiyqGuqY7gLJaAWRDBaXBxmPunVyAVFfxE92LwGQ457VKCdSa17bVWV2JiKqnZTZ2WupTaHOyEGY1E6IRtu+SW3T6cv8QbkFJ182X8+f72pta2v1odQRIGXJMIK9X03Fj7BktNSQRpsZUoiDG5wCE0M8oxA+Wb/jdSZyNTOk5XyOx7fTV3w2DmVI9FmRJhvW5GvVy8T+vmejuvm8ojxMNnAxfQc6z40D6Jq91QNGQDwVMABIrzNV2TpjgYthmlEiRL5sWs7W80W3+kal7Ll79grVQ/QDwpoFa2jLeShPVRFR6iG6oiga3SHtGT9WC9Wu/Wx090zBp0VtAQrM9vbgKuzw=</latexit> <latexit sha1_base64="Mr4xuOkv9kUACyjWjG0bc/R8jKc=">ACL3icbVC7SgNBFJ31GeNr1VKExSBaSNyNhZYRG8sIJgrJEmYnN+vgzsw6MyuEYSu/wsbezscvWPkDYiO2foONuzGFiR4YOJwH3DlBHFGlXfNGhufmJyaLswUZ+fmFxbtpeWGEokUCciEvIswAoiyqGuqY7gLJaAWRDBaXBxmPunVyAVFfxE92LwGQ457VKCdSa17bVWV2JiKqnZTZ2WupTaHOyEGY1E6IRtu+SW3T6cv8QbkFJ182X8+f72pta2v1odQRIGXJMIK9X03Fj7BktNSQRpsZUoiDG5wCE0M8oxA+Wb/jdSZyNTOk5XyOx7fTV3w2DmVI9FmRJhvW5GvVy8T+vmejuvm8ojxMNnAxfQc6z40D6Jq91QNGQDwVMABIrzNV2TpjgYthmlEiRL5sWs7W80W3+kal7Ll79grVQ/QDwpoFa2jLeShPVRFR6iG6oiga3SHtGT9WC9Wu/Wx090zBp0VtAQrM9vbgKuzw=</latexit> <latexit sha1_base64="rHgx1a6y2GeNKcNam8NsY+Qpzdg=">ACL3icbVDLSsNAFJ3UV62vqEsRgkVwITWpC12uHFZwT6gDWUyvU2HZmbizEQoQ1Z+jUv1Y8SNuPUb3JjULmz1wMDhPODOCeKIKu26b1ZhaXlda24XtrY3NresXf3WkokCTiEjIToAVRJRDU1MdQSeWgFkQTsYX+V+x6koLf6kMPsMhp0NKsM6kvn3YG0pMTDU156nTU3dSm/pZmNFIhE7Yt8tuxZ3C+Uu8GSmjGRp9+6s3ECRhwDWJsFJdz421b7DUlESQlnqJghiTMQ6hm1GOGSjfTL+ROseZMnCGQmaPa2eq/m4YzJSasCBLMqxHatHLxf+8bqKHl76hPE40cDJ/BRlx4H0TV4bgKIhnwuYACRWmKvTnDBxbzNKJEiXzYtZWt5i9v8Ja1qxXMr3o1XrtVnuxXRATpCJ8hDF6iGrlEDNRFBD+gRPaMX68l6td6tj59owZp19tEcrM9vm/Sq8A=</latexit> Systolic inequalities [Colin de Verdière, Hubard, de Mesmay 2013] ‣ Any Riemannian surface can be approximated (up to constant factors) by a combinatorial triangulation, and vice versa. ▹ discrete → continuous: glue equilateral triangles, smooth vertices ▹ continuous → discrete: intrinsic Voronoi diagram of ε-net 2 ‣ Every Riemannian surface has systole ≤ 
 p A / g log g 3 [Gromov 1983, 1992] ⇒ Every triangulated surface map has edgewidth ≤ 
 p n / g log g 2 Improves [Hutchinson 1988] 1 p ‣ There are Riemannian surfaces with systole ≥ 
 A / g log g 3 [Buser Sarnak 1994] 1 p ⇒ There are triangulated surface maps with edgewidth ≥ 
 n / g log g 7 Conjectured by [Przytycka Przytycki 1993]

  2. Tree-cotree structures

  3. Tree-cotree decomposition A partition of the edges into three disjoint subsets: ‣ A spanning tree T ‣ A spanning cotree C — C * is a spanning tree of G * ‣ Leftover edges L := E \ ( C ∪ T ) — Euler’s formula implies | L | = 2 g [von Staudt 1847; Dehn 1936; Biggs 1971; Eppstein 2003]

  4. Tree-cotree decomposition A partition of the edges into three disjoint subsets: ‣ A spanning tree T ‣ A spanning cotree C — C * is a spanning tree of G * ‣ Leftover edges L := E \ ( C ∪ T ) — Euler’s formula implies | L | = 2 g [von Staudt 1847; Dehn 1936; Biggs 1971; Eppstein 2003]

  5. Tree-cotree decomposition A partition of the edges into three disjoint subsets: ‣ A spanning tree T ‣ A spanning cotree C — C * is a spanning tree of G * ‣ Leftover edges L := E \ ( C ∪ T ) — Euler’s formula implies | L | = 2 g [von Staudt 1847; Dehn 1936; Biggs 1971; Eppstein 2003]

  6. Tree-cotree decomposition A partition of the edges into three disjoint subsets: ‣ A spanning tree T ‣ A spanning cotree C — C * is a spanning tree of G * ‣ Leftover edges L := E \ ( C ∪ T ) — Euler’s formula implies | L | = 2 g [von Staudt 1847; Dehn 1936; Biggs 1971; Eppstein 2003]

  7. Fundamental loops and cycles ‣ Fix a tree-cotree decomposition ( T , L , C ) and a basepoint x . ‣ Nontree edge uv defines a fundamental loop loop ( T , uv ): ▹ path from x to u + uv + path from v to x ‣ Nontree edge uv defines a fundamental cycle cycle ( T , uv ): ▹ unique cycle in T ∪ { uv } ▹ path from lca(u,v) to u + uv + path from v to lca(u,v)

  8. Tree-cotree structures ‣ System of loops { loop ( T , e ) | e ∈ L } ▹ Cutting Σ along these loops leaves a disk ▹ Basis for the fundamental group π 1 (Σ, x )

  9. Tree-cotree structures ‣ System of cycles { cycle ( T , e ) | e ∈ L } ▹ 2g simple cycles ▹ Basis for the first homology group H 1 (Σ)

  10. Tree-cotree structures ‣ Cut graph T ∪ L = Σ\ C ‣ Remove degree-1 vertices ⇒ reduced cut graph ▹ Minimal subgraph with one face ▹ Composed of at most 3 g cut paths meeting at most 2 g branch points

  11. Tree-cotree structures ‣ Often useful to build these structures in the dual map Σ *. ▹ dual system of loops ▹ dual cut graph ▹ dual system of cocycles = basis for first co homology group H 1 (Σ)

  12. Tree-cotree structures ‣ Every noncontractible cycle in Σ crosses every (dual) reduced cut graph. ‣ Every nonseparating cycle in Σ crosses at least one (co)cycle in every system of (co)cycles.

  13. Shortest nontrivial cycles, take 1

  14. Three-path condition [Thomassen 1990] ‣ Any three paths with the same endpoints define three cycles. ‣ If any two of these cycles are trivial, so is the third.

  15. Three-path condition [Thomassen 1990] ‣ The shortest nontrivial cycle consists of two shortest paths between any pair of antipodal points. ‣ Otherwise, the actual shortest path would create a shorter nontrivial cycle.

  16. Greedy tree-cotree decomposition ‣ Assume edges have lengths ℓ ( e ) ≥ 0 ‣ T = shortest-path tree in Σ with arbitrary source vertex x ▹ = BFS tree if all lengths = 1 ‣ C * = maximum spanning tree of Σ* where w ( e *) = ℓ ( loop ( T , e )) ‣ Computable in O( n log n ) time using textbook algorithms. ▹ O( n ) time if all lengths = 1 ▹ O( n ) time if g =O( n 1–ε ) [Henzinger et al. ’97] [Eppstein 2003, Erickson Whittlesey 2005]

  17. Shortest nontrivial loops ‣ Build greedy tree-cotree decomposition ( T , L , C ) based at x . ‣ Build dual cut graph X * = L * ∪ C * ‣ Reduce X * to get R * [Erickson Har-Peled 2005]

  18. Shortest nontrivial loops ‣ 3-path condition ⇒ We want loop ( T , e ) for some e ∉ T ‣ loop ( T , e ) is noncontractible iff e * ∈ R * ‣ loop ( T , e ) is nonseparating iff e * ∈ R * and R *\ e * is connected [Erickson Har-Peled 2005] [Cabello, Colin de Verdière, Lazarus 2010]

  19. Shortest nontrivial loops ‣ 3-path condition ⇒ We want loop ( T , e ) for some e ∉ T ‣ loop ( T , e ) is noncontractible iff e * ∈ R * ‣ loop ( T , e ) is nonseparating iff R *\ e * is connected [Erickson Har-Peled 2005] [Cabello, Colin de Verdière, Lazarus 2010]

  20. Shortest non-trivial cycle [Erickson Har-Peled 2005] ‣ For each basepoint: O( n log n ) time. ‣ Try all possible basepoints: O( n 2 log n ) time.

  21. Shortest non-trivial cycle [Erickson Har-Peled 2005] ‣ For each basepoint: O( n log n ) time. ‣ Try all possible basepoints: O( n 2 log n ) time. ‣ This is the fastest algorithm known. ▹ Significant improvement would also improve the best time to compute the girth of a sparse graph: O( n 2 ) = BFS at each vertex 
 [Itai Rodeh 1978] ▹ Computing the girth of a dense graph is at least as hard as all-pairs shortest paths and boolean matrix multiplication. 
 [Vassilevska Williams, Williams 2010]

  22. One-cross lemmas ‣ The shortest nontrivial cycle crosses any shortest path at most once ‣ Otherwise, we could find a shorter nontrivial cycle!

  23. One-cross lemmas [Cabello Mojar 2005] ‣ Let γ* be the shortest nonseparating cycle, and let γ be any cycle in a greedy system of cycles. ‣ Then γ* and γ cross at most once.

  24. Faster algorithm [Cabello Chambers 2007] To compute the shortest nonseparating cycle: ▹ Compute a greedy system of cycles γ 1 , γ 2 , ..., γ 2 g ▹ Find the shortest cycle that crosses each greedy cycle γ i once

  25. Algorithm [Cabello Chambers 2007] ‣ To find the shortest cycle that crosses γ i once: ▹ Cut the surface open along γ i . Resulting surface Σ ✂ γ i has two copies of γ on its boundary. ▹ Find the shortest path in Σ ✂ γ i between the clones of each vertex of γ i

  26. Multiple-Source Shortest Paths [Free Gruchy (“Slow-Mo Guys”) 2018]

  27. Multiple-Source Shortest Paths [Free Gruchy (“Slow-Mo Guys”) 2018]

  28. Multiple-Source Shortest Paths [Klein 2005] ‣ Compute shortest paths between many pairs of vertices, with one vertex of each pair on a fixed “outer” face.

  29. Multiple-Source Shortest Paths [Klein 2005] ‣ Compute shortest paths between many pairs of vertices, with one vertex of each pair on a fixed “outer” face.

  30. Multiple-Source Shortest Paths [Klein 2005] ‣ Compute shortest paths between many pairs of vertices, with one vertex of each pair on a fixed “outer” face.

  31. Multiple-Source Shortest Paths [Klein 2005] ‣ Compute shortest paths between many pairs of vertices, with one vertex of each pair on a fixed “outer” face.

  32. Multiple-Source Shortest Paths [Klein 2005] ‣ Compute shortest paths between many pairs of vertices, with one vertex of each pair on a fixed “outer” face.

  33. Naïve algorithm ‣ For each boundary vertex s , compute the shortest-path tree rooted at s in O( n log n ) time. [Dijkstra 1956] ‣ The overall algorithm runs in O( n 2 log n ) time. ‣ But in fact, we can (implicitly) compute all such distances in just O( g 2 n log n ) time.

  34. Planar MSSP [Klein 2005] ‣ Let’s start with the simplest possible setting. ‣ Implicitly compute shortest paths in a plane graph G from every boundary vertex to every other vertex.

  35. Planar MSSP [Klein 2005] ‣ Let’s start with the simplest possible setting. ‣ Implicitly compute shortest paths in a plane graph G from every boundary vertex to every other vertex.

  36. Planar MSSP [Klein 2005] ‣ Let’s start with the simplest possible setting. ‣ Implicitly compute shortest paths in a plane graph G from every boundary vertex to every other vertex.

  37. Planar MSSP [Klein 2005] ‣ Let’s start with the simplest possible setting. ‣ Implicitly compute shortest paths in a plane graph G from every boundary vertex to every other vertex.

  38. Planar MSSP [Klein 2005] ‣ Intuitively, we want the shortest-path tree rooted at every boundary vertex.

  39. Planar MSSP [Klein 2005] ‣ Intuitively, we want the shortest-path tree rooted at every boundary vertex.

  40. Planar MSSP [Klein 2005] ‣ In fact, we only need to compute the first shortest-path tree, followed by changes from each tree to the next.

  41. Planar MSSP [Klein 2005] ‣ In fact, we only need to compute the first shortest-path tree, followed by changes from each tree to the next.

  42. Planar MSSP [Klein 2005] ‣ In fact, we only need to compute the first shortest-path tree, followed by changes from each tree to the next.

  43. Planar MSSP [Klein 2005] ‣ In fact, we only need to compute the first shortest-path tree, followed by changes from each tree to the next.

  44. The disk-tree lemma ‣ Let T be any tree embedded on a closed disk. Vertices of T subdivide the boundary of the disk into intervals. ‣ Deleting any edge splits T into two subtrees R and B . ‣ At most two intervals have one end in R and the other in B .

  45. The disk-tree lemma ‣ Let T be any tree embedded on a closed disk. Vertices of T subdivide the boundary of the disk into intervals. ‣ Deleting any edge splits T into two subtrees R and B . ‣ At most two intervals have one end in R and the other in B .

  46. The disk-tree lemma ‣ Let T be any tree embedded on a closed disk. Vertices of T subdivide the boundary of the disk into intervals. ‣ Deleting any edge splits T into two subtrees R and B . ‣ At most two intervals have one end in R and the other in B .

  47. Number of pivots ‣ Each directed edge x → y pivots in at most once . ▹ Consider the tree of shortest paths ending at y . x y

  48. Number of pivots ‣ Each directed edge x → y pivots in at most once . ▹ Consider the tree of shortest paths ending at y . x y

  49. Number of pivots ‣ Each directed edge x → y pivots in at most once . ▹ Consider the tree of shortest paths ending at y . x → y pivots in x → y pivots out x y

  50. Number of pivots ‣ So the overall number of pivots is only O( n )! x → y pivots in x → y pivots out x y

  51. Number of pivots ‣ So the overall number of pivots is only O( n )! ‣ But how do we find these pivots quickly? x → y pivots in x → y pivots out x y

  52. How shortest paths work [Ford 1956] ‣ Input: 10 3 2 ▹ Directed graph G = (V, E) 1 7 12 ▹ length ℓ ( u → v ) for each edge u → v 0 5 10 12 7 ▹ A source vertex s . 8 7 4 17 3 ‣ Each vertex v maintains two values: 4 3 0 ▹ dist ( v ) is the length of some path from s to v ▹ pred ( v ) is the next-to-last vertex of that path from s to v .

  53. How shortest paths work [Ford 1956] ‣ Edge u → v is tense iff dist ( v ) ≥ dist ( u ) + ℓ ( u → v ). 10 3 2 1 7 12 0 5 10 7 12 8 7 17 4 3 4 3 0

  54. How shortest paths work [Ford 1956] ‣ Edge u → v is tense iff dist ( v ) ≥ dist ( u ) + ℓ ( u → v ). 10 3 2 1 7 12 0 5 10 7 12 8 7 17 4 3 4 3 0

  55. How shortest paths work [Ford 1956] ‣ Edge u → v is tense iff dist ( v ) ≥ dist ( u ) + ℓ ( u → v ). 10 3 2 1 7 12 0 5 10 7 12 8 7 17 4 3 4 3 0 ‣ To relax u → v , set dist ( v ) = dist ( u ) + ℓ ( u → v ) and pred ( v ) = u

  56. How shortest paths work [Ford 1956] ‣ Edge u → v is tense iff dist ( v ) ≥ dist ( u ) + ℓ ( u → v ). 10 3 2 1 7 12 0 5 10 4 12 8 7 17 4 3 4 3 0 ‣ To relax u → v , set dist ( v ) = dist ( u ) + ℓ ( u → v ) and pred ( v ) = u

  57. How shortest paths work [Ford 1956] ‣ Edge u → v is tense iff dist ( v ) ≥ dist ( u ) + ℓ ( u → v ). 10 3 2 1 7 12 0 5 10 4 12 8 7 17 4 3 4 3 0 ‣ To relax u → v , set dist ( v ) = dist ( u ) + ℓ ( u → v ) and pred ( v ) = u

  58. How shortest paths work [Ford 1956] ‣ Edge u → v is tense iff dist ( v ) ≥ dist ( u ) + ℓ ( u → v ). 7 3 2 1 4 9 0 5 10 4 12 8 7 14 4 3 4 3 0 ‣ If no edges are tense, then dist ( v ) is the length of the shortest path from s to v , for every vertex v .

  59. Back to MSSP [Cabello Chambers Erickson 2013] ‣ Maintain the shortest path tree rooted at a point s that is moving continuously around the outer face. ‣ Also maintain the slack of each edge u → v: slack ( u → v ) := dist ( u ) + ℓ ( u → v ) – dist ( v ) ‣ Distances and slacks change continuously with s , but in a controlled manner. ‣ The shortest path tree is correct as long as slack ( u → v )>0 for every edge u → v.

  60. [Doppler 1842] Distance and slack changes [Fizeau 1848] ‣ Red: dist growing ‣ Blue: dist shrinking u s v

  61. [Doppler 1842] Distance and slack changes [Fizeau 1848] ‣ Red: dist growing ‣ Blue: dist shrinking ‣ Red → red: slack constant ‣ Blue → blue: slack constant ‣ Red → blue: slack growing ‣ Blue → red: slack shrinking u s v

  62. [Doppler 1842] Distance and slack changes [Fizeau 1848] ‣ Red: dist growing ‣ Blue: dist shrinking ‣ Red → red: slack constant ‣ Blue → blue: slack constant ‣ Red → blue: slack growing ‣ Blue → red: slack shrinking ▹ active edges u u s s v v

  63. [von Staudt 1847] Tree-cotree decomposition [Whitney 1932] [Dehn 1936] ‣ Complementary dual spanning tree C * = ( G \ T )* ‣ Red and blue subtrees are separated by a path in C * ‣ Active edges are dual to edges in this path. u s v

  64. [von Staudt 1847] Tree-cotree decomposition [Whitney 1932] [Dehn 1936] ‣ Complementary dual spanning tree C * = ( G \ T )* ‣ Red and blue subtrees are separated by a path in C * ‣ Active edges are dual to edges in this path. u s v

  65. Pivot [Ford 1956] ‣ When slack ( u → v ) becomes 0, relax u → v ▹ Delete pred ( v ) → v from T ▹ Insert u → v into T. ▹ Delete ( u → v)* from C*. ▹ Insert ( pred ( v ) → v )* into C * ▹ Set pred ( u ) := v u s v

  66. Pivot [Ford 1956] ‣ When slack ( u → v ) becomes 0, relax u → v ▹ Delete pred ( v ) → v from T ▹ Insert u → v into T. ▹ Delete ( u → v)* from C*. ▹ Insert ( pred ( v ) → v )* into C * ▹ Set pred ( u ) := v u s v

  67. Pivot [Ford 1956] ‣ When slack ( u → v ) becomes 0, relax u → v ▹ Delete pred ( v ) → v from T ▹ Insert u → v into T. ▹ Delete ( u → v)* from C*. ▹ Insert ( pred ( v ) → v )* into C * ▹ Set pred ( u ) := v u s v

  68. Pivot [Ford 1956] ‣ When slack ( u → v ) becomes 0, relax u → v ▹ Delete pred ( v ) → v from T ▹ Insert u → v into T. ▹ Delete ( u → v)* from C*. ▹ Insert ( pred ( v ) → v )* into C * ▹ Set pred ( u ) := v u s v

  69. Pivot [Ford 1956] ‣ When slack ( u → v ) becomes 0, relax u → v ▹ Delete pred ( v ) → v from T ▹ Insert u → v into T. ▹ Delete ( u → v)* from C*. ▹ Insert ( pred ( v ) → v )* into C * ▹ Set pred ( u ) := v u s v

  70. Pivot [Ford 1956] ‣ When slack ( u → v ) becomes 0, relax u → v ▹ Delete pred ( v ) → v from T ▹ Insert u → v into T. ▹ Delete ( u → v)* from C*. ▹ Insert ( pred ( v ) → v )* into C * ▹ Set pred ( u ) := v u s v

  71. Pivots ‣ Vertices can only change from red to blue. ‣ So any edge that pivots into T stays in T . u s v

  72. Pivots ‣ Vertices can only change from red to blue. ‣ So any edge that pivots into T stays in T . u s v

  73. [Sleator Tarjan 1983] Fast implementation ··· [Tarjan Werneck 2005] ‣ We maintain T and C * in dynamic forest data structures that support the following operations in O (log n ) amortized time: ▹ Remove and insert edges: • C UT ( uv ), L INK ( u , v ) ▹ Maintain distances at vertices of T : • G ET N ODE V ALUE ( v ), A DD S UBTREE (Δ, v ) ▹ Maintain slacks at edges of C *: • G ET D ART V ALUE ( u ︎ → v ), A DD P ATH (Δ, u , v ), M IN P ATH ( u , v ) ‣ So we can identify and execute each pivot in O (log n ) amortized time.

  74. Planar MSSP summary [Klein 2005] ‣ We can (implicitly) compute distances from every boundary vertex to every vertex in any planar map in O( n log n ) time! ‣ More accurately: Given k vertex pairs, where one vertex of each pair is on the boundary, we can compute those k shortest-path distances in O( n log n + k log n ) time.

  75. Higher-genus MSSP ‣ Let Σ be any surface map with genus g . Fix a face f of Σ. ‣ We want to compute the shortest path trees rooted at every vertex of some “outer” face f .

  76. Higher-genus MSSP ‣ Let Σ be any surface map with genus g . Fix a face f of Σ. ‣ We want to compute the shortest path trees rooted at every vertex of some “outer” face f .

  77. Higher-genus MSSP ‣ Let Σ be any surface map with genus g . Fix a face f of Σ. ‣ We want to compute the shortest path trees rooted at every vertex of some “outer” face f .

  78. Higher-genus MSSP ‣ Let Σ be any surface map with genus g . Fix a face f of Σ. ‣ We want to compute the shortest path trees rooted at every vertex of some “outer” face f .

  79. Higher-genus MSSP ‣ Let Σ be any surface map with genus g . Fix a face f of Σ. ‣ We want to compute the shortest path trees rooted at every vertex of some “outer” face f .

  80. Same strategy! ‣ Move a point s continously around f , maintaining both the shortest-path tree rooted at s and the complementary slacks. Whenever a non-tree edge becomes tense, relax it.

  81. Same strategy! ‣ Move a point s continously around f , maintaining both the shortest-path tree rooted at s and the complementary slacks. Whenever a non-tree edge becomes tense, relax it.

  82. Complementary grove ‣ The dual cut graph X * = ( G \ T )* is no longer a spanning tree! ‣ Grove decomposition : partition X * into 6 g subtrees of G *. ▹ Each subtree contains one dual cut path and all attached “hair” ▹ Maintain each subtree in its own dynamic forest data structure

  83. Where are the pivots? ‣ All active edges are dual to edges in some dual cut path. ‣ We can find and execute each pivot using O( g ) dynamic forest operations = O( g log n ) amortized time.

  84. How many pivots? ‣ Each directed edge pivots into T at most 4 g times. ▹ 4 g = max # disjoint non-homotopic paths between two points in Σ ▹ = # edges in a system of quads! ‣ So the total number of pivots is O( gn )

  85. [Cabello Chambers Erickson 2013] Summary [Fox Erickson Lkhamsuren 2018] ‣ Given any surface map Σ with complexity n and genus g , with non-negatively weighted edges, and a face f. ‣ We can (implicitly) compute shortest-path distances from every vertex of f to every vertex of Σ... ▹ in O( gn log n ) time with high probability ▹ or in O(min{ g , log n } · gn log n ) worst-case deterministic time

  86. Picky details [Cabello Chambers Erickson 2013] ‣ Everything so far assumes that shortest paths are unique, and that at most one edge becomes tense at a time. ‣ We can enforce this assumption by perturbing the edge weights. ▹ Randomized perturbation: O(1) time penalty, but succeeds only with high probability 
 [Mulmuley Vazirani Vazirani 1987] ▹ Lexicographic perturbation: O(log n ) time penalty 
 [Charnes 1952] [Dantzig Orden Wolfe 1955] ▹ Homologically-least leftmost (“holiest”) perturbation: O( g ) time penalty 
 [Fox Erickson Lkhamsuren 2018]

  87. Shortest nontrivial cycles, take 2

  88. Faster algorithm [Cabello Chambers 2007] To compute the shortest nonseparating cycle: ▹ Compute a greedy system of cycles γ 1 , γ 2 , ..., γ 2 g ▹ Find the shortest cycle that crosses each greedy cycle γ i once

  89. Algorithm [Cabello Chambers 2007] ‣ To find the shortest cycle that crosses γ i once: ▹ Cut the surface open along γ i . Resulting surface Σ ✂ γ i has two copies of γ on its boundary. ▹ Find shortest path in Σ ✂ γ i between two copies of each vertex of γ i ▹ MSSP: O( gn log n ) time with high probability

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend