TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Graph Coloring Methods

71 点作者 silasdb8 个月前

8 条评论

n4r98 个月前
This looks like a nice book. I took courses in graph theory and ramsey theory at university many years ago. Reading the first couple of pages of the first chapter, it&#x27;s pitched at a good level for me to jump back into things.<p>Users might find this paragraph from the Preface helpful:<p>&gt; This book is about graph coloring, one of the most popular and widely-studied areas of discrete mathematics. The intended reader is a graduate student or early career researcher, although it should be useful for readers who are both less and more experienced. The reader may find it useful to have taken a 1-semester course in graph theory, but this is not strictly necessary. My goal as the author is to help you understand, internalize, and add to (if you like) central results in many areas of graph coloring.<p>The first chapter also states:<p>&gt; In this book we focus on the existence of colorings, rather than on algorithms to produce them<p>Does anyone know of resources for learning or implementing algorithms for graph colouring?
评论 #41650598 未加载
qwertox8 个月前
I was expecting some pretty, colored graphs, but the book is in black and white.<p>From Wikipedia [0]:<p><i>In graph theory, graph coloring is a special case of graph labeling; it is an assignment of labels traditionally called &quot;colors&quot; to elements of a graph subject to certain constraints.</i><p>[0] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Graph_coloring" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Graph_coloring</a>
评论 #41651752 未加载
评论 #41647313 未加载
评论 #41647519 未加载
rtaylorgarlock8 个月前
Daniel is a buddy of mine, and I&#x27;m proud of him for self-publishing this. I know 1st hand the crazy amount of hours he put into this over the last 8(?) years. Also relevant to this journey for him is his challenges with his tenured math superiors, leading him to &#x27;leave&#x27; the math department for the engineering dept years ago. He chose to self-publish after nearly publishing with one of the math societies, which he&#x27;s a member of, because he wanted this book to belong to the people doing the work. Big ups to the homie. I&#x27;ll pass this thread along to him; feedback is appreciated!
j2kun8 个月前
Is there any good reference (in this book or another) that gives a sense of what coloring methods work well for various practical problems? Do they still use graph coloring for register allocation--and if so, which method is used?<p>I have heard of some people using the &quot;degree saturation&quot; method (DSATUR: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;DSatur" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;DSatur</a>), but a systematic review would be really interesting.
HarHarVeryFunny8 个月前
With so many methods, it&#x27;d be interesting to get some feel for what percentage of random graphs, or graphs of a particular type perhaps, can be optimally colored using each technique.<p>The subject reminds me of a YACC-like parser generator I wrote back in the early 80&#x27;s... Using graph coloring to compress the parser tables.<p>My generator was more general than YACC, accepting LR(1) grammars rather than LALR(1) ones, a feat which was considered impractical at that time (said Aho &amp; Ullman&#x27;s &quot;dragon book&quot;). Certainly a canonical Knuth parser would be huge, but what made it possible was to use an at the time obscure state-combining technique invented by Prof. Pager. However, the resulting parse tables (2-D array, indexed by parser state and current symbol) were still huge, although sparse. One solution was to represent the tables as linked lists, but I wanted to instead compress them to keep the speed of array access.<p>The solution I used was to convert the sparse 2-D array to a graph, color the graph, then convert it back to a compressed array where non-conflicting (sparse) rows and columns had been combined.<p>The idea was to:<p>1) Convert each row of the 2-D array to a graph node, and connect that node to all other nodes who&#x27;s corresponding row had a conflicting column entry.<p>2) Color the resulting graph (i.e. assign colors to nodes, such that connected nodes have different colors, using fewest possible colors). The simple but effective coloring heuristic I used was just to assign colors to the &quot;hardest&quot; (i.e. most constrained) nodes first - those with the most connections.<p>3) Convert the colored graph back to a 2-D array by combining all rows (nodes) of the same color, which by construction meant rows not having any conflicting entries would be combined, and the array would be compressed in accordance to how few colors had been used.<p>4) Repeat steps 1-3 for the columns.<p>What I liked about this algorithm was that any future research into optimal graph coloring could be applied to it to achieve better compression, although this was just a side project and I never did revisit it.<p>The resulting parsers (I implemented both K&amp;R C and Modula-2) were indeed stupid fast due to just using array access. I don&#x27;t remember how big the compressed tables were for these languages, but they happily ran on the Acorn 32016 2nd processor I was using for development (I did this while working for Acorn Computers).<p>Incidentally, the &quot;do the hardest&#x2F;most-constrained bits first&quot; is a useful heuristic for many problems - e.g. I remember also using it so solve the &quot;knight&#x27;s tour&quot; chessboard problem (have a knight visit each square on a chessboard exactly once).
generationP8 个月前
I&#x27;m seeing some influence of [Diestel](<a href="https:&#x2F;&#x2F;diestel-graph-theory.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;diestel-graph-theory.com&#x2F;</a>) at least on the layout of the text.
datadrivenangel8 个月前
&quot;More precisely, it is NP-hard1. So it is unlikely that we will find an efficient algorithm to optimally solve the coloring problem on an arbitrary input graph. This fundamental hardness result casts a long shadow across the landscape of graph coloring.&quot;
评论 #41647386 未加载
mrkandel8 个月前
Why are colorings so well studied?