#typesofautomata
Explore tagged Tumblr posts
smartcherryposts · 7 years ago
Text
Types Of Languages - Types Of Grammars - Types Of Automata(Machine)
Tumblr media
Types Of Languages - Every Language Have Two Components, One Is Grammer And Another One Is Acceptor Or Machine. Grammer Generates Language, Acceptor Accepts The Language, Acceptor Is A Machine.
Tumblr media
If The Language Changes Then Its Grammer Is Also Changes, If The Language Changes The Machine Also Changes, Which Accepts The Language. We'll Understand The Types Of Languages.
Types Of Formal Languages
According To The Memory, According To The Grammer And Change In Grammer, Are The Reasons For To Have Different Language Necessarily. Let Know Why To Have Different Languages. To Accept A Language Few Machines Needs Memory, Few Machine Don't Need Memory In It To Accept-Language. According To The Machine Architecture Or According To The Machine Model, I Have Divided Languages Into Different Types. Based On The Grammer I Have Divided Languages Into Different Types.   First Language In Types Of Formal Languages Is Regular Language, In ShortCut, I'm Writing Regular Language As RL RL Means Regular Language Remember This, In Theory Of Computation We Mostly Use Shorts Cuts. I Use Regular Language, I Don't Need Memory Size In The Machine For This Language.   Second Is Context Free Language (CFL) Context Free Grammer Is Little Different Compare To Regular Language, I Need To Use Stack Memory For Context Free Grammer. Third Is Context-Sensitive Language (CSL) I Need To Use More Than One Memory In Context-Sensitive Language, Fourth Is Recursive Enumerable Language (REL)   According To The Machine Architecture, According To The Grammer I Have Divided Languages Into Four Types. According To The Memory Size And Memory Model These Are Types Of Languages, These Are The Types Of Languages We Have.  
Types Of Grammars
The Set Of All The Rules Which Are Used For Generate A String Is Known As Grammer. I Have Follow Few Conditions To Generate A String, Those Conditions Are Created By Grammer. Example - Few Rules I'm Writing Here S->AB // S Gives AB, S Means Starting Symbol,If I Want To Create A String, I Have Start, So This Is The Symbol For Starting A String. And Which Is Denoted With Capital Letters, We Call These Capital Characters As Non- Terminals Or Variables, In C Language You Will See Variables, Similarly Here These Variable Values Can Be Changed.   A->a // A Gives Small a, The Small Characters, Can Be Seen On Left Side, Those Are Called Terminals, Terminals Means We Cant Expand These And We Cant Change, If I Get ' a ' In A String, I Can't Change That 'a ', Whereas If I Get " AB " In Any String, I Can Replace It With      ' a ', That's Why We Call S->AB As Variables And ' a ' As Terminals.   B->b // B Gives Small b   For Example - If I Want To Create A String, I Have Input Alphabets Σ= {a,b}, I Have To Create String Using 'ab', By Using The Above Grammer Rules Can I Create A String ?? Lets See
Tumblr media
Using The Given Set Of Rules Of Grammer We Created A String ' ab ' ' S ' Is My Starting Symbol, Always I Need To Start With Starting Symbol ' S ' Then I Need To Replace ' S ' With The Variable I Have On The Left Side Of ' S ' i.e ' AB ' , In The Place Of ' AB ' It Is Possible To Have Variables And Non- Variables And Terminals. I Replaced ' S ' With The Variables ' AB '   I Have A Set A Rule i.e A - > a, In Which A Replaces ' a ' , i Replaced ' A ' With ' a ' Similarly B- > a , I Replaced b In The Place Of B   If You Traverse The String, The Charecters Came In The Leaf Node, That Combination We Call As " String " So ab Is The String I Have Generated.   'ab' Is The String Generated Using The Set Of Rules Of Grammer Given And By Taking The Input Alphabets Σ={a,b} And That String Gets Satisfied For That Language Of That Grammer. Like That Grammer Rules Are Written In This Way.   Types Of Grammer Regular Grammer (RL) Context Free Grammer (CFG) Context Sensitive Grammer (CSG) Recursive Enumerable Grammer (REG) Or Unstructured Grammer.   According To The Language, I'll Have Its Own Grammer, Every Language Has Its Own Grammer.If I Create A String Using A Particular Grammer, That Required String Represent Its Language.  
Types Of Automate (Machine)
The Language I'm Talking, To Accept That Language,It Need's A Machine It Needs A Mathermatical Model. Why I Need Machine? Lets Understand With An Example.   Imagine That I Have Took A Language Called L. L= Set Of All The Strings Starts With ' a ' // Means All The Strings In The Language Starting Symbol Should Be ' a ' Input Alphabets Σ = {a,b} ={a,ab,aab,aba,abb,aaab,abbab,.....} // Generated Strings I Can Create Infinite Strings In This Language. I Can Create Any Number Of Strings Using Starting ' a ' Symbol. I'll Store All These Strings In Machine.   Imagine That I Need To Search For A String Which Satisfies This Language. If I Give A Input String 'aba'  To Machine And I'll Ask Machine To See The String Is There Or Not In The Language ' L '   Machine Searches ' aba ' String In All The Stored Stored Strings Where It Is There Or Not.   I Want To Talk Practically, There Are Infinite Strings Which Accepts The Language ' L ' In The Machine, Storing Large Number Of Strings In My Machine Is Little Difficult Because Every Machine Has A Problem Called Memory.I'll Have Limioted Amount Of Storage Capacity, I Cant Store Infinite Number Of Data.   So, If I Get Any String As Input, I Need A Mechanism With Which I Can Judge That Wheather This String Satisfies My Language Or Not. So,I Need To Create A Machine Which Gives Output As " Yes " Or " No".   Thats Where, What Will Be The Input For My Machine? My Machine Input Will Be 'Language' And Input String. And What Should I Create? I Should Create A Finite Machine. Finite Machine Means, Where Finite Number Of Decisions Taking Ability Will Be There And Finite Number Of States Will Be Available. Which Gives Me "Output" Saying That "This String Is In This Language" Or Not   If I Can " I Can Also Store All The Infinite Strings Of The Language In My Machine" And Whenever I Get A Input I Can Do Searching Operation To Find The Input String From The Stored Strings. But My Language Is Infinite,That's Why I Cant Store Infinite Data In Finite Memory. So, I Need A Type Of Representation, Which We Call It As Finite Machine.   We Call That Finite Machine As Finite Automata In This Theory Of Computations(Automata), We Need To Create Lot Of Automata( Machine)
Tumblr media
If You Observe The Picture, The FA(Finite Automata) Takes Input As Language And Gives Out Put As ' Yes ' or ' No ' For This Language If The Input String Given To The Automata Is Valid Or Acceptable To It, Then My Finite Automata Gives Output As ' Yes ' If The The Input String That Doesn't Satisfy The Language, That Doesn't Satisfy The Restrictions Of The Language,For That Finite Automata Gives Output As ' No ' So According To The Language, I Have To Change The Machine,If My Language Is Finite Language, My Machine Is Finite Automate Because Finite Automata Accepts Finite Language. If The Language And Its Grammer Changes, If I Require Memory, I Need To Attach Memory To Finite Automata(Machine) To Accept Those Languages. According To That, My Machine Is Divided Into Different Types.   Types Of Automata Finite Automata (FA) PushDown Automata (PDA) Linear Bounded Automata (LBA) Turing Machine According To The Memory Requirement, Memory Attachment, We Divided It Into Different Types. 1.Finite Automata In Finite Automata, There Will Be Finite Number Of States. We won't Attach Any Memory To This. 2.Push Down Automata Here I Also Required Stack Memory, Because Few Languages Will Get Accepted By Push Down Automata, So One Stack Memory Gets Attached To It. 3.Linear Bounded Automata Here Also I Need I Required One More Stack Memory Because The Languages Accepted By Linear Bounded Automata, There I Will Be Required More Memory. 4.Turing Machine Turing Machine Is Big Machine Among All. Turing Machine Is Also Called Abstract Model Of Computer Because Whatever The Problem's Can Be Solved By Turing Machine, All Those Problems Can Be Solved By Computer.   So This Is The Information About Automata(Machine), Grammars And Languages.   If You Like The Explanation, Install Smart CSE Android App From Google Play Store, So That You Can View All The Topics Of Theory Of Computation In Your Mobile.
Tumblr media
  Thanks                               Read the full article
0 notes