Discrete Mathematics

  1. Automata Theory and Formal Languages
    1. Finite Automata
      1. Deterministic Finite Automata (DFA)
        1. Definition and Structure
          1. States
            1. Alphabet
              1. Transition Function
                1. Start State
                  1. Accept States
                  2. Language Recognition
                    1. Formal Definition of Language Recognition by DFA
                      1. Examples of Recognizable Languages
                      2. Minimization of DFA
                        1. Equivalence of States
                          1. Myhill-Nerode Theorem
                            1. Minimization Algorithm
                            2. Applications of DFAs
                              1. Pattern Matching
                                1. Lexical Analysis in Compilers
                              2. Non-deterministic Finite Automata (NFA)
                                1. Definition and Structure
                                  1. States
                                    1. Alphabet
                                      1. Transition Function (including ε-transitions)
                                        1. Start State
                                          1. Accept States
                                          2. Language Recognition
                                            1. ε-Closure
                                              1. Subset Construction Method for DFA Conversion
                                                1. Equivalence of DFA and NFA
                                                2. Applications of NFAs
                                                  1. Modeling Parallel Processes
                                                    1. Simplified Design of Automata
                                                  2. Regular Languages
                                                    1. Definition and Properties
                                                      1. Closure Properties (Union, Concatenation, Kleene Star)
                                                        1. Decision Properties (Emptiness, Finiteness, Subset, Equality)
                                                        2. Regular Expressions
                                                          1. Syntax and Operators
                                                            1. Conversion from Regular Expressions to NFA
                                                              1. Conversion from NFA/DFA to Regular Expressions
                                                              2. Pumping Lemma
                                                                1. Statement and Usefulness
                                                                  1. Proving Non-Regularity of Languages
                                                              3. Context-Free Grammars (CFGs)
                                                                1. Definitions and Components
                                                                  1. Variables (Non-terminals)
                                                                    1. Terminals (Alphabet)
                                                                      1. Production Rules
                                                                        1. Start Symbol
                                                                        2. Derivations
                                                                          1. Leftmost and Rightmost Derivation
                                                                            1. Parse Trees and Syntax Trees
                                                                            2. Normal Forms
                                                                              1. Chomsky Normal Form (CNF)
                                                                                1. Greibach Normal Form (GNF)
                                                                                  1. Conversions between Normal Forms
                                                                                  2. Applications of CFGs
                                                                                    1. Language Parsers
                                                                                      1. Syntax Analysis in Compilers
                                                                                        1. Natural Language Processing
                                                                                        2. Limitations of CFGs
                                                                                          1. Non-Context-Free Languages
                                                                                            1. The Pumping Lemma for Context-Free Languages
                                                                                          2. Pushdown Automata (PDA)
                                                                                            1. Definition and Structure
                                                                                              1. States, Input Alphabet, Stack Alphabet
                                                                                                1. Transition Function
                                                                                                  1. Start State and Stack Symbol
                                                                                                    1. Accept States
                                                                                                    2. PDA and CFG Correspondence
                                                                                                      1. From CFG to PDA
                                                                                                        1. From PDA to CFG
                                                                                                        2. Deterministic and Non-deterministic PDA
                                                                                                          1. Differences and Examples
                                                                                                            1. Deterministic Context-Free Languages
                                                                                                          2. Turing Machines
                                                                                                            1. Definition and Structure
                                                                                                              1. States
                                                                                                                1. Tape Alphabet
                                                                                                                  1. Transition Function
                                                                                                                    1. Start State
                                                                                                                      1. Accept and Reject States
                                                                                                                      2. Computation Model and Language Recognition
                                                                                                                        1. Configurations and Moves
                                                                                                                          1. Church-Turing Thesis
                                                                                                                            1. Universal Turing Machines
                                                                                                                            2. Variants of Turing Machines
                                                                                                                              1. Multi-tape Turing Machines
                                                                                                                                1. Non-deterministic Turing Machines
                                                                                                                                  1. Turing Reductions
                                                                                                                                  2. Decidability and Undecidability
                                                                                                                                    1. Recursive and Recursively Enumerable Languages
                                                                                                                                      1. Halting Problem
                                                                                                                                        1. Reductions and Rice’s Theorem
                                                                                                                                      2. Chomsky Hierarchy
                                                                                                                                        1. Classification of Formal Languages
                                                                                                                                          1. Regular Languages
                                                                                                                                            1. Context-Free Languages
                                                                                                                                              1. Context-Sensitive Languages
                                                                                                                                                1. Recursively Enumerable Languages
                                                                                                                                                2. Machine Models and Grammar Types Associated with Each Class
                                                                                                                                                  1. Regular Grammars and Finite Automata
                                                                                                                                                    1. Context-Free Grammars and Pushdown Automata
                                                                                                                                                      1. Context-Sensitive Grammars and Linear Bounded Automata
                                                                                                                                                        1. Unrestricted Grammars and Turing Machines
                                                                                                                                                      2. Formal Language Theory
                                                                                                                                                        1. Relations Between Grammar Types and Automata
                                                                                                                                                          1. Operations on Languages
                                                                                                                                                            1. Union, Intersection, Complementation
                                                                                                                                                              1. Homomorphism, Inverse Homomorphism
                                                                                                                                                              2. Language Equivalence and Inclusion
                                                                                                                                                                1. Decision Procedures
                                                                                                                                                                  1. Closure Properties Among Different Classes
                                                                                                                                                                2. Applications of Automata and Formal Languages
                                                                                                                                                                  1. Compiler Construction
                                                                                                                                                                    1. Formal Verification and Model Checking
                                                                                                                                                                      1. Cryptography
                                                                                                                                                                        1. Artificial Intelligence and Machine Learning
                                                                                                                                                                          1. Game Theory and Control Systems