https://en.wikipedia.org/w/index.php?action=history&feed=atom&title=GYO_algorithm GYO algorithm - Revision history 2025-06-30T01:28:43Z Revision history for this page on the wiki MediaWiki 1.45.0-wmf.7 https://en.wikipedia.org/w/index.php?title=GYO_algorithm&diff=1250907397&oldid=prev ISaveNewspapers: spelling 2024-10-13T07:46:54Z <p>spelling</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 07:46, 13 October 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 26:</td> <td colspan="2" class="diff-lineno">Line 26:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Find an ear ''e'' in ''H''.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Find an ear ''e'' in ''H''.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Remove ''e'' and remove all vertices of ''H'' that are only in ''e''.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Remove ''e'' and remove all vertices of ''H'' that are only in ''e''.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>If the algorithm successfully eliminates all vertices, then the hypergraph is α-acylic. Otherwise, if the algorithm gets to a non-<del style="font-weight: bold; text-decoration: none;">emtpy</del> hypergraph that has no ears, then the original hypergraph was not α-acyclic:</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>If the algorithm successfully eliminates all vertices, then the hypergraph is α-acylic. Otherwise, if the algorithm gets to a non-<ins style="font-weight: bold; text-decoration: none;">empty</ins> hypergraph that has no ears, then the original hypergraph was not α-acyclic:</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Proof|proof=Assume first the GYO algorithm ends on the empty hypergraph, let &lt;math&gt;e_1,\ldots,e_m&lt;/math&gt; be the sequence of ears that it has found, and let &lt;math&gt;H_0,\ldots,H_m&lt;/math&gt; the sequence of hypergraphs obtained (in particular &lt;math&gt;H_0 = H&lt;/math&gt; and &lt;math&gt;H_m&lt;/math&gt; is the empty hypergraph). It is clear that &lt;math&gt;H_m&lt;/math&gt;, the empty hypergraph, is &lt;math&gt;\alpha&lt;/math&gt;-acyclic. One can then check that, if &lt;math&gt;H_n&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic then &lt;math&gt;H_{n-1}&lt;/math&gt; is also &lt;math&gt;\alpha&lt;/math&gt;-acyclic. This implies that &lt;math&gt;H_0&lt;/math&gt; is indeed &lt;math&gt;\alpha&lt;/math&gt;-acyclic.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Proof|proof=Assume first the GYO algorithm ends on the empty hypergraph, let &lt;math&gt;e_1,\ldots,e_m&lt;/math&gt; be the sequence of ears that it has found, and let &lt;math&gt;H_0,\ldots,H_m&lt;/math&gt; the sequence of hypergraphs obtained (in particular &lt;math&gt;H_0 = H&lt;/math&gt; and &lt;math&gt;H_m&lt;/math&gt; is the empty hypergraph). It is clear that &lt;math&gt;H_m&lt;/math&gt;, the empty hypergraph, is &lt;math&gt;\alpha&lt;/math&gt;-acyclic. One can then check that, if &lt;math&gt;H_n&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic then &lt;math&gt;H_{n-1}&lt;/math&gt; is also &lt;math&gt;\alpha&lt;/math&gt;-acyclic. This implies that &lt;math&gt;H_0&lt;/math&gt; is indeed &lt;math&gt;\alpha&lt;/math&gt;-acyclic.</div></td> </tr> </table> ISaveNewspapers https://en.wikipedia.org/w/index.php?title=GYO_algorithm&diff=1250833607&oldid=prev JJMC89 bot III: Moving :Category:Algorithms in graph theory to :Category:Graph algorithms per Wikipedia:Categories for discussion/Log/2024 October 4 2024-10-12T19:56:11Z <p>Moving <a href="/w/index.php?title=Category:Algorithms_in_graph_theory&amp;action=edit&amp;redlink=1" class="new" title="Category:Algorithms in graph theory (page does not exist)">Category:Algorithms in graph theory</a> to <a href="/wiki/Category:Graph_algorithms" title="Category:Graph algorithms">Category:Graph algorithms</a> per <a href="/wiki/Wikipedia:Categories_for_discussion/Log/2024_October_4" title="Wikipedia:Categories for discussion/Log/2024 October 4">Wikipedia:Categories for discussion/Log/2024 October 4</a></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 19:56, 12 October 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 41:</td> <td colspan="2" class="diff-lineno">Line 41:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Database algorithms]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Database algorithms]]</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[Category:<del style="font-weight: bold; text-decoration: none;">Algorithms</del> <del style="font-weight: bold; text-decoration: none;">in graph theory</del>]]</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[Category:<ins style="font-weight: bold; text-decoration: none;">Graph</ins> <ins style="font-weight: bold; text-decoration: none;">algorithms</ins>]]</div></td> </tr> </table> JJMC89 bot III https://en.wikipedia.org/w/index.php?title=GYO_algorithm&diff=1250714127&oldid=prev JJMC89 bot III: Moving :Category:Graph algorithms to :Category:Algorithms in graph theory per Wikipedia:Categories for discussion/Log/2024 October 4#Category:Graph algorithms 2024-10-12T02:23:25Z <p>Moving <a href="/wiki/Category:Graph_algorithms" title="Category:Graph algorithms">Category:Graph algorithms</a> to <a href="/w/index.php?title=Category:Algorithms_in_graph_theory&amp;action=edit&amp;redlink=1" class="new" title="Category:Algorithms in graph theory (page does not exist)">Category:Algorithms in graph theory</a> per <a href="/wiki/Wikipedia:Categories_for_discussion/Log/2024_October_4#Category:Graph_algorithms" title="Wikipedia:Categories for discussion/Log/2024 October 4">Wikipedia:Categories for discussion/Log/2024 October 4#Category:Graph algorithms</a></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 02:23, 12 October 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 41:</td> <td colspan="2" class="diff-lineno">Line 41:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Database algorithms]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Database algorithms]]</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[Category:<del style="font-weight: bold; text-decoration: none;">Graph</del> <del style="font-weight: bold; text-decoration: none;">algorithms</del>]]</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[Category:<ins style="font-weight: bold; text-decoration: none;">Algorithms</ins> <ins style="font-weight: bold; text-decoration: none;">in graph theory</ins>]]</div></td> </tr> </table> JJMC89 bot III https://en.wikipedia.org/w/index.php?title=GYO_algorithm&diff=1209559931&oldid=prev A3nm: /* Running time */ remove running time claim. From a literature search it's unclear that the GYO algorithm presented here (or its variants also called GYO algorithm) can actually be implemented in linear time. The only reference I found to test alpha-acyclicity in linear time is Tarjan and Yannakakis, 1984, which does not follow the GYO algorithm 2024-02-22T14:03:15Z <p><span class="autocomment">Running time: </span> remove running time claim. From a literature search it&#039;s unclear that the GYO algorithm presented here (or its variants also called GYO algorithm) can actually be implemented in linear time. The only reference I found to test alpha-acyclicity in linear time is Tarjan and Yannakakis, 1984, which does not follow the GYO algorithm</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 14:03, 22 February 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 31:</td> <td colspan="2" class="diff-lineno">Line 31:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>For the other direction, assuming that &lt;math&gt;H&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic, one can show that &lt;math&gt;H&lt;/math&gt; has an ear &lt;math&gt;e&lt;/math&gt;.&lt;ref&gt;{{cite arXiv|last=Brault-Baron |first=Johann |title=Hypergraph Acyclicity Revisited |date=2014-03-27 |class=math.CO |eprint=1403.7076 }} See Theorem 6 for the existence of an ear&lt;/ref&gt; Since removing this ear yields an hypergraph that is still acyclic, we can continue this process until the hypergraph becomes empty.|title=The GYO algorithm ends on the empty hypergraph if and only if H is &lt;math&gt;\alpha&lt;/math&gt;-acyclic}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>For the other direction, assuming that &lt;math&gt;H&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic, one can show that &lt;math&gt;H&lt;/math&gt; has an ear &lt;math&gt;e&lt;/math&gt;.&lt;ref&gt;{{cite arXiv|last=Brault-Baron |first=Johann |title=Hypergraph Acyclicity Revisited |date=2014-03-27 |class=math.CO |eprint=1403.7076 }} See Theorem 6 for the existence of an ear&lt;/ref&gt; Since removing this ear yields an hypergraph that is still acyclic, we can continue this process until the hypergraph becomes empty.|title=The GYO algorithm ends on the empty hypergraph if and only if H is &lt;math&gt;\alpha&lt;/math&gt;-acyclic}}</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><br /></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>== Running time ==</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><br /></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The algorithm can be made to work in linear time.</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== References ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== References ==</div></td> </tr> </table> A3nm https://en.wikipedia.org/w/index.php?title=GYO_algorithm&diff=1209555723&oldid=prev A3nm: /* Principle of the algorithm */ typo 2024-02-22T13:31:12Z <p><span class="autocomment">Principle of the algorithm: </span> typo</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 13:31, 22 February 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 24:</td> <td colspan="2" class="diff-lineno">Line 24:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The GYO algorithm then proceeds as follows:</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The GYO algorithm then proceeds as follows:</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Find an ear ''e'' in ''H''</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Find an ear ''e'' in ''H''<ins style="font-weight: bold; text-decoration: none;">.</ins></div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Remove ''e'' and remove all vertices of ''H'' that are only in ''e''.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Remove ''e'' and remove all vertices of ''H'' that are only in ''e''.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>If the algorithm successfully eliminates all vertices, then the hypergraph is α-acylic. Otherwise, if the algorithm gets to a non-emtpy hypergraph that has no ears, then the original hypergraph was not α-acyclic:</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>If the algorithm successfully eliminates all vertices, then the hypergraph is α-acylic. Otherwise, if the algorithm gets to a non-emtpy hypergraph that has no ears, then the original hypergraph was not α-acyclic:</div></td> </tr> </table> A3nm https://en.wikipedia.org/w/index.php?title=GYO_algorithm&diff=1209555696&oldid=prev A3nm: /* Principle of the algorithm */ typo 2024-02-22T13:30:55Z <p><span class="autocomment">Principle of the algorithm: </span> typo</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 13:30, 22 February 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 30:</td> <td colspan="2" class="diff-lineno">Line 30:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Proof|proof=Assume first the GYO algorithm ends on the empty hypergraph, let &lt;math&gt;e_1,\ldots,e_m&lt;/math&gt; be the sequence of ears that it has found, and let &lt;math&gt;H_0,\ldots,H_m&lt;/math&gt; the sequence of hypergraphs obtained (in particular &lt;math&gt;H_0 = H&lt;/math&gt; and &lt;math&gt;H_m&lt;/math&gt; is the empty hypergraph). It is clear that &lt;math&gt;H_m&lt;/math&gt;, the empty hypergraph, is &lt;math&gt;\alpha&lt;/math&gt;-acyclic. One can then check that, if &lt;math&gt;H_n&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic then &lt;math&gt;H_{n-1}&lt;/math&gt; is also &lt;math&gt;\alpha&lt;/math&gt;-acyclic. This implies that &lt;math&gt;H_0&lt;/math&gt; is indeed &lt;math&gt;\alpha&lt;/math&gt;-acyclic.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Proof|proof=Assume first the GYO algorithm ends on the empty hypergraph, let &lt;math&gt;e_1,\ldots,e_m&lt;/math&gt; be the sequence of ears that it has found, and let &lt;math&gt;H_0,\ldots,H_m&lt;/math&gt; the sequence of hypergraphs obtained (in particular &lt;math&gt;H_0 = H&lt;/math&gt; and &lt;math&gt;H_m&lt;/math&gt; is the empty hypergraph). It is clear that &lt;math&gt;H_m&lt;/math&gt;, the empty hypergraph, is &lt;math&gt;\alpha&lt;/math&gt;-acyclic. One can then check that, if &lt;math&gt;H_n&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic then &lt;math&gt;H_{n-1}&lt;/math&gt; is also &lt;math&gt;\alpha&lt;/math&gt;-acyclic. This implies that &lt;math&gt;H_0&lt;/math&gt; is indeed &lt;math&gt;\alpha&lt;/math&gt;-acyclic.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>For the other direction, assuming that &lt;math&gt;H&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic, one can show that &lt;math&gt;H&lt;/math&gt; has an ear &lt;math&gt;e&lt;/math&gt;.&lt;ref&gt;{{cite arXiv|last=Brault-Baron |first=Johann |title=Hypergraph Acyclicity Revisited |date=2014-03-27 |class=math.CO |eprint=1403.7076 }}<del style="font-weight: bold; text-decoration: none;">.</del> See Theorem 6 for the existence of an ear&lt;/ref&gt; Since removing this ear yields an hypergraph that is still acyclic, we can continue this process until the hypergraph becomes empty.|title=The GYO algorithm ends on the empty hypergraph if and only if H is &lt;math&gt;\alpha&lt;/math&gt;-acyclic}}</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>For the other direction, assuming that &lt;math&gt;H&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic, one can show that &lt;math&gt;H&lt;/math&gt; has an ear &lt;math&gt;e&lt;/math&gt;.&lt;ref&gt;{{cite arXiv|last=Brault-Baron |first=Johann |title=Hypergraph Acyclicity Revisited |date=2014-03-27 |class=math.CO |eprint=1403.7076 }} See Theorem 6 for the existence of an ear&lt;/ref&gt; Since removing this ear yields an hypergraph that is still acyclic, we can continue this process until the hypergraph becomes empty.|title=The GYO algorithm ends on the empty hypergraph if and only if H is &lt;math&gt;\alpha&lt;/math&gt;-acyclic}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Running time ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Running time ==</div></td> </tr> </table> A3nm https://en.wikipedia.org/w/index.php?title=GYO_algorithm&diff=1203011157&oldid=prev Citation bot: Altered template type. Add: eprint, class, pages, date, title, chapter, doi, chapter-url, authors 1-2. Removed or converted URL. Changed bare reference to CS1/2. Removed parameters. Some additions/deletions were parameter name changes. | Use this bot. Report bugs. | Suggested by Headbomb | #UCB_toolbar 2024-02-04T01:03:34Z <p>Altered template type. Add: eprint, class, pages, date, title, chapter, doi, chapter-url, authors 1-2. Removed or converted URL. Changed bare reference to CS1/2. Removed parameters. Some additions/deletions were parameter name changes. | <a href="/wiki/Wikipedia:UCB" class="mw-redirect" title="Wikipedia:UCB">Use this bot</a>. <a href="/wiki/Wikipedia:DBUG" class="mw-redirect" title="Wikipedia:DBUG">Report bugs</a>. | Suggested by Headbomb | #UCB_toolbar</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 01:03, 4 February 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 1:</td> <td colspan="2" class="diff-lineno">Line 1:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{One source|date=December 2023}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{One source|date=December 2023}}</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The '''GYO algorithm'''&lt;ref name="yu79"&gt;https://doi.org/10.1109/CMPSAC.1979.762509&lt;/ref&gt; is an algorithm that applies to [[hypergraph]]s. The algorithm takes as input a hypergraph and determines if the hypergraph is [[Acyclic hypergraph|α-acyclic]]. If so, it computes a decomposition of the hypergraph.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The '''GYO algorithm'''&lt;ref name="yu79"&gt;<ins style="font-weight: bold; text-decoration: none;">{{cite book | chapter-url=</ins>https://doi.org/10.1109/CMPSAC.1979.762509<ins style="font-weight: bold; text-decoration: none;"> | doi=10.1109/CMPSAC.1979.762509 | chapter=An algorithm for tree-query membership of a distributed query | title=COMPSAC 79. Proceedings. Computer Software and the IEEE Computer Society's Third International Applications Conference, 1979 | date=1979 | last1=Yu | first1=C.T. | last2=Ozsoyoglu | first2=M.Z. | pages=306–312 }}</ins>&lt;/ref&gt; is an algorithm that applies to [[hypergraph]]s. The algorithm takes as input a hypergraph and determines if the hypergraph is [[Acyclic hypergraph|α-acyclic]]. If so, it computes a decomposition of the hypergraph.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The algorithm was proposed in 1979 by [[Martin H. Graham|Graham]] and independently by Yu and [[Meral Özsoyoglu|Özsoyoğlu]], hence its name.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The algorithm was proposed in 1979 by [[Martin H. Graham|Graham]] and independently by Yu and [[Meral Özsoyoglu|Özsoyoğlu]], hence its name.</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Line 30:</td> <td colspan="2" class="diff-lineno">Line 30:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Proof|proof=Assume first the GYO algorithm ends on the empty hypergraph, let &lt;math&gt;e_1,\ldots,e_m&lt;/math&gt; be the sequence of ears that it has found, and let &lt;math&gt;H_0,\ldots,H_m&lt;/math&gt; the sequence of hypergraphs obtained (in particular &lt;math&gt;H_0 = H&lt;/math&gt; and &lt;math&gt;H_m&lt;/math&gt; is the empty hypergraph). It is clear that &lt;math&gt;H_m&lt;/math&gt;, the empty hypergraph, is &lt;math&gt;\alpha&lt;/math&gt;-acyclic. One can then check that, if &lt;math&gt;H_n&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic then &lt;math&gt;H_{n-1}&lt;/math&gt; is also &lt;math&gt;\alpha&lt;/math&gt;-acyclic. This implies that &lt;math&gt;H_0&lt;/math&gt; is indeed &lt;math&gt;\alpha&lt;/math&gt;-acyclic.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Proof|proof=Assume first the GYO algorithm ends on the empty hypergraph, let &lt;math&gt;e_1,\ldots,e_m&lt;/math&gt; be the sequence of ears that it has found, and let &lt;math&gt;H_0,\ldots,H_m&lt;/math&gt; the sequence of hypergraphs obtained (in particular &lt;math&gt;H_0 = H&lt;/math&gt; and &lt;math&gt;H_m&lt;/math&gt; is the empty hypergraph). It is clear that &lt;math&gt;H_m&lt;/math&gt;, the empty hypergraph, is &lt;math&gt;\alpha&lt;/math&gt;-acyclic. One can then check that, if &lt;math&gt;H_n&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic then &lt;math&gt;H_{n-1}&lt;/math&gt; is also &lt;math&gt;\alpha&lt;/math&gt;-acyclic. This implies that &lt;math&gt;H_0&lt;/math&gt; is indeed &lt;math&gt;\alpha&lt;/math&gt;-acyclic.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>For the other direction, assuming that &lt;math&gt;H&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic, one can show that &lt;math&gt;H&lt;/math&gt; has an ear &lt;math&gt;e&lt;/math&gt;.&lt;ref&gt;{{cite <del style="font-weight: bold; text-decoration: none;">arxiv</del>|last=Brault-Baron |first=Johann |title=Hypergraph Acyclicity Revisited |date=2014-03-27 |<del style="font-weight: bold; text-decoration: none;">arxiv</del>=1403.7076 }}. See Theorem 6 for the existence of an ear&lt;/ref&gt; Since removing this ear yields an hypergraph that is still acyclic, we can continue this process until the hypergraph becomes empty.|title=The GYO algorithm ends on the empty hypergraph if and only if H is &lt;math&gt;\alpha&lt;/math&gt;-acyclic}}</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>For the other direction, assuming that &lt;math&gt;H&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic, one can show that &lt;math&gt;H&lt;/math&gt; has an ear &lt;math&gt;e&lt;/math&gt;.&lt;ref&gt;{{cite <ins style="font-weight: bold; text-decoration: none;">arXiv</ins>|last=Brault-Baron |first=Johann |title=Hypergraph Acyclicity Revisited |date=2014-03-27 |<ins style="font-weight: bold; text-decoration: none;">class=math.CO |eprint</ins>=1403.7076 }}. See Theorem 6 for the existence of an ear&lt;/ref&gt; Since removing this ear yields an hypergraph that is still acyclic, we can continue this process until the hypergraph becomes empty.|title=The GYO algorithm ends on the empty hypergraph if and only if H is &lt;math&gt;\alpha&lt;/math&gt;-acyclic}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Running time ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Running time ==</div></td> </tr> </table> Citation bot https://en.wikipedia.org/w/index.php?title=GYO_algorithm&diff=1203004744&oldid=prev Headbomb: ce 2024-02-04T00:45:14Z <p>ce</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 00:45, 4 February 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 1:</td> <td colspan="2" class="diff-lineno">Line 1:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{One source|date=December 2023}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{One source|date=December 2023}}</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The '''GYO algorithm'''&lt;ref name="yu79"&gt;<del style="font-weight: bold; text-decoration: none;">{{Cite web |title=An algorithm for tree-query membership of a distributed query {{!}} IEEE Conference Publication {{!}} IEEE Xplore |url=</del>https://<del style="font-weight: bold; text-decoration: none;">ieeexplore.ieee</del>.org/<del style="font-weight: bold; text-decoration: none;">document</del>/<del style="font-weight: bold; text-decoration: none;">762509 |access-date=2023-12-12 |website=ieeexplore</del>.<del style="font-weight: bold; text-decoration: none;">ieee</del>.<del style="font-weight: bold; text-decoration: none;">org}}</del>&lt;/ref&gt; is an algorithm that applies to [[hypergraph]]s. The algorithm takes as input a hypergraph and determines if the hypergraph is [[Acyclic hypergraph|α-acyclic]]. If so, it computes a decomposition of the hypergraph.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The '''GYO algorithm'''&lt;ref name="yu79"&gt;https://<ins style="font-weight: bold; text-decoration: none;">doi</ins>.org/<ins style="font-weight: bold; text-decoration: none;">10.1109</ins>/<ins style="font-weight: bold; text-decoration: none;">CMPSAC</ins>.<ins style="font-weight: bold; text-decoration: none;">1979</ins>.<ins style="font-weight: bold; text-decoration: none;">762509</ins>&lt;/ref&gt; is an algorithm that applies to [[hypergraph]]s. The algorithm takes as input a hypergraph and determines if the hypergraph is [[Acyclic hypergraph|α-acyclic]]. If so, it computes a decomposition of the hypergraph.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The algorithm was proposed in 1979 by [[Martin H. Graham|Graham]] and independently by Yu and [[Meral Özsoyoglu|Özsoyoğlu]], hence its name.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The algorithm was proposed in 1979 by [[Martin H. Graham|Graham]] and independently by Yu and [[Meral Özsoyoglu|Özsoyoğlu]], hence its name.</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Line 30:</td> <td colspan="2" class="diff-lineno">Line 30:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Proof|proof=Assume first the GYO algorithm ends on the empty hypergraph, let &lt;math&gt;e_1,\ldots,e_m&lt;/math&gt; be the sequence of ears that it has found, and let &lt;math&gt;H_0,\ldots,H_m&lt;/math&gt; the sequence of hypergraphs obtained (in particular &lt;math&gt;H_0 = H&lt;/math&gt; and &lt;math&gt;H_m&lt;/math&gt; is the empty hypergraph). It is clear that &lt;math&gt;H_m&lt;/math&gt;, the empty hypergraph, is &lt;math&gt;\alpha&lt;/math&gt;-acyclic. One can then check that, if &lt;math&gt;H_n&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic then &lt;math&gt;H_{n-1}&lt;/math&gt; is also &lt;math&gt;\alpha&lt;/math&gt;-acyclic. This implies that &lt;math&gt;H_0&lt;/math&gt; is indeed &lt;math&gt;\alpha&lt;/math&gt;-acyclic.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Proof|proof=Assume first the GYO algorithm ends on the empty hypergraph, let &lt;math&gt;e_1,\ldots,e_m&lt;/math&gt; be the sequence of ears that it has found, and let &lt;math&gt;H_0,\ldots,H_m&lt;/math&gt; the sequence of hypergraphs obtained (in particular &lt;math&gt;H_0 = H&lt;/math&gt; and &lt;math&gt;H_m&lt;/math&gt; is the empty hypergraph). It is clear that &lt;math&gt;H_m&lt;/math&gt;, the empty hypergraph, is &lt;math&gt;\alpha&lt;/math&gt;-acyclic. One can then check that, if &lt;math&gt;H_n&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic then &lt;math&gt;H_{n-1}&lt;/math&gt; is also &lt;math&gt;\alpha&lt;/math&gt;-acyclic. This implies that &lt;math&gt;H_0&lt;/math&gt; is indeed &lt;math&gt;\alpha&lt;/math&gt;-acyclic.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>For the other direction, assuming that &lt;math&gt;H&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic, one can show that &lt;math&gt;H&lt;/math&gt; has an ear &lt;math&gt;e&lt;/math&gt;.&lt;ref&gt;{{<del style="font-weight: bold; text-decoration: none;">Citation</del> |last=Brault-Baron |first=Johann |title=Hypergraph Acyclicity Revisited |date=2014-03-27 |arxiv=1403.7076 }}. See Theorem 6 for the existence of an ear&lt;/ref&gt; Since removing this ear yields an hypergraph that is still acyclic, we can continue this process until the hypergraph becomes empty.|title=The GYO algorithm ends on the empty hypergraph if and only if H is &lt;math&gt;\alpha&lt;/math&gt;-acyclic}}</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>For the other direction, assuming that &lt;math&gt;H&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic, one can show that &lt;math&gt;H&lt;/math&gt; has an ear &lt;math&gt;e&lt;/math&gt;.&lt;ref&gt;{{<ins style="font-weight: bold; text-decoration: none;">cite</ins> <ins style="font-weight: bold; text-decoration: none;">arxiv</ins>|last=Brault-Baron |first=Johann |title=Hypergraph Acyclicity Revisited |date=2014-03-27 |arxiv=1403.7076 }}. See Theorem 6 for the existence of an ear&lt;/ref&gt; Since removing this ear yields an hypergraph that is still acyclic, we can continue this process until the hypergraph becomes empty.|title=The GYO algorithm ends on the empty hypergraph if and only if H is &lt;math&gt;\alpha&lt;/math&gt;-acyclic}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Running time ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Running time ==</div></td> </tr> </table> Headbomb https://en.wikipedia.org/w/index.php?title=GYO_algorithm&diff=1203003462&oldid=prev Citation bot: Altered url. URLs might have been anonymized. Add: arxiv, authors 1-1. Removed proxy/dead URL that duplicated identifier. Removed access-date with no URL. Removed parameters. Some additions/deletions were parameter name changes. | Use this bot. Report bugs. | Suggested by Headbomb | #UCB_toolbar 2024-02-04T00:41:20Z <p>Altered url. URLs might have been anonymized. Add: arxiv, authors 1-1. Removed proxy/dead URL that duplicated identifier. Removed access-date with no URL. Removed parameters. Some additions/deletions were parameter name changes. | <a href="/wiki/Wikipedia:UCB" class="mw-redirect" title="Wikipedia:UCB">Use this bot</a>. <a href="/wiki/Wikipedia:DBUG" class="mw-redirect" title="Wikipedia:DBUG">Report bugs</a>. | Suggested by Headbomb | #UCB_toolbar</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 00:41, 4 February 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 1:</td> <td colspan="2" class="diff-lineno">Line 1:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{One source|date=December 2023}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{One source|date=December 2023}}</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The '''GYO algorithm'''&lt;ref name="yu79"&gt;{{Cite web |title=An algorithm for tree-query membership of a distributed query {{!}} IEEE Conference Publication {{!}} IEEE Xplore |url=https://ieeexplore.ieee.org<del style="font-weight: bold; text-decoration: none;">/abstract</del>/document/762509 |access-date=2023-12-12 |website=ieeexplore.ieee.org}}&lt;/ref&gt; is an algorithm that applies to [[hypergraph]]s. The algorithm takes as input a hypergraph and determines if the hypergraph is [[Acyclic hypergraph|α-acyclic]]. If so, it computes a decomposition of the hypergraph.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The '''GYO algorithm'''&lt;ref name="yu79"&gt;{{Cite web |title=An algorithm for tree-query membership of a distributed query {{!}} IEEE Conference Publication {{!}} IEEE Xplore |url=https://ieeexplore.ieee.org/document/762509 |access-date=2023-12-12 |website=ieeexplore.ieee.org}}&lt;/ref&gt; is an algorithm that applies to [[hypergraph]]s. The algorithm takes as input a hypergraph and determines if the hypergraph is [[Acyclic hypergraph|α-acyclic]]. If so, it computes a decomposition of the hypergraph.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The algorithm was proposed in 1979 by [[Martin H. Graham|Graham]] and independently by Yu and [[Meral Özsoyoglu|Özsoyoğlu]], hence its name.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The algorithm was proposed in 1979 by [[Martin H. Graham|Graham]] and independently by Yu and [[Meral Özsoyoglu|Özsoyoğlu]], hence its name.</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Line 30:</td> <td colspan="2" class="diff-lineno">Line 30:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Proof|proof=Assume first the GYO algorithm ends on the empty hypergraph, let &lt;math&gt;e_1,\ldots,e_m&lt;/math&gt; be the sequence of ears that it has found, and let &lt;math&gt;H_0,\ldots,H_m&lt;/math&gt; the sequence of hypergraphs obtained (in particular &lt;math&gt;H_0 = H&lt;/math&gt; and &lt;math&gt;H_m&lt;/math&gt; is the empty hypergraph). It is clear that &lt;math&gt;H_m&lt;/math&gt;, the empty hypergraph, is &lt;math&gt;\alpha&lt;/math&gt;-acyclic. One can then check that, if &lt;math&gt;H_n&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic then &lt;math&gt;H_{n-1}&lt;/math&gt; is also &lt;math&gt;\alpha&lt;/math&gt;-acyclic. This implies that &lt;math&gt;H_0&lt;/math&gt; is indeed &lt;math&gt;\alpha&lt;/math&gt;-acyclic.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Proof|proof=Assume first the GYO algorithm ends on the empty hypergraph, let &lt;math&gt;e_1,\ldots,e_m&lt;/math&gt; be the sequence of ears that it has found, and let &lt;math&gt;H_0,\ldots,H_m&lt;/math&gt; the sequence of hypergraphs obtained (in particular &lt;math&gt;H_0 = H&lt;/math&gt; and &lt;math&gt;H_m&lt;/math&gt; is the empty hypergraph). It is clear that &lt;math&gt;H_m&lt;/math&gt;, the empty hypergraph, is &lt;math&gt;\alpha&lt;/math&gt;-acyclic. One can then check that, if &lt;math&gt;H_n&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic then &lt;math&gt;H_{n-1}&lt;/math&gt; is also &lt;math&gt;\alpha&lt;/math&gt;-acyclic. This implies that &lt;math&gt;H_0&lt;/math&gt; is indeed &lt;math&gt;\alpha&lt;/math&gt;-acyclic.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>For the other direction, assuming that &lt;math&gt;H&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic, one can show that &lt;math&gt;H&lt;/math&gt; has an ear &lt;math&gt;e&lt;/math&gt;.&lt;ref&gt;{{Citation |last=Brault-Baron |first=Johann |title=Hypergraph Acyclicity Revisited |date=2014-03-27 |<del style="font-weight: bold; text-decoration: none;">url</del>=<del style="font-weight: bold; text-decoration: none;">http://arxiv.org/abs/</del>1403.7076 <del style="font-weight: bold; text-decoration: none;">|access-date=2024-01-18 |doi=10.48550/arXiv.1403.7076</del>}}. See Theorem 6 for the existence of an ear&lt;/ref&gt; Since removing this ear yields an hypergraph that is still acyclic, we can continue this process until the hypergraph becomes empty.|title=The GYO algorithm ends on the empty hypergraph if and only if H is &lt;math&gt;\alpha&lt;/math&gt;-acyclic}}</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>For the other direction, assuming that &lt;math&gt;H&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic, one can show that &lt;math&gt;H&lt;/math&gt; has an ear &lt;math&gt;e&lt;/math&gt;.&lt;ref&gt;{{Citation |last=Brault-Baron |first=Johann |title=Hypergraph Acyclicity Revisited |date=2014-03-27 |<ins style="font-weight: bold; text-decoration: none;">arxiv</ins>=1403.7076 }}. See Theorem 6 for the existence of an ear&lt;/ref&gt; Since removing this ear yields an hypergraph that is still acyclic, we can continue this process until the hypergraph becomes empty.|title=The GYO algorithm ends on the empty hypergraph if and only if H is &lt;math&gt;\alpha&lt;/math&gt;-acyclic}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Running time ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Running time ==</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Line 38:</td> <td colspan="2" class="diff-lineno">Line 38:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== References ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== References ==</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* {{Cite book |<del style="font-weight: bold; text-decoration: none;">last</del>=Abiteboul |<del style="font-weight: bold; text-decoration: none;">first</del>=Serge |title=Foundations of Databases: The Logical Level |last2=Hull |first2=Richard |last3=Vianu |first3=Victor |date=1994-12-02 |publisher=Pearson |isbn=978-0-201-53771-0 |location=Reading, Mass. |language=English | url=http://webdam.inria.fr/Alice/pdfs/all.pdf}} See Algorithm 6.4.4.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* {{Cite book |<ins style="font-weight: bold; text-decoration: none;">last1</ins>=Abiteboul |<ins style="font-weight: bold; text-decoration: none;">first1</ins>=Serge |title=Foundations of Databases: The Logical Level |last2=Hull |first2=Richard |last3=Vianu |first3=Victor |date=1994-12-02 |publisher=Pearson |isbn=978-0-201-53771-0 |location=Reading, Mass. |language=English | url=http://webdam.inria.fr/Alice/pdfs/all.pdf}} See Algorithm 6.4.4.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Notes ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Notes ==</div></td> </tr> </table> Citation bot https://en.wikipedia.org/w/index.php?title=GYO_algorithm&diff=1196820927&oldid=prev MikaelMonet: Added a proof sketch that the GYO algorithm is correct 2024-01-18T16:28:19Z <p>Added a proof sketch that the GYO algorithm is correct</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 16:28, 18 January 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 26:</td> <td colspan="2" class="diff-lineno">Line 26:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Find an ear ''e'' in ''H''</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Find an ear ''e'' in ''H''</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Remove ''e'' and remove all vertices of ''H'' that are only in ''e''.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Remove ''e'' and remove all vertices of ''H'' that are only in ''e''.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>If the algorithm successfully eliminates all vertices, then the hypergraph is α-acylic. Otherwise, if the algorithm gets to a non-emtpy hypergraph that has no ears, then the original hypergraph was not α-acyclic<del style="font-weight: bold; text-decoration: none;">.</del></div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>If the algorithm successfully eliminates all vertices, then the hypergraph is α-acylic. Otherwise, if the algorithm gets to a non-emtpy hypergraph that has no ears, then the original hypergraph was not α-acyclic<ins style="font-weight: bold; text-decoration: none;">:</ins></div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>{{Proof|proof=Assume first the GYO algorithm ends on the empty hypergraph, let &lt;math&gt;e_1,\ldots,e_m&lt;/math&gt; be the sequence of ears that it has found, and let &lt;math&gt;H_0,\ldots,H_m&lt;/math&gt; the sequence of hypergraphs obtained (in particular &lt;math&gt;H_0 = H&lt;/math&gt; and &lt;math&gt;H_m&lt;/math&gt; is the empty hypergraph). It is clear that &lt;math&gt;H_m&lt;/math&gt;, the empty hypergraph, is &lt;math&gt;\alpha&lt;/math&gt;-acyclic. One can then check that, if &lt;math&gt;H_n&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic then &lt;math&gt;H_{n-1}&lt;/math&gt; is also &lt;math&gt;\alpha&lt;/math&gt;-acyclic. This implies that &lt;math&gt;H_0&lt;/math&gt; is indeed &lt;math&gt;\alpha&lt;/math&gt;-acyclic.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>For the other direction, assuming that &lt;math&gt;H&lt;/math&gt; is &lt;math&gt;\alpha&lt;/math&gt;-acyclic, one can show that &lt;math&gt;H&lt;/math&gt; has an ear &lt;math&gt;e&lt;/math&gt;.&lt;ref&gt;{{Citation |last=Brault-Baron |first=Johann |title=Hypergraph Acyclicity Revisited |date=2014-03-27 |url=http://arxiv.org/abs/1403.7076 |access-date=2024-01-18 |doi=10.48550/arXiv.1403.7076}}. See Theorem 6 for the existence of an ear&lt;/ref&gt; Since removing this ear yields an hypergraph that is still acyclic, we can continue this process until the hypergraph becomes empty.|title=The GYO algorithm ends on the empty hypergraph if and only if H is &lt;math&gt;\alpha&lt;/math&gt;-acyclic}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Running time ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Running time ==</div></td> </tr> </table> MikaelMonet