自动机理论

Automata Theory

This course covers the theory of automata and languages. We begin with a study of finite automata and the languages they can define (the so-called “regular languages.” Topics include deterministic and nondeterministic automata, regular expressions, and the equivalence of these language-defining mechanisms.

1267 次查看
斯坦福大学
edX
  • 完成时间大约为 7
  • 高级
  • 英语
注:因开课平台的各种因素变化,以上开课日期仅供参考

你将学到什么

Finite automata and regular expressions

Context-free grammars

Turing machines and decidability

The theory of intractability, or NP-complete problems

课程概况

We begin with a study of finite automata and the languages they can define (the so-called “regular languages.” Topics include deterministic and nondeterministic automata, regular expressions, and the equivalence of these language-defining mechanisms. We also look at closure properties of the regular languages, e.g., the fact that the union of two regular languages is also a regular language. We consider decision properties of regular languages, e.g., the fact that there is an algorithm to tell whether or not the language defined by two finite automata are the same language. Finally, we see the pumping lemma for regular languages — a way of proving that certain languages are not regular languages.

Our second topic is context-free grammars and their languages. We learn about parse trees and follow a pattern similar to that for finite automata: closure properties, decision properties, and a pumping lemma for context-free languages. We also introduce the pushdown automaton, whose nondeterministic version is equivalent in language-defining power to context-free grammars.

Next, we introduce the Turing machine, a kind of automaton that can define all the languages that can reasonably be said to be definable by any sort of computing device (the so-called “recursively enumerable languages”). We shall learn how “problems” (mathematical questions) can be expressed as languages. That lets us define problems to be “decidable” if their language can be defined by a Turing machine and “undecidable” if not. We shall see some basic undecidable problems, for example, it is undecidable whether the intersection of two context-free languages is empty.

Last, we look at the theory of intractable problems. These are problems that, while they are decidable, have almost certainly no algorithm that runs in time less than some exponential function of the size of their input. We meet the NP-complete problems, a large class of intractable problems. This class includes many of the hard combinatorial problems that have been assumed for decades or even centuries to require exponential time, and we learn that either none or all of these problems have polynomial-time algorithms. A common example of an NP-complete problem is SAT, the question of whether a Boolean expression has a truth-assignment to its variables that makes the expression itself true.

预备知识

The primary prerequisite for this course is reasonable "mathematical sophistication." That is, you should feel comfortable with mathematics and proofs. Specific topics that are useful include a knowledge of graphs, trees, and logic, as well as basic data structures and algorithms.

It is intended for students who have had at least 2 years of Computer-Science courses, including discrete mathematics (graphs, trees, logic, proofs, etc.) and an introduction to data structures and algorithms.

常见问题

Do I need to buy a textbook?

The class is self-contained, and you are not expected to purchase or steal a textbook. However, should you wish to do so, the textbook that matches the course most closely is Automata Theory, Languages, and Computation by Hopcroft, Motwani, and Ullman, Addison-Wesley, 2007.

What should I do if I don't have the prerequisites?

For this purpose, there is a free textbook Foundations of Computer Science.

How much work is expected?

The amount of work will vary, depending on your background and the ease with which you follow mathematical ideas. However, 10 hours per week is a good guess.

千万首歌曲。全无广告干扰。
此外,您还能在所有设备上欣赏您的整个音乐资料库。免费畅听 3 个月,之后每月只需 ¥10.00。
Apple 广告
声明:MOOC中国十分重视知识产权问题,我们发布之课程均源自下列机构,版权均归其所有,本站仅作报道收录并尊重其著作权益。感谢他们对MOOC事业做出的贡献!
  • Coursera
  • edX
  • OpenLearning
  • FutureLearn
  • iversity
  • Udacity
  • NovoEd
  • Canvas
  • Open2Study
  • Google
  • ewant
  • FUN
  • IOC-Athlete-MOOC
  • World-Science-U
  • Codecademy
  • CourseSites
  • opencourseworld
  • ShareCourse
  • gacco
  • MiriadaX
  • JANUX
  • openhpi
  • Stanford-Open-Edx
  • 网易云课堂
  • 中国大学MOOC
  • 学堂在线
  • 顶你学堂
  • 华文慕课
  • 好大学在线CnMooc
  • (部分课程由Coursera、Udemy、Linkshare共同提供)

© 2008-2022 CMOOC.COM 慕课改变你,你改变世界