Introduksjon:
Prolog er en logisk programmering Språk. Det har en viktig rolle i kunstig intelligens. I motsetning til mange andre programmeringsspråk, er Prolog først og fremst ment som et deklarativt programmeringsspråk. I prolog uttrykkes logikk som relasjoner (kalt fakta og regler). Kjernen i prolog ligger på logikk blir brukt. Formulering eller beregning utføres ved å kjøre en spørring over disse relasjonene.
Installasjon i Linux:
Åpne en terminal (Ctrl+Alt+T) og skriv:
innsetting sort java
sudo apt-get install swi-prolog>
Syntaks og grunnleggende felt:
I prolog erklærer vi noen fakta. Disse faktaene utgjør kunnskapsbasen til systemet. Vi kan spørre mot kunnskapsbasen. Vi får utdata som bekreftende hvis spørringen vår allerede er i kunnskapsbasen eller den er antydet av Knowledge Base, ellers får vi utdata som negativ. Så, Knowledge Base kan betraktes som lik database, som vi kan spørre mot. Prologfakta er uttrykt i et bestemt mønster. Fakta inneholder enheter og deres forhold. Entiteter skrives innenfor parentesen atskilt med komma (, ). Forholdet deres kommer til uttrykk i starten og utenfor parentesen. Hvert faktum/regel ender med en prikk (.). Så et typisk prologfakta går som følger:
industri og fabrikk
Format : relation(entity1, entity2, ....k'th entity). Example : friends(raju, mahesh). singer(sonu). odd_number(5). Explanation : These facts can be interpreted as : raju and mahesh are friends. sonu is a singer. 5 is an odd number.>
Nøkkelegenskaper :
1. Sammenslåing: Den grunnleggende ideen er, kan de gitte begrepene fremstilles for å representere den samme strukturen.
2. Tilbakesporing: Når en oppgave mislykkes, sporer prolog bakover og prøver å tilfredsstille tidligere oppgave.
3. Rekursjon: Rekursjon er grunnlaget for ethvert søk i programmet.
Kjører spørringer:
En typisk prolog-spørring kan stilles som:
Query 1 : ?- singer(sonu). Output : Yes. Explanation : As our knowledge base contains the above fact, so output was 'Yes', otherwise it would have been 'No'. Query 2 : ?- odd_number(7). Output : No. Explanation : As our knowledge base does not contain the above fact, so output was 'No'.>
Fordeler :
1. Enkel å bygge database. Trenger ikke mye programmeringsinnsats.
2. Mønstermatching er enkelt. Søk er rekursjonsbasert.
3. Den har innebygd listehåndtering. Gjør det enklere å spille med alle algoritmer som involverer lister.
reactjs kart
Ulemper:
1. LISP (et annet logisk programmeringsspråk) dominerer over prolog med hensyn til I/O-funksjoner.
2. Noen ganger er input og output ikke lett.
Applikasjoner :
Prolog er mye brukt i kunstig intelligens (AI). Prolog brukes også for mønstertilpasning over parsetrær med naturlig språk.
Referanse 1: https://en.wikipedia.org/wiki/Prolog
Referanse 2: http://www.swi-prolog.org/