Software-Wiki
Advertisement

MINION ist ein kostenloses Programm bzw. eine Sprache zur Lösung von Bedingungserfüllungsproblemen (Constraint-Satisfaction-Problems = CSP). Das Werkzeug wurde am Institut für Computerwissenschaften der University of St Andrews entwickelt.

Im Gegensatz zu einigen anderen CSP-Solvern, für welche man z.B. C++- oder Java-Programmteile schreiben muss, schreibt man für die Anwendung von MINION nicht viel mehr als die logischen Formeln nieder (Prolog-Ansätze sind recht ähnlich).

Um die Arbeit zu erleichtern gibt es noch das Programm TAILOR[1]. Es verfügt über eine interaktive graphische Oberfläche, die MINION ausführt und die Sprache Essence’ benutzt.[2][3] Die Benutzer benötigen daher keine Programmierkenntnisse, um Probleme in MINION zu lösen. TAILOR wird seit September 2010 nicht mehr weiterentwickelt[4] und wurde durch Savile Row[5][6] abgelöst.

Essence’ ist bei der Formulierung von Problemstellungen weitaus weniger aufwendig und vom jeweiligen Lösungssystem unabhängig. Ein weiterer Vorteil von Essence’ ist, dass man ganze Problemklassen und nicht nur einzelne Problemstellungen (wie in MINION) formulieren kann.

Beispiel[]

Man löse das System: {pigs + hens = 7} und {4·pigs + 2·hens = 22}

Der MINION-Code hierzu lautet:[7]

MINION 3
**VARIABLES**
DISCRETE pigs {0..7}
DISCRETE hens {0..7}

**SEARCH**
PRINT [[pigs],[hens]]
VARORDER [pigs,hens]

**CONSTRAINTS**
weightedsumgeq([2,4], [hens,pigs], 22)
weightedsumleq([2,4], [hens,pigs], 22)
sumleq([hens,pigs], 7)
sumgeq([hens,pigs], 7)

**EOF**

Die entsprechende Essence’-Version[8] ist leichter lesbar.

Weblinks[]

Einzelnachweise[]


Wikidata-logo Im Wikidata-Objekt Q6865654 befinden sich offene Daten zum Thema und Links zu Wikimedia-Projekten.
Info Sign  Dieser Wikipedia-Artikel wurde gemäß GFDL bzw. CC-by-sa mit allen Versionen importiert.
Advertisement