<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Announcing planar-graph</title>
	<atom:link href="http://ivanmiljenovic.wordpress.com/2012/04/27/announcing-planar-graph/feed/" rel="self" type="application/rss+xml" />
	<link>http://ivanmiljenovic.wordpress.com/2012/04/27/announcing-planar-graph/</link>
	<description>Getting into blogging before it&#039;s too late</description>
	<lastBuildDate>Sun, 16 Jun 2013 06:28:36 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: DNA sequence annotation: a graph coloring problem &#171; GCBLOG</title>
		<link>http://ivanmiljenovic.wordpress.com/2012/04/27/announcing-planar-graph/#comment-507</link>
		<dc:creator><![CDATA[DNA sequence annotation: a graph coloring problem &#171; GCBLOG]]></dc:creator>
		<pubDate>Mon, 18 Jun 2012 16:17:33 +0000</pubDate>
		<guid isPermaLink="false">http://ivanmiljenovic.wordpress.com/?p=192#comment-507</guid>
		<description><![CDATA[[...] are many ways to represent graphs, with several interesting implementations proposed for Haskell.  The greedy algorithm above requires that an adjacency list [...]]]></description>
		<content:encoded><![CDATA[<p>[...] are many ways to represent graphs, with several interesting implementations proposed for Haskell.  The greedy algorithm above requires that an adjacency list [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ivan Miljenovic</title>
		<link>http://ivanmiljenovic.wordpress.com/2012/04/27/announcing-planar-graph/#comment-499</link>
		<dc:creator><![CDATA[Ivan Miljenovic]]></dc:creator>
		<pubDate>Sat, 05 May 2012 03:57:10 +0000</pubDate>
		<guid isPermaLink="false">http://ivanmiljenovic.wordpress.com/?p=192#comment-499</guid>
		<description><![CDATA[That&#039;s where the transformers concept comes in handy: if you&#039;re doing a lot of stuff where finding adjacent nodes is important, then applying a transformer to your graph stack to cache these (rather than looking up the &quot;to node&quot; for each half-edge attached to that node) will give you this; otherwise, you avoid storing this extra information.]]></description>
		<content:encoded><![CDATA[<p>That&#8217;s where the transformers concept comes in handy: if you&#8217;re doing a lot of stuff where finding adjacent nodes is important, then applying a transformer to your graph stack to cache these (rather than looking up the &#8220;to node&#8221; for each half-edge attached to that node) will give you this; otherwise, you avoid storing this extra information.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gcbenison</title>
		<link>http://ivanmiljenovic.wordpress.com/2012/04/27/announcing-planar-graph/#comment-498</link>
		<dc:creator><![CDATA[gcbenison]]></dc:creator>
		<pubDate>Sat, 05 May 2012 03:27:38 +0000</pubDate>
		<guid isPermaLink="false">http://ivanmiljenovic.wordpress.com/?p=192#comment-498</guid>
		<description><![CDATA[That&#039;s true that with the &quot;Node -&gt; Node -&gt; Bool&quot; representation getting a list of edges would be O(N_v).  So would getting the adjacency list for a single node.  Another &quot;function-based&quot; representation would be (Node -&gt; [Node]) where the returned list is the adjacency list.  DFS and related algorithms could be implemented efficiently with that representation.]]></description>
		<content:encoded><![CDATA[<p>That&#8217;s true that with the &#8220;Node -&gt; Node -&gt; Bool&#8221; representation getting a list of edges would be O(N_v).  So would getting the adjacency list for a single node.  Another &#8220;function-based&#8221; representation would be (Node -&gt; [Node]) where the returned list is the adjacency list.  DFS and related algorithms could be implemented efficiently with that representation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ivan Miljenovic</title>
		<link>http://ivanmiljenovic.wordpress.com/2012/04/27/announcing-planar-graph/#comment-497</link>
		<dc:creator><![CDATA[Ivan Miljenovic]]></dc:creator>
		<pubDate>Fri, 04 May 2012 21:31:08 +0000</pubDate>
		<guid isPermaLink="false">http://ivanmiljenovic.wordpress.com/?p=192#comment-497</guid>
		<description><![CDATA[Well, just use a function &lt;code&gt;hasEdge :: Graph -&gt; Node -&gt; Node -&gt; Bool&lt;/code&gt; (though I&#039;d be tempted to use a tupled version so you can map it over a list of pairs, etc.).  In practice, having that as the &lt;i&gt;only&lt;/i&gt; representation seems rather inefficient as there is a lot more you need to do with edges than just see if they exist (map a function for each edge, etc.).  If you tried using this as the internal representation, it would also be &lt;code&gt;O(n)&lt;/code&gt; in the number of edges.]]></description>
		<content:encoded><![CDATA[<p>Well, just use a function <code>hasEdge :: Graph -&gt; Node -&gt; Node -&gt; Bool</code> (though I&#8217;d be tempted to use a tupled version so you can map it over a list of pairs, etc.).  In practice, having that as the <i>only</i> representation seems rather inefficient as there is a lot more you need to do with edges than just see if they exist (map a function for each edge, etc.).  If you tried using this as the internal representation, it would also be <code>O(n)</code> in the number of edges.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gcbenison</title>
		<link>http://ivanmiljenovic.wordpress.com/2012/04/27/announcing-planar-graph/#comment-496</link>
		<dc:creator><![CDATA[gcbenison]]></dc:creator>
		<pubDate>Fri, 04 May 2012 16:41:47 +0000</pubDate>
		<guid isPermaLink="false">http://ivanmiljenovic.wordpress.com/?p=192#comment-496</guid>
		<description><![CDATA[I&#039;m very interested in seeing how this will develop, as I&#039;m starting to work with graphs in Haskell.  For instance I am working on a Haskell program to annotate a DNA sequence with a number of shorter strings, which if they overlap, must be printed on different lines.  This can be expressed as a graph colouring problem.

One idea that interests me is a &quot;just in time&quot; graph representation - where the only representation of edges is a function Node-&gt;Node-&gt;Bool that tells you whether those nodes are connected.  No need to expose lists of edges as tuples, adjacency lists, whatever (though the library could of course maintain such lists internally.)]]></description>
		<content:encoded><![CDATA[<p>I&#8217;m very interested in seeing how this will develop, as I&#8217;m starting to work with graphs in Haskell.  For instance I am working on a Haskell program to annotate a DNA sequence with a number of shorter strings, which if they overlap, must be printed on different lines.  This can be expressed as a graph colouring problem.</p>
<p>One idea that interests me is a &#8220;just in time&#8221; graph representation &#8211; where the only representation of edges is a function Node-&gt;Node-&gt;Bool that tells you whether those nodes are connected.  No need to expose lists of edges as tuples, adjacency lists, whatever (though the library could of course maintain such lists internally.)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
