Computing Theory Study Summary
Chapter 1 Regular Language
The first part generally requires three parts: finite automaton DFA, non-deterministic finite automaton NFA, and regular expressions.
Finite automata: (1) Formal definition of DFA, (2) Formal definition of DFA calculation, (3) Design of DFA
non-deterministic finite automata: (1) Formal definition of NFA, (2) Form of NFA calculation Definition, (3) NFA --> DFA
regular expression: (1) Design regular language, (2) Know how to write regular expressions, (3) Pump lemma proves non-regular language, (4) Chinese characters-regular expressions -nfa~DFA (5) Equivalence between regular expressions and finite automata
Formal definition of finite automata (understanding part)
The requirement of this part is to divide the state diagram, to be able to write its formal definition, to recognize the language, and to draw the transfer function matrix.
Deterministic finite automata:
Non-deterministic finite automata:
example:
Formal definition of DFA calculation (understanding part)
The formal definition of the calculation is the state sequence. The requirement of this part is to understand what is the state sequence
. The state q1 entered after the calculation of a string, and so on
Designing Deterministic Finite Automata (Understanding Part)
The requirement of this part is to be able to design finite automata, draw a state diagram for a language,
pay attention to the initial state and acceptance state, do not draw wrong, do more questions
Non-deterministic finite automata (understanding part)
The requirements of this part are
1. Formal language description of uncertain finite automata (see the formal definition of finite automata (understanding part) ),
2. Judging whether a certain string can be recognized,
3. To convert an uncertain automaton into a deterministic automaton, the conversion can be realized by converting element-to-element into set-to-set .
Regular language (memory part + comprehension part)
This part requires 1. Operation examples
of regular expressions : The first result: {good, bad, boy, girl} The second result: {good boy, good girl, bad boy, bad girl} The third result has many A: {good, good, bad, good, bad...} Asterisks can be understood as any number
2. Can understand regular expressions
3. Some conclusions
about the equivalence of regular expressions and finite automata
4. It is more demanding to convert regular expressions to NFA. You must learn Chinese characters-regular expressions-NFA~DFA
5. Judgment of non
-regular languages. ) is easy to satisfy, (1) is not easy to satisfy
Chapter 2 Context-Free Grammars
This part of the question type has 1. The formal definition of context-free grammar. 2. Design a PDA given a context-free grammar. 3. Write out the association rules according to the Chinese description, and design a PDA. 4. Regular languages are context-free (judgment question √), but the reverse is not necessarily true. 5. All regular languages can be represented by CFG (Judgement √). 6. Formal definition of pushdown automata.
Formal definition of context-free grammar (understanding part)
Example:
Chomsky Paradigm (understanding part)
Simply put, it is to constantly replace non-terminal symbols with terminal symbols
Pushdown automata (understanding part)
1. Formal definition
2. Equivalence between PDA and context-free grammar
3. CFG constructs PDA
dollar sign is the stack state
Proving non-context-free grammars with pumping lemmas (understanding part)
Chapter 3 The Church-Turing Thesis
Requirements for this part 1. Given a language, a Turing machine will be drawn to recognize it. 2. Formal definition of Turing machine. 3. Recognizable and determinable meaning. 4. The relationship between multi-band Turing machines and single-band Turing machines. 5. The definition of Turing’s recognizability (judgment question) 6. Every non-deterministic Turing machine is equivalent to a certain deterministic Turing machine (judgment question√)
Drawing inspiration (understanding part)
Formal definition of Turing machine (memory part)
Recognizable vs. Decidable (memory part)
Single-band Turing machine and multi-band Turing machine relationship (understanding part)
Multi-band Turing machine to single-band Turing machine
Some conclusions (memory part)
An enumerator can be seen as a Turing machine with a printer
Chapter 4 Decidability
The requirements of this part are 1. Judging whether it is a decidable problem or a complexity problem. 2. Some conclusions of decidable questions (true or false questions). 3. Judging countability: judging whether an interval is countable or uncountable. This part feels the same as not reading it, and you still need to find a topic to do to deepen your understanding.
Some conclusions (memory part)
1. There is a DFA that can recognize w string, it is a decidable language
2. There is an NFA that can recognize w string, it is a decidable language
3. There is a regular expression R, R can derive w, it is a decidable language
4 .If there is a DFA that does not accept any language, it is a decidable language.
5. If there is a DFA that can recognize both A and B, it is a decidable language.
6. For context-free language-related decidable problems,
both are CFG. Undecidable
7. Summary of the relationship between the four types of languages
Halting problem (memory part + comprehension part)
1. M is a Turing machine, and if w is accepted, it is undecidable.
2. The diagonalization method
is simply like a function. For any x, there is a y corresponding to it. Conversely, for any y, there is only An x corresponds to it
3. Countable problems
For example, the set of even numbers {2, 4, 6, 8...} is countable, because it can be represented by 2*N, so it has the same scale as N
4. Uncountable problems
such as pai is uncountable because it has no regularity
5. The halting problem is undecidable
Chapter V Reducibility
Some conclusions (memory part)
Chapter 7 Time Complexity
concept (memory part)
1. Four concepts: O notation, o notation, P class, NP class
.
The difference from the big O notation is that one is the relationship of <= and the other is the relationship of <. The
P-type problem is a language class that can be determined in polynomial time.
The NP-type problem is a language class that can be quickly verified in polynomial time. The relationship
between them Relationship: P is strictly less than NP
2. The difference between polynomials and exponents
3. TIME
4. The complexity relationship between models
5. Polynomial time
6. P-type problems: road problems, mutual prime problems, context-free languages, hampath, comsip, group Problem
7. NP Class
8. Cook-Levin's Theorem