《计算机科学导论》计算理论基础知识

1、引言

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

2、简单语言

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

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

①简单语言中的宏

②输入和输出

3、图灵机

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

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

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

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

5邱齐-图灵论题:

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

4、歌德尔数

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

2表示一个程序为数字

3翻译一个数字成程序

5、停机问题

一个典型的编程问题:

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

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

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

1不可解问题

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

①可解问题的复杂度

大O表示法

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

时间: 2024-10-10 13:35:24

《计算机科学导论》计算理论基础知识的相关文章

《计算机科学导论》基础知识之数字系统

1.引言 什么是数字系统? 数字系统(或数码系统)定义了如何用独特的符号来表示一个数字. 数字系统分为两类:位置化数字系统和非位置化数字系统. 2.位置化数字系统 位置化数字系统中,在数字中符号所占据的位置决定了其表示的值. (1)十进制系统 ①整数 ②实数 (2)二进制系统 ①整数 ②实数 (3)十六进制系统 ①整数 ②实数 (4)八进制系统 ①整数 ②实数 (5)4种位置化系统小结 (6)转换 ①其他进制到十进制的转换 ②十进制到其他进制的转换: 我们能够将十进制数转换成其他进制.需要两个过

《计算机科学导论》之数据结构基础知识

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

补基础:自学:计算机科学导论 第二章 数字系统

2.2 位置化数字系统 在数字中符号所占据的位置决定了其表示的值.在该系统中,数字这样表示: +-(Sk-1  --S2S1S0 --S-l)b 它的值是: n = +-(Sk-1 * bk-1 + -- + S1 * b 1 + S0 * b0 + S-1 * b-1 + -- + S-l * b-l) S是一套符号集,:b是底(或基数),它等于S符号集中的符号总数. 2.2.1 十进制系统(以10为底) 十进制(decimal)来源于拉丁词根decem. 在该系统中,底b = 10, 并且用

《计算机科学导论》人工智能基础知识

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

《计算机科学导论》数据压缩基础知识(纲要)

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

《计算机科学导论》安全基础知识

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

学习《计算机科学导论》计算机网络和因特网

对于一个不是科班出生的程序员而言,学习这一本书感到有点吃力的. 在看 . 计算机网络和因特网. 时,我画了下面几张图,来了解什么是网络,因特网. 然后接下来看协议分层和TCP/IP协议族,就慢慢看不懂了. 也许,我们还是要找一些相关的视频教程来学习. 下面就推荐这个,给有想学习这些知识的伙伴们:麻省理工学院公开课:计算机科学及编程导论本课程共24集 翻译完 欢迎学习 http://open.163.com/special/opencourse/bianchengdaolun.html 如果你有更

①《计算机科学导论》之绪论

1.图灵模型 程序是用来告诉计算机对数据进行处理的指令集合. 什么是数据处理器? (1)可编程数据处理器 (2)通用图灵机 2.冯·诺依曼模型 基于通用图灵机建造的计算机都是在存储器中存储数据.冯·诺依曼模型指出,鉴于程序和数据在逻辑上是相同的,因此程序也能存储在计算机的存储器中. (1)4个子系统 基于冯·诺依曼模型建造的计算机分为4个子系统:存储器.算术逻辑单元.控制单元和输入/输出单元. (2)存储形式 现代计算机的存储单元主要用来存储程序及响应数据.实际上它们都是以位模式存储在内存中.

《计算机科学导论》第二章课后作业解答(个人版)

1.定义一个数字系统. 数字系统定义了如何用独特的符号表示一个数字.在不同的系统中,数字有不同的表示方法 2.辨析位置化和非位置化数字系统. 位置化数字系统中,数字中符号所占据的位置决定了其表示的值:非位置化数字系统中,符号所占用的位置通过与其值无关——每个符号的值都是固定的. 3.定义位置化数字系统中的底或基数.位置化数字系统中底与符号的数量有什么关系? 底与位置化数字系统中符号所表示的值有关.位置化数字系统中底与符号的数量相同. 4.简述十进制系统.为什么称作decimal?该系统的底是多少