Posted on Categories:Computational Complexity, 数学代写, 计算复杂度

# 数学代写|计算复杂度代写Computational Complexity代考|CS278 Reducibility and NP-completeness

avatest™

## avatest™帮您通过考试

avatest™的各个学科专家已帮了学生顺利通过达上千场考试。我们保证您快速准时完成各时长和类型的考试，包括in class、take home、online、proctor。写手整理各样的资源来或按照您学校的资料教您，创造模拟试题，提供所有的问题例子，以保证您在真实考试中取得的通过率是85%以上。如果您有即将到来的每周、季考、期中或期末考试，我们都能帮助您！

•最快12小时交付

•200+ 英语母语导师

•70分以下全额退款

## 数学代写|计算复杂度代写Computational Complexity代考|Reducibility and NP-completeness

It turns out that the independent set problem is at least as hard as any other language in NP: if it has a polynomial-time algorithm then so do all the problems in NP. This fascinating property is called NP-hardness. Since most scientists conjecture that $\mathbf{N P} \neq \mathbf{P}$, the fact that a language is NP-hard can be viewed as evidence that it cannot be decided in polynomial time.

How can we prove that a language $B$ is at least as hard as some other language $A$ ? The crucial tool we use is the notion of a reduction (see Figure 2.1):
Definition $2.7$ (REdUCTIONS, NP-HARDNESS AND NP-COMPLETENESS)
We say that a language $A \subseteq{0,1}^$ is polynomial-time Karp reducible to a language $B \subseteq{0,1}^$ (sometimes shortened to just “polynomial-time reducible” ${ }^2$ ) denoted by $A \leq p B$ if there is a polynomial-time computable function
that for every $x \in{0,1}^*, x \in A$ if and only if $f(x) \in B$. We say that $B$ is NP-hard if $A \leq p B$ for every $A \in$ NP. We say that $B$ is NP-complete if $B$ is NP-hard and $B \in \mathbf{N P}$.

## 数学代写|计算复杂度代写Computational Complexity代考|The Cook-Levin Theorem: Computation is Local

Around 1971, Cook and Levin independently discovered the notion of NP-completeness and gave examples of combinatorial NP-complete problems whose definition seems to have nothing to do with Turing machines. Soon after, Karp showed that NP-completeness occurs widely and many problems of practical interest are NP-complete. To date, thousands of computational problems in a variety of disciplines have been found to be NP-complete.

Some of the simplest examples of NP-complete problems come from propositional logic. A Boolean formula over the variables $u_1, \ldots, u_n$ consists of the variables and the logical operators AND $(\wedge)$, $\operatorname{NOT}(\neg)$ and OR $(\vee)$; see Appendix A for their definitions. For example, $(a \wedge b) \vee(a \wedge c) \vee(b \wedge c)$ is a Boolean formula that is TruE if and only if the majority of the variables $a, b, c$ are TrUE. If $\varphi$ is a Boolean formula over variables $u_1, \ldots, u_n$, and $z \in{0,1}^n$, then $\varphi(z)$ denotes the value of $\varphi$ when the variables of $\varphi$ are assigned the values $z$ (where we identify 1 with TRUE and 0 with FALSE). A formula $\varphi$ is satisfiable if there there exists some assignment $z$ such that $\varphi(z)$ is TruE. Otherwise, we say that $\varphi$ is unsatisfiable.

A Boolean formula over variables $u_1, \ldots, u_n$ is in CNF form (shorthand for Conjunctive Normal Form) if it is an AND of OR’s of variables or their negations. For example, the following is a 3CNF formula:
$$\left(u_1 \vee \bar{u}_2 \vee u_3\right) \wedge\left(u_2 \vee \bar{u}_3 \vee u_4\right) \wedge\left(\bar{u}_1 \vee u_3 \vee \bar{u}_4\right) .$$
where $\bar{u}$ denotes the negation of the variable $u$.

## 数学代写|计算复杂度代写计算复杂度代考| Cook-Levin定理:计算是局部的

np完全问题的一些最简单的例子来自命题逻辑。变量$u_1, \ldots, u_n$上的布尔公式由变量和逻辑运算符and $(\wedge)$, $\operatorname{NOT}(\neg)$和OR $(\vee)$组成;它们的定义见附录A。例如，$(a \wedge b) \vee(a \wedge c) \vee(b \wedge c)$是一个布尔公式，当且仅当$a, b, c$的大部分变量为TruE时，该公式为TruE。如果$\varphi$是一个关于变量$u_1, \ldots, u_n$和$z \in{0,1}^n$的布尔公式，那么当$\varphi$的变量被赋值$z$时，$\varphi(z)$表示$\varphi$的值(其中我们将1标识为TRUE, 0标识为FALSE)。如果存在一些赋值$z$，使得$\varphi(z)$为TruE，则公式$\varphi$是可满足的。否则，我们说$\varphi$是不能满足的。

$$\left(u_1 \vee \bar{u}_2 \vee u_3\right) \wedge\left(u_2 \vee \bar{u}_3 \vee u_4\right) \wedge\left(\bar{u}_1 \vee u_3 \vee \bar{u}_4\right) .$$

## MATLAB代写

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