CS 373: Introduction to Theory of Computation

简介:
《CS 373:计算理论简介》是一门介绍计算机科学基础的重要课程,主要研究计算机系统能够解决的问题类型及其本质特性。该课程旨在帮助学生理解计算的基本概念、模型以及相关的复杂性分析。
课程内容涵盖多个核心主题,包括可计算性理论、复杂度理论和自动机理论等。通过学习这些理论,学生将了解如何形式化问题并设计高效的算法,同时掌握评估算法性能的方法。此外,课程还探讨计算的边界,例如哪些问题是不可解的或在合理时间内无法解决的。
该课程不仅为计算机科学的学生打下坚实的理论基础,也为理解现代计算技术的应用提供了深刻的视角。通过学习这门课程,学生能够更好地分析问题、设计解决方案,并评估其可行性和效率。
英文简介:
This manuscript is a collection of class notes used in teaching CS 373 (Theory of Computation), in the spring of 2009, in the Computer Science department in UIUC. The instructors were Sariel Har-Peled and Madhusudan Parthasarathy. They are based on older class notes – see second preface for details.
This class notes diverse from previous semesters in two main points:
(A) Regular languages pumping lemma. Although we still taught the pumping lemma for regular languages, we did not expected the students to use it to proving languages are not regular. Instead, we provided direct proofs that shoes that any automaton for these languages would require infinite number of states. This leads to much simpler proofs than using the pumping lemma, and it seems the students find them easier to understand. Naturally, we are not the first to come up with this idea, it is sometimes referred to as the “technique of many states”.
The main problem with the pumping lemma is the large number of quantifiers involved in stating it. They seem to make it harder for the student to use it.
(B) Recursive automatas. Instead of teaching PDAs, we used an alternative machine model of Recursive automata (RA) for context-free languages. RAs are PDAs that do not manipulate the stack directly, but only through the calling stack. For a discussion of this issue, see Chapter 20 (page 127).
This lead to various changes later in the course. In particular, the fact that the intersect of CFL language and a regular language is still CFL, is proven directly on the grammar. Similarly, the proof that deciding if a grammar generates all words is undecidable now follows by a simpler but different proof, see relevant portion for details.
In particular, the alternative proof uses the fact that given two configurations of a TM written on top of each other, then a DFA can verify that the top configuration yields the bottom configuration. This is a cute observation that seems to be worthy of describing in class, and it leads naturally into the Cool-Levin theorem proof.
- 书名
- CS 373: Introduction to Theory of Computation
- 译名
- CS 373:计算理论简介
- 语言
- 英语
- 年份
- 2008
- 页数
- 345页
- 大小
- 4.27 MB
- 下载
CS 373: Introduction to Theory of Computation.pdf
- 密码
- 65536
最后更新:2025-04-12 23:58:10