Constraint Solving & CLP(FD) 15. Dezember 2015



Ähnliche Dokumente
Sudoku-Informatik oder wie man als Informatiker Logikrätsel löst

Kosten-Leistungsrechnung Rechenweg Optimales Produktionsprogramm

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Schritt 1: mit dem gewohnten Benutzernamen und Passwort im Admin-Bereich einloggen

Programmiersprachen 2 (SS 2013)

Installation OMNIKEY 3121 USB

Erstellung von Arbeitsgruppen und Integration

Kundenspezifische Preise im Shop WyRu Online-Shop

GS-Buchhalter/GS-Office 2015 Saldovorträge in folgenden Wirtschaftsjahren erfassen

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar CAP-News 40

Installation von Druckern auf dem ZOVAS-Notebook. 1. Der Drucker ist direkt mit dem Notebook verbunden

Nach der Installation des FolderShare-Satellits wird Ihr persönliches FolderShare -Konto erstellt.

Wir machen neue Politik für Baden-Württemberg

Erfolg beginnt im Kopf

Übung - Datenmigration in Windows Vista

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

QTrade GmbH Landshuter Allee München Seite 1

Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9

Zusammenführen mehrerer Dokumente zu einem PDF In drei Abschnitten erstellen Sie ein Dokument aus mehreren Einzeldokumenten:

Dokumentenverwaltung im Internet

Neustart der VTS an Maschine sowie Terminal

Das große Buch Photoshop CS3 & Lightroom Stefan Gross Pavel Kaplun

Xesar. Die vielfältige Sicherheitslösung

STRATO Mail Einrichtung Mozilla Thunderbird

Systemvoraussetzung < zurück weiter >

Installation der Demoversion vom M-Doc AutoSigner

Datenbanken Kapitel 2

Screening Das Programm. zur Früherkennung von Brustkrebs

Datenexport aus JS - Software

Bruchrechnung Wir teilen gerecht auf

Hyperlink-Erstellung in InDesign für

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Für eine längere Laufzeit oder zusätzlichen Optionen sowie Jobarten, Regionen und Tätigkeitsbereiche werden immer Credits berechnet.

Willkommen bei Dropbox!

Prädikate zum Testen und Manipulieren der Struktur der Terme; Mehr meta-logische Prädikate z.b. zum Testen des Zustands der Ableitung;

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

1 topologisches Sortieren

Schritt-für-Schritt-Anleitung So verschlüsseln Sie Ihr -Konto auf Ihrem Android Smartphone

Graphic Coding. Klausur. 9. Februar Kurs A

6.2 Scan-Konvertierung (Scan Conversion)

Arbeitsblätter. Sinnvolle Finanzberichte. Seite 19

Präventionsforum+ Erfahrungsaustausch. HANDOUT GRUPPEN-ADMINISTRATOREN Anlage zum Endnutzer-Handbuch. Stand: Änderungen vorbehalten

COMPUTERIA VOM SERIENBRIEFE UND ETIKETTENDRUCK

Grundlagen der Künstlichen Intelligenz

Wissensbasierte Systeme

1 Vom Problem zum Programm

Feiertage in Marvin hinterlegen

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Workflows verwalten. Tipps & Tricks

Vorabversion. Schulung am Homepage Administration und Pflege

Arbeit zur Lebens-Geschichte mit Menschen mit Behinderung Ein Papier des Bundesverbands evangelische Behindertenhilfe e.v.

Anleitung für den SMS-Versand auf any-sms.de

Vision für Mac BENUTZERHANDBUCH

7.3 Einrichtung 13. Monatslohn. Auszahlung Ende Jahr / Ende der Beschäftigung

Übung - Konfigurieren einer Windows 7-Firewall

Adobe Photoshop CS2, CS3, CS4, CS5 mit Auto-SoftProof-Ansicht

SWOT Analyse zur Unterstützung des Projektmonitorings

Anmelden und Vorträge einreichen auf der JBFOne-Website Inhalt

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Teaser-Bilder erstellen mit GIMP. Bildbearbeitung mit GIMP 1

Ein Einfaches AIDS Modell

Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren.

GPS Garmin MapSource - Track erstellen und nutzen

Wärmebildkamera. Arbeitszeit: 15 Minuten


Nutzung der Onleihe Schritt für Schritt

So geht s Schritt-für-Schritt-Anleitung

Transaktionsempfehlungen im ebase Online nutzen

Binärbäume als weiteres Beispiel für abstrakte Datentypen in PVS mit in Knoten gespeicherten Werten vom Typ T:

Lokales Netzwerk Wie kann ich lokal installierte Drucker im Netzwerk für andere Nutzer freigeben? Frage:

Erste Schritte mit

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Affiliate Marketing Schnellstart Seite 1

Timed Automata (Zeitbeschriftete Automaten) [R. Alur: Timed Automata]

Denken und Träumen - Selbstreflexion zum Jahreswechsel

Melanie Kaspar, Prof. Dr. B. Grabowski 1

AW: AW: AW: AW: Kooperationsanfrage anwalt.de

Pflegeberichtseintrag erfassen. Inhalt. Frage: Antwort: 1. Voraussetzungen. Wie können (Pflege-) Berichtseinträge mit Vivendi Mobil erfasst werden?

7 Rechnen mit Polynomen

Anleitung vom 4. Mai BSU Mobile Banking App

Hilfe zu XR PACS ImageproWeb. Inhalt. Windows Updates. IE11 und Windows 7/8

Testplattform des Bereichs Multimedia und Fernlehre. Benutzerhandbuch für Teilnehmer

Die Entwicklung eines Glossars (oder eines kontrollierten Vokabulars) für ein Unternehmen geht üblicherweise in 3 Schritten vor sich:

Hinweise in Leichter Sprache zum Vertrag über das Betreute Wohnen

Anleitung zum Importieren, Durchführen und Auswerten von Umfragen in Blackboard

CAQ Software für Ihr Qualitätsmanagement. Ablauf für die Erfassung der Fehler in der Fertigung

Um die Rücklagen ordnungsgemäß zu verbuchen, ist es wichtig, Schritt-für-Schritt vorzugehen:


Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Erwin Grüner

Animationen erstellen

Quadratische Gleichungen

HTML5 HOCKEYSTICK EXPANDABLE BANNER v1.0

Manual Veranstaltungspflege Zugang Veranstalter. eventsuche.com/innsbruck

AutoTexte und AutoKorrektur unter Outlook verwenden

Vereine neu anlegen oder bearbeiten

SCHULVERSUCH INFORMATIK IN BADEN-WÜRTTEMBERG. Gerhard Liebrich Peter-Petersen-Gymnasium Mannheim

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

7. Bewässerung: Mehrmals pro Woche

Transkript:

Constraint Solving & 15. Dezember 2015

Was bisher geschah Generate-Test Generieren eines Lösungskandidaten Prüfen ob valide Lösung Backtracking für weitere Lösungen

Was jetzt geschieht Test-Generate Aufsetzen der Tests im Voraus Fail Early! Lösungen nur so weit wie nötig generieren Nur notwendige Tests ausführen

Constraint Programming Beschreibung der Eingeschaften einer gültigen Lösung In Form von Anforderungen an die Variablen Lösungsfindung automatisch

Begrifflichkeiten Domäne: Menge aller gültigen Werte, die eine Variable annehmen kann Constraint: Anforderung an eine Variable, Beschränkung Domäne wird durch zusätzliche höchstens kleiner!

Bibliotheken clpfd: Constraint Logic Programming over Finite Domains clpqr: Constraint Logic Programming over Rationals and Reals chr: Constraint Handling Rules - In Prolog eingebettete Programmiersprache

Domänen?Var in +D Variable Var ist in Domäne D Mögliche Domänen: Integer UntereGrenze.. ObereGrenze D1 \/ D2 Vereinigung von Domänen

Domänen 2?Vars in +D Variablen in Liste Vars sind in Domäne D indomain(var), bindet Variable auf Wert aus D + Backtracking

Ungleichheit: A # >= B, A # > B,... Gleichheit: A # = B,... Expressions: max(a,b), min(a,b), abs(a),... all different(vs), all distinct(vs)

Beispiele Beispiele für CLPFD

Frage Ist all different == paarweise Ungleichheit?

Spezielle Planung, Scheduling Automaten...

Nachdem alle Inferenzen ausgeschöpft sind Systematische oder randomisierte Suche nach Lösungen Beschränkt auf endliche Domänen

Labeling Cleveres Ausprobieren Aller noch möglichen Lösungen

Prädikate label/1 labeling/2, mit Optionen

Optionen für Variablenauswahl leftmost - default, Von Links nach Rechts ff - First Fail, kleinste Domäne zuerst ffc - First Fail most Constrained - kleinste Domäne + meiste min - Kleinste untere Grenze einer Expression max - Kleinste obere Grenze einer Expression

Optionen für Reihenfolge up - default down

Optionen für Branching step - default, für jede Variable Fallunterscheidung X # = V und X # = V enum, für jede Variable Auswahl aus X = V1, X=V2,... für alle V aus der Domäne bisect, für jede Variable FallunterscheidungX # =< M und X # > M, wobei M der Mittelpunkt der Domäne ist

Beispiele Beispiele Labeling und Optionen

Fazit Setzen der Optionen schwierig Optionen teilweise stark abhängig von der Problemstellung

Typisches Szenario Posten aller Modellierung unabhängig von der Suche nach einer Lösung! Domänen einschränken soweit möglich zur Suche nach Lösungen

Beispiele Kryptographische Puzzle

Zusätzlich zu Variablen im Constraint Boolsche Variable mit Ergebnis Ermöglicht negative Kann verschiedene Solver miteinander Verknüpfen

Beispiele Beispiele für