|||
活到老、学到老、研究到老
姜咏江
人的生命就是一个过程,怎样让这个过程灿烂多彩,个人都有不同的理解。从小家境很穷,没有什么很高的志向。只是有一个偶然的机会,不知从哪里弄到了一本《科学家谈二十一世纪》的科普本本。那本书中,科学家们谈到的许多科学知识都吸引了我。从此,想将来做一名科学家就成了我的追求。
高中毕业那年,正赶上“文化大革命”,后来到了黑龙江生产建设兵团。还不错,兵团中学缺少老师,我算高材生,虽然家庭出身不算好,但当个老师还算合格。下乡十年,在学校教书九年。除了带学生劳动,和后来种自家的自留地,倒也没挨着什么重累。这期间,自学了《高等数学》,还写了对实数连续性置疑的文章,投到了《数学的实践与认识》,当然不可能发表。恢复高考后,32岁那年,考进了哈尔滨师范大学的数学系。一学期之后就进了当年为大学培养师资的师资班。丁石孙、刘绍学等给我们讲过同调代数群论、环论等高级数学课程,丁石孙当时还是个讲师。
说实在的,当时我的数学研究还很深,专门用测度论的理论写了一本概率论的书稿(没发表,但后来给学生讲过)。1983年,学校需要,又担任了计算机程序设计课程的教学。那个时候,没有真正是学计算机出身的,计算机课程的教师,多来自数学或者物理专业。别说什么博士,连一般的研究生都没有!
从担任计算机课程开始,我就想要自己制造一台计算机。在当时这似乎是一种空想,因为家里,学校根本就没有那种条件。由于环境的原因,除了到日本接机培训的半年,所有的计算机知识都是我自学的。上初中的时候,搞过少年无线电,对电子电路还有功底,加上数学的资本,计算机理论和方法的学习倒也轻松。光是像样点的《线性方程组求解》《工资系统》《银行会计实习系统》《通用会计系统》等,开发了好几个。这些都是软件,我要做硬件系统设计。我系统地学习了计算机软硬件理论和方法,开始逻辑设计自己的计算机。最终,写了《计算机原理教程》这本教材,从逻辑设计的角度阐述了计算机的软硬件原理和设计方法。从根本上说,这本教材的使用,已经说明我的计算机设计完成了。
在操作系统、数据结构等课程教学中,对存在的问题我都思考了自己独有的解决方法。在计算机的核心部件CPU上下手,为避免OS调度引起的死锁问题,重新组织了CPU的内部结构,让硬件逻辑来进行多程序调度管理,进而不但能够避免死锁,而且能够让多道程序真正并行执行。后来发展出来了“动态计算机设计”。那时,这一切还都是呈现在逻辑层面上,还没有完成个人设计制造计算机的愿望。期间,特别值得一提的是,在运算器设计的过程中,发现了所谓补码制的不足,提出了限位数的理论和方法,使机器计算的理论一般化和完备了,为机器精确计算设计提供了可靠的依据。
客观条件终于成熟了。2004年,我接触到了现场可编程阵列器件FPGA,我意识到个人设计制作计算机的时代已经到来了。我抓紧学习相关知识和方法,在朋友的帮助下自己设计了PCB板等,自己购买元器件,自己焊接。虽然有一定的损失,但于2006年,自己设计制作的单板单片机PMC110通用计算机系统成功了。这台计算机共有52条指令,可以进行通常的程序设计,通过开关和按钮实现了用户程序的输入和运行、中断等控制,能够在虚拟空间运行超长的程序。常驻内存的程序,有4个,最得意的是能够求0到255阶乘的程序,结果是精确的,有210个字节。写了书《PMC计算机的设计与应用》。
我专为这台计算机编写了汇编编辑、编译程序,最小的操作系统等。特别是还设计了控制矩阵电路的自动生成程序等应用程序。这些都是我独立的创造。
2007年,又将设计好的动态计算机PMC362移植到我设计的CPU开发板上,完成了6程序在5个处理器上同时自我调度,真正实现了程序级的并行执行。程序在处理器上调度转移,在一个机器节拍就可以完成。据我所知,直到今日还没有其它计算机能够实现一个机器节拍的转移执行。程序调度执行和资源管理不需要操作系统。我提出的不用操作系统和系统程序消耗等观点,让一些专家们感到惊讶。
我所在的对外经济贸易大学是一所经济类大学,我的研究并没有得到校领导的应有重视,这不能不叫我感到遗憾。一路走来,我对现行的以单位为核心的科研体制是否有利于科学原创,有些看法。就拿我设计的动态计算机来说,呼号了十几年,终究得不到国家应有的支持,很是遗憾。
2014年我已经69岁。在科学网上宣传动态计算机的时候,一位网友在评论中说,计算机理论最大的问题是P与NP问题。网友的留言,一下子又激起了我研究的狂热。在网上浏览过什么是P与NP问题之后,我意识到,我的限位数理论可以用到这个问题当中。于是新一轮的问题研究又占据了我的生活。
为了能够迅速进入状态,我将研究的过程就放到科学网上,让科学网成为我研究的实验室。我这样做的理由很简单。第一,P与NP问题是世界上公开的难题,没有什么需要保密的。第二,在网上公开自己的观点,招致批评会加速研究的进程。
事实证明我的想法是明智的。起初我提出“子句消去法”,立即得到了“应有的”带有讽刺性的批评。我高兴的笑谈以对。在网友们点名的差评当中,我悟到了真谛。我自然十分感激那些促进我前进的网友们。
难怪网友嘲笑,因为我提出的子句消去的基本出发点,看起来实在是“小儿科”。但这小儿科的逻辑知识与我的限位数理论相结合,就绝不是小儿科的问题了。在SAT问题求全解的研究中,我利用反码数的概念,一下子就找到了求SAT全解的方法。这方法的理论,一般人不易看懂,看懂了的人,嘲笑我证明了x=x。我高兴他的评价,因为能够证明x=x是不容易的事情。
我引进了子句块、关联段、反子句、变量唯一解、可选解等概念和方法,不知作了多少合取范式的求解验证。期间,我有若干次想放弃,感到已经似乎进入了死胡同。但这种想法都被半夜醒来想通的思路所否定了。两年多当中,我经常半夜跳起来,打开笔记本去验证我的想法。最终我笑了。五个层面的突破,让我完成了对SAT求满足解的多项式时间算法。请见我的博文:
http://blog.sciencenet.cn/blog-340399-1031805.html
http://blog.sciencenet.cn/blog-340399-1032254.html
http://blog.sciencenet.cn/blog-340399-1054049.html
http://blog.sciencenet.cn/blog-340399-1053291.html
http://blog.sciencenet.cn/blog-340399-1036854.html
最近,我将子句消去法这个成果写成了计算机程序,经过多次验证和比较,没有发现问题。现在有60岁到80岁是中年人的说法,我还真的有自己是“中年人”的想法。71周岁,也许还能够干点科研的大事情。为了能让我的研究成果发挥作用,我要进一步研究SAT 问题的应用。为了能够宣传我的成果,还要好好复习外语。
生命就是一个过程,活到老、学到老、研究到老,这就是一些科研人的乐趣。
2017-5-13
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-22 01:21
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社