logo

Prolog | En introduksjon


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/