Boost C++ Libraries: Ticket #3807: Documentation improvement for graph/planar_canonical_ordering.hpp. https://svn.boost.org/trac10/ticket/3807 <p> The following undirected planar triangular graph fails to produce the correct canonical ordering. Edges: (2,4) (4,1) (1,2) (2,0) (1,0) (2,3) (3,4) (0,4) Embedding: 0 (0,1) (0,4) (0,2) 1 (1,2) (1,4) (0,1) 2 (0,2) (2,3) (2,4) (1,2) 3 (3,4) (2,3) 4 (0,4) (1,4) (2,4) (3,4) Canonical ordering produced: 0 1 4 </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/3807 Trac 1.4.3 Tim Gee <writetotimgee@…> Thu, 31 Dec 2009 16:10:39 GMT owner, component, severity, summary changed https://svn.boost.org/trac10/ticket/3807#comment:1 https://svn.boost.org/trac10/ticket/3807#comment:1 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Andrew Sutton</span> to <span class="trac-author">Matias Capeletto</span> </li> <li><strong>component</strong> <span class="trac-field-old">graph</span> → <span class="trac-field-new">Documentation</span> </li> <li><strong>severity</strong> <span class="trac-field-old">Problem</span> → <span class="trac-field-new">Cosmetic</span> </li> <li><strong>summary</strong> <span class="trac-field-old">Logic error in graph/planar_canonical_ordering.hpp.</span> → <span class="trac-field-new">Documentation improvement for graph/planar_canonical_ordering.hpp.</span> </li> </ul> <p> It appears that the algorithm simply requires that the first two supplied vertices are exterior and adjacent. I couldn't find this in the documentation, but it seemed apparent from the description of the algorithm that I found in "Drawing Planar Graphs using Canonical Ordering" by Goos Kant. </p> Ticket anonymous Thu, 31 Dec 2009 16:12:43 GMT owner, component changed https://svn.boost.org/trac10/ticket/3807#comment:2 https://svn.boost.org/trac10/ticket/3807#comment:2 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Matias Capeletto</span> to <span class="trac-author">Andrew Sutton</span> </li> <li><strong>component</strong> <span class="trac-field-old">Documentation</span> → <span class="trac-field-new">graph</span> </li> </ul> Ticket Jeremiah Willcock Tue, 16 Mar 2010 18:18:52 GMT <link>https://svn.boost.org/trac10/ticket/3807#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3807#comment:3</guid> <description> <p> Is "is biconnected and contains the edge {v1, v2} on its outer face." (what is in the current documentation) inadequate in your opinion? I.e., is this bug already fixed? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Tue, 16 Mar 2010 18:51:46 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/3807#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3807#comment:4</guid> <description> <p> Just checked: <a href="http://www.boost.org/doc/libs/1_42_0/libs/graph/doc/planar_canonical_ordering.html">http://www.boost.org/doc/libs/1_42_0/libs/graph/doc/planar_canonical_ordering.html</a> </p> <p> Sorry, no I don't think the current documentation is adequate. The description of the algorithm output is accurate and clear (as described in the first paragraph), but the pre-requisites for the algorithm are not clear. This is particularly important, as if the inputs are not supplied correctly, the algorithm doesn't degrade nicely (it just produces a bogus ordering). </p> <p> The input graph must: a) Be maximal planar. b) Have at least two vertices. c) Must contain contain the edge {v1, v2} on its outer face. </p> <p> The documentation makes it clear that c) is true of the output - but isn't clear that it is also necessary in the input. </p> <p> *Also, I should note that my original example didn't meet criteria (a) as it was planar triangular and maximal planar (requires <a class="source" href="https://svn.boost.org/trac10/log/?revs=0%2C3">[0,3]</a> to be maximal). That's my own fault for not originally understanding the difference. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Jeremiah Willcock</dc:creator> <pubDate>Sun, 28 Mar 2010 18:16:54 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/3807#comment:5 https://svn.boost.org/trac10/ticket/3807#comment:5 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/60899" title="Added preconditions on graph listed in #3807; fixes #3807">[60899]</a>) Added preconditions on graph listed in <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/3807" title="#3807: Bugs: Documentation improvement for graph/planar_canonical_ordering.hpp. (closed: fixed)">#3807</a>; fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/3807" title="#3807: Bugs: Documentation improvement for graph/planar_canonical_ordering.hpp. (closed: fixed)">#3807</a> </p> Ticket patcher@… Wed, 19 May 2010 12:39:48 GMT status changed; resolution deleted https://svn.boost.org/trac10/ticket/3807#comment:6 https://svn.boost.org/trac10/ticket/3807#comment:6 <ul> <li><strong>status</strong> <span class="trac-field-old">closed</span> → <span class="trac-field-new">reopened</span> </li> <li><strong>resolution</strong> <span class="trac-field-deleted">fixed</span> </li> </ul> <p> The change of documentation is to confusing. The condition c) is not necessary! </p> <p> In fact, the <a href="http://www.boost.org/doc/libs/1_43_0/libs/graph/doc/PlanarEmbedding.html">documentation</a> says, that the embedding used for planar_canonical_ordering is a <a class="ext-link" href="http://en.wikipedia.org/wiki/Graph_embedding#Combinatorial_embedding"><span class="icon">​</span>combinatorical embedding</a>, not a geometrical (topological) embedding. Hence, there aren't any faces yet. </p> <p> In starting with the first two vertices, the algorithm defines these both vertices to be on the outer face of an geometrical embedding, which one gets implicitly by the canonical order, see the <a href="http://www.boost.org/doc/libs/1_43_0/libs/graph/doc/planar_canonical_ordering.html">documentation</a>. </p> <p> So the condition c) is always met and hence not needed to be mentioned. So delete this condition? </p> Ticket Jeremiah Willcock Wed, 19 May 2010 16:57:53 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/3807#comment:7 https://svn.boost.org/trac10/ticket/3807#comment:7 <ul> <li><strong>status</strong> <span class="trac-field-old">reopened</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/62098" title="Removed third condition from list of preconditions; fixes #3807 again">[62098]</a>) Removed third condition from list of preconditions; fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/3807" title="#3807: Bugs: Documentation improvement for graph/planar_canonical_ordering.hpp. (closed: fixed)">#3807</a> again </p> Ticket