数学代写|计算复杂度代写Computational Complexity代考|COS522 Machines as strings and the universal Turing machines

如果你也在 怎样代写计算复杂度Computational Complexity COS522这个学科遇到相关的难题,请随时右上角联系我们的24/7代写客服。计算复杂度Computational Complexity在计算机科学中,一个算法的计算复杂性或简单的复杂性是运行该算法所需的资源数量。特别关注的是计算时间(一般以所需的基本操作的数量来衡量)和内存存储要求。一个问题的复杂性是允许解决该问题的最佳算法的复杂性。

计算复杂度Computational Complexity对明确给出的算法的复杂性的研究被称为算法分析,而对问题的复杂性的研究被称为计算复杂性理论。这两个领域都是高度相关的,因为算法的复杂性总是这个算法所解决的问题的复杂性的一个上限。此外,为了设计有效的算法,将特定算法的复杂性与要解决的问题的复杂性进行比较往往是最基本的。另外,在大多数情况下,人们对一个问题的复杂性的唯一认识是它低于已知的最有效算法的复杂性。因此,算法分析和复杂性理论之间有很大的重叠。

计算复杂度Computational Complexity代写,免费提交作业要求, 满意后付款,成绩80\%以下全额退款,安全省心无顾虑。专业硕 博写手团队,所有订单可靠准时,保证 100% 原创。 最高质量的计算复杂度Computational Complexity作业代写,服务覆盖北美、欧洲、澳洲等 国家。 在代写价格方面,考虑到同学们的经济条件,在保障代写质量的前提下,我们为客户提供最合理的价格。 由于作业种类很多,同时其中的大部分作业在字数上都没有具体要求,因此计算复杂度Computational Complexity作业代写的价格不固定。通常在专家查看完作业要求之后会给出报价。作业难度和截止日期对价格也有很大的影响。

海外留学生论文代写;英美Essay代写佼佼者!

EssayTA有超过2000+名英美本地论文代写导师, 覆盖所有的专业和学科, 每位论文代写导师超过10,000小时的学术Essay代写经验, 并具有Master或PhD以上学位.

EssayTA™在线essay代写、散文、论文代写,3分钟下单,匹配您专业相关写作导师,为您的留学生涯助力!

我们拥有来自全球顶级写手的帮助,我们秉承:责任、能力、时间,为每个留学生提供优质代写服务

论文代写只需三步, 随时查看和管理您的论文进度, 在线与导师直接沟通论文细节, 在线提出修改要求. EssayTA™支持Paypal, Visa Card, Master Card, 虚拟币USDT, 信用卡, 支付宝, 微信支付等所有付款方式.

数学代写|计算复杂度代写Computational Complexity代考|COS522 Machines as strings and the universal Turing machines

数学代写|计算复杂度代写Computational Complexity代考|Machines as strings and the universal Turing machines

It is almost obvious that a Turing machine can be represented as a string: since we can write the description of any TM $M$ on paper, we can definitely encode this description as a sequence of zeros and ones. Yet this simple observation – that we can treat programs as data- has had far reaching consequences on both the theory and practice of computing. Without it, we would not have had general purpose electronic computers, that, rather than fixed to performing one task, can execute arbitrary programs.

Because we will use this notion of representing TM’s as strings quite extensively, it may be worth to spell out our representation out a bit more concretely. Since the behavior of a Turing machine is determined by its transition function, we will use the list of all inputs and outputs of this function (which can be easily encoded as a string in ${0,1}^*$ ) as the encoding of the Turing machine. ${ }^4$ We will also find it convenient to assume that our representation scheme satisfies the following properties:

Every string in ${0,1}^*$ represents some Turing machine.
This is easy to ensure by mapping strings that are not valid encodings into some canonical trivial TM, such as the TM that immediately halts and outputs zero on any input.

Every TM is represented by infinitely many strings.
This can be ensured by specifying that the representation can end with an arbitrary number of 1 ‘s, that are ignored. This has somewhat similar effect as the comments of many programming languages (e.g., the $/ * \ldots * /$ construct in $\mathrm{C}, \mathrm{C}++$ and Java) that allows to add superfluous symbols to any program.

If $M$ is a Turing machine, then we use ${ }{\llcorner} M{\lrcorner}$to denotes $M$ ‘s representation as a binary string. If $\alpha$ is a string then we denote the TM that $\alpha$ represents by $M_\alpha$. As is our convention, we will also often use $M$ to denote both the TM and its representation as a string. Exercise 14 asks you to fully specify a representation scheme for Turing machines with the above properties.

数学代写|计算复杂度代写Computational Complexity代考|The Universal Turing Machine

It was Turing that first observed that general purpose computers are possible, by showing a universal Turing machine that can simulate the execution of every other TM $M$ given $M$ ‘s description as input. Of course, since we are so used to having a universal computer on our desktops or even in our pockets, today we take this notion for granted. But it is good to remember why it was once counterintuitive. The parameters of the universal TM are fixed -alphabet size, number of states, and number of tapes. The corresponding parameters for the machine being simulated could be much larger. The reason this is not a hurdle is, of course, the ability to use encodings. Even if the universal TM has a very simple alphabet, say ${0,1}$, this is sufficient to allow it to represent the other machine’s state and and transition table on its tapes, and then follow along in the computation step by step.

Now we state a computationally efficient version of Turing’s construction due to Hennie and Stearns [HS66]. To give the essential idea we first prove a slightly relaxed variant where the term $T \log T$ below is replaced with $T^2$. But since the efficient version is needed a few times in the book, a full proof is also given at the end of the chapter (see Section 1.A).

数学代写|计算复杂度代写Computational Complexity代考|COS522 Machines as strings and the universal Turing machines

计算复杂度代写

数学代写|计算复杂度代写计算复杂度代考|作为字符串的机器和通用图灵机


几乎很明显图灵机可以被表示为一个字符串:因为我们可以在纸上写任何TM $M$的描述,我们肯定可以将这个描述编码为0和1的序列。然而,这个简单的观察结果——我们可以把程序看作数据——对计算的理论和实践都产生了深远的影响。没有它,我们就不会有通用的电子计算机,它可以执行任意的程序,而不是固定地执行一项任务


因为我们将广泛地使用这种将TM表示为字符串的概念,所以可能有必要更具体地说明我们的表示。由于图灵机的行为是由它的转换函数决定的,我们将使用这个函数的所有输入和输出的列表(可以很容易地在${0,1}^*$中编码为字符串)作为图灵机的编码。${ }^4$我们还会发现,假设我们的表示方案满足以下属性是很方便的:

${0,1}^*$中的每个字符串都代表某种图灵机。这很容易通过将非有效编码的字符串映射到一些规范的平凡TM来确保,例如TM立即停止并在任何输入上输出零


每个TM都由无限多个字符串表示。
这可以通过指定表示可以以任意数量的1结束来确保,这些1将被忽略。这与许多编程语言的注释(例如,$\mathrm{C}, \mathrm{C}++$和Java中的$/ * \ldots * /$构造)的效果有些类似,后者允许向任何程序添加多余的符号

如果$M$是图灵机,那么我们使用${ }{\llcorner} M{\lrcorner}$表示$M$作为二进制字符串的表示。如果$\alpha$是一个字符串,那么我们用$M_\alpha$表示$\alpha$所表示的TM。按照我们的约定,我们还经常使用$M$来表示TM及其作为字符串的表示形式。练习14要求您完全指定具有上述属性的图灵机的表示方案

数学代写|计算复杂度代写计算复杂度代考|通用图灵机


是图灵第一个观察到通用计算机是可能的,他展示了一个通用图灵机,可以模拟每一个其他TM $M$的执行,给出$M$的描述作为输入。当然,由于我们已经习惯了台式电脑甚至口袋里都有一台通用电脑,今天我们认为这个概念是理所当然的。但最好记住为什么它曾经是违反直觉的。通用TM的参数是固定的——字母大小、状态的数量和磁带的数量。被模拟机器的相应参数可以大得多。当然,这不是一个障碍的原因是使用编码的能力。即使通用TM有一个非常简单的字母,比如${0,1}$,这也足以允许它在它的磁带上表示另一台机器的状态和转换表,然后一步一步地进行计算


现在我们陈述由Hennie和Stearns [HS66]提出的图灵构造的计算效率版本。为了给出基本思想,我们首先证明一个稍微宽松的变体,将下面的术语$T \log T$替换为$T^2$。但由于本书中多次需要有效版本,因此在本章末尾也给出了完整的证明(见第1.A节)

数学代写|计算复杂度代写Computational Complexity代考

数学代写|计算复杂度代写Computational Complexity代考 请认准UprivateTA™. UprivateTA™为您的留学生涯保驾护航。

微观经济学代写

微观经济学是主流经济学的一个分支,研究个人和企业在做出有关稀缺资源分配的决策时的行为以及这些个人和企业之间的相互作用。my-assignmentexpert™ 为您的留学生涯保驾护航 在数学Mathematics作业代写方面已经树立了自己的口碑, 保证靠谱, 高质且原创的数学Mathematics代写服务。我们的专家在图论代写Graph Theory代写方面经验极为丰富,各种图论代写Graph Theory相关的作业也就用不着 说。

线性代数代写

线性代数是数学的一个分支,涉及线性方程,如:线性图,如:以及它们在向量空间和通过矩阵的表示。线性代数是几乎所有数学领域的核心。



博弈论代写

现代博弈论始于约翰-冯-诺伊曼(John von Neumann)提出的两人零和博弈中的混合策略均衡的观点及其证明。冯-诺依曼的原始证明使用了关于连续映射到紧凑凸集的布劳威尔定点定理,这成为博弈论和数学经济学的标准方法。在他的论文之后,1944年,他与奥斯卡-莫根斯特恩(Oskar Morgenstern)共同撰写了《游戏和经济行为理论》一书,该书考虑了几个参与者的合作游戏。这本书的第二版提供了预期效用的公理理论,使数理统计学家和经济学家能够处理不确定性下的决策。



微积分代写

微积分,最初被称为无穷小微积分或 “无穷小的微积分”,是对连续变化的数学研究,就像几何学是对形状的研究,而代数是对算术运算的概括研究一样。

它有两个主要分支,微分和积分;微分涉及瞬时变化率和曲线的斜率,而积分涉及数量的累积,以及曲线下或曲线之间的面积。这两个分支通过微积分的基本定理相互联系,它们利用了无限序列和无限级数收敛到一个明确定义的极限的基本概念 。



计量经济学代写

什么是计量经济学?
计量经济学是统计学和数学模型的定量应用,使用数据来发展理论或测试经济学中的现有假设,并根据历史数据预测未来趋势。它对现实世界的数据进行统计试验,然后将结果与被测试的理论进行比较和对比。

根据你是对测试现有理论感兴趣,还是对利用现有数据在这些观察的基础上提出新的假设感兴趣,计量经济学可以细分为两大类:理论和应用。那些经常从事这种实践的人通常被称为计量经济学家。



MATLAB代写

MATLAB 是一种用于技术计算的高性能语言。它将计算、可视化和编程集成在一个易于使用的环境中,其中问题和解决方案以熟悉的数学符号表示。典型用途包括:数学和计算算法开发建模、仿真和原型制作数据分析、探索和可视化科学和工程图形应用程序开发,包括图形用户界面构建MATLAB 是一个交互式系统,其基本数据元素是一个不需要维度的数组。这使您可以解决许多技术计算问题,尤其是那些具有矩阵和向量公式的问题,而只需用 C 或 Fortran 等标量非交互式语言编写程序所需的时间的一小部分。MATLAB 名称代表矩阵实验室。MATLAB 最初的编写目的是提供对由 LINPACK 和 EISPACK 项目开发的矩阵软件的轻松访问,这两个项目共同代表了矩阵计算软件的最新技术。MATLAB 经过多年的发展,得到了许多用户的投入。在大学环境中,它是数学、工程和科学入门和高级课程的标准教学工具。在工业领域,MATLAB 是高效研究、开发和分析的首选工具。MATLAB 具有一系列称为工具箱的特定于应用程序的解决方案。对于大多数 MATLAB 用户来说非常重要,工具箱允许您学习应用专业技术。工具箱是 MATLAB 函数(M 文件)的综合集合,可扩展 MATLAB 环境以解决特定类别的问题。可用工具箱的领域包括信号处理、控制系统、神经网络、模糊逻辑、小波、仿真等。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注