3-colorability
1.1 3-colorability

一个图的三着色问题:要使得边两头的结点颜色互不相同。
1.1.1 3元可满足规约到3着色


首先文法中的每一个变量和它自己的"非"连接。创建3个新结点分别为T,F,B并且将他们连接在一个三角形中。然后每一个文法都连接到B结点,对于每一个子句添加6个结点和13条边。其中B结点是基本颜色,这里假定为蓝色。
1.1.2 证明充分和必要性
定理:如果一个图是可以三着色的当且仅当这个图所对应的文法是可满足的。
Pf. ⇒ Suppose graph G is 3-colorable.
・Consider assignment that sets all T literals to true.
・(iv) ensures each literal is T or F. ・(ii) ensures a literal and its negation are opposites.
・(v) ensures at least one literal in each clause is T
如果一个图是可以三着色的,我们考虑几种分配方式使得所有的T文法都为True,确保所有的文法要么为T要么为F,至少保证有一个文法块为T。
ps:上面说的好乱,后来上油管看了下MIT的公开课才顿悟了!我们从头来理解一下:
这张图构造得很巧妙,它这样构造的目的是保证X1的值只能为true或者false而与它相连的x1'非'就只能是另外一种结果。
这张图也很巧妙也证明也为什么x1,x2,x3都为红(false)的时候文法式为false,它通过三着色原则强制让x1下面的结点为蓝,然后T结点右边第一个就只能为false(红色)依次推下去,发现推到F结点左边第一个结点的时候,该结点只能为红色(图中标记为黑色表示此节点跟相邻的结点有颜色冲突!)。
这个图反过来证明了为什么文法中只要一个为真就行了,可自行下来推一推。
随机推荐
- 【不知道怎么分类】CF 819B Mister B and PR Shifts
题目内容 洛谷链接 定义一个全排列\(p_i\)的偏移值为\(\sum_{i=1}^{n}|p[i]-i|\). 给你一个全排列,你可以从后面拿\(k\in[0,n-1]\)个数放在前面,使得该全排列 ...
- go 参数传递的是值还是引用 (转)
https://blog.csdn.net/qq_16059847/article/details/104062759
- 第三十六章 Linux常用性能检测的指令
作为一个Linux运维人员,介绍下常用的性能检测指令! 一.uptime 命令返回的信息: 19:08:17 //系统当前时间 up 127 days, 3:00 ...
- 第10天 | 12天搞定Python,文件操作(超详细)
在开发系统的过程中,经常会用到XML存储和传输数据,XML是一种用于标记电子文件使其具有结构性的标记语言,在博客中经常会见到. JSON是一种轻量级的数据交换格式,常被用在后端和前端的数据交互上,如你 ...
- Stream(一)
public class Test06 { /* * StreamAPI: * StreamAPI是用来处理数据,处理集合等容器中的数据,处理操作有:查询.筛选.删除.过滤.统计.映射等. * 希望能 ...
- Vue基础语法(四)
vue的生命周期钩子函数 所有的生命周期钩子自动绑定this到上下文实例中,因此可以访问数据对property和方法进行运算,这意味着不蹦使用箭头函数来定义一个生命周期方法.参考官方文档,生命周期图 ...
- http与https随笔
http: 超文本传输协议.使用TCP/IP协议 https: 安全超文本传输协议.使用TLS/SSL协议 不同: 1.安全 http是明文传输.http是具有安全性的SSL加密传输协议. https ...
- scrapy和scrapy-redis 详解一 入门demo及内容解析
架构及简介 Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. Scrapy 使用了 Twisted(其主要对手是Tornado)异步网络框架来处理 ...
- 在国内使用Google验证码reCaptcha
如今各大网站都不可缺少的一部分就是验证码,验证码具有防止恶意批量操作,保护账户安全等作用.但是现在各种暴力破解验证码的手段层出不穷,验证码的保护也就失去了意义.所以各大平台为了应对这种情况也是使用类似 ...
- 仅用六种字符来完成Hello World,你能做到吗?
Hello World 对于每一个开发者来说都不陌生,因为在我们学习任何一个语言或框架的时候,都会有一个Hello World的案例来帮助我们快速入门. 如果我们使用JavaScript来输出Hell ...



