Skip to main content

Vad är logisk programmering?

Logisk programmering är en typ av datorprogrammering där programmeraren måste ge datorinstruktionerna om hur man fattar beslut med hjälp av matematisk logik, till exempel användning av en matematisk algoritm.Datorprogram består av kod som säger datorn vad man ska göra.Så småningom kommer datorn emellertid att stöta på ett exempel där den måste fatta ett beslut om hur man ska gå vidare och utan någon information om hur man gör detta, kunde den inte slutföra sin nuvarande funktion.Logikprogrammering handlar om dessa typer av beslut och ger instruktioner till datorn så att den kan fatta ett logiskt beslut om hur man bäst kan svara på en viss situation.För att logikprogrammering ska fungera måste programmeraren som skriver koden för att säkerställa att hennes uttalanden är vettiga och är sanna, så är de logiska, och ett datorprogram som kallas en teorem-prover krävs för att fatta beslut baserat på de uttalanden som den möter i programmerarnaKod.

En satsprover hänvisar till ett datorprogram som har utformats för att lösa matematiska uttalanden som kallas teorem.Satser är uttalanden som visar sig vara sanna baserat på tidigare uttalanden.I logisk programmering arbetar teorem-proverna tillsammans med de uttalanden som skapas av dataprogrammeraren för att nå slutsatser.Till exempel, om koden anger att A är lika med B och B är lika med C, kommer teoremproverna att göra den logiska slutsatsen att A måste vara lika med C. Denna process är annorlunda än programmeraren helt enkelt berättar för datorn iKod som A är lika med C eftersom datorprogrammet måste dra denna slutsats med hjälp av teorem-prover och programmerarnas ursprungliga uttalanden i koden.

I teorin, för logisk programmering att fungera, behöver programmeraren bara se till att hennes uttalanden ärRätt och skaparen av Theorem-Prover bör se till att programmet kan läsa uttalanden och fatta de mest effektiva besluten baserat på dem.Förmågan att fatta ett effektivt beslut kallas en dator som fungerar logiskt.I verkligheten överlappar de två arbetsfälten, och de som utför logisk programmering måste ofta ändra och manipulera koden baserat på hur teorem-proverna fungerar för att uppnå de resultat de vill ha.Att helt enkelt sätta in exakta uttalanden om hur man fattar ett visst beslut kanske inte är tillräckligt för att få datorn för att utföra rätt funktion, och programmeraren måste testa sin kod och göra justeringar i enlighet därmed.

För logisk programmering att fungera, den ocksåförlitar sig på bakåtriktade resonemang.I bakåtresonemang kommer programmet till slutsatser genom att titta på en uppsättning data och arbeta från allmänna kända uttalanden för att nå mer avancerade slutsatser.Programmet kanske vet att två informationsdelar är sanna, och det kommer att dra slutsatsen att eftersom dessa två informationsdelar är sanna, betyder det att en tredje information också är sant.Den fortsätter denna process tills den når en logisk slutsats baserad på den information som den ges.På grund av hur det fungerar byggs logisk programmering på deklarativt representationsspråk, vilket innebär att programmet berättar för datorn vad det ska göra, men lämnar det upp till satsproverna för att bestämma det mest logiska eller effektiva sättet att utföra den begärda proceduren.