没有合适的资源?快使用搜索试试~ 我知道了~
Computation Complexity Lctn
需积分: 10 0 下载量 102 浏览量
2011-12-03
23:36:53
上传
评论
收藏 976KB PDF 举报
温馨提示
试读
169页
Computation Complexity Lctn, Laszlo Lovasz.pdf
资源详情
资源评论
资源推荐
Computation Complexity
LaszloLovasz
translation, additions, mo dications by
Peter Gacs
March 15, 1994
Lecture notes for a one-semester graduate course. Part of it is also suitable for
an undergraduate course, at a slower pace. Mathematical maturity is the main
prerequisite.
Contents
1 Intro duction 4
2 Mo dels of computation 6
2.1 The Turing machine
::: ::::: :::: ::::: :::: :::: ::::: :
7
2.2 The Random Access Machine
::: :::: ::::: :::: :::: ::::: :
16
2.3 Boolean functions and logic circuits
:::: ::::: :::: :::: ::::: :
22
2.4 Finite-state machines
::: ::::: :::: ::::: :::: :::: ::::: :
29
2.5 Church Thesis, and Polynomial Church Thesis
::::: :::: ::::: :::
33
2.6 A realistic nite computer
::::: :::: ::::: :::: :::: ::::: :
33
3 Algorithmic decidability 35
3.1 Recursive and recursively enumerable languages
:::: :::: ::::: :::
35
3.2 Other undecidable problems
:::: :::: ::::: :::: :::: ::::: :
40
3.3 Computabilityinlogic
::::: :::: :::: ::::: :::: ::::: :::
46
4 Storage and time 52
4.1 Polynomial time
:::: ::::: :::: :::: ::::: :::: ::::: :::
53
4.2 Other typical complexity classes
:::: :::: ::::: :::: ::::: :::
60
4.3 Linear space
:::: :::: ::::: :::: ::::: :::: :::: ::::: :
62
4.4 General theorems on space- and time complexity
:::: :::: ::::: :::
64
4.5 EXPTIME-complete and PSPACE-complete games
:::: :::: ::::: :
70
4.6 Storage versus time
:::: ::::: :::: ::::: :::: :::: ::::: :
72
5 Non-deterministic algorithms 73
5.1 Non-deterministic Turing machines
:::: ::::: :::: :::: ::::: :
73
5.2 The complexity of non-deterministic algorithms
:::: :::: ::::: :::
75
5.3 Examples of languages in NP
::: :::: ::::: :::: :::: ::::: :
80
5.4 NP-completeness
::: ::::: :::: :::: ::::: :::: ::::: :::
88
5.5 Further NP-complete problems
:::: :::: ::::: :::: ::::: :::
92
6 Randomized algorithms 100
6.1 Verifying a polynomial identity
:::: :::: ::::: :::: ::::: :::
100
6.2 Prime testing
::: :::: ::::: :::: ::::: :::: :::: ::::: :
103
6.3 Randomized complexity classes
:::: :::: ::::: :::: ::::: :::
107
7 Information complexity (the complexity-theoretic notion of randomness) 111
7.1 Information complexity
::::: :::: :::: ::::: :::: ::::: :::
111
7.2 Self-delimiting information complexity
:::: ::::: :::: ::::: :::
115
7.3 The notion of a random sequence
::: :::: ::::: :::: ::::: :::
118
7.4 Kolmogorov complexity and entropy
::: ::::: :::: :::: ::::: :
120
7.5 Kolmogorov complexity and co ding
:::: ::::: :::: :::: ::::: :
121
2
8 Parallel algorithms 125
8.1 Parallel random access machines
:::: :::: ::::: :::: ::::: :::
125
8.2 The class NC
::: :::: ::::: :::: ::::: :::: :::: ::::: :
129
9 Decision trees 132
9.1 Algorithms using decision trees
:::: :::: ::::: :::: ::::: :::
132
9.2 Nondeterministic decision trees
:::: :::: ::::: :::: ::::: :::
136
9.3 Lower bounds on the depth of decision trees
:::: :::: :::: ::::: :
139
10 Communication complexity 145
10.1 Communication matrix and proto col-tree
::: ::::: :::: ::::: :::
145
10.2 Some protocols
:::: ::::: :::: :::: ::::: :::: ::::: :::
149
10.3 Non-deterministic communication complexity
::::: :::: ::::: :::
150
10.4 Randomized protocols
::::: :::: :::: ::::: :::: ::::: :::
154
11 An application of complexity: cryptography 156
11.1 A classical problem
:::: ::::: :::: ::::: :::: :::: ::::: :
156
11.2 A simple complexity-theoreticmodel
::: ::::: :::: :::: ::::: :
156
12 Public-key cryptography 157
12.1 The Rivest-Shamir-Adleman code
::: :::: ::::: :::: ::::: :::
158
12.2 Pseudo-randomness
:::: ::::: :::: ::::: :::: :::: ::::: :
161
12.3 One-way functions
:::: ::::: :::: ::::: :::: :::: ::::: :
164
12.4 Application of pseudo-number generators to cryptography
:::: ::::: :
167
3
1 Intro duction
The sub ject of complexity theory
The need to be able to measure the complexityof a
problem, algorithm or structure, and to obtain bounds and quantitive relations for complexity
arises in more and more sciences: besides computer science, the traditional branches of
mathematics, statistical physics, biology, medicine, social sciences and engineering are also
confronted more and more frequently with this problem. In the approachtaken by computer
science, complexity is measured by the quantity of computational resources (time, storage,
program, communication). These notes deal with the foundations of this theory.
Computation theory can basically be divided into three parts of dierentcharacter. First,
the exact notions of algorithm, time, storage capacity, etc. must be introduced. For this,
dierent mathematical machine models must b e dened, and the time and storage needs
of the computations p erformed on these need to be claried (this is generally measured as
a function of the size of input). By limiting the available resources, the range of solvable
problems gets narrower this is howwe arrive at dierent complexity classes. The most
fundamental complexity classes provide important classication even for the problems arising
in classical areas of mathematics this classication reects well the practical and theoretical
diculty of problems. The relation of dierent machine mo dels to each other also belongs
to this rst part of computation theory.
Second, one must determine the resource need of the most imp ortant algorithms in various
areas of mathematics, and give ecient algorithms to prove that certain imp ortant problems
belong to certain complexity classes. In these notes, we do not strive for completeness in the
investigation of concrete algorithms and problems this is the task of the corresp onding elds
of mathematics (combinatorics, operations research, numerical analysis, number theory).
Third, one must nd metho ds to prov
e \negative results",
i.e.
for the pro of that some
problems are actually unsolvable under certain resource restrictions. Often, these questions
can be formulated by asking whether some introduced complexity classes are dierentor
empty. This problem area includes the question whether a problem is algorithmically solvable
at all this question can today b e considered classical, and there are many imp ortant results
related to it. The ma jority of algorithmic problems o ccurring in practice is, however, such
that algorithmic solvability itself is not in question, the question is only what resources must
be used for the solution. Suchinvestigations, addressed to lower bounds, are very dicult
and are still in their infancy. In these notes, we can only give a taste of this sort of result.
It is, nally,worth remarking that if a problem turns out to have only \dicult" solutions,
this is not necessarily a negative result. More and more areas (random number generation,
communication protocols, secret communication, data protection) need problems and struc-
tures that are guaranteed to b e complex. These are imp ortant areas for the application of
complexity theory from among them, we will deal with cryptography, the theory of secret
communication.
Some notation and denitions
A nite set of symbols will sometimes be called an
alphabet
. A nite sequence formed from some elements of an alphabet is called a
word
.
The emptyword will also be considered a word, and will b e denoted by
. The set of words
of length
n
over is denoted by
n
, the set of all words (including the emptyword) over
is denoted by
. A subset of
,
i.e.
, an arbitrary set of words, is called a
language
.
4
Note that the empty language is also denoted by
but it is dierent, from the language
fg
containing only the emptyword.
Let us dene some orderings of the set of words. Suppose that an ordering of the elements
of is given. In the
lexicographic ordering
of the elements of
,a word
precedes a word
if either
is a prex (beginning segment) of
or the rst letter which is dierentin
the twowords is smaller in
. (E.g., 35244 precedes 35344 which precedes 353447.) The
lexicographic ordering do es not order all words in a single sequence: for example, every
word beginning with 0 precedes the word 1 over the alphabet
f
0
1
g
. The
increasing order
is therefore often preferred: here, shorter words precede longer ones and words of the same
length are ordered lexicographically. This is the ordering of
f
0
1
g
we get when we write up
the natural numbers in the binary number system.
The set of real numbers will b e denoted by
R
,thesetofintegers by
Z
and the set of
rational numbers (fractions) by
Q
. The sign of the set of non-negative real (integer, rational)
numbers is
R
+
(
Z
+
,
Q
+
). When the base of a logarithm will not be indicated it will be
understoo d to b e 2.
Let
f
and
g
be two real (or even complex) functions dened over the natural numbers.
We write
f
=
O
(
g
)
if there is a constant
c>
0 such that for all
n
large enough wehave
j
f
(
n
)
j
c
j
g
(
n
)
j
.We
write
f
=
o
(
g
)
if
f
is 0 only at a nite number of places and
f
(
n
)
=g
(
n
)
!
0if
n
!1
.We will also use
sometimes an inverse of the big O notation: we write
f
=(
g
)
if
g
=
O
(
f
). The notation
f
=(
g
)
means that both
f
=
O
(
g
)and
g
=
O
(
f
) hold,
i.e.
there are constants
c
1
c
2
>
0suchthat
for all
n
large enough wehave
c
1
g
(
n
)
f
(
n
)
c
2
g
(
n
). We will also use this notation within
formulas. Thus,
(
n
+1)
2
=
n
2
+
O
(
n
)
means that (
n
+1)
2
can b e written in the form
n
2
+
R
(
n
) where
R
(
n
)=
O
(
n
2
). Keep in
mind that in this kind of formula, the equality sign is not symmetrical. Thus,
O
(
n
)=
O
(
n
n
)
but
O
(
n
2
)
6
=
O
(
n
). When suchformulas b ecome too complex it is b etter to go back to some
more explicit notation.
1.1
Exercise
Is it true that 1 + 2 +
+
n
=
O
(
n
3
)? Can you make this statement
sharper
?
}
5
剩余168页未读,继续阅读
alansoft
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_20240528_103010.jpg
- 基于Python的新能源承载力计算及界面设计源码 - HAINING-DG
- 基于Java的本科探索学习项目设计源码 - 本科探索
- 基于Javascript和Python的微商城项目设计源码 - MicroMall
- 基于Java的网上订餐系统设计源码 - online ordering system
- 基于Javascript的超级美眉网络资源管理应用模块设计源码
- 基于Typescript和PHP的编程知识储备库设计源码 - study-php
- Screenshot_2024-05-28-11-40-58-177_com.tencent.mm.jpg
- 基于Dart的Flutter小提琴调音器APP设计源码 - violinhelper
- 基于JavaScript和CSS的随寻订购网页设计源码 - web-order
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0