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. Logic Programmering 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 programmerarens kod.
a Theorem-Prover hänvisar till ett datorprogram som har utformats för att lösa matematiska uttalanden som kallas sats. Satser är uttalanden som visar sig vara sanna baserat på tidigare uttalanden. I logisk programmering arbetar teoremproverna tillsammans med de uttalanden som skapas av dataprogrammeraren för att nå slutsatser. Till exempel, om koden säger 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 datorn i koden att A är lika med C eftersom datorprogrammet måste dra denna slutsats med hjälp av teorem-prover och programmerarens originaluttal i koden.
I teorin, för logisk programmering att arbeta, behöver programmeraren bara se till att hennes uttalanden är korrekta och skaparen av teorem-Proverna bör se till att programmet kan läsa uttalanden och göra det mest EFFärdiga beslut baserade 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äcker 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 att logisk programmering ska fungera förlitar det sig också 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. Det continues denna process tills den når en logisk slutsats baserad på den information 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.