Hva er logisk programmering?
Logisk programmering er en type dataprogrammering der programmereren må gi datamaskininstruksjonene om hvordan du tar beslutninger ved hjelp av matematisk logikk, for eksempel bruk av en matematisk algoritme. Dataprogrammer består av kode som forteller datamaskinen hva du skal gjøre. Etter hvert vil datamaskinen imidlertid komme inn i et tilfelle der den må ta en beslutning om hvordan man går frem og uten informasjon om hvordan du gjør dette, kunne den ikke fullføre sin nåværende funksjon. Logikkprogrammering tar for seg denne typen beslutninger og gir instruksjoner til datamaskinen slik at den kan ta en "logisk" beslutning om hvordan man best kan svare på en viss situasjon. For logikkprogrammering til arbeid, må programmereren som skriver koden sørge for at uttalelsene hennes gir mening og er sanne, og er derfor logiske, og et dataprogram kjent som en teorem-lov er nødvendig for å ta beslutninger basert på uttalelsene den møter i programmererens kode.
En teorem-prover refererer til et dataprogram som er designet for å løse matematiske uttalelser kjent som teoremer. Teoremer er uttalelser som viser seg å være sanne basert på tidligere uttalelser. I logisk programmering fungerer teorem-borgeren sammen med uttalelsene som er opprettet av dataprogrammereren for å komme til konklusjoner. For eksempel, hvis koden sier at A er lik B og B er lik C, vil teorem-borgeren gjøre den logiske konklusjonen at a må være lik C. Denne prosessen er annerledes enn programmereren bare forteller datamaskinen i koden at a er lik C fordi dataprogrammet må trekke denne konklusjonen ved å bruke teoretisk-forstander og programmererens opprinnelige uttalelser i koden.
I teorien, for logisk programmering til arbeid, trenger programmereren bare å sikre at uttalelsene hennes er riktige og skaperen av teorem-staten skal sikre at programmet kan lese uttalelser og komme med mest EFfunksjonsbeslutninger basert på dem. Evnen til å ta en effektiv beslutning blir referert til som en datamaskin som fungerer "logisk." I virkeligheten overlapper de to arbeidsfeltene, og de som utfører logisk programmering, må ofte endre og manipulere koden basert på hvordan teorem-staten fungerer for å oppnå resultatene de ønsker. Bare å legge inn nøyaktige uttalelser om hvordan du tar en viss beslutning, er kanskje ikke nok til å få datamaskinen til å utføre riktig funksjon, og programmereren må teste koden hennes og gjøre justeringer deretter.
For logisk programmering til arbeid er det også avhengig av resonnement bakover. I tilbakevendende resonnement kommer programmet til konklusjoner ved å se på et sett med data og jobbe fra generelle kjente uttalelser for å komme til mer avanserte konklusjoner. Programmet vet kanskje at to informasjonsstykker er sanne, og det vil utlede at siden de to informasjonsstykkene er sanne, betyr det at en tredje informasjon også er sant. Det coNtinues denne prosessen til den når en logisk konklusjon basert på informasjonen den er gitt. På grunn av måten det fungerer, bygges logisk programmering på deklarativt representasjonsspråk, noe som betyr at programmet forteller datamaskinen hva det skal gjøre, men overlater det til teorem-staten for å bestemme den mest logiske eller effektive måten å utføre den forespurte prosedyren.