A regelmotoren er programvare som vil behandle en anmodning i henhold til en database med regler . I en regelmotor system , velger brukeren et sett med regler og deretter sender en " forespørsel ", som er behandlet i henhold til reglene. Resultatene av denne prosedyre blir deretter rapportert av systemet. Dette informasjonsbehandling modellen er nyttig i en rekke applikasjoner. Prolog
Den beste måten å forstå hvordan regler motorer arbeidet er å lære dataspråket Prolog . Den Prolog språk består av en regelmotor og et sett av konvensjoner om hvordan å skrive regler . Lære Prolog fungerer lærer deg hvordan en regelmotor fungerer - og alle de sakene som kommer opp med regelmotorer som backtracking og hvordan du representerer fakta og regler . Etter reglene har blitt skrevet , er Prolog gitt en erklæring om at den prøver å finne i databasen av fakta. Hvis det ikke er et faktum , men er konklusjonen i en regel , forløpere av regelen blir nye søk uttalelser. Rekursjon og backtracking fortsette inntil enten reglene er fornøyd eller ikke kan være fornøyd , og deretter Prolog system uttaler den opprinnelige utsagnet sant , falsk eller undecidable .
Program Arkitektur
< p> Hvis prosjektet komiteen tillater det, bør du skrive din regelmotoren i Prolog . Hvis ikke, vil det sannsynligvis ligne mye Prolog - alle regelmotorer gjøre . I den første delen av prosjektet , skrive fakta. Denne del er en database. Neste skrive reglene - reglene skal grupperes sammen med konklusjonen . Hvis " A og B innebærer X " og " C og D innebærer X " også, så disse to reglene er om X og bør grupperes sammen. X er definert eller beskrevet av A og B , så vel som ved C og D. Den regelmotoren vil først søke i databasen for å se om anmodningen matcher en post i databasen. Hvis ja , reagerer systemet " Ja. " Ellers regelmotoren ser på konklusjonene til alle regler - hvis det ikke er kamp , reagerer systemet "Nei " Hvis setningen samsvarer X , to baner vil bli betraktet : A og B, og C og D. Ved å forfølge A og B ikke fører noe , systemet " backtracks " og vurderer C og D. Ved hjelp prologparsar gjør dette enkelt , fordi den regelmotoren er bygget inn i språket .
System Testing
Når fungerende regelmotor ser på en uttalelse, prøver den å " jorde ut " uttalelsen . I logikk , betyr å finne en link ( gjennom reglene ) fra uttalelsen til fakta. Hvis setningen (eller dens negasjon ) er i fakta , er du ferdig . Hvis ikke, så sjekk for å se om påstanden er konklusjonen i en regel. Hvis ikke, så den uttalelsen ikke kan avgjøres . Hvis uttalelsen samsvarer med konklusjonen i en regel , må du bytte mål uttalelse med forløpere av regelen . Dette er å lage en kobling ved å gå bakover gjennom en regel. Hvis dette søket mislykkes, kan det være nødvendig å Backtrack og vurdere en annen regel som konkluderte matchet uttalelse. Du bør teste systemet ved å gi den gradvis mer komplekse uttalelser. Prøv først en uttalelse som matcher et faktum i databasen. Bruk deretter en uttalelse som bare krever én regel . Bruk deretter en uttalelse som krever tilbakesporing , etc.