看到计算理论基础这门课程,就挺怀念郑虹老师给我们讲编译原理的那段日子了。虽然理论性强,但还是要沉下心去读一读,毕竟学术、专业都比较枯燥。
这门课偏理论,主要是培养咱思考、解决问题的能力吧。根据教学,主要集中在前5章,分computability、complexity、automata三部分。计算复杂性及NP完全性作为补充。
第1章就形式地介绍了算法设计与分析入门(与闭包有关),并且算法问题的讨论贯穿全书。第1章就拎出一些概念,基本与离散数学吻合。
幂集(Power Set):集合A的所有子集的汇集,记作2^A。
划分(partition):非空集合A的划分是2^A的一个子集B,使得Ø不是B的元素并且A的每一个元素在且只在B中的一个集合中。即,如果B是A的子集的集合使得(1)B的每一个元素非空,(2)B的不同元素是不相交的,(3)U B = A 。
自然同构(isomorphism):指的是一个保持结构的双射(bijection)。当在两个集合之间规定一个特别简单的双射之后,有时能够把定义域中的对象与它在值域中的象看作在实质上是不可区分的:一个是另一个的换名或一种重写方式。例如,严格的说,单元集和有序一元组是不同的。但是,由于对每一个单元集{a},f({a}) = a是一个明显的双射,故偶尔地混淆两者的区别也没有多大害处,这样的双射叫做一个自然