Lyckad datorprogrammering börjar långt innan du sätter dig ner framför en bildskärm eller öppna upp datorn . Ett program är en lösning på ett specifikt problem , och när du skapar en plan för att lösa detta problem , kommer din lösning kommer så mycket lättare för dig . Ändliga automater hjälpa dig att planera den lösningen , och att veta skillnaden mellan deterministiska eller icke-deterministisk finita automater kommer att öka dina chanser att lyckas . State Machine
En tillståndsmaskin är bara ett annat namn för en ändlig automat . Det är en samling av olika stater som samverkar för att nå önskan mål av den givna uppgiften . Till exempel kan du skapa en tillståndsmaskin för att identifiera om en sträng representerar ett visst ord . Inmatning det ordet , säger ordet " person " skulle börja statens maskinens process .
States
staterna utgör ett annat steg i processen . För ordet - erkännande ändlig automat i det sista avsnittet , är den första , eller inledande skede det inledande skedet , där vi kan se ut för den första bokstaven i det önskade ordet . För detta exempel skulle det inledande skedet vara bokstaven " p ", den första bokstaven i ordet " person". Om den första bokstaven är " p ", då det första tillståndet nås och ändlig automat har anlitats .
Transitions
Transitions länka stater i finita automater . För att komma till varje ny successiva tillstånd , måste en fastighet befinnas vara sant . För exempel , är den nödvändiga övergången att nästa bokstav vara bokstaven " e ". Om bokstaven " e " är verkligen nästa bokstav , sedan ingången reser till nästa tillstånd . Ingången då kommer att kontrolleras i följande stater , och varje gång ingången uppfyller nödvändiga villkor för tillståndet , det kommer övergången tills den slutliga tillstånd uppnås eller ingången visar sig vara falskt .
deterministiska och icke-deterministisk
tillståndsmaskinen beskrivs i föregående avsnitt är en deterministisk ändlig automat , där varje stat är unik . Vad skulle göra en ändlig automat icke-deterministisk är om varje tillstånd var inte . För exempel , om staten maskinen tillåts ingången att ha någon bokstav som den andra bokstaven för ordet "person" för att övergången till nästa , sedan nästa staten inte skulle vara unikt , vilket gör det till en icke-deterministisk ändlig automat .
Addera ditt