Skip to content

is_planar( ) produces random results #41

@gwselke

Description

@gwselke

For some planar graphs at least, is_planar( ) randomly yields true or false.

Here is code to reproduce:

#! /usr/bin/perl
use v5.32.0;
use Graph::Undirected;
# use GraphViz2;
my $g = Graph::Undirected->new( );
$g->add_weighted_edge( 'J', 'S', 21);
$g->add_weighted_edge( 'F', 'M', 11);
$g->add_weighted_edge( 'F', 'H', 11);
$g->add_weighted_edge( 'J', 'T', 14);
$g->add_weighted_edge( 'T', 'G', 14);
$g->add_weighted_edge( 'T', 'S', 13);
$g->add_weighted_edge( 'G', 'S', 5);
$g->add_weighted_edge( 'G', 'H', 8);
$g->add_weighted_edge( 'G', 'M', 17);
$g->add_weighted_edge( 'S', 'H', 11);

for my $i(0..9) {
  say 'Graph is ', $g->is_planar( ) ? 'planar' : 'not planar';
}
# my $gv = GraphViz2->from_graph($g);
# $gv->run( 'format'=>'png', output_file=>'f.png' );

And here is one result (exact distribution will vary from call to call):

Graph is planar
Graph is planar
Graph is planar
Graph is planar
Graph is planar
Graph is not planar
Graph is planar
Graph is not planar
Graph is not planar
Graph is not planar

In fact, the graph is clearly planar, as can be seen from the enclosed diagram (produced by uncommenting the GraphViz-related lines in the code above).
I have tested on Windows 10, Perl 5.42.0, Graph 0.9735
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions