当前位置:首页 » 编程语言 » 四色定理c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

四色定理c语言

发布时间: 2022-07-30 04:45:29

A. 四色问题C语言怎么解决

思路:建立数据结构,录入数据内容,遍历着色,输出第一个可行的着色方案。

下面就四个方面详细分析一下

首先分析数据结构:

对于地图,一个区块包含一个唯一编号数据(这个编号可以是地名,也可以是数字)用来区分该区块和其他区块的不同

另外要着色,还要考虑该区块和其他区块连接的情况

最后就是区块本身的颜色

通过上面的分析,即可建立如下数据结构:

structarea{
intnID;//这里以数字替代名称,作为地块的唯一标识
intnColor;//用1,2,3,4表示不同的颜色,用0表示还没有着色
area*pNei;//邻接的区块
intnNei;//邻接区块的数量
};

然后需要录入数据,这个请依据具体的地图进行处理,撰写相应的录入函数,填入上面的数据结构

假设录好的数据如下:

structareacity[64];//假设已经录制好了数据,初始所有城市颜色都为0

数据录好后,我们可以如下方式进行遍历,尝试着色

遍历分为个模块:一个是遍历模块,一个是校验模块

校验模块依序检查所有的城市和其邻接城市是否存在同色的情况,是则返回false,否则返回true

遍历模块则逐个城市进行上色尝试

可以考虑递归

下面给一个递归的示例:

检测模块:

boolisOk(){
for(inti=0;i<64;i++)//假设有64个城市,其初始值和城市关系已经录制完毕
{
for(intj=0;j<city[i].nNei;j++){
if(nColor==city[i].pNei[j].nColor)
returnfalse;
}
}
returntrue;
}

遍历递归模块:

booladdcity(intnIndex){
if(nIndex>=64)returntrue;//所有城市都着色了,则返回成功
for(inti=1;i<=4;i++){
city[nIndex].nColor=i;
if(isOk()){//本城市的颜色找到了
if(addcity(nIndex+1)==true){//找下一个城市的颜色
returntrue;
}else{//无法为下一个城市着色
continue;//更改本城市颜色
}
}
}
returnfalse;//没有一个颜色可行,返回上一级,重新寻找
}

调用的时候可以采用下面的方式:

if(addcity(0)==false){
printf("无法找到答案,四色定理错误! ");
}else{
printf("找到了答案,城市和着色结果如下: ");
for(inti=0;i<64;i++){
printf("city%03dcolor%d ",city[i].nID,city[i].nColor);
}
}


B. 历史上有人用计算机给出了一个四色定理的证明,是怎么做的

其实就是枚举法,把无数种可能列出来,然后没有一个不满足条件的,也就是说用数学无法证明,望采纳

C. 四色问题的解答

1 四色定理和环面七色定理
1852年,伦敦大学学生Francis Guthrie提出:“看来,每幅地图只需要用四种颜色着色, 便可以使得所有有共同边界的国家着上不同的颜色”.这就是被誉为世界近代三大数学难题的四色定理.
1890年, 英国数学家Heawood证明了环面上的任意地图可以用七种颜色着色,并提出环面上七个图形两两相邻的特例. 如图1,粘合矩形的对边,把它上面的七个地区转换到环面上, 使得每两个地区都相邻,即所有七个地区应该着上不同的颜色.

图 1
2 四色定理和环面七色定理的证明
2.1 染色的条件、性质和定理
地图染色存在两个先决条件. 一是两国相邻是指它们的公共边界上至少包含一段连续曲线,两个只在一个或有限个点接壤的国家不算相邻. 二是国家是指由一条或若干条不自交的连续闭曲线围起来的连通闭曲域, 但是一个国家不能有两块或两块以上互不毗邻的领土. 否则我们无法用有限种颜色对它们染色使得任何两个相邻的国家染上的颜色都不同.
为论证四色定理,提出以下引理.
引理 1 一个平面上的地图可以通过这样的方式转换到球面上去.如图2,我们这样想象,保持所有的单个图形相邻性质不变,只是作一些形状和大小的改变,而把地图以外的广大区域想象为一个点, 通过扭曲闭合转化为球面,不难想象,此时球面上地图和平面上地图保持着相同的染色性质;反之亦然,在球面上的地图,我们先寻找若干个图形的一个公共点 (可视为公共点在若干个图形上,也可视为公共点不在若干个图形上,另外也可以是一条公共线段),沿这个公共点(公共线段)展开可得平面图.这就是说在平面上的四色定理,扩展到球面上照样适用. 由此可以得出:一个平面上有限个图形组成的地图的最外围图形数量可以转换而不影响本地图的着色性质。
引理2 在平面或球面上,最多只有四个图形可以两两相邻.在研究平面地图的单个区域图形两两相邻问题时,两个图形两两相邻,三个图形两两相邻情形较简单,在此不作详述. 如图3,在四个图形两两相邻时,中间的图形已经被外围三个图形完全包围.中间的那个图形不可能再和其他图形相邻了,所以最多只有四个图形可以两两相邻,不可能有五个或者更多的图形两两相邻,这是四色定理成立的前提. 事实上,在平面或球面上二、三、四个图形两两相邻情形是唯一的.
引理3 如果由n个图形组成的地图的最外围图形是5个或者5个以上,并且用四色染色确保所有有共同边界的图形着上不同的颜色,那么其最外围的图形存在使用3种及其以下颜色染色的可能性.
证明: 假定对于由n个国家构成的平面地图用4种颜色染色满足要求, 如图4,最外围的(带+号)图形超过5个,假定必须用4种颜色染色,不论怎样染色,在最外围的众多图形中当一个图形(要选定有重复染色的图形,必然存在)环抱所有带+号的图形时(没有改变此图的染色性质),就产生了矛盾,每当最外围使用4种颜色染色时,我们总能找到其自相矛盾的情形,因此可以得出结论:最外围的图形存在使用3种及其以下颜色染色的可能性.此定理可成为四色定理的递推基础.这三条定理能够揭示四色定理的奥秘.
图2 图3 图4
2.2 四色和七色定理的证明
2.2.1 用数学归纳法证明四色定理
1)显然,对于任意的由1、2、3、4个组成的图形,四色定理正确.对于任意的5个图形组成的图形,根据“最多只有四个图形可以两两相邻”的分析,可知任意的5个图形时四色定理正确.
2)假设任意n个图形时四色定理正确,那么我们分析n+1个地图图形的情形.①如果任意n个图形的地图最外围是3个及其以下,n+1个任意的地图图形用四种颜色着色明显正确.②如果任意n个图形的地图最外围是5个及其以上,根据引理3, 可知其最外围存在使用3种颜色或者3种以下颜色染色的可能性,所以任意n+1个图形时四色定理正确.③如果任意n个图形的地图最外围是4个,根据引理1,我们将这个地图转化为最外围是是5个及其以上组成的地图,也容易证明任意n+1个图形时四色定理正确.
2.2.2 用对接转换方法证明环面七色定理
任意的一个环面可以这样由球面转换. 假想在拥有很多地图图形的球面上,从两端各去掉一个图形,两端使用三种颜色或者三种以下的颜色就足够了,如果一端由A、B、C或者三个以下包围, 另一端由B、C、D(或者A、B、D或者A、C、D)及其以下包围, 只要把另一端的B、C(或者A、B或者A、C)换为E、F就行了,此时用六色就足够了.如果两端均由A、B、C三色包围, 这时需要把一端的A、B、C换为E、F、G三色,因为中间还有用颜色D的,此时需要七色.
3 说明
染色问题涉及到无穷尽图形的繁杂组合,只能作一些浅显的理论分析,由于没有具体的染色换色法则,不能简捷的人工染色.在分析时使用动态的分析方法,即视为地图的单个图形在不改变总体着色性质的情况下,单个或部分图形是可以变化的.四色定理适用于二维空间面,如平面、马鞍面、抛物面、球面、弯曲的圆柱面.染色问题针对不同的条件会有不同的结论,在一条直线上,只需要两种颜色就可以把一条直线分成无数段,平面和球面上的地图需要四色,环面上则需要七种颜色,三维空间上任意堆积严密的实物模型因两两相邻不受限制,所以没有最少数目的颜色将其区别. 正象一团面条或者一条绳子, 每根面条或者绳线显然是可以两两相邻的,所以我们不能用有限种颜色把他们分开,而且使相邻的颜色均不同.

D. 实现四色定理的C++程序

给出一个图的m-着色的程序段,回溯法:
/* 图的邻接矩阵Graph[n,n]表示无向连通图G,
1,2,3,..m代表不同的颜色
顶点i所着色用x[i]表示,初始值都赋为0
*/
void NextValue(int k)
{
int j, flag;
do{
x[k] = (x[k]+1) % (m + 1)//分配给x[k]一种新的颜色
if (x[k] == 0)
return; //x[k]的颜色已用完
flag = 1; //x[k]是否可用的标记
for (j = 0; j < n; j++)
if (Graph[k,j] == 1 && x[k] == x[j]){
flag = 0; //x[k]不可用
break;
}
while (flag);
}
void MColoring(int k)
{
while (x[k] < m){ //产生x[k]的合理分配
NextValue(k); //找x[k]的一个合理分配
if (x[k] == 0)
return; //无解,结束调用
if (k == n) { //着完n个顶点,找到完整着色法,输出
Output(x,k) //输出当前解
else
MColoring(k+1)
}
}

/*
递归算法:
void Coloring(区域 n)
1. 令颜色集ClrSet={ 没有被区域n的邻居区域使用的颜色 }.
2. 如果ClrSet是空集,返回.
3. 对ClrSet中的每种颜色c,作循环:
3.1 为区域n着色c。
3.2 如果所有区域都已着色(n是最后一个区域),那么显示/保存着色结果.
3.3 否则对下一个尚未着色的区域(n+1),调用Coloring(n+1).
4. 把区域n变为没有着色的区域.
--------------------------------------------------------
*/
template<int node_count = 8>
class CColoring
{
private:
typedef int node_type;
typedef int color_type;
typedef std::set<node_type> node_set;
typedef std::vector<color_type> color_array;

public:
void operator()(const int _Matrix[node_count][node_count])
{
matrix = _Matrix;

colors_of_nodes.resize(node_count, 0);

total_count = 0;

coloring(0);
}

private:
void coloring(node_type n)
{
// 颜色的使用情况
std::vector<bool> used_colors;

node_type m;
color_type c;

// 初始化颜色的使用情况
used_colors.resize(color_count, false);

// 遍历每个与区域n相邻的区域m
for(m = 0; m < node_count; ++m)
{
if(matrix[n][m])
{
// 获取m的颜色
c = colors_of_nodes[m];
// m已着色
if(c != 0)
used_colors[c] = true;
}
}

// 遍历每个未被n的邻居使用的颜色c
for(c = 1; c < color_count; ++c)
{
if(!used_colors[c])
{
// 为n着色c
colors_of_nodes[n] = c;

// 着色完毕
if(n >= node_count - 1)
{
++total_count;

// 输出结果
_tprintf(_T("---------------------\n"));
_tprintf(_T("Method %d:\n"), total_count);
for(m = 0; m < node_count; ++m)
{
_tprintf(_T("node: %d, color: %d\n"), m, colors_of_nodes[m]);
}
}
// 还有区域没有着色
else
{
// 为下一个未着色的区域,调用coloring()
coloring(n + 1);
}
}
}

// 将n设置为没有着色的区域
colors_of_nodes[n] = 0;
}

// 0表示无色,1-4表示4种不同颜色
static const int color_count = 5;
// 邻接矩阵
const int (* matrix)[node_count];
// 各区域对应的颜色
color_array colors_of_nodes;
// 总的着色方案数
int total_count;
};

void main()
{
int Matrix[4][4] =
{
{ 0, 1, 0, 0 },
{ 1, 0, 0, 0 },
{ 0, 0, 0, 1 },
{ 0, 0, 1, 0 },
};

CColoring<4> coloring;
coloring(Matrix);
}

E. 计算机八大常用硬件得发展史

回首三百八十年——计算机编年简史
作者:葛陵
[史前时代:1623——1895]
1623年:德国科学家契克卡德(W. Schickard)制造了人类有史以来第一台机械计算机,这台机器能够进行六位数的加减乘除运算。
1642年:法国科学家帕斯卡(B.Pascal)发明了着名的帕斯卡机械计算机,首次确立了计算机器的概念。
1674年:莱布尼茨改进了帕斯卡的计算机,使之成为一种能够进行连续运算的机器,并且提出了“二进制”数的概念。(据说这个概念来源于中国的八卦)
1725年:法国纺织机械师布乔(B.Bouchon)发明了“穿孔纸带”的构想。
1805年: 法国机械师杰卡德(J.Jacquard)根据布乔“穿孔纸带”的构想完成了“自动提花编织机”的设计制作,在后来电子计算机开始发展的最初几年中,在多款着名计算机中我们均能找到自动提花机的身影。
1822年:英国科学家巴贝奇(C.Babbage)制造出了第一台差分机, 它可以处理3个不同的5位 数,计算精度达到6位小数。
1834年:巴贝奇提出了分析机的概念,机器共分为三个部分:堆栈,运算器,控制器。他的助手, 英国着名诗人拜伦的独生女阿达•奥古斯塔(Ada Augusta)为分析机编制了人类历史上第一批计算机程序。
阿达和巴贝奇为计算机的发展创造了不朽的功勋,他们对计算机的预见起码超前了一个世纪以上,正是他们的辛勤努力,为后来计算机的出现奠定了坚实的基础。
1847年:英国数学家布尔(G.Boole)发表着作《逻辑的数学分析》。
1852年: 阿达•奥古斯塔(Ada Augusta)去世,年仅36岁。
1854年:布尔发表《思维规律的研究——逻辑与概率的数学理论基础》,并综合自己的另一篇文章《逻辑的数学分析》,从而创立了一门全新的学科-布尔代数,为百年后出现的数字计算机的开关电路设计提供了重要的数学方法和理论基础。
1868年:美国新闻工作者克里斯托夫•肖尔斯(C.Sholes)发明了沿用至今的QWERTY键盘。
1871年:为计算机事业贡献了毕生精力的巴贝奇(C.Babbage)去世。他与阿达所设想的分析机最终也未能问世,但是他们却为后人留下了一份宝贵的遗产,那就是面对困难不屈不挠的精神,以及那数十种设计方案和程序。
1873年:美国人鲍德温(F. Baldwin)利用自己过去发明的齿数可变齿轮制造了第一台手摇式计算机。
1886年:美国人Dorr E. Felt (1862-1930), 制造了第一台用按键操作的计算器。
1890年:美国在第12次人口普查中使用了由统计学家霍列瑞斯(H.Hollerith)博士发明的制表机,从而完成了人类历史上第一次大规模数据处理。此后霍列瑞斯根据自己的发明成立了自己的制表机公司,并最终演变成为IBM公司。
1891年:利兰•斯坦福与其妻子一道在靠近帕洛•阿尔托(Palo Alto)的地方开办了面积达8,000英亩的斯坦福大学,从而为日后硅谷的诞生埋下了伏笔。
1893年:德国人施泰格尔研制出一种名为“大富豪”的计算机,该计算机是在手摇式计算机的基础上改进而来,并依靠良好的运算速度和可靠性而占领了当时的市场,直到1914年第一次世界大战爆发之前,这种“大富豪”计算机一直畅销不衰。
1895年: 英国青年工程师弗莱明(J.Fleming)通过“爱迪生效应”发明了人类第一只电子
[电子管时代:1911——1946]
1911年:6月15日,美国华尔街金融投资家弗林特(C.Flent)投资霍列瑞斯的制表机公司,成立了全新的CTR公司,但公司创立之初并没有涉足任何电子领域,反而生产诸如碎纸机或者薯仔削皮机之类的产品。
1912年:美国青年发明家德•福雷斯特(L.De Forest)在帕洛阿托小镇首次发现了电子管的放大作用,为电子工业奠定了基础,而今日的帕洛阿托小镇也已成为硅谷的中心地带。
1913年:美国麻省理工学院教授万•布什(V.Bush)领导制造了模拟计算机“微分分析仪”。机器采用一系列电机驱动,利用齿轮转动的角度来模拟计算结果。
1924年:硅谷之父特曼担任斯坦福大学教授,对创建HP、成立斯坦福工业园区起到决定性作用
2月,由霍列瑞斯创办的制表机公司几经演变,最终更名为国际商用机器公司,即我们今天看到的IBM。
1935年:IBM制造了IBM601穿孔卡片式计算机,该计算机能够在一秒钟内计算出乘法运算。
1936年:阿兰.图灵发表论文《论可计算数及其在判定问题中的应用》,首次阐明了现代电脑原理,从理论上证明了现代通用计算机存在的可能性,图灵把人在计算时所做的工作分解成简单的动作,与人的计算类似,机器需要:(1)存储器,用于贮存计算结果;(2)一种语言,表示运算和数字;(3)扫描;(4)计算意向,即在计算过程中下一步打算做什么;(5)执行下一步计算。具体到一步计算,则分成:(1)改变数字可符号;(2)扫描区改变,如往左进位和往右添位等;(3)改变计算意向等。整个计算过程采用了二进位制,这就是后来人们所称的“图灵机”。
20多岁的德国工程师楚泽(K.Zuse)研制出了机械可编程计算机Z1,并采用了二进制形式,其理论基础即来源于布尔代数。
1937年:11月,美国AT&T贝尔实验室研究人员斯蒂比兹(G. Stibitz)制造了电磁式数字计算机“Model-K”。
1938年:克劳德•艾尔伍德•香农(Claude Elwood Shannon)发表了着名论文《继电器和开关电路的符号分析》,首次用布尔代数对开关电路进行了相关的分析,并证明了可以通过继电器电路来实现布尔代数的逻辑运算,同时明确地给出了实现加,减,乘,除等运算的电子电路的设计方法。这篇论文成为开关电路理论的开端。
1939年:元旦,美国斯坦福大学研究生比尔•休利特(B.Hewllet)和戴维•帕卡德(D.Packard)正式签署企业合伙协议,创办了Hewllet-Packard(HP)公司,即国内通称的惠普公司。
9月,贝尔实验室研制出M-1型计算机。
10月,约翰.阿塔纳索夫(John Vincent Atanasoff(1903-1995))制造了后来举世闻名的ABC计算机的第一台样机,并提出了计算机的三条原则,(1)以二进制的逻辑基础来实现数字运算,以保证精度; (2)利用电子技术来实现控制,逻辑运算和算术运算,以保证计算速度; (3)采用把计算功能和二进制数更新存贮的功能相分离的结构。这就是着名的计算机三原则。
1940年:9月,贝尔实验室在美国达特默思大学演示M—1型机。他们用电报线把安置在校园内的M—1型机和相连,当场把一个数学问题打印出来并传输到纽约,M—1型机在达特默思大学的成功表演,首次实现了人类对计算机进行的远距离控制的梦想。
控制论之父维纳提出了计算机五原则,(1)不是模拟式,而是数字式;(2)由电子元件构成,尽量减少机械部件;(3)采用二进制,而不是十进制;(4)内部存放计算表;(5)在计算机内部存贮数据。
1941年:楚泽完成了Z3计算机的研制工作,这是第一台可编程的电子计算机。可处理7位指数、14位小数。使用了大量的真空管。每秒种能作3到4次加法运算,一次乘法需要3到5秒。
1942年:时任美国依阿华州立大学数学物理教授的阿塔纳索夫(John V. Atanasoff)与研究生贝瑞(Clifford Berry)组装了着名的ABC(Atanasoff-Berry Computer)计算机,共使用了300多个电子管,这也是世界上第一台具有现代计算机雏形的计算机。但是由于美国政府正式参加第二次世界大战,致使该计算机并没有真正投入运行。
1943年:贝尔实验室把U型继电器装入计算机设备中,制成了M—2型机,这是最早的编程计算机之一。此后的两年中,贝尔实验室相继研制成功了M-3和M-4型计算机,但都与M-2型类似,只是存储器容量更大了一些。
10月,绰号为“巨人”的用来破译德军密码的计算机在英国布雷契莱庄园制造成功,此后又制造多台,为第二次世界大战的胜利立下了汗马功劳。
1944年:8月7日,由IBM出资,美国人霍德华•艾肯(H.Aiken)负责研制的马克1号计算机在哈佛大学正式运行,它装备了15万个元件和长达800公里的电线, 每分钟能够进行200次以上运算。女数学家格雷斯•霍波(G.Hopper)为它编制了计算程序,并声明该计算机可以进行微分方程的求解。马克1号计算机的问世不但实现了巴贝奇的夙愿,而且也代表着自帕斯卡计算机问世以来机械计算机和电动计算机的最高水平。
1946年:2月14日,美国宾西法尼亚大学摩尔学院教授莫契利(J. Mauchiy)和埃克特(J.Eckert)共同研制成功了ENIAC (Electronic Numerical Integrator And Computer):计算机。这台计算机总共安装了17468只电子管,7200个二极管,70000多电阻器,10000多 只电容器和6000只继电器,电路的焊接点多达50万个,机器被安装在一排2.75米高的金属柜里,占地面积为170平方米左右,总重量达 到30吨,其运算速度达到每秒钟5000次加法,可以在3/1000秒时间内做完两个10位数乘法。
[晶体管时代:1947——1958]
1947年:12月23号,贝尔实验室的肖克利(William B. Shockley),布拉顿(John Bardeen),巴丁(Walter H. Brattain)创造出了世界上第一只半导体放大器件,他们将这种器件重新命名为“晶体管”
从上到下依次为:肖克利,布拉顿和巴丁
1948年:6月10日,香农在《贝尔系统技术杂志》(Bell System Technical Journal)上连载发表了他影像深远的论文《通讯的数学原理》,并于次年在同一杂志上发表了自己的另一着名论文《噪声下的通信》。在这两篇论文中,香农阐明了通信的基本问题,给出了通信系统的模型,提出了信息量的数学表达式,并解决了信道容量、信源统计特性、信源编码、信道编码等一系列基本技术问题。两篇论文成为了信息论的奠基性着作,此时尚不足三十岁的香农也成为了信息论的奠基人。
12月,ENAIC的两位缔造者共同创办了世界上第一家电脑公司“埃克特—莫契利计算机公司”(EMCC)。
莫契利
埃克特
1949年:当时尚在美国哈佛大学计算机实验室的上海籍华人留学生王安向美国国家专利局申请了磁芯的专利。
贝尔实验室制造了M系列计算机的最后一个型号:M-6,并从此不在涉足计算机的研制与生产。贝尔实验室所研制的M系列继电器计算机,是从机械计算机过波到电子计算机的重要桥梁。
9月,“马克”3号计算机研制成功,“马克”3号也是霍德华•艾肯研制的第一台内存程序的大型计算机,他在这台计算机上首先使用了磁鼓作为数与指令的存储器,这是计算机发展史上的一项重大改进,从此磁鼓成为第一代电子管计算机中广泛使用的存储器。
英国剑桥大学数学实验室的Wilkes和他的小组建成了一台存储程序的计算机EDSAC,输入输出设备仍是纸带。
1950年:东京帝国大学的Yoshiro Nakamats发明了软磁盘,从而开创了计算机存储的新纪元。
10月,阿兰.图灵发表自己另外一篇及其重要的论文《机器能思考吗》,从而为人工智能奠定了基础,图灵也获得了“人工智能之父”的美誉。甚至有人说在第一代电脑占统治地位的那个时代,这篇论文我们可以把它看作第五代,第六代电脑的宣言书。
1951年:6月14日,当时已在雷明顿—兰德(Remington-Rand)公司任职的莫契利和埃克特再次联袂制造的UNIVAC计算机正式移交美国人口普查局使用,从而使电脑走出了实验室,开始为人类社会服务,从此人类社会进入了计算机时代。
6月,王安创办了王安实验室,即王安电脑公司的前身,从此开始了王安电脑传奇般的历程。
1952年:1月,由计算机之父,冯•诺伊曼(Von Neumann)设计的IAS电子计算机EDVAC问世。这台IAS计算机总共采用了2300个电子管,运算速度却比拥有18000个电子管的“埃尼阿克”提高了10倍,冯•诺伊曼的设想在这台计算机上得到了圆满的体现。
1953年:4月7日,IBM正式对外发布自己的第一台电子计算机 IBM701。并邀请了冯•诺依曼、肖克利和奥本海默等人共150名各界名人出席揭幕仪式,为自己的第一台计算机宣传。
8月,IBM发布了应用与会计行业的IBM702计算机。
1954年:6月8日,阿兰.图灵去世。
IBM推出了中型计算机IBM650,以低廉的价格和优异的性能在市场中获得了极大的成功,至此,IBM在市场中确立了领导者的地位。
贝尔实验室使用800只晶体管组装了世界上第一台晶体管计算机TRADIC。
1956年:美国达特莫斯大学(Dartmouth)青年助教麦卡锡,哈佛大学明斯基、贝尔实验室香农(E.Shannon)和IBM公司信息研究中心罗彻斯特(N. Lochester)共同在达特莫斯大学举办了一个沙龙式的学术会议,他们邀请了卡内基—梅隆大学纽厄尔和赫伯特•西蒙、麻省理工学院塞夫里奇(O. Selfridge)和索罗门夫(R.Solomamff),以及IBM公司塞缪尔(A.Samuel)和莫尔(T.More)。这就是着名的“达特莫斯”会议。在经过充分的讨论后,他们首次提出了“人工智能”这一术语,从而标志着人工智能作为一门新兴学科的出现。
9月,IBM的一个工程小组向世界展示了第一台磁盘存储系统IBM 350 RAMAC(Random Access Method of Accounting and Control)
1957年:8月,“数字设备公司”(简称DEC)在美国波士顿成立。创立者是来自于麻省理工学院的肯•奥尔森(K.Olsen)。此后的数十年中,DEC公司依靠自己的PDP系列,开创了小型机时代。
10月,诺依斯(N. Noyce)、摩尔(R.Moore)、布兰克(J.Blank)、克莱尔(E.Kliner)、赫尔尼(J.Hoerni)、拉斯特(J.Last)、罗伯茨(S.Boberts)和格里尼克(V.Grinich)共同从晶体管之父肖克利的实验室出走,创办了仙童(fairchild)公司,这就是历史上着名的“八天才叛逆”,从此,才有了我们熟悉的intel, AMD,IDT等等一大批我们熟知的企业。
八天才叛逆的两个重要人物,诺里斯和摩尔。
1958年:11月,IBM推出了自己的IBM709大型计算机,这时IBM公司自IBM701以来性能最为优秀的电子管计算机,但同时它也是IBM最后一款电子管计算机。

[集成电路时代:1959——1970]
1959年:2月6日, 来自曾开发出第一台晶体管收音机的TI公司的基尔比(J.Kilby) 向美国专利局申报专利“半导体集成电路”。
7月30日,仙童公司向美国专利局申请专利“半导体集成电路”
1960年:麻省理工学院教授约瑟夫•立克里德(J.Licklider)发表了着名的计算机研究论文《人机共生关系》,从而提出了分时操作系统的构想,并第一次实现了计算机网络的设想。
1962年:供职于蓝德公司的保罗•巴兰发表了一篇具有里程碑式意义的学术报告《论分布式通信》,在文中他首次提出了“分布式自适应信息块交换”,这就是我们现在称之为“分组交换”的通讯技术。
1963年:8月,控制数据公司(CDC)的西蒙•克雷(S. Cray)博士带领自己的研发小组研制成功CDC6600巨型机,CDC6600仍属于第二代电脑,共安装了35万个晶体管。
1964年: 4月7日,在IBM成立50周年之际,由年仅40岁的吉恩•阿姆达尔(G. Amdahl)担任主设计师,历时四年研发的IBM360计算机问世,标志着第三代计算机的全面登场,这也是IBM历史上最为成功的机型。
1965年:DEC公司推出了PDP-8型计算机,标志着小型机时代的到来。
当时尚在仙童公司的摩尔发表了一篇仅有三页篇幅的论文,这就是对今后半导体发展有着深远意义的“摩尔定律”。
1966年:时任美国国防部高级研究规划属(ARPA)信息处理技术办公室(IPTO)主管的鲍伯•泰勒启动了“阿帕”(ARPA)网的研究计划。虽然他本人在事后一直强调“阿帕”网本身不是用于军事目的,但是他所在的部门却是冷战时期的产物。
1968年:IBM公司首次提出“温彻斯特/Winchester”技术,探讨对硬盘技术做重大改造的可能性。
4月,“通用数据公司”(简称DGC)成立,创办人为从DEC离职的PDP-8设计师卡斯特罗。
7月18日,从仙童公司辞职的戈登.摩尔(Gordon.Moore),罗伯特.诺伊斯(Robert.Noyce),威廉.肖克利(William.Shockley)共同创立了Intel公司,从此为计算机的发展和普及做出了不可磨灭的贡献。
12月9日,美国加利福尼亚大学的恩格巴特(Douglas Englebart)博士发明了世界上第一只鼠标。它的工作原理即通过底部小球的滚动带动枢轴转动,并带动变阻器改变阻值来产生位移信号,信号经计算机处理,屏幕上的光标就可以移动。恩格巴特博士设计鼠标的初衷就是想通过这种简便的操作方式来代替繁琐的键盘操作,但是在鼠标诞生最初的十多年中人们并没有认识到这种操作方式的简便性,直到1984年苹果Macintosh的诞生才改变了人们的陈旧观念。
(另有一种说法为恩格巴特博士于1964年发明了世界上第一只鼠标,并于1968年的IEEE会议上正式对外公布了其发明。)
1969年:DGC公司推出了自己的小型机Nova,成功的打入了一直被DEC把持的小型机市场,并成为当年最为红火的新兴企业。
贝尔实验室的ken Thompson,Dennis Ritchie在一部PDP-7上开发了Unix操作系统。
5月1日,桑德斯(Jerry Sanders)从仙童公司辞职,并利用十万美元创立了AMD公司。
10月29日,阿帕网美国加州大学洛杉矶分校(UCLA)节点与斯坦福研究院(SRI)节点实现了第一次分组交换技术的远程通讯,这也标志着互联网的正式诞生。
1970年:首次提出“兼容性”概念的IBM360之父吉恩•阿姆达尔(G. Amdahl)由于IBM否决了继续开发大型机的计划而离开了IBM公司,并创立了Amdahl公司,开始在大型机领域向IBM发出挑战。虽然在此后不久他就丧失了对公司的控制权,但是他又接连创办了三步曲、Grid公司和CDS公司,可是均宣告失败。阿姆达尔本人最终病逝于1996年。
10月,美国施乐(Xerox)公司在今天硅谷的帕洛阿托成立了Palo Alto Research Center(PARC)研究中心,更为重要的是施乐并没有为来到这里的科学家制定任何地研究计划,而是让他们自由得发挥。在此后的几年中,PARC诞生了以太网、鼠标、面相对象、图标、菜单、视窗等等一系列改变今后计算机发展方向的全新概念,并间接孵化了Windows、Office、Macintosh等划时代的软件作品,从其间走出的科学家还创立了Adobe、3Com、Novell等等改变IT世界格局的企业。

[微处理器时代:1971——1979]
1971年:来自《电子新闻》的记者唐·赫夫勒(Don Hoefler)依据半导体中的主要成分硅命名了当时帕洛阿托地区,硅谷由此得名
1月,INTEL的特德.霍夫研制成功了第一枚能够实际工作的微处理器4004,该处理器在面积约12平方毫米的芯片上集成了2250个晶体管,运算能力足以超过ENICA。Intel于同年11月15日正式对外公布了这款处理器。
1972年:曾经开发了Unix操作系统的Dennis Ritchie领导开发出C语言。
原CDC公司的西蒙•克雷(S. Cray)博士独自创立“克雷研究公司”,专注于巨型机领域。
1973年:5月22日,由施乐PARC研究中心的鲍伯·梅特卡夫(Bob Metcalfe)组建的世界上第一个个人计算机局域网络--ALTO ALOHA网络开始正式运转,梅特卡夫将该网络改名为“以太网”。
1974年:
4月1日,Intel推出了自己的第一款8位微处理芯片8080。
12月,电脑爱好者爱德华•罗伯茨(E.Roberts)发布了自己制作的装配有8080处理器的计算机“牛郎星”,这也是世界上第一台装配有微处理器的计算机,从此掀开了个人电脑的序幕。
1975年:克雷完成了自己的第一个超级计算机“克雷一号”(CARY-1),实现了每秒一亿次的运算速度。该机占地不到7平方米,重量不超过5吨,共安装了约35万块集成电路,同时这也标志着巨型机跨进了第三代电脑的行列。
7月,比尔•盖茨(B.Gates)在成功为牛郎星配上了BASIC语言之后从哈佛大学退学,与好友保罗.艾伦(Paul Allen)一同创办了微软公司,并为公司制定了奋斗目标:“每一个家庭每一张桌上都有一部微型电脑运行着微软的程序!”
1976年:4月1日,斯蒂夫.沃兹尼亚克(Stephen Wozinak)和斯蒂夫.乔布斯(Stephen Jobs)共同创立了苹果公司,并推出了自己的第一款计算机:Apple-Ⅰ。
6月,美国伊利诺斯大学的两位数学家沃尔夫冈•哈肯(W.Haken)和肯尼斯•阿佩尔(K. Apple)利用计算机成功的证明了困扰世界数学界长达100多年的“四色定理”
(注:四色定理在1852年被提出,即任何地图均可由四种颜色组成就能区分所有两相邻的国家和地区)
9月,施振容创立宏基公司。
10月,雅达利公司推出了世界上第一款3D电子游戏《夜行车手》(Night Driver),游戏只有黑白两色,采用第一人称视角。
1977年:6月,拉里.埃里森(Larry Ellison)与自己的好友Bob Miner和Edward Oates一起创立了甲骨文公司(Oracle Corporation)。
1979年:6月,鲍伯·梅特卡夫离开了PARC,并同Howard Charney、Ron Crane、Greg Shaw和 Bill Kraus组成一个计算机通信和兼容性公司,这就是现在着名的3Com公司。

[PC时代一 :1980——1985]
1980年:年初,当时尚不知名的Novell公司推出了NetWare网络操作系统。
9月30日,DEC、Intel和Xerox共同发布了“以太网”技术规范,这就是现在着名的以太网蓝皮书。
1981年:7月,沈望傅创立了创新科技公司。
8月12日,经过了一年的艰苦开发,由后来被IBM内部尊称为PC机之父的唐•埃斯特奇(D.Estridge)领导的开发团队完成了IBM个人电脑的研发,IBM宣布了IBM PC的诞生,由此掀开了改变世界历史的一页。
8月12日,微软推出来MS-DOS 1.0版。
1982年:一名年仅15岁的少年通过计算机网络闯入了“北美空中防务指挥系统”,这是首次发现的从外部侵袭的网络事件。这个年轻人就是后来被判入狱的世界头号黑客,被美国联邦法院宣判终生不得接触计算机产品的凯文.米特尼克。他的另一件“事迹”就是在1994年的时候向圣迭戈超级计算机中心发动进攻,将整个互联网置于危险的境地。
2月,康尼恩(R.Canion)、史蒂麦克(G.Stimac)和巴雷斯(H.Barnes)共同成立了康柏(Compaq)公司。
2月, Intel发布80286处理器。时钟频率提高到20MHz,并增加了保护模式,可访问16M内存。支持1GB以上的虚拟内存。每秒执行270万条指令,集成了134000个晶体管。
9月29日,3Com公司推出了世界上第一款网卡-EtherLink网络接口卡,这也是世界上第一款应用于IBM-PC上的ISA接口网络适配器。
11月,康柏公司推出了便携式PC机Portable,这也是第一台非IBM制造的PC兼容机。
1983年:1月,苹果公司推出了研制费用高达5000万美元的丽萨(Lisa)电脑,这也是世界上第一台商品化的图形用户界面的个人计算机,同时这款电脑也第一次配备了鼠标。
5月8日,IBM推出了IBM PC的改进型号IBM PC/XT,并为其内置了硬盘。
1984年:迈克尔•戴尔创立了DELL公司。
联想公司成立。
来自英国的Adlib Audio公司推出了第一款声卡:魔奇声卡,从而让PC拥有了真正的发声能力。
1月24日,苹果公司推出了划时代的Macintosh计算机,不仅首次采用了图形界面的操作系统,并且第一次使个人计算机具有了多媒体处理能力。
8月14日,IBM推出了采用intel 80286处理器的IBM PC/AT电脑。
年底,康柏开始开发IDE接口。
1985年:Philips和Sony合作推出CD-ROM驱动器。
ATI(Array Technology Instry)成立。
7月,intel公司推出了计算机历史上有着举足轻重地位的80386处理器,这也是intel公司的第一枚32位处理器。
11月,在经历了多次延期之后,微软公司终于正式推出了Windows操作系统。
[PC时代二:1986——1994]
1986年:9月,康柏公司第一次领先于IBM推出桌上型386个人电脑Deskpro PC,这在当时引起了不小的轰动。
同月,Amstrad Announced发布便宜且功能强大、面向家庭设计的计算机Amstrad PC 1512。该机具有CGA图形适配器、512KB内存、8086处理器20兆硬盘驱动器,并采用了鼠标器和图形用户界面。
1987年:4月2日,IBM推出PS/2系统。最初基于8086处理器和老的XT总线。后来过渡到80386,开始使用3.5英寸1.44MB软盘驱动器。引进了微通道技术,这一系列机型在市场中取得了巨大成功,累计出货量达到200万台。
11月,微软推出了Windows 2.0版。相比于上一个版本,微软加入了动态数据交换和覆盖式窗口等先进技术。
1988年:11月2日,由 23岁研究生罗伯特•莫里斯(R.T.Morris)编制的“蠕虫”病毒在互联网上大规模发作,这也是互联网第一次遭受病毒的侵袭,从此,计算机病毒逐渐传播开来。
1989年:4月10 日,英特尔公司在拉斯维加斯电脑大展上首度发表集成有120万晶体管的486处理器。
4月,华硕(ASUS)公司在台湾成立。
11月,SoundBlast Card声卡正式发布。
1990年:苹果公司联合Motorola和IBM公司一同开发了基于RISC结构的微处理器PowerPC,为的就是能够同Intel公司的X86系列处理器相抗衡。
3月24日,因患癌症,王安病逝于美国马萨诸塞州立总医院。
5月5日, 纽约地方法院正式开庭,判处88年“蠕虫”病毒制造者莫里斯3年缓刑,罚款1万美元和400小时公益劳动。
5月22日,微软宣布推出Windows 3.0操作系统,并在年底创下销售100万套的纪录。当时的Windows 3.0操作系统提供了对多媒体,网络等众多最先进技术的支持,从而被成为软件技术的一场革命。
。。。。。。。。。。。。。。。。。。。。。。。

F. 地图着色算法,该算法中,要能证明四色定理,而不是运用

起码需要10种颜色。

G. 四色定理的证明方法,用语言简练的话说

四色定理(Four color theorem)最先是由一位叫古德里(Francis Guthrie)的英国大学生提出来的。四色问题的内容是:“任何一张地图只用四种颜色就能使具有共同边界的国家着上不同的颜色。”用数学语言表示,即“将平面任意地细分为不相重叠的区域,每一个区域总可以用1,2,3,4这四个数字之一来标记,而不会使相邻的两个区域得到相同的数字。”这里所指的相邻区域,是指有一整段边界是公共的。如果两个区域只相遇于一点或有限多点,就不叫相邻的。因为用相同的颜色给它们着色不会引起混淆。

H. C语言做四色问题要代码

//线性地区的方案
#include<stdio.h>
intn=0;
intmain()
{
printf(“输入n的值=”);
scanf("%d",&n);
printf(" ");
inti=0;
inta=rand()%3+1;
intb=0;
for(i=0;i<n;i++)
{
printf("地区%d=%d ",i+1,a);
while(1)
{
b=rand()%3+1;
if(b!=a)
{
a=b;
break;
}
}

}
return0;
}

I. 绘制地图时用4种颜色即可使相邻的国家(或地区)用不同的颜色区别出来,怎么证明

地图四色定理,四色问题又称四色猜想,是世界近代三大数学难题之一。四色问题的内容是:“任何一张地图只用四种颜色就能使具有共同边界的国家着上不同的颜色。”用数学语言表示,即“将平面任意地细分为不相重叠的区域,每一个区域总可以用1,2,3,4这四个数字之一来标记,而不会使相邻的两个区域得到相同的数字。”
电子计算机问世以后,由于演算速度迅速提高,加之人机对话的出现,大大加快了对四色猜想证明的进程。美国伊利诺大学哈肯在1970年着手改进“放电过程”,后与阿佩尔合作编制一个很好的程序。就在1976年6月,他们在美国伊利诺斯大学的两台不同的电子计算机上,用了1200个小时,作了100亿判断,终于完成了四色定理的证明,轰动了世界。
四色定理的非计算机证明:庞加莱定理的一个应用
本文在原有的拓朴学、图论、及着色理论的基础上增加了一些必不可少的公理、定理及定义,从而建立了在着色问题上比较完善的理论系统,并采用了一些新的方法,证明了球面上及平面上平面图的四色定理。即在球面或平面上对于任何平面图有X(G)≤4。
一、 引 言
四色定理之所以长期得不到理论性而非计算机进行的证明,主要就是因为没有建立起一个既简要而又完善的理论系统。下面所列出的公理、定理、定义大都是证明四色定理所需要的,其中绝大部分都是原来拓朴学和图论和着色理论中已有的,极少是新增加的。
在“球面”或“平面”上在着色问题中的最重要的特点就是任何“圈”在“球面”或“平面”上的“阻断”作用。同样“圈”在所有“简单多面体”上也有这样的“阻断”作用。但在“非简单多面体”上有些“圈”就不再具有这种“阻断”作用,本文正是利用了这一特点证明了“四色定理”。
另一方面,数学家欧拉在证明“欧拉公式”V+F–E=2(其中V是
“简单多面体”的顶点数,E是“棱数”F是“面数”)采用了逐步“去线”“去面”“去点”的方法,而本文采用的是先“添线”然后再逐步“去点”与“去线”…反复进行,最终完成了证明。这两种方法虽然不完全相同但却有相似之处。
二、预 备
公理1:任何直达的(直接相连接的)两点,必须采用不相同的颜色。(注:本文均采用“点着色”的方法)
公理2:任何不能直达的两点可以采用相同的颜色着色。
公理3:在“平面”或“球面”上任何一个“封闭圈”(指若干条首尾相连的“线”所构成的图形)都可将“平面”或“球面”“分断隔离”成为不能直达的两部份,即这一部份内(即这个“圈”内)的点必须经过“封闭圈”(以后简称为“圈”)上的点才能到达另一部份内(即这个“圈”外)的点(在着色问题中,“线”与“线”之间是不能交叉的。因为如果“线”与“线”之间交叉则它们显然不能处于同一“平面”或“球面”上了。
公理4:在“环面”(形如普通的救生圈)上有些“封闭圈”是不能起到“分断隔离”的作用的。即“圈”一侧的“点”可以不必非要通过“圈”上的点就可以到达“圈”的另一侧的点。(这种“环面”实际上是“七可着色”的,但本文不加以讨论)
定理1:每一个没有三角形的可平面图是3可着色的(即X(G)≤3)
(注:本文中凡未加证明的定理均为“拓扑学”及“图论”中已有的定理,例如本文中的定理1、定理2、定理3、等。另外本文中所列举的公理也都是各种拓扑学和图论书中经常采用的,只不过是没有明确地列举出来而已)
定理2:一个图是双可着色的,当且仅当它没有“奇圈”。
定理3:在“平面”或“球面”上的完全图K 的着色数为4。
定义1:一个“奇圈”或“偶圈”内有一些点,则这些点叫作这个圈的“圈内点”。这个“圈”叫作这些点的“点外圈”。
定义2:一个“奇圈”或“偶圈”外有一些点,则这些点叫作这个圈的“圈外点”。
实际上“内”与“外”都是相对而言的。特别是在“球面”上更为明显。
定义3:一个“奇圈”或“偶圈”上有一些点,则这些点叫作这个圈的“圈上点”。
定义4:如果一个圈内仅有一个点,则这个“圈”称为这个点的“最小圈”。
定义5:如果去掉了某一个“着色点”之后并不改变原图的“着色数”,那么称这点为“着色可省略点”。
定理4:如果一个图中仅有一个“圈”及圈内仅有一个点,且这点与“圈上点”都分别相连则这个图的着色数:X(G)≤4。
证明:如图(1)ABCDE……的着色数X(G)≤3(根据定理1)当再加上圈内一点0之后,由于0与圈上所有的点都相连,所以点0必须取与圈上的点颜色都不相同的另一种颜色。故其着色数应再增加一,故有X(G)≤4。证明完。

图(1)
定理5:在平面图中增加一条连接原图中尚未连接的两点之间的连线,则新图的着色数不小于原图的着色数。
证明:假如这后来被连接的两点的原来的颜色是不相同的则连接之后也不会改变原来的着色数。假如这两点原来的着色是相同的,则此时有必要将其中的一个着色点改变为另一种颜色,并对全图的着色进行重新调整。这时新图的着色数仍不会小于原图的着色数。这是因为假设新图的着色数小于原图的着色数,(反证法)设原图的着色数为N,则新图的着色数为N-K,,(N、K都是正整数且K<N)。然后再将新增加的那一条连线去掉之后,其它部分可完全采用新图的着色法,也能满足邻点异色的要求。这说明原图的着色数本来就应该至多是N-K。这与前面的假设原图的着色数为N相矛盾。因此新图的着色数小于原图的着色数是不可能的。所以在平面图中增加一条连接原图中尚未连接的两点之间的连线,新图的着色数不小于原图的着色数。
证明完。
定理6:一个仅有“圈上点”(即既没有“圈内点”又没有“圈外点”)的三角剖分图是3可着色的。即X(G)=3
证明:如图(2)有圈ABCDEFG……先对其中的某一个三角形的三个顶点着色。例如对A、B、C三个顶点分别着上第1、第2、第3共三种不同的颜色。然后对下一个与ΔABC有公共边AC的ΔACD的顶点D着上与B点相同的第2种颜色。然后再对下一个与ΔACD有公共边AD的ΔADF中的顶点F着上与C点相同的第3种颜色。……如此继续下去,就可以用3种不同的颜色给所有的顶点分别着色。这就证明了对于这种仅有“圈上点”的三角剖分图是3可着色的。即X(G)=3 证明完

图(2)
定理6推论:一个仅有“圈上点”的图的着色数有X(G)≤3
证明:在原图的基础上在圈内再增加若干条连线,使其成为“三角剖分图”这样做之后不会减少原图的着色数(根据定理5)。所以有X(G原)≤X(G新)。但增加了“连线”之后,新图的着色数
X(G新)=3(根据定理6)。 故有X(G原)≤3 证明完。
定理7:对于任何平面图有着色数:X(G)≤5(此定理在本文证明四色定理时可以不利用,但若利用此定理则在叙述本文的证明时会更为方便些,此定理在各图论书中均有证明)
定理8: 任何一个封闭的三维空间,只要它里面所有的封闭曲线都可以收缩成一个点,这个空间就一定是一个三维圆球。(庞加莱定理)
定理8推论:在“球面”上挖一个“洞”就变成了拓扑学意义上的“平面”了。在“球面”上挖二个“洞”就变成了拓扑学意义上的“圆柱侧面”了。在“球面”上不论挖多少个“洞”都不会改变原来“球面”上的“着色数”。
证明:将有限“平面”的“四周”在空间向外收缩为一点,或将“圆柱”的上下底面都收缩为一个点就也成了三维圆球的球面。(庞加莱定理)所以“平面”“圆柱侧面”等曲面在拓扑意义上就是“球面”所以它们的“着色数”也一定相同。(证明完)

三、四色定理的证明
四色定理:在球面或平面上对于任何平面图有X(G)≤4
证明:(反证法)
假设四色定理不能成立,即存在某平面图是必须用5种或5种以上的颜色来着色。即有X(G)≥5,不失一般性,可作一个任意复杂的图,如图(3),(注:读者也可在此尝试选择其它任何形状的图)其中的实线部分表示全图的一个很小的局部图,虚线部份表示省略了的大部份图形。其复杂程度可以由读者任意构筑和想象,但必须是“有限图”而不应该是“无限图”。

图(3)
然后对此图作以下几个步骤的处理与分析:
第一步:在保持原图的所有点与连线的基础下,再将原图中尚未相连但却能够相连的各点两两之间尽可能多地连接起来,(应注意不再增加新的着色点,而仅仅增加连线)直至成为“三角剖分图”为止。由前面定理5可知这样处理之后新图的着色数不会比原图减少,这一步称之为“添线”。
第二步:任取图内某一个“圈内点”及围绕这点的“最小圈”进行分析。例如我们取的这个“圈内点”为V ,且在“添线”时我们已经连接了V 与V 及V 与V ,并且还连接了V 与V 及V 与V …已经把原图变成了一个“三角剖分图”这时V 的“最小圈”就是V —V —V —V —V —V 。对于这个“局部图形”进行着色调整与分析。根据定理4,我们可以把V 的最小“点外圈”安排第一、第二、第三种颜色进行着色。把V 安排为第四种颜色进行着色。若然后再给所有“圈外的点”都着上颜色,由假设可知其“着色数”X(G)≥5,但由前面的“公理2”和“公理3”可知“圈内点”与“圈外点”不可能直达,故可以把V 这点的着色由原来安排的第四种颜色调整为第五种颜色,再由定义5可知若这时把V 这点连同V 直接相连的所有连线都去掉。这样做也并不会减少原图的“着色数”。(因为V 这点是被它的四周的“最小圈”阻断隔绝在圈内的,它与“圈外点”的着色是无关的。如果说这样做减少了原图的着色数,例如“着色数”从五减少为四,则说明原图的“着色数”本来就应该是四。)这一步称之为“去点”与“去线”。(这时的V 点是“着色可省略点”,而V 点既然已经去掉,则与它直接相连的各条线,也就自然没有存在的必要了。因为本文采用的是点着色的方法。)
第三步:反复对图中其它各“圈内点”作第一步的“添线”或第二步的“去点”与“去线”,(可交替或不交替地使用)直至对图中的任何一点来说都再也没有“圈内点”可去了为止。最终使它成为一个“三角剖分图”。因为“点”在一个又一个地减少,且“圈内点”与“圈外点”是相对而言的。所以最终的结果只能如图(1)或图(2),即得到只有一个“圈”且圈内只有一个点的图(这时“圈内点”与“圈上点”相连)或一个只有“圈上点”的“三角剖分图”。但这时的“着色数”X(G)≤4。这显然与开始的假设X(G)≥5相矛盾,所以一开始的假设X(G)≥5是错误的。故在“球面”或“平面”上的着色数有X(G)≤4成立。证明完。
为了便于读者更好地理解这一证明,读者可以多自选一些图形,由简单到复杂,按照本文中所提供的方法(即证明中的三个步骤)进行反复试验和思考,便能够悟出本证明其中的无比奥妙和正确性。
四、一个细节的说明
为了使读者更好地了解本文的思路,作一点补充说明。本文的主要思路是围绕着“全图”中的“局部图”的“圈”及“圈内点”,“圈外点”进行分析与处理的。“三角剖分”图中的“三角”实质上就是由三点构成的“圈”。如果图中出现由大于三点所构成的“圈”,则可以通过“添线”的方法使其成为“三角剖分图”然后再进行分析与处理。如果图中出现由二点构成的“圈”或出现由一点构成的“圈”(例如出现一个区域包围了另一个区域的情况),前文中虽然没有提及,但对于它的分析与处理方法与由三点所构成的“圈”可完全相同。

J. "四色猜想",最终在哪一年被人们用计算机得到证明

1852年由格斯里提出,1976年借助计算机解决了这个问题。

1852年,毕业于伦敦大学的格斯里(FrancisGuthrie)来到一家科研单位搞地图着色工作时,发现每幅地图都可以只用四种颜色着色。这个现象能不能从数学上加以严格证明呢?他和他正在读大学的弟弟决心试一试,但是稿纸已经堆了一大叠,研究工作却是没有任何进展。

1852年10月23日,他的弟弟就这个问题的证明请教了他的老师、着名数学家德·摩尔根,摩尔根也没有能找到解决这个问题的途径,于是写信向自己的好友、着名数学家哈密顿爵士请教,但直到1865年哈密顿逝世为止,问题也没有能够解决。

1872年,英国当时最着名的数学家凯利正式向伦敦数学学会提出了这个问题,于是四色猜想成了世界数学界关注的问题,世界上许多一流的数学家都纷纷参加了四色猜想的大会战。

从此,这个问题在一些人中间传来传去,当时,三等分角和化圆为方问题已在社会上“臭名昭着”,而“四色瘟疫”又悄悄地传播开来了。

高速数字计算机的发明,促使更多数学家对“四色问题”的研究。电子计算机问世以后,由于演算速度迅速提高,加之人机对话的出现,大大加快了对四色猜想证明的进程。就在1976年6月,在美国伊利诺斯大学的两台不同的电子计算机上,用了1200个小时,作了100亿判断,结果没有一张地图是需要五色的,最终证明了四色定理,轰动了世界。