计算机软考笔记之《计算理论》

1、引言

为了回答诸如此类问题:哪些问题可以通过计算机解决?语言之间是否存在优势?运行一个程序前,是否可以确定该程序将要停止(终止)还是永远运行?用一种特定的语言解决一个问题需要多长时间?我们求助于一门学科:计算理论。

2、简单语言

通过简单语言可以看到计算机解决任何问题所需要最少语句是三条。它们是递增语句,递减语句和循环语句。

我们可以证明这种简单的语言能模拟一些流行语言中的多个语句。我们把每个模拟称为一个宏,它可以在其他模拟中使用,而不需要重复编码。

①简单语言中的宏

②输入和输出

3、图灵机

1图灵机是用来解决可计算问题的。它是现代计算机的基础。

2图灵机由三部分组成:磁带,读/写头,控制器(有限状态的自动机)

3对简单语言的模拟:递增语句,递减语句和循环语句。

4图灵机可以解决现代程序能解决的任何问题。

5邱齐-图灵论题:

如果存在一个能完成一个符号操纵任务的算法,那么也存在一台完成这个任务的图灵机。

4、歌德尔数

1在计算机科学理论中,一个无符号数能被分配给任何用特定语言编写的程序,这个数通常被称为歌德尔数。

2表示一个程序为数字

3翻译一个数字成程序

5、停机问题

一个典型的编程问题:

我们能编写一个程序来测试任何可以用歌德尔数表示的程序是否会终止吗?

已经证明这样的程序不可能存在,即停机问题是不可解决的。(可用反证法作为非正式证明)

6、可解问题和不可解问题

1不可解问题

2可解问题:多项式问题和非多项式问题

①可解问题的复杂度

大O表示法

非多项式问题程序的复杂度远比多项式问题复杂。

时间: 2024-10-12 19:18:32

计算机软考笔记之《计算理论》的相关文章

计算机软考笔记之《抽象数据类型(ADT)》

1.引言 1抽象数据类型和数据结构的关系 抽象数据类型(ADT)是一种比数据结构处于更高抽象层的数据类型,ADT使用数据结构来实现. 2数据类型的定义和应用于数据的操作定义是ADT背后的一部分概念,隐藏数据上的操作是如何进行的. 3分类:简单抽象数据类型和复杂抽象数据类型 简单ADT:整数.实数.字符.指针: 复杂ADT:需要建立.不需要详细说明实现过程的泛化操作成为抽象. 抽象概念意味着: ①知道一个数据类型能做什么: ②如何去做是隐藏的. 4定义 抽象数据类型就是与对数据类型有意义的操作封装

计算机软考笔记之《数据结构》

11.1  引言  1.为什么要使用数据结构? 尽管单变量在程序设计语言中被大量使用,但是它们不能有效地解决复杂问题.此时考虑使用数据结构. 2.数据结构是什么? 数据结构是相互之间存在一种或多种特定关系的数据元素的集合. 3.三种数据结构 数组: 记录; 链表: 大多的编程语言都隐式实现了前两种,而第三种则通过指针和记录来模拟. 11.2  数组 1.为什么使用数组? 为了处理大量的数据,需要一个数据结构,如数组.当然还有其他的数据结构. 2.数组的定义 数组是元素的顺序集合,通常这些元素具有

计算机软考笔记之《文件结构》

1.引言 文件是什么? 文件是作为一个单元看待的外部相关数据的集合.文件的主要作用是存储数据.文件存储在辅助存储设备或二级存储设备中.文件时数据记录的集合. 2.存取方法 2.1顺序存取 1顺序文件 ①更新顺序文件 顺序文件必须定期更新 与更新程序有关的4个文件:新主文件.旧主文件.事务文件和错误报告文件. ②文件更新过程 更新过程要求比较事务文件和主文件中的键. 2.2随机存取 1索引文件 在索引文件中,索引将键映射到地址. 索引文件可以把键和记录地址关联起来. 一种索引文件----倒排文件

计算机软考笔记之《数据结构与算法》

1.线性结构 (1)线性表 ①线性表的定义 ②线性表的存储结构 ③线性表的应用 (2)栈和队列 ①栈 ②队列 (3)串 ①串的定义及基本运算 ②串的存储结构 2.数组和矩阵 (1)数组 (2)矩阵 3.树和图 (1)树 ①树的定义 ②二叉树的定义和基本运算 ③二叉树的性质 ④二叉树的存储结构 ⑤二叉树的遍历 ⑥最优二叉树 ⑦二叉查找树 (2)图 ①图的定义及术语 ②图的存储结构 4.常用算法 (1)算法概述 ①算法的基本概念 ②算法与数据结构 ③算法的描述 ④算法效率 (2)排序算法 ①排序的基

计算机软考笔记之《计算机安全》

1.引言 1为什么要考虑信息安全? 信息是一种有价值的资产,作为一种资产,信息需要保护,免受攻击. 2三个安全目标 机密性.完整性.可用性 3攻击 ①威胁机密性的攻击:嗅探和流量分析 ②威胁完整性的攻击:修改.假冒.回放和否认 ③威胁可用性的攻击:拒绝服务(DoS)攻击可以减慢或完全中断系统的服务.可以有几种策略取得这种效果. 4五个常见的安全服务类型 ①数据机密性 ②数据完整性 ③验证 ④不可否认 ⑤访问控制 5两种提供安全服务的技术 ①密码术(普通的): 涉及三个不同的机制:对称密钥密码.非

计算机软考笔记之《数据库基础》

1.引言 1.1数据库和平面文件 数据的存储传统上是使用单独没有关联的文件,有时称为平面文件. 数据库是一些平面文件被组合成一个实体. 1.2数据库是什么? 数据库是一个组织内被应用程序使用的逻辑相一致的相关数据的集合. 1.3数据库的优点 1冗余较少 2避免不一致性 3效率 4数据完整性 5机密性 2.数据库管理系统(DBMS) 2.1定义 DBMS是定义.创建.维护数据库的一种工具.DBMS也允许用户来控制数据库中的数据存储. 2.2构成部分 ①硬件 ②软件 ③数据 ④用户(最终用户和应用程

计算机软考笔记之《数据压缩》

1.引言 1什么是数据压缩? 数据压缩通过部分消除数据中内在的冗余来减少发送或存储的数据量. 通过数据压缩,提高了数据传输和存储的效率,同时保护了数据的完整性. 2数据压缩方法 数据压缩方法分为无损压缩和有损压缩. 无损压缩适合文本或程序.有损压缩适合图像.视频和音频. 无损压缩方法:游程长度编码.赫夫曼编码.Lempel Ziv 编码. 有损压缩方法:联合图像专家组(JPEG).运动图像专家组(MPEG)和MPEG第三代音频压缩格式(MP3). 2.无损压缩 无损数据压缩中,数据的完整性是受到

计算机软考笔记之《人工智能》

1.引言 1什么是人工智能? 人工智能是对程序系统的研究,该程序系统在一定程度上能模仿人类的活动,如感知.思考.学习和反应. 2人工智能简史 3图灵测试:这个测试提出了机器具有智能的一个定义. 4智能体:是一个能够智能地感知环境.从环境中学习并与环境进行交互的系统. 智能体可以分成两大类:软件智能体和物理智能体. 5编程语言:虽然有些通用语言(如C.C++.Java)能用来编写智能软件,但是两种语言是特别为人工智能设计的:LISP和PROLOG 2.知识表示 我们描述四种常见的知识表示方法: 1

2014年计算机软考《网络管理》知识点-【第五章】

51CTO学院,在软考备考季特别整理了"2014年计算机软考<网络管理>知识点",帮助各位学院顺利过关!更多软件水平考试辅导及试题,请关注51CTO学院-软考分类吧! 查看汇总:2014年计算机软考<网络管理>知识点汇总  第五章 局域网软件 ☆ 网络操作系统是使网络上各计算机能方便而有效的共享网络资源.为网络用户提供所需的各种服务的 软件和有关规程的集合. 5.1操作系统概述及其发展 (1) 操作系统有以下三个发展阶段: A. 最初的操作系统是单块式的,由一组