Resolutie

Course subject(s) 6. Propositielogica

Resolutie is net als de boommethode een gestructureerde manier om de geldigheid van een redenering te onderzoeken, door de vervulbaarheid te onderzoeken van de verzameling met daarin de premissen en de negatie van de conclusie. Het verschil is dat resolutie maar één regel gebruikt, maar dat, om dit mogelijk te maken, alle formules in die verzameling in conjunctieve normaalvormmoeten staan; elke formule is dan een conjunctie van disjuncties. Eerst moeten dus alle formules in dat formaat worden gebracht, wat gelukkig niet moeilijk is. Als dit is gebeurd bevat de verzameling met daarin de premissen en de negatie van de conclusie dus alleen maar disjuncties. In het geval van de (geldige) redenering die we al eerder hebben gezien

premisse 1: als A dan B
premisse 2: A
conclusie: B

bevat deze verzameling de formules {¬A ∨ B, A, ¬B} waar “∨” het symbool voor “of” is en “¬” het symbool voor “niet”.

De resolutie-regel zegt dat als formules A ∨ C en ¬A ∨ B beide waar zijn, de formule B ∨ C afgeleid mag worden (dat die formule dan ook waar is). De argumentatie hiervoor is dat altijd één van beide mogelijkheden A en ¬A waar is. (Overigens is er een stroming in de logica, het intuïtionisme, die hier niet vanuit wil gaan.) Wanneer het A is, moet volgens ¬A ∨ B ook B waar zijn, en wanneer het ¬A is, moet vanwege A ∨ C ook C waar zijn. (Ga maar na: als A of C waar is, en je zegt A is niet waar (dus ¬A is waar), dan moet C wel waar zijn om “A of C” toch waar te laten zijn.) In beide gevallen A en ¬A is één van B of C waar, dus is dat in het algemeen zo. In het voorbeeld hierboven kunnen we uit ¬A ∨ B en A afleiden dat B waar is, maar dan moeten B en ¬B allebei waar zijn, wat niet mogelijk is: deverzameling {¬A ∨ B, A, ¬B} is dus niet vervulbaar, zodat er geen tegenvoorbeeld bestaat en de redenering dus geldig is. (Gelukkig maar, want dat wisten we al.)

Het voordeel van het feit dat resolutie maar één regel gebruikt is dat het een methode is die makkelijk te implementeren is. Dat is dan ook vaak gebeurd, met name in het systeem Prolog, wat staat voor Programming in Logic. Met dit systeem kun je dus een computer laten uitzoeken of een bepaalde redenering geldig is (een stelling is), in het engels heet dat theorem proving (“theorem” is engels voor stelling). Prolog is voor allerlei platformen gratis beschikbaar, en het is leuk je erin te verdiepen. Door op slimme manier premissen te definiëren kun je Prolog in z’n zoektocht naar het antwoord op de vraag of een bepaalde conclusie logisch uit die premissen volgt, hele handige dingen laten doen. Je kunt in Prolog op deze manier zelfs alles programmeren wat je in bekendere talen als C of java ook voor elkaar kunt krijgen! Het is zeer uitdagend dit eens te proberen, want het vergt een hele andere manier van denken.

Leedoelen
De student begrijpt de werking van de resolutiemethode en kan deze methode toepassen om elke gegeven propositielogische redenering op geldigheid te onderzoeken. Bovendien kan de student in geval van ongeldigheid uit een resolutie-afleiding een tegenvoorbeeld construeren dat deze ongeldigheid aantoont.

Geschikte opgaven:
Logica, 15.5.1
Practicum 2, opgave 2
Herkansing practicum 2, opgave 2

Bestanden

Creative Commons License
Redeneren en Logica by TU Delft openCourseWare is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Based on a work at https://ocw.tudelft.nl/courses/redeneren-en-logica/.
Back to top