Wat is logisch programmeren? (met foto's)
Logisch programmeren is een type computerprogrammering waarbij de programmeur de computer instructies moet geven over het nemen van beslissingen met behulp van wiskundige logica, zoals het gebruik van een wiskundig algoritme. Computerprogramma's bestaan uit code die de computer vertelt wat hij moet doen. Uiteindelijk zal de computer echter een instantie tegenkomen waar hij een beslissing moet nemen over hoe verder te gaan en zonder enige informatie over hoe dit te doen, de huidige functie niet kon voltooien. Logisch programmeren behandelt dit soort beslissingen en geeft instructies aan de computer, zodat deze een "logische" beslissing kan nemen over hoe het beste op een bepaalde situatie kan worden gereageerd. Om logisch programmeren te laten werken, moet de programmeur die de code schrijft ervoor zorgen dat haar uitspraken logisch en waar zijn, dus logisch, en een computerprogramma dat bekend staat als een theorem-prover is nodig om beslissingen te nemen op basis van de uitspraken die het tegenkomt in de programmeur code.
Een theorem-spreekwoord verwijst naar een computerprogramma dat is ontworpen om wiskundige verklaringen op te lossen die bekend staan als stellingen. Stellingen zijn uitspraken waarvan is aangetoond dat ze waar zijn op basis van eerdere uitspraken. In logisch programmeren werkt de theorema-spreekwoord samen met de uitspraken van de computerprogrammeur om conclusies te trekken. Als de code bijvoorbeeld aangeeft dat A gelijk is aan B en B gelijk is aan C, zal de stelling de logische conclusie trekken dat A gelijk moet zijn aan C. Dit proces is anders dan de programmeur die de computer gewoon vertelt in de code dat A gelijk is aan C omdat het computerprogramma deze conclusie moet trekken met behulp van de stelling en de originele beweringen van de programmeur in de code.
Om logisch programmeren te laten werken, hoeft de programmeur in theorie alleen te zorgen dat haar uitspraken correct zijn en moet de maker van de stelling ervoor zorgen dat het programma uitspraken kan lezen en op basis daarvan de meest efficiënte beslissingen kan nemen. De mogelijkheid om een efficiënte beslissing te nemen wordt een computer genoemd die "logisch" functioneert. In werkelijkheid overlappen de twee werkvelden elkaar en moeten degenen die logische programmering uitvoeren, vaak de code wijzigen en manipuleren op basis van hoe de stelling werkt om de gewenste resultaten te bereiken. Het is misschien niet voldoende om nauwkeurige uitspraken te doen over het nemen van een bepaalde beslissing om de computer de juiste functie te laten uitvoeren, en de programmeur moet haar code testen en dienovereenkomstig aanpassingen maken.
Om logisch programmeren te laten werken, is het ook afhankelijk van achteraf redeneren. Achterwaarts redenerend komt het programma tot conclusies door te kijken naar een set gegevens en te werken op basis van algemeen bekende verklaringen om tot geavanceerdere conclusies te komen. Het programma weet misschien dat twee stukjes informatie waar zijn, en het zal concluderen dat aangezien deze twee stukjes informatie waar zijn, dit betekent dat een derde stuk informatie ook waar is. Het gaat door met dit proces totdat het een logische conclusie bereikt op basis van de informatie die het krijgt. Vanwege de manier waarop het werkt, is logisch programmeren gebaseerd op declaratieve representatietaal, wat betekent dat het programma de computer vertelt wat het moet doen, maar het aan de stelling overlaat om de meest logische of efficiënte manier te bepalen om de gevraagde procedure uit te voeren.