Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Computer Programspråk >> Content

    Hur att skilja mellan DFA & NDFA

    deterministiska och icke - deterministiska ändliga automater finns två typer av konceptuella "maskiner" som syftar till att kontrollera om en viss sträng av symboler lyder vissa regler - om det är acceptabelt som ett meddelande i vissa språk eller kod . Den automater läser en enda symbol i taget, och alltid finns i en viss "tillstånd. " Varje stat en automater kan vara i har en uppsättning regler för att reagera på nästa symbol som ska läsas - det kan ändras till en annan viss stat , eller förblir desamma . Om det efter en hel sträng har läst , har automater in en av en uppsättning acceptabla " sluttillstånd , " strängen är grammatiskt acceptabla inom språk automater testar för . Instruktioner
    1

    Undersök automater s regler . Dessa inkluderar : . Samtliga automater är möjliga tillstånd , dess uppsättning slutliga tillstånd och effekterna av alla möjliga symbol på varje stat
    2

    Kontrollera för att se om någon av automater s stater har flera möjliga reaktioner på en särskild symbol . Om någon gör , är automater ickedeterministisk - ett NDFA . Till exempel, om en automater ursprungliga tillståndet kan reagera på symbolen " A " antingen genom att flytta till en annan stat eller genom att förbli densamma , är det en NDFA . En NDFA returnerar ett positivt resultat om det finns något sätt att nå ett slutligt tillstånd att använda en given sträng .
    3

    Tänk på att en DFA existerar för varje NDFA . Eftersom en NDFA returnera ett positivt resultat för en specifik sträng måste ha minst en framgångsrik väg genom det för att strängen , måste det med nödvändighet finnas en motsvarande DFA som accepterar den strängen , som endast innehåller reglerna för den enda väg som användes . Här är ett väldigt enkelt exempel : Anta att du har en NDFA med ett slutligt tillstånd som kallas S1 , vars initiala tillståndet S0 svarar på symbolen " A " antingen genom att byta till S1 eller genom att förbli i S0 . Denna maskin skulle acceptera en sträng som består helt enkelt av " A , " eftersom det finns en möjlig väg till S1 , och det finns en motsvarande DFA där " A " alltid ändrar S1 S0 , stryka den oanvända banan
    . Addera

    Tidigare:

    nästa:
    relaterade artiklar
    ·Vad är Program flödesscheman
    ·Hur vill kolla Storlek rollback segment
    ·CNC-bearbetning Basics
    ·Fördelar och nackdelar med datorspråk
    ·Hur man uppdaterar en Source SDK
    ·Hur man skriver Computer Code
    ·Hur man använder ListBox i C GUI
    ·Hur man skapar en återställningsknappen med HTML -pro…
    ·Hur man gör Software Movie Review
    ·Hur Sök efter Apostrofer i T - SQL
    Utvalda artiklarna
    ·Hur man tolka en HTML -fil med Ruby
    ·Hur du tar bort ODBC DSN på VBnet
    ·Hur man stänger en PHP felrapportering
    ·Hur man skickar ett e-postbilaga i Vb.Net
    ·SQL Class Online Training
    ·Hur man använder Funktion mallar i C + +
    ·Hur man lär sig Java Script för gratis
    ·Hur man beräknar Array Längd i Javascript
    ·Så här visar du ett Word-dokument i ASP.NET
    ·Hur du tar bort JavaScript-filer
    Copyright © Dator Kunskap http://www.dator.xyz