Vous êtes sur la page 1sur 242

RAJALAKSHMI ENGINEERING COLLEGE

6/7/2012

UNIT- I

AUTOMATA

6/7/2012

6/7/2012

6/7/2012

6/7/2012

6/7/2012

6/7/2012

6/7/2012

6/7/2012

6/7/2012

10

6/7/2012

11

6/7/2012

12

6/7/2012

13

6/7/2012

14

Finite Automata

6/7/2012

15

6/7/2012

16

States Open Closed Sensors Front Someone on the Front pad Rear Someone on the Rear pad Both Someone on both the pads Neither No one on either pad

6/7/2012

17

6/7/2012

18

6/7/2012

19

6/7/2012

20

6/7/2012

21

6/7/2012

22

6/7/2012

23

6/7/2012

24

6/7/2012

25

6/7/2012

26

6/7/2012

27

6/7/2012

28

6/7/2012

29

6/7/2012

30

6/7/2012

31

6/7/2012

32

6/7/2012

33

6/7/2012

34

6/7/2012

35

6/7/2012

36

6/7/2012

37

6/7/2012

38

6/7/2012

39

6/7/2012

40

UNIT - II
REGULAR EXPRESSIONS AND LANGUAGES

6/7/2012

41

6/7/2012

42

6/7/2012

43

6/7/2012

44

6/7/2012

45

6/7/2012

46

6/7/2012

47

6/7/2012

48

6/7/2012

49

6/7/2012

50

6/7/2012

51

6/7/2012

52

6/7/2012

53

6/7/2012

54

6/7/2012

55

6/7/2012

56

6/7/2012

57

6/7/2012

58

6/7/2012

59

6/7/2012

60

6/7/2012

61

6/7/2012

62

6/7/2012

63

6/7/2012

64

6/7/2012

65

6/7/2012

66

6/7/2012

67

6/7/2012

68

6/7/2012

69

6/7/2012

70

6/7/2012

71

6/7/2012

72

6/7/2012

73

6/7/2012

74

6/7/2012

75

6/7/2012

76

6/7/2012

77

6/7/2012

78

6/7/2012

79

Questions about Regular Languages

6/7/2012

80

Question contd

6/7/2012

81

Singleton Languages are Regular

6/7/2012

82

Finite Languages are regular

6/7/2012

83

6/7/2012

84

6/7/2012

85

6/7/2012

86

6/7/2012

87

6/7/2012

88

Closure Properties for Regular Languages

6/7/2012

89

Myhill-Nerode Theorem

6/7/2012

90

6/7/2012

91

6/7/2012

92

6/7/2012

93

UNIT III
CONTEXT-FREE GRAMMAR AND LANGUAGES

6/7/2012

94

Context Free Grammars

6/7/2012

95

Cont

6/7/2012

96

Cont

6/7/2012

97

Defining CFG

6/7/2012

98

Notational conventions For CFGs

6/7/2012

99

OTHER CFG EXAMPLES

6/7/2012

100

Languages of CFG

6/7/2012

101

Languages of CFG

6/7/2012

102

Regular Languages and CFL

6/7/2012

103

Translating FAs into CFG

6/7/2012

104

Formalizing the Translation

6/7/2012

105

Closure Properties of CFL

6/7/2012

106

Proving CFLs closed under Union

6/7/2012

107

IDEA

6/7/2012

108

Formal Construction of Gu

6/7/2012

109

Derivations

6/7/2012

110

Sentential Form

6/7/2012

111

Left Most and Right Most Derivation

6/7/2012

112

Right-Linear Grammars

6/7/2012

113

Ambiguous Grammars

6/7/2012

114

Ambiguous Grammars

6/7/2012

115

Pushdown Automata
Recall our study of regular languages. They were defined in terms of regular expressions (syntax). We then showed that FAs provide the computational power needed to process them. We would like to mimic this line of development for CFLs. We have a syntactic definition of CFLs in terms of CFGs. What kind of computing power is needed to process (i.e. recognize) CFLs? Do FAs suffice?

6/7/2012

116

Cont

6/7/2012

117

Cont

6/7/2012

118

Example PDA

n n for{0 1 |n0}

6/7/2012

119

Formal Definition

6/7/2012

120

Instantaneous Description

6/7/2012

121

Language accepted by PDA

6/7/2012

122

Language accepted by PDA

6/7/2012

123

Language accepted by PDA

6/7/2012

124

Equivalence of CFGs and PDAs

6/7/2012

125

Cont

6/7/2012

126

Deterministic PDA

6/7/2012

127

UNIT - IV
PROPERTIES OF CONTEXT-FREE LANGUAGES

6/7/2012

128

Chomsky Normal Form

6/7/2012

129

Defining CNF

6/7/2012

130

What is the Big Deal about CNF?

6/7/2012

131

Cont

6/7/2012

132

Converting CFGs into CNF

6/7/2012

133

Eliminating -Productions

6/7/2012

134

Cont

6/7/2012

135

Cont

6/7/2012

136

Nullability

6/7/2012

137

Generating an -Production-free CFGs

6/7/2012

138

Converting CFGs into CNF

6/7/2012

139

Eliminating Unit Productions

6/7/2012

140

Cont

6/7/2012

141

U(G,A) and New Productions

6/7/2012

142

Example

6/7/2012

143

Cont

6/7/2012

144

Formal Construction

6/7/2012

145

Eliminating Terminal Productions

6/7/2012

146

Example

6/7/2012

147

Formal Construction

6/7/2012

148

Pumping Lemma For CFLs

6/7/2012

149

Cont

6/7/2012

150

Derivation Trees

6/7/2012

151

Defining Derivation Tree

6/7/2012

152

Example

6/7/2012

153

Derivation Trees and CNF

6/7/2012

154

6/7/2012

155

Pumping Lemma for CFL

6/7/2012

156

Proving Languages Non Context Free using Pumping Lemma

6/7/2012

157

Prove that L= {aNbNcN|N 0} is Not a CFL

6/7/2012

158

Proof Cont

6/7/2012

159

Turing Machines

6/7/2012

160

A Finite Automaton

6/7/2012

161

A Pushdown Automaton

6/7/2012

162

A Turing Machine

6/7/2012

163

Cont..

6/7/2012

164

Differences

6/7/2012

165

Example

6/7/2012

166

Cont

6/7/2012

167

Cont

6/7/2012

168

Cont

6/7/2012

169

Formal Definition

6/7/2012

170

Cont..

6/7/2012

171

Cont

6/7/2012

172

Cont

6/7/2012

173

Configurations

6/7/2012

174

Cont

6/7/2012

175

More Configuration

6/7/2012

176

Accepting a Language

6/7/2012

177

Enumerable Languages

6/7/2012

178

UNIT V
UNDECIDABILITY

6/7/2012

179

Enumerable Languages

6/7/2012

180

Enumerable Languages

6/7/2012

181

Example

6/7/2012

182

Example

6/7/2012

183

Example

6/7/2012

184

Element Distinctness

6/7/2012

185

Element Distinctness

6/7/2012

186

Element Distinctness

6/7/2012

187

Element Distinctness

6/7/2012

188

Element Distinctness

6/7/2012

189

Variants

6/7/2012

190

Multitape Turing Machine

6/7/2012

191

Equivalence

6/7/2012

192

Simulation

6/7/2012

193

Simulation

6/7/2012

194

Non Deterministic Turing Machine

6/7/2012

195

Decidability

6/7/2012

196

Example

6/7/2012

197

Theorem

6/7/2012

198

Theorem

6/7/2012

199

Theorem

6/7/2012

200

Theorem

6/7/2012

201

Halting Problem

6/7/2012

202

Cont..

6/7/2012

203

Cont..

6/7/2012

204

Turing Machines are countable

6/7/2012

205

Cont..

6/7/2012

206

Post Correspondence Problem

6/7/2012

207

Cont

6/7/2012

208

Cont...

6/7/2012

209

Cont

6/7/2012

210

Cont

6/7/2012

211

Cont

6/7/2012

212

6/7/2012

213

NP-complete Problem

6/7/2012

214

6/7/2012

215

6/7/2012

216

Decision Problems To keep things simple, we will mainly concern ourselves with decision problems. These problems only require a single bit output: ``yes'' and ``no''. How would you solve the following decision problems?

Is this directed graph acyclic? Is there a spanning tree of this undirected graph with total weight less than w? Does this bipartite graph have a perfect (all nodes matched) matching? Does the pattern p appear as a substring in text t?
6/7/2012 217

6/7/2012

218

P P is the set of decision problems that can be solved in worst-case polynomial time: If the input is of size n, the running time must be O(nk). Note that k can depend on the problem class, but not the particular instance. All the decision problems mentioned above are in P.

6/7/2012

219

Nice Puzzle
The class NP (meaning non-deterministic polynomial time) is the set of problems that might appear in a puzzle magazine: ``Nice puzzle.'' What makes these problems special is that they might be hard to solve, but a short answer can always be printed in the back, and it is easy to see that the answer is correct once you see it. Example... Does matrix A have an LU decomposition?

No guarantee if answer is ``no''.

6/7/2012

220

6/7/2012

221

NP Technically speaking:

A problem is in NP if it has a short accepting certificate. An accepting certificate is something that we can use to quickly show that the answer is ``yes'' (if it is yes). Quickly means in polynomial time. Short means polynomial size.
This means that all problems in P are in NP (since we don't even need a certificate to quickly show the answer is ``yes''). But other problems in NP may not be in P. Given an integer x, is it composite? How do we know this is in NP?
6/7/2012 222

Good Guessing Another way of thinking of NP is it is the set of problems that can solved efficiently by a really good guesser. The guesser essentially picks the accepting certificate out of the air (Non-deterministic Polynomial time). It can then convince itself that it is correct using a polynomial time algorithm. (Like a right-brain, left-brain sort of thing.) Clearly this isn't a practically useful characterization: how could we build such a machine?

6/7/2012

223

Exponential Upperbound Another useful property of the class NP is that all NP problems can be solved in exponential time (EXP). This is because we can always list out all short certificates in exponential time and check all O(2nk) of them. Thus, P is in NP, and NP is in EXP. Although we know that P is not equal to EXP, it is possible that NP = P, or EXP, or neither. Frustrating!

6/7/2012

224

NP-hardness As we will see, some problems are at least as hard to solve as any problem in NP. We call such problems NP-hard. How might we argue that problem X is at least as hard (to within a polynomial factor) as problem Y? If X is at least as hard as Y, how would we expect an algorithm that is able to solve X to behave?

6/7/2012

225

6/7/2012

226

6/7/2012

227

6/7/2012

228

6/7/2012

229

NP

co-NP

P
One of the central (and widely and intensively studied 30 years) problems of (theoretical) computer science is to prove that (a) PNP (b) NP co-NP. All evidence indicates that these conjectures are true. Disproving any of these two conjectures would not only be considered truly spectacular, but would also come as a tremendous surprise (with a variety of far-reaching counterintuitive consequences). NP-complete: Collection Z of problems is NP-complete if (a) it is NP and (b) if polynomial-time algorithm existed for solving problems in Z, then P=NP.
6/7/2012 230

6/7/2012

231

6/7/2012

232

6/7/2012

233

6/7/2012

234

6/7/2012

235

NP-Complete Problems

6/7/2012

236

6/7/2012

237

6/7/2012

238

6/7/2012

239

6/7/2012

240

6/7/2012

241

6/7/2012

242

Vous aimerez peut-être aussi