图灵机

Algorithm lesson final exam

走远了吗. 提交于 2019-11-28 16:27:23
1、algorithm analysis O B/W/AV/AMOR,混入其他问题,设计+分析 2、传统算法(肯定要考) 1)divide and conquer master therem、 recursive tree、分析复杂度、递归树加起来得到最终结果 2)greedy algorithm example sort->select 拟阵 独立系统的贪心模板,直接得到近似比 3)dynamic programming sub-optimal structrue、编辑距离 3、graph algorithm 1)exproration bfs and dfs、最小生成树 2)最短路,single path all pair 负环、负边 3)max-flow 优化方式 4、turing machine Np/NPC NP-hard np-reduction 5、approximation greedy/sequential/local search/lp rouding 三种算法的设计、图算法、图灵机、近似算法 来源: https://www.cnblogs.com/elpsycongroo/p/11939165.html

第一章笔记:基础知识

蓝咒 提交于 2019-11-27 19:22:24
摘要:1.计算领域的核心理念2.渐进记法3.图与树的实现4.提防黑盒子 1.计算领域的核心理念 算法---一个执行过程,包含了能够解决某个特定问题的有限步骤集。(图灵机可以理解为是这个待解决问题的正规描述形式) 图灵机---计算领域的理论核心,图灵机有着各种不同的具体实现,但每种实现都可以看做一个有限状态机:由一个有限的状态集(包括已完成部分)与各种用于触发读写操作及不同状态切换的潜在符号共同组成。(可以将其看做机器运行所需的规则)。 随机存取机---适用于更细粒度上的算法分析,从标准单处理器计算机中简化出的一种抽象模型,好比有一块可以直接存取的内存,而不是同图灵机那样的可滚动的纸带。    应具备的属性: 没有任何形式的并发执行,只有在执行完一条指令后才能执行其他指令。 所有标准基本操作,如算术运算 比较运算 以及内存存取,所耗费的时间都是常数级的,且没有更复杂的基本操作 如排序。 计算机字尽管有限,但必须足够大,大到能满足我们在解决问题中所有内存编址的需求,此外还要有一定的额外变量。 问题---就目标而言,问题实际就是输入与输出之间的某种关系,更精确的讲,就是指一组集合对之间的数学意义上的关系,并且借由指定这种关系的过程,问题会被确定下来。 编码---对输入 0 1 编码,问题实例的大小,可以简单看成编码它所需的内存大小(通常与编码本身的确切属性没太大关系)。 2.渐进记法

那传说中的P、NP以及NPC问题

泪湿孤枕 提交于 2019-11-26 11:35:37
那传说中的P、NP以及NPC问题 (这里只是自己的一些总结) 在讲这几个问题之前,有几个东西是必须要说的,包括时间复杂度、空间复杂度、图灵机什么的。那么我们就慢慢来一一说来。 图灵机: 图灵机其实就是一个计算模型,是由图灵提出来的。图灵机号称可以模拟实际计算机的所有计算行为,计算能力还超过现有的计算机。但是还是有图灵机无法做到的事情,就好像计算机并不能处理所有的事情一样。 定义: 1)有一个无限长的带子作为无限存储。 2)有一个读写头,能在带子上读、写和左右移动。 3)有一套控制规则,根据当前机器所处的状态以及当前读写头所指的格子符号来确定下一步的动作,另机器进入一个新的状态。 4)一个状态寄存器,用来保存图灵机当前所处的状态。 工作方式: 在图灵机的计算过程中,当前状态、当前带内容和读写头当前位置组合一起称为图灵机的格局。包括起始格局、接受格局、拒绝格局。 图灵机读取纸袋上的内容,结合读写头的当前状态,根据一组控制规则决定下一步的动作。可以认为这是一台理想的,能够处理所有的“人类计算”。 我们可以想象,一个问题如果在理论上是可解的,但是计算它所需要的时间和空间的资源是我们无法承受的,那么这个问题对我们来说就是没有用的。当然这里说明一个问题是否理论上可解,用到图灵机什么的一箩筐东西,这里就不说明这些问题。 时间复杂度: 对于一个算法的时间复杂度一般采用大O表示