Prolog ( Programming in Logic ) werd ontwikkeld in Frankrijk voor het creëren van natuurlijke taal vertalers . Het werd geperfectioneerd in Schotland voor het schrijven van automatische bewijshulpmiddelen voor wiskunde en logica . Het kwam tot internationale aandacht toen het werd gekozen voor de Japanners " generatie vijfde" -project . Prolog programma's bestaan uit een zorgvuldig geordende lijst van regels ( geschreven als hoorn clausules ) . De gebruiker een vraag en het programma antwoorden vraagt - in termen van de regels . Het is een opmerkelijk bruikbaar paradigma . De Standard Horn clausules Horn clausules werden uitgevonden in 1951 door de Amerikaanse wiskundige Alfred Horn . In zijn woorden , een hoorn clausule is " een disjunctie van letterlijke die hoogstens een positief letterlijke hebben . " Een typische hoorn clausule ziet er als volgt uit: ( niet A ) of ( niet B ) of C. De positieve letterlijke is C , zowel A en B zijn 'negatief'. Als de hoorn clausule heeft precies een positieve letterlijk - als Prolog horn clausules doen - is het wel een duidelijke hoorn clausule . Horn clausules zijn meestal geschreven in een vereenvoudigde , maar gelijkwaardig model . De disjunctieve statement ( niet A ) of ( B niet ) of C logisch gelijk aan de staat ( A en B ) brengt C. Dit wordt vereenvoudigd tot : A , B - : C ( waarbij de " - : " vertegenwoordigt de implicatie pijl ) . De eenvoudigste hoorn clausule is een enkel positief letterlijke ( waarin er geen pijl ) - dit is hetzelfde voor zowel de hoorn clausules en Prolog De Prolog Horn clausules < . p > Prolog regels eruit hoorn clausules , met uitzondering van de pijl wijst de andere kant op . De grammatica regel dat een zin bestaat uit een nominale constituent en een werkwoord uitdrukking wordt geschreven S : - NP , VP . De set van regels kan ook de uitspraak dat een zelfstandig naamwoord zin is samengesteld uit een artikel en een zelfstandig naamwoord , NP geschreven bevatten : - A , N. Als er een andere regel die bepaalt dat een zelfstandig naamwoord zin is een meervoudig zelfstandig naamwoord , kan het worden geschreven NP : - PN . Als alle regels zijn in de plaats , kan de gebruiker een " straf " voor aan het programma en het programma zal proberen om de " zin" te passen aan de regels . Proloog werkt met achteruit door de regels - als de vraag overeenkomt met de conclusie ( positieve letterlijk ) van de regel , de antecedenten ( negatieve letterlijke ) worden de nieuwe vragen . Als alle vragen uiteindelijk overeenkomen met feiten , de " straf " is een geldige zin . Dit matching-proces werkt voor wiskunde , logica en andere regels gebaseerde systemen als het werkt voor grammatica . The Cut Clausule Er zijn drie soorten van hoorn clausules die worden gebruikt in Prolog : de (geen pijl ) verklaring van de feiten , de regel ( met een pijl , een positieve letterlijke en ten minste een negatieve letterlijke ) en de snede . Cut clausules bevatten de " ! " symbool . Wanneer de Prolog interpretator ziet de snede symbool ( uitgesproken als " bang" ) , het verwijdert de resterende regels die dezelfde positieve letterlijke als de regel dat de knal bevat hebben . Dit kan verschillende effecten hebben op de programma's - het kan bepaalde negatieve resultaten vertegenwoordigen , kan het voorkomen of behandelen soepel met mislukkingen , of het kan gewoon elimineren deel van het zoekgebied en de snelheid van het programma < br . >
|