Inhoud

Som en Product
   Analyse
      Variant 1
      Variant 2
   Implementatie
      Opbouw commandobestand
      Grafische weergave
   Gebruik programma
   Download
Som en Product - Implementatie

Implementatie

Om het raadsel automatisch op te kunnen lossen is een programma ontwikkeld. Hierin wordt elk mogelijk paar getallen (x,y) gerepresenteerd als een mogelijke toestand van de wereld. Binnen het programma worden deze mogelijke werelden gesorteerd op som en product, zodanig dat werelden met dezelde som (respectievelijk product) tot dezelfde groep horen. Op deze manier kunnen uitspraken over de kennis van S en P efficiënt worden gecontroleerd.

Om meer varianten van het probleem te kunnen uitdrukken in het programma, is naast de gebruikelijke logische symbolen voor negatie, conjunctie en kennis ook een symbool toegevoegd waarmee getest kan worden hoeveel werelden een agent nog voor mogelijk houdt. Wanneer P bijvoorbeeld weet dat voor onbekende variabelen x > 1 en y > x het product 12 is, dan zijn er voor hem twee mogelijkheden: (x,y) = (2,6) of (x,y) = (3,4). Met behulp van de operator kan worden getest of een agent nog een bepaald aantal werelden voor mogelijk houdt. Hoe commando's kunnen worden doorgevoerd in het programma wordt beschreven in de sectie over commandobestanden.

Het programma kent drie basisfuncties:

  • het maken van een announcement, waardoor alle agenten mogelijk een aantal mogelijke werelden schrapt;
  • testen op de waarheid van een formule;
  • een lijst aanmaken van alle paren (x,y) waarin een bepaalde formula waar is.
Verschillende varianten van het raadsel kunnen op deze manier eenvoudig worden gemodelleerd, en de kennis die bij de de spelers S en/of P aanwezig is kan met dezelfde formules worden gecontroleerd.

Som en Product - Implementatie