Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Formal Language and Automata: Finite Automata and RE
Highest Rated
Rating: 4.9 out of 5(11 ratings)
118 students

Formal Language and Automata: Finite Automata and RE

Theory of Computation
Created byAnita R
Last updated 3/2025
English
English [Auto],

What you'll learn

  • Deterministic Finite Automata
  • Non-deterministic Finite Automata
  • Conversion of NFA to DFA and Epsilon NFA to DFA
  • Regular Expressions

Course content

3 sections27 lectures5h 2m total length
  • Basic Definitions in Automata12:41

    Define alphabets and strings, epsilon, length, and concatenation; introduce sigma star and sigma plus, with languages including n zeros followed by n ones and equal zeros and ones.

  • DFA with Example16:17

    Explore finite automata and DFA, their five-tuple representation, and diagrams and tables that implement a DFA accepting strings ending with double zero using q naught, q one, and q two.

  • DFA Example: Start with "01"6:00

    Construct a dfa that accepts strings starting with 01, using start state q0 and states q1, q2 plus a dead state, where q2 is the accepting state.

  • DFA Example: Substring "101"7:27

    Learn how to build a DFA that accepts strings containing the substring 101, with states q0 to q3 and transitions that detect the pattern.

  • DFA Example: Does not contain substring "101"3:33

    Construct a dfa for strings not containing the substring 101 by reversing final and nonfinal states from the previous dfa, using q0, q1, q2 as final and q3 as nonfinal.

  • DFA Example: Binary String is even4:28

    Construct a DFA to check if a binary number is even using two states, q naught and q one. Start state q naught accepts strings ending with zero.

  • DFA Example: Divisible by 37:54

    Construct a three-state DFA that accepts binary strings divisible by three by tracking remainders 0, 1, and 2; start and final state represent remainder zero.

  • DFA Example: Even 0's and Even 1's7:48

    Design a four-state dfa that accepts strings with even zeros and even ones, starting at q0 and final, with transitions to q1, q2, and q3, showing accepted and rejected examples.

  • Extended Transition Function for DFA15:54

    Explain the extended transition function for a DFA, including basis and induction, to test string acceptance, illustrated by a DFA that starts with one and ends with zero, 1010.

  • DFA

Requirements

  • Basic Mathematical Knowledge

Description

Formal Language and Automata: Finite Automata and RE is a fundamental course in theoretical computer science that delves into the mathematical principles governing computational systems and algorithms. This course is designed for third-year Engineering students, the course provides a structured understanding of formal languages, automata theory, and their significance in defining and influencing computation.

The course begins with an introduction to formal languages, and their classifications, focusing on regular languages. Students will explore different ways to represent these languages, such as deterministic finite automata (DFA), non deterministic finite automata (NFA), and regular expressions (RE). Through rigorous analysis, they will understand the computational power of these models and the fundamental equivalence between them. Key topics include minimisation of finite automata, pumping lemma and decision problems associated with regular languages.

Beyond theoretical concepts, this course emphasizes practical applications in areas like compiler design, lexical analysis, pattern matching, text processing, and software verification. Students will engage in mathematical proofs, algorithmic problem-solving, and interactive exercises to reinforce their learning.

By the end of the course, students will have a solid grasp of computational models, enabling them to design efficient algorithms, comprehend system constraints, and explore advanced topics in artificial intelligence, cryptography, and software engineering.

Who this course is for:

  • Computer Science and Engineering Students