{"id":2865,"date":"2025-06-06T15:46:50","date_gmt":"2025-06-06T15:46:50","guid":{"rendered":"https:\/\/diznr.com\/?p=2865"},"modified":"2025-06-06T15:46:50","modified_gmt":"2025-06-06T15:46:50","slug":"theory-of-computation-topic-automata-finite","status":"publish","type":"post","link":"https:\/\/www.reilsolar.com\/pdf\/theory-of-computation-topic-automata-finite\/","title":{"rendered":"GATE 1994 Theory Of Computation Topic -Finite Automataj9"},"content":{"rendered":"<p>GATE 1994 Theory Of Computation Topic -Finite Automata<\/p>\n<p>[fvplayer id=&#8221;150&#8243;]<\/p>\n<p data-start=\"0\" data-end=\"245\">The <strong data-start=\"4\" data-end=\"17\">GATE 1994<\/strong> exam included <strong data-start=\"32\" data-end=\"57\">Theory of Computation<\/strong>, and one of the fundamental topics in this domain is <strong data-start=\"111\" data-end=\"130\">Finite Automata<\/strong>. Let&#8217;s go through the key concepts related to <strong data-start=\"177\" data-end=\"201\">Finite Automata (FA)<\/strong> that might be relevant to GATE questions.<\/p>\n<h3 data-start=\"252\" data-end=\"294\"><strong data-start=\"255\" data-end=\"292\">\u00a0What is Finite Automata (FA)?<\/strong><\/h3>\n<p data-start=\"295\" data-end=\"389\">A <strong data-start=\"297\" data-end=\"317\">Finite Automaton<\/strong> is a mathematical model of a <strong data-start=\"347\" data-end=\"369\">computation system<\/strong> that consists of:<\/p>\n<ul data-start=\"390\" data-end=\"546\">\n<li data-start=\"390\" data-end=\"420\">A finite set of <strong data-start=\"408\" data-end=\"418\">states<\/strong><\/li>\n<li data-start=\"421\" data-end=\"452\">A finite <strong data-start=\"432\" data-end=\"450\">input alphabet<\/strong><\/li>\n<li data-start=\"453\" data-end=\"482\">A <strong data-start=\"457\" data-end=\"480\">transition function<\/strong><\/li>\n<li data-start=\"483\" data-end=\"504\">A <strong data-start=\"487\" data-end=\"502\">start state<\/strong><\/li>\n<li data-start=\"505\" data-end=\"546\">A set of <strong data-start=\"516\" data-end=\"544\">accepting (final) states<\/strong><\/li>\n<\/ul>\n<h3 data-start=\"548\" data-end=\"580\"><strong data-start=\"552\" data-end=\"580\">Types of Finite Automata<\/strong><\/h3>\n<p data-start=\"581\" data-end=\"631\">There are <strong data-start=\"591\" data-end=\"609\">two main types<\/strong> of Finite Automata:<\/p>\n<ol data-start=\"633\" data-end=\"1116\">\n<li data-start=\"633\" data-end=\"820\">\n<p data-start=\"636\" data-end=\"676\"><strong data-start=\"636\" data-end=\"676\">Deterministic Finite Automaton (DFA)<\/strong><\/p>\n<ul data-start=\"680\" data-end=\"820\">\n<li data-start=\"680\" data-end=\"751\">For each state and input symbol, there is <strong data-start=\"724\" data-end=\"750\">exactly one transition<\/strong>.<\/li>\n<li data-start=\"755\" data-end=\"820\">Example: A DFA recognizing binary strings that end with <code data-start=\"813\" data-end=\"817\">01<\/code>.<\/li>\n<\/ul>\n<\/li>\n<li data-start=\"822\" data-end=\"1116\">\n<p data-start=\"825\" data-end=\"869\"><strong data-start=\"825\" data-end=\"869\">Non-Deterministic Finite Automaton (NFA)<\/strong><\/p>\n<ul data-start=\"873\" data-end=\"1116\">\n<li data-start=\"873\" data-end=\"949\">For a given state and input symbol, there <strong data-start=\"917\" data-end=\"948\">can be multiple transitions<\/strong>.<\/li>\n<li data-start=\"953\" data-end=\"1026\">Can have <strong data-start=\"964\" data-end=\"991\">\u03b5 (epsilon) transitions<\/strong> (moves without consuming input).<\/li>\n<li data-start=\"1030\" data-end=\"1116\">Example: An NFA recognizing binary strings containing <code data-start=\"1086\" data-end=\"1090\">11<\/code> anywhere in the string.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3 data-start=\"1123\" data-end=\"1158\"><strong data-start=\"1126\" data-end=\"1158\">\u00a0Formal Definition of DFA<\/strong><\/h3>\n<p data-start=\"1159\" data-end=\"1184\">A <strong data-start=\"1161\" data-end=\"1168\">DFA<\/strong> is a 5-tuple:<\/p>\n<p><span class=\"katex-display\"><span class=\"katex\"><span class=\"katex-mathml\">(Q,\u03a3,\u03b4,q0,F)(Q, \\Sigma, \\delta, q_0, F)<\/span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"mopen\">(<\/span><span class=\"mord mathnormal\">Q<\/span><span class=\"mpunct\">,<\/span><span class=\"mord\">\u03a3<\/span><span class=\"mpunct\">,<\/span><span class=\"mord mathnormal\">\u03b4<\/span><span class=\"mpunct\">,<\/span><span class=\"mord\"><span class=\"mord mathnormal\">q<\/span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\"><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">0<\/span><\/span><\/span><span class=\"vlist-s\">\u200b<\/span><\/span><\/span><\/span><\/span><span class=\"mpunct\">,<\/span><span class=\"mord mathnormal\">F<\/span><span class=\"mclose\">)<\/span><\/span><\/span><\/span><\/span><\/p>\n<p data-start=\"1219\" data-end=\"1227\">where:<\/p>\n<ul data-start=\"1228\" data-end=\"1429\">\n<li data-start=\"1228\" data-end=\"1260\"><strong data-start=\"1230\" data-end=\"1235\">Q<\/strong> \u2192 Finite set of states<\/li>\n<li data-start=\"1261\" data-end=\"1294\"><strong data-start=\"1263\" data-end=\"1268\">\u03a3<\/strong> \u2192 Finite input alphabet<\/li>\n<li data-start=\"1295\" data-end=\"1341\"><strong data-start=\"1297\" data-end=\"1302\">\u03b4<\/strong> \u2192 Transition function (\u03b4: Q \u00d7 \u03a3 \u2192 Q)<\/li>\n<li data-start=\"1342\" data-end=\"1377\"><strong data-start=\"1344\" data-end=\"1350\">q\u2080<\/strong> \u2192 Initial state (q\u2080 \u2208 Q)<\/li>\n<li data-start=\"1378\" data-end=\"1429\"><strong data-start=\"1380\" data-end=\"1385\">F<\/strong> \u2192 Set of final (accepting) states (F \u2286 Q)<\/li>\n<\/ul>\n<h3 data-start=\"1431\" data-end=\"1450\"><strong data-start=\"1435\" data-end=\"1450\">Example DFA<\/strong><\/h3>\n<p data-start=\"1451\" data-end=\"1521\">Let&#8217;s define a DFA that accepts binary strings <strong data-start=\"1498\" data-end=\"1518\">ending with &#8217;01&#8217;<\/strong>.<\/p>\n<p data-start=\"1523\" data-end=\"1532\">States:<\/p>\n<ul data-start=\"1533\" data-end=\"1612\">\n<li data-start=\"1533\" data-end=\"1555\"><code data-start=\"1535\" data-end=\"1539\">q0<\/code> (Start State)<\/li>\n<li data-start=\"1556\" data-end=\"1576\"><code data-start=\"1558\" data-end=\"1562\">q1<\/code> (Reads &#8216;0&#8217;)<\/li>\n<li data-start=\"1577\" data-end=\"1612\"><code data-start=\"1579\" data-end=\"1583\">q2<\/code> (Reads &#8217;01&#8217; &#8211; Final State)<\/li>\n<\/ul>\n<div class=\"overflow-x-auto contain-inline-size\">\n<table data-start=\"1614\" data-end=\"1810\">\n<thead data-start=\"1614\" data-end=\"1655\">\n<tr data-start=\"1614\" data-end=\"1655\">\n<th data-start=\"1614\" data-end=\"1630\">Current State<\/th>\n<th data-start=\"1630\" data-end=\"1642\">Input &#8216;0&#8217;<\/th>\n<th data-start=\"1642\" data-end=\"1655\">Input &#8216;1&#8217;<\/th>\n<\/tr>\n<\/thead>\n<tbody data-start=\"1695\" data-end=\"1810\">\n<tr data-start=\"1695\" data-end=\"1732\">\n<td>q0 (Start)<\/td>\n<td>q1<\/td>\n<td>q0<\/td>\n<\/tr>\n<tr data-start=\"1733\" data-end=\"1772\">\n<td>q1<\/td>\n<td>q1<\/td>\n<td>q2 (Final)<\/td>\n<\/tr>\n<tr data-start=\"1773\" data-end=\"1810\">\n<td>q2 (Final)<\/td>\n<td>q1<\/td>\n<td>q0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3 data-start=\"1817\" data-end=\"1838\"><strong data-start=\"1820\" data-end=\"1838\">\u00a0NFA vs DFA<\/strong><\/h3>\n<div class=\"overflow-x-auto contain-inline-size\">\n<table data-start=\"1839\" data-end=\"2185\">\n<thead data-start=\"1839\" data-end=\"1865\">\n<tr data-start=\"1839\" data-end=\"1865\">\n<th data-start=\"1839\" data-end=\"1850\">Feature<\/th>\n<th data-start=\"1850\" data-end=\"1857\">DFA<\/th>\n<th data-start=\"1857\" data-end=\"1865\">NFA<\/th>\n<\/tr>\n<\/thead>\n<tbody data-start=\"1893\" data-end=\"2185\">\n<tr data-start=\"1893\" data-end=\"1975\">\n<td><strong data-start=\"1895\" data-end=\"1910\">Determinism<\/strong><\/td>\n<td>Unique transition per input<\/td>\n<td>Multiple transitions per input<\/td>\n<\/tr>\n<tr data-start=\"1976\" data-end=\"2031\">\n<td><strong data-start=\"1978\" data-end=\"2005\">Epsilon (\u03b5) transitions<\/strong><\/td>\n<td>Not allowed<\/td>\n<td>Allowed<\/td>\n<\/tr>\n<tr data-start=\"2032\" data-end=\"2117\">\n<td><strong data-start=\"2034\" data-end=\"2048\">Complexity<\/strong><\/td>\n<td>Simpler, more efficient<\/td>\n<td>More flexible, but harder to construct<\/td>\n<\/tr>\n<tr data-start=\"2118\" data-end=\"2185\">\n<td><strong data-start=\"2120\" data-end=\"2129\">Power<\/strong><\/td>\n<td>No more powerful than NFA<\/td>\n<td>Can be converted to DFA<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p data-start=\"2187\" data-end=\"2303\"><strong data-start=\"2190\" data-end=\"2203\">Key Fact:<\/strong> Every <strong data-start=\"2210\" data-end=\"2257\">NFA can be converted into an equivalent DFA<\/strong> (using the <strong data-start=\"2269\" data-end=\"2299\">subset construction method<\/strong>).<\/p>\n<h3 data-start=\"2310\" data-end=\"2352\"><strong data-start=\"2313\" data-end=\"2352\">\u00a0Applications of Finite Automata<\/strong><\/h3>\n<p data-start=\"2353\" data-end=\"2566\"><strong data-start=\"2356\" data-end=\"2389\">Lexical Analysis in Compilers<\/strong><br data-start=\"2389\" data-end=\"2392\" \/><strong data-start=\"2395\" data-end=\"2455\">Pattern Matching (Regular Expressions, String Searching)<\/strong><br data-start=\"2455\" data-end=\"2458\" \/><strong data-start=\"2461\" data-end=\"2494\">Protocol Design in Networking<\/strong><br data-start=\"2494\" data-end=\"2497\" \/><strong data-start=\"2500\" data-end=\"2564\">Text Processing (e.g., Searching for keywords in a document)<\/strong><\/p>\n<h3 data-start=\"2573\" data-end=\"2627\"><strong data-start=\"2576\" data-end=\"2627\">\u00a0GATE 1994 Sample Question (Finite Automata)<\/strong><\/h3>\n<p data-start=\"2628\" data-end=\"2871\"><strong data-start=\"2628\" data-end=\"2641\">Question:<\/strong><br data-start=\"2641\" data-end=\"2644\" \/>Which of the following statements is <strong data-start=\"2681\" data-end=\"2689\">true<\/strong>?<br data-start=\"2690\" data-end=\"2693\" \/>A) Every NFA has an equivalent DFA.<br data-start=\"2728\" data-end=\"2731\" \/>B) DFA is more powerful than NFA.<br data-start=\"2764\" data-end=\"2767\" \/>C) NFA can recognize more languages than DFA.<br data-start=\"2812\" data-end=\"2815\" \/>D) Some regular languages cannot be recognized by DFA.<\/p>\n<p data-start=\"2873\" data-end=\"3096\"><strong data-start=\"2873\" data-end=\"2884\">Answer:<\/strong> \u00a0<strong data-start=\"2887\" data-end=\"2927\">(A) Every NFA has an equivalent DFA.<\/strong><br data-start=\"2927\" data-end=\"2930\" \/><strong data-start=\"2933\" data-end=\"2949\">Explanation:<\/strong> DFA and NFA recognize the <strong data-start=\"2976\" data-end=\"3023\">same class of languages (Regular Languages)<\/strong>, but DFA has unique transitions while NFA allows multiple transitions.<\/p>\n<p data-start=\"3103\" data-end=\"3205\" data-is-last-node=\"\" data-is-only-node=\"\">Would you like more <strong data-start=\"3123\" data-end=\"3156\">GATE-style practice questions<\/strong> or explanations on <strong data-start=\"3176\" data-end=\"3201\">converting NFA to DFA<\/strong>?<\/p>\n<p>In the <strong>GATE 1994 Computer Science<\/strong> exam, a notable question in the <strong>Theory of Computation<\/strong> section focused on <strong>Finite Automata<\/strong>. This question required candidates to determine the regular expression corresponding to a given finite state automaton.(ExamSIDE)<\/p>\n<hr \/>\n<h3>\ud83d\udcd8 <strong>GATE 1994 Finite Automata Question Overview<\/strong><\/h3>\n<ul>\n<li><strong>Topic<\/strong>: Finite Automata &amp; Regular Expressions<\/li>\n<li><strong>Question Type<\/strong>: Subjective<\/li>\n<li><strong>Marks<\/strong>: 2<\/li>\n<li><strong>Task<\/strong>: Derive the regular expression for the language recognized by the provided finite state automaton.(ExamSIDE, ExamSIDE, Gate Overflow)<\/li>\n<\/ul>\n<p>While the specific diagram of the automaton isn&#8217;t provided here, the question tested the ability to analyze state transitions and construct the equivalent regular expression that defines the same language.<\/p>\n<hr \/>\n<h3>\u2705 <strong>Solution Approach<\/strong><\/h3>\n<p>To solve such a problem, one typically follows these steps:<\/p>\n<ol>\n<li><strong>Understand the Automaton<\/strong>: Analyze the states, transitions, start state, and accepting states of the given finite automaton.<\/li>\n<li><strong>Identify Patterns<\/strong>: Look for loops, paths, and sequences that lead to accepting states.<\/li>\n<li><strong>Construct Regular Expressions for Paths<\/strong>: For each path from the start state to an accepting state, construct a regular expression that represents the sequence of inputs along that path.<\/li>\n<li><strong>Combine Expressions<\/strong>: Use union ( + ), concatenation, and Kleene star ( * ) operations to combine the expressions for different paths into a single regular expression that represents the entire language accepted by the automaton.(Wikipedia)<\/li>\n<\/ol>\n<p>This method ensures that all accepted strings are captured by the resulting regular expression.(ExamSIDE)<\/p>\n<hr \/>\n<h3>\ud83c\udfa5 <strong>Video Explanation<\/strong><\/h3>\n<p>For a visual and detailed explanation of this and similar problems, you can refer to the following video:<\/p>\n<p>Regular Expressions &#8211; ALL GATE PYQs &#8211; Part 1 | Finite Automata<\/p>\n<p>This video covers various GATE questions related to regular expressions and finite automata, providing step-by-step solutions and insights.<\/p>\n<hr \/>\n<p>If you need further clarification or assistance with specific aspects of finite automata or regular expressions, feel free to ask!<\/p>\n<h3><a href=\"https:\/\/wpmedia.wolfram.com\/sites\/13\/2018\/02\/17-4-1.pdf\" target=\"_blank\" rel=\"noopener\">GATE 1994 Theory Of Computation Topic -Finite Automataj9<\/a><\/h3>\n","protected":false},"excerpt":{"rendered":"<p>GATE 1994 Theory Of Computation Topic -Finite Automata [fvplayer id=&#8221;150&#8243;] The GATE 1994 exam included Theory of Computation, and one of the fundamental topics in this domain is Finite Automata. Let&#8217;s go through the key concepts related to Finite Automata (FA) that might be relevant to GATE questions. \u00a0What is Finite Automata (FA)? A Finite [&hellip;]<\/p>\n","protected":false},"author":71,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1310],"tags":[],"class_list":["post-2865","post","type-post","status-publish","format-standard","hentry","category-theory-of-computation"],"_links":{"self":[{"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/posts\/2865","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/users\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/comments?post=2865"}],"version-history":[{"count":0,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/posts\/2865\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/media?parent=2865"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/categories?post=2865"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/tags?post=2865"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}