← Nieuwste papers
💻 computer science

DateSAT: A Framework for Solving Date and Period Constraints

Dit artikel introduceert DateSAT, het eerste raamwerk voor het formeel uitdrukken en oplossen van vervullingsconstraints die data en kalenderperioden betrekken door ze te reduceren tot op gehele getallen gebaseerde SMT-formules, en valideert de effectiviteit daarvan door middel van een empirische evaluatie op een gecureerde dataset van 450 constraints.

Oorspronkelijke auteurs: Leyi Cui, Shrey Tiwari, Rohan Padhye

Gepubliceerd 2026-05-26
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Leyi Cui, Shrey Tiwari, Rohan Padhye

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je een raadsel probeert op te lossen: "De dag voor gisteren was ik 25, en volgend jaar word ik 28." Wanneer is dit mogelijk?

Voor een mens is dit een leuk hersenkraker. Voor een computer is het een nachtmerrie. Computers zijn geweldig in wiskunde, maar ze zijn verschrikkelijk in kalenders. Ze "weten" niet dat februari soms 29 dagen heeft, of dat het toevoegen van "één maand" aan 31 januari niet uitkomt op 31 februari (omdat die dag niet bestaat).

Dit artikel introduceert DateSAT, een nieuw hulpmiddel dat computers leert om na te denken over datums en tijdsperiodes zonder in de war te raken.

Hier is hoe de auteurs dit hebben opgesplitst, met behulp van alledaagse analogieën:

1. Het Probleem: Computers Hebben een Hekel aan "Vage" Tijd

Stel je een computer voor als een zeer strenge bibliothecaris die alleen exacte getallen begrijpt. Als je het vraagt om "1 maand" aan een datum toe te voegen, raakt het in paniek als de wiskunde niet perfect klopt.

  • De Wereldse Chaos: Het artikel wijst erop dat dit niet zomaar een raadsel is. Echte software is gecrasht door datumbugs. Bijvoorbeeld: een bug zorgde er ooit voor dat benzinepompen in Nieuw-Zeeland op 29 februari stopten met werken, omdat de computer niet wist hoe het de extra dag moest verwerken. Een andere bug zorgde ervoor dat het Amerikaanse Octrooibureau de verkeerde vervaldatums gaf aan duizenden octrooien.
  • De AI-Glitch: Zelfs moderne AI (zoals de chatbots die we vandaag gebruiken) krijgt deze datumraadsels vaak verkeerd, omdat ze niet zijn gebouwd om strikte kalenderwiskunde te doen.

2. De Oplossing: DateSAT (De "Kalendervertaler")

De auteurs bouwden een raamwerk genaamd DateSAT. Denk aan DateSAT als een vertaler die tussen een complexe datumvraag van een mens en de strenge wiskundige hersenen van een computer zit.

  • De Invoer: Je geeft DateSAT een vraag zoals: "Is het mogelijk dat een bedrijf een wettelijke verkiezing 500 dagen na het kopen van aandelen houdt, als de deadline 9 maanden na de 'aankoopdatum' ligt?"
  • De Magie: DateSAT vertaalt dit rommelige, menselijke kalenderprobleem in een schoon, strikt wiskundig probleem dat een computerafwijzer (een SMT-oplosser) perfect kan verwerken.

3. Hoe Het Werkt: Vijf Verschillende "Kaarten"

Het moeilijkste deel van het project was uitzoeken hoe je de kalender naar wiskunde vertaalt. De auteurs probeerden vijf verschillende strategieën, alsof je een stad probeert te navigeren met vijf verschillende soorten kaarten:

  1. De Naïeve Kaart (De Stap-voor-Stap Wandelaar): Deze methode probeert dag voor dag te lopen. Als je 100 dagen optelt, zet het 100 kleine stapjes. Het is zeer nauwkeurig maar ongelooflijk traag, alsof je een land doorkruist met één voet per keer.
  2. De Epoch-Kaart (De Meestepunt-Marker): Deze methode kiest een vast startpunt (zoals "1 maart 2000") en telt hoeveel dagen er sindsdien zijn verstreken. Het is geweldig voor het optellen van dagen, maar raakt in de war wanneer je moet springen in "maanden" of "jaren".
  3. De Hybride Kaart (Het Dubbelzicht): Deze strategie gebruikt twee kaarten tegelijk. Het gebruikt de "Meestepunt"-kaart voor het optellen van dagen en de "Stap-voor-Stap"-kaart voor het optellen van maanden. Het schakelt alleen over wanneer nodig om tijd te besparen.
  4. De Alpha-Beta Kaart (Het Kalenderrooster): Dit is een slimme afkorting. In plaats van elke enkele dag te tellen, telt het "hoeveel maanden zijn verstreken" en "hoeveel dagen in de huidige maand". Het is alsof je weet dat je op "Straat 5, Huis 3" bent in plaats van elk huis vanaf het begin van de stad te tellen.
  5. De Alpha-Beta-Tabel Kaart (Het Spiekbriefje): Dit is de winnaar. Het gebruikt het "Kalenderrooster"-idee maar voegt een vooraf geschreven spiekbriefje toe. Omdat kalenders zich in cycli herhalen (elke 4 jaar), zoekt het hulpmiddel het antwoord gewoon op in een tabel in plaats van elke keer de wiskunde te doen. Dit is de snelste methode en lost complexe problemen tot 2,4 keer sneller op dan de trage "Naïeve" methode.

4. De Proefrit: DateSATBench

Om te bewijzen dat hun hulpmiddel werkt, verzonnen de auteurs niet zomaar willekeurige vragen. Ze bouwden een testset genaamd DateSATBench met 450 verschillende problemen:

  • 100 werden gegenereerd door AI om lastige randgevallen te vinden.
  • 150 waren willekeurig gegenereerde "stress-tests" ontworpen om het systeem te breken.
  • 200 waren gehaald uit echte Amerikaanse belastingwetten om te zien of het echte juridische documenten kon verwerken.

De Resultaten:

  • Het hulpmiddel loste 85% van de problemen op in minder dan een minuut.
  • De "Spiekbriefje"-methode (Alpha-Beta-Tabel) was de duidelijke kampioen en loste problemen op in een fractie van een seconde die de "Naïeve" methode veel langer kostte.
  • In één test vonden ze een verborgen bug in een Python-functie die door twee verschillende programmeurs was geschreven om te controleren of een datum binnen een venster van 18 maanden viel. De menselijke testers misten de bug, maar DateSAT vond het direct.

5. Waarom Dit Belangrijk Is

Het artikel concludeert dat DateSAT het eerste hulpmiddel is dat computers in staat stelt om symbolisch te redeneren over datums en periodes. Dit betekent dat het kan controleren of een stuk code logisch correct is wat tijd betreft, of of een juridisch contract een tegenstrijdigheid in zijn datums heeft, zonder dat het de code een miljoen keer hoeft uit te voeren om te zien of het crasht.

Kortom, DateSAT geeft computers een "gezond verstand" begrip van kalenders, waardoor datumgerelateerde logica verandert van een bron van dure bugs in een oplosbaar wiskundig probleem.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →