Haskell zur Constraint-Programmierung HaL8
|
|
- Insa Hafner
- vor 8 Jahren
- Abrufe
Transkript
1 Haskell zur Constraint-Programmierung HaL8 Alexander Bau 2. Mai 2013 Wir benutzen eine Teilmenge von Haskell zur Spezifikation von Constraint- Systemen über Haskell-Datentypen. Ein Constraint-Compiler erzeugt zur Übersetzungszeit aus einem parametrisierten Constraint-System ein Haskell- Programm, welches zur Laufzeit für einen gegebenen Parameter eine aussagenlogische Formel generiert. Dabei werden rekursive Datentypen geeignet in ihrer Größe beschränkt, um eine endlich große Formel zu garantieren. Zu dieser Formel bestimmt ein SAT-Solver eine erfüllende Belegung, aus der schließlich eine erfüllende Belegung des ursprünglichen Constraint-Systems rekonstruiert wird. Es wird die Transformation von algebraischen Datentypen und Pattern-Matches auf diesen Typen diskutiert. 1 Einleitung In der Constraint-Programmierung sind für Constraint-Systeme f der Form f : U B solche Belegungen u U von Interesse, für die f(u) = gilt; wobei B = {, }. Es existieren effiziente Suchverfahren für verschiedene Mengen U, um solche erfüllenden Belegungen zu finden [3, 1]. Der wesentliche Vorteil der Constraint- Programmierung besteht in der Trennung der Problemspezifikation, in Form eines Constraint-Systems, von jenen problemunabhängigen Suchverfahren. Dieser Beitrag beschäftigt sich mit der Möglichkeit, eine Teilmenge von Haskell (Haskell ) als Spezifikationssprache für Constraint-Systeme über Haskell -Daten zu nutzen. Dadurch kann Haskell als etablierte Programmiersprache in einem anderen Programmierparadigma genutzt werden. Spracheigenschaften wie algebraische Datentypen, rekursive Funktionen, Pattern-Matching und polymorphe Typen höherer Ordnung erlauben eine wesentlich ausdrucksstärkere Spezifikation von Constraint-Systemen gegenüber bisherigen Ansätzen, z.b. SAT und SMT. Ein Constraint-Compiler übersetzt ein über P parametrisiertes Constraint-System in Haskell vom Typ f : P U B in eine aussagenlogische Formel F, die von einem abau@imn.htwk-leipzig.de
2 SAT-Solver gelöst werden kann. Da die Erfüllbarkeit aussagenlogischer Formeln ein erfolgreich erforschtes Gebiet ist, existieren laufzeiteffiziente SAT-Solver wie Minisat 1. Damit erlaubt unserer Ansatz sowohl eine natürliche Spezifikation des Constraint-Systems in einer etablierten Sprache, als auch dessen Lösung durch schnelle Suchverfahren. Schließlich kann eine erfüllende Belegung u U für f aus einer erfüllenden Belegung von F rekonstruiert werden, so dass f(p, u) = gilt. Beispiel 1 Das Beispiel zeigt ein Constraint-System f : Nat Nat B über Peano-Zahlen: data Bool = data Nat = Z S Nat eqnat x y = case x of Z - > case y of Z - > S y -> S x -> case y of Z -> S y -> eqnat x y add x y = case x of Z -> y S x -> S ( add x y) f p u = eqnat p ( add u (S (S Z ))) Der Übersetzungsprozess ist zweistufig: 1. zunächst wird aus einem Constraint-System f : P U B in Haskell ohne Kenntnis des Parameter zur Übersetzungszeit eine Haskell-Funktion f : P (B n B), n N erzeugt. 2. f wird zur Laufzeit auf einen Parameter p P angewendet. Die resultierende aussagenlogische Formel F kann schließlich mit einem externen SAT-Solver gelöst werden. Eine erfüllende Belegung für f wird aus der erfüllenden Belegung für F rekonstruiert. Ein wesentliches Problem bei der Übersetzung ist die Beschränkung auf einen endlichen Bereich von U. Da rekursive Haskell -Datentypen unendlich große Mengen repräsentieren, müssen Rekursionen geeignet in ihrer Tiefe beschränkt werden. Wir bearbeiten dieses Problem unter Angabe eines Allokators für die Elemente U als Teil der Parametermenge P. 1
3 2 Vergleich zu vorhandenen Arbeiten Bibliotheken wie Gecode 2 oder Satchmo 3 ermöglichen die explizite Konstruktion von Finite-Domain-Constraint-Systemen. Dadurch ist die Beschränkung des Problems auf einen endlichen Bereich kein Problem des Werkzeugs, sondern der Spezifikation des Constraint-Systems selbst. Der Nachteil gegenüber dem hier vorgestellten Ansatz besteht in der Notwendigkeit, ein neues Werkzeug bzw. eine neue Sprache zu erlernen, um das Constraint-System zu spezifizieren. Haskell wird in anderen Bereichen bereits erfolgreich als Spezifikationssprache eingesetzt, so z.b. für digitale Schaltungen [2, 4]. 3 Datenübersetzung Zur Übersetzung eines Haskell -Constraint-Systems f in eine aussagenlogische Formel ist es notwendig, die Daten, auf denen f operiert, als Menge von Booleschen Variablen auszudrücken. Definition 1 Eine Haskell -Datendeklaration hat die folgende Form: c v 1... v m = c 1 t 11 t t 1n1... c k t k1 t k2... t knk wobei c einen m-stelligen Typkonstruktor benennt v i, 0 i m die Typvariablen von c benennt c i, 1 i k die Konstruktoren von c benennt n i 0, 1 i k gleich der Anzahl der Konstruktorargumente von c i ist t ij, 1 i k, 0 j n i der Typ des j-ten Arguments des i-ten Konstruktors ist Dabei gilt, dass die in den Konstruktorargumenten vorkommenden Variablen durch die Typvariablen v 1... v m gebunden sein müssen. Bei der Übersetzung von Haskell -Daten eines Types, dessen Typdeklaration aus k Konstruktoren besteht, werden die Konstruktoren mit log k 2 Booleschen Variablen x i entsprechend ihrer Reihenfolge in der Typdeklaration durch eine Binärkodierung dieser Variablen nummeriert. Die Booleschen Variablen bezeichnen wir als Flags. Jedes Konstruktorargument wird rekursiv mit diesem Schema übersetzt. Abbildung 1 illustriert einige beispielhafte Übersetzungen üblicher Datentypen
4 Bool = Abbildung 1: Einige Datenübersetzungen Pair = Pair Bool Bool Either = [ ] Left Bool Right Bool [x 1 ] Pair Left Right [x] [x 1 ] [x 2 ] [x 2 ] [x 3 ] 4 Programmübersetzung In Haskell können durch Pattern-Matching die Konstruktorargumente eines Datums extrahiert werden. Da zur Übersetzungszeit der äußerste Konstruktor des untersuchten Ausdrucks möglicherweise nicht bekannt ist, muss die Programmübersetzung für alle Zweige des Pattern-Matches stattfinden. Definition 2 Wir nehmen einem Pattern-Match der Form c 1 v 11 v v 1n1 b 1 r = case e of... c k v k1 v k2... v knk b k an, wobei die Konstruktoren c 1,..., c k vollständig in der Reihenfolge ihrer Deklaration vorkommen die Konstruktorargumente durch Typvariablen t ij gebunden werden b 1,..., b k die Zweige des Pattern-Matches bezeichnen und vom selben Typ sind Abhängig von den Flags f der Übersetzung von e wird die i-te, im Resultat r vorkommende, Boolesche Variable r i durch eine Konjunktion vom k Implikationen kodiert:, wobei r i (f 10? = 0 b1i ) (f 10? = 1 b2i ) (f 10? = k 1 bki ) f 10 die Interpretation der Flags f der Übersetzung von e im Dezimalsystem? darstellt. f 10 = j gilt also genau dann, wenn die Flags f den j + 1-ten Konstruktoren indexieren.
5 b ji die i-te Variable im j-ten Zweig des Pattern Matches bezeichnet (s. Nummerierung der Variablen in Abb. 1) Beispiel 2 Wir betrachten folgenden Pattern-Match: { x r = case e of y, wobei e vom Typ Bool und x, y vom Typ Either sind. Entsprechend der Nummerierung der Flags in Abb. 1 sei e i (bzw. x i und y i ) das i-te Flag der Übersetzung von e (bzw. x und y). Die Übersetzung des Resultates r hat nach Definition 2 schließlich folgende Struktur: [(e 1 x 1 ) (e 1 y 1 )] Left [(e 1 x 2 ) (e 1 y 2 )] Right [(e 1 x 3 ) (e 1 y 3 )] 5 Ausblick Zur effizienten Übersetzung von Haskell -Programmen sind Optimierungen nötig. Diese basieren auf der Annahme, dass Formeln mit weniger Klauseln und Variablen in kürzerer Zeit vom Solver gelöst werden können. Beispielsweise können Haskell -Daten kompakter kodiert werden, in dem Konstruktorargumente überlappt werden. Ebenso ist die Übersetzung von Ausdrücken, die ausschließlich von bekannten Daten abhängen, nicht sinnvoll, da diese ohne Hilfe des SAT-Solvers ausgewertet werden können. In einem Constraint-Compiler ist also die Unterscheidung zwischen bekannten Daten und unbekannten Daten wesentlich. Weiterhin ist die Speicherung und Wiederverwendung von bereits generierten Teilformeln sinnvoll. Literatur [1] Krzysztof R. Apt. Principles of constraint programming. Cambridge University Press, [2] Per Bjesse, Koen Claessen, Mary Sheeran, and Satnam Singh. Lava: Hardware design in haskell. In ICFP, pages , [3] Petra Hofstedt and Armin Wolf. Einführung in die constraint-programmierung, [4] John Matthews, Byron Cook, and John Launchbury. Microprocessor specification in hawk. In ICCL, pages , 1998.
4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
MehrZeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
Mehr4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:
4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie
MehrVermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.
1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrSemantik von Formeln und Sequenzen
Semantik von Formeln und Sequenzen 33 Grundidee der Verwendung von Logik im Software Entwurf Syntax: Menge von Formeln = Axiome Ax K ist beweisbar Formel ϕ beschreiben Korrektkeit Vollständigkeit beschreibt
MehrData Mining: Einige Grundlagen aus der Stochastik
Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
MehrKapitalerhöhung - Verbuchung
Kapitalerhöhung - Verbuchung Beschreibung Eine Kapitalerhöhung ist eine Erhöhung des Aktienkapitals einer Aktiengesellschaft durch Emission von en Aktien. Es gibt unterschiedliche Formen von Kapitalerhöhung.
MehrWürfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
MehrFormale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt David Farago, Christoph Scheben, Mattias Ulbrich Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt
Mehr1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:
Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:
MehrGrammatiken. Einführung
Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrRekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt
Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung
MehrIRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken
Version 2.0 1 Original-Application Note ads-tec GmbH IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken Stand: 27.10.2014 ads-tec GmbH 2014 IRF2000 2 Inhaltsverzeichnis
MehrKapiteltests zum Leitprogramm Binäre Suchbäume
Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm
MehrDie Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.
Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,
MehrTheorie der Informatik
Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax
MehrGrundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen
Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in
MehrFachbericht zum Thema: Anforderungen an ein Datenbanksystem
Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrFormeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur
Signatur Formeln Am Beispiel der Aussagenlogik erklären wir schrittweise wichtige Elemente eines logischen Systems. Zunächst benötigt ein logisches System ein Vokabular, d.h. eine Menge von Namen, die
MehrFestigkeit von FDM-3D-Druckteilen
Festigkeit von FDM-3D-Druckteilen Häufig werden bei 3D-Druck-Filamenten die Kunststoff-Festigkeit und physikalischen Eigenschaften diskutiert ohne die Einflüsse der Geometrie und der Verschweißung der
MehrAbamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER
Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit
MehrEinführung in. Logische Schaltungen
Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von
MehrStellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster
Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.
MehrKapitel 5: Dynamisches Programmieren Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrErfüllbarkeit und Allgemeingültigkeit
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik Erfüllbarkeit 44 Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wennesein I gibt, so dass I = ϕ
MehrAustausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen
Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:
MehrUnterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis
Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Das komplette Material finden Sie hier: Download bei School-Scout.de
MehrDatenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware
Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO
MehrIndividuelle Formulare
Individuelle Formulare Die Vorlagen ermöglichen die Definition von Schnellerfassungen für die Kontenanlage sowie für den Im- und Export von Stammdaten. Dabei kann frei entschieden werden, welche Felder
MehrAZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"
AZK 1- Freistil Nur bei Bedarf werden dafür gekennzeichnete Lohnbestandteile (Stundenzahl und Stundensatz) zwischen dem aktuellen Bruttolohnjournal und dem AZK ausgetauscht. Das Ansparen und das Auszahlen
Mehr10 Erweiterung und Portierung
10.1 Überblick In vielen Fällen werden Compiler nicht vollständig neu geschrieben, sondern von einem Rechnersystem auf ein anderes portiert. Das spart viel Arbeit, ist aber immer noch eine sehr anspruchsvolle
MehrAGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
MehrLogik für Informatiker
Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:
MehrEine Logikschaltung zur Addition zweier Zahlen
Eine Logikschaltung zur Addition zweier Zahlen Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung ist die Darstellung von Zahlen im Binärsystem. Eine Logikschaltung
MehrHow-to: Webserver NAT. Securepoint Security System Version 2007nx
Securepoint Security System Inhaltsverzeichnis Webserver NAT... 3 1 Konfiguration einer Webserver NAT... 4 1.1 Einrichten von Netzwerkobjekten... 4 1.2 Erstellen von Firewall-Regeln... 6 Seite 2 Webserver
MehrHow to do? Projekte - Zeiterfassung
How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...
MehrFolge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12
Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
MehrInformationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.
MehrSJ OFFICE - Update 3.0
SJ OFFICE - Update 3.0 Das Update auf die vorherige Version 2.0 kostet netto Euro 75,00 für die erste Lizenz. Das Update für weitere Lizenzen kostet jeweils netto Euro 18,75 (25%). inkl. Programmsupport
Mehr11.3 Komplexe Potenzreihen und weitere komplexe Funktionen
.3 Komplexe Potenzreihen und weitere komplexe Funktionen Definition.) komplexe Folgen: z n = x n + j. y n mit zwei reellen Folgen x n und y n.) Konvergenz: Eine komplexe Folge z n = x n + j. y n heißt
MehrMotivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.
Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de
Mehr3. LINEARE GLEICHUNGSSYSTEME
176 3. LINEARE GLEICHUNGSSYSTEME 90 Vitamin-C-Gehalt verschiedener Säfte 18,0 mg 35,0 mg 12,5 mg 1. a) 100 ml + 50 ml + 50 ml = 41,75 mg 100 ml 100 ml 100 ml b) : Menge an Kirschsaft in ml y: Menge an
MehrEinführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)
Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff
MehrEinfügen von Bildern innerhalb eines Beitrages
Version 1.2 Einfügen von Bildern innerhalb eines Beitrages Um eigene Bilder ins Forum einzufügen, gibt es zwei Möglichkeiten. 1.) Ein Bild vom eigenem PC wird auf den Webspace von Baue-die-Bismarck.de
MehrTask: Nmap Skripte ausführen
Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses
MehrRente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen
1 3.2. entenrechnung Definition: ente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren entenperiode = Zeitabstand zwischen zwei entenzahlungen Finanzmathematisch sind
MehrLernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.
6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente
MehrUnterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:
Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: If-clauses - conditional sentences - Nie mehr Probleme mit Satzbau im Englischen! Das komplette Material finden Sie hier: School-Scout.de
MehrAUTOMATISCHE E-MAIL-ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!
AUTOMATISCHE E-MAIL-ARCHIVIERUNG 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD! INHALT AUTOMATISCHE E-MAIL-ARCHIVIERUNG... 4 Eingehende E-Mails können
MehrDie Lernumgebung des Projekts Informationskompetenz
Beitrag für Bibliothek aktuell Die Lernumgebung des Projekts Informationskompetenz Von Sandra Merten Im Rahmen des Projekts Informationskompetenz wurde ein Musterkurs entwickelt, der den Lehrenden als
MehrBinäre Suchbäume (binary search trees, kurz: bst)
Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.
MehrKurzeinweisung. WinFoto Plus
Kurzeinweisung WinFoto Plus Codex GmbH Stand 2012 Inhaltsverzeichnis Einleitung... 3 Allgemeines... 4 Vorbereitungen... 4 Drucken des Baustellenblatts im Projekt... 4 Drucken des Barcodes auf dem Arbeitsauftrag
MehrDokumentation. estat Version 2.0
Dokumentation estat Version 2.0 Installation Die Datei estat.xla in beliebiges Verzeichnis speichern. Im Menü Extras AddIns... Durchsuchen die Datei estat.xla auswählen. Danach das Auswahlhäkchen beim
MehrÜbung Theoretische Grundlagen
Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory
MehrNachkalkulation. Hat sich das Objekt CVO Auxilium hilden im Juni rentiert?
Die bietet sehr viele Informationsmöglichkeiten, die durch exakte Fragestellungen abgerufen werden können. Um die jeweilige Frage zu beantworten, ist es ggf. notwendig, mehrere Abfragen zu starten und
MehrBERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG
Frist berechnen BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG Sie erwägen die Kündigung eines Mitarbeiters und Ihr Unternehmen hat einen Betriebsrat? Dann müssen Sie die Kündigung
MehrKorrelation (II) Korrelation und Kausalität
Korrelation (II) Korrelation und Kausalität Situation: Seien X, Y zwei metrisch skalierte Merkmale mit Ausprägungen (x 1, x 2,..., x n ) bzw. (y 1, y 2,..., y n ). D.h. für jede i = 1, 2,..., n bezeichnen
MehrPlanen mit mathematischen Modellen 00844: Computergestützte Optimierung. Autor: Dr. Heinz Peter Reidmacher
Planen mit mathematischen Modellen 00844: Computergestützte Optimierung Leseprobe Autor: Dr. Heinz Peter Reidmacher 11 - Portefeuilleanalyse 61 11 Portefeuilleanalyse 11.1 Das Markowitz Modell Die Portefeuilleanalyse
MehrLineare Gleichungssysteme
Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen
MehrPhysik & Musik. Stimmgabeln. 1 Auftrag
Physik & Musik 5 Stimmgabeln 1 Auftrag Physik & Musik Stimmgabeln Seite 1 Stimmgabeln Bearbeitungszeit: 30 Minuten Sozialform: Einzel- oder Partnerarbeit Voraussetzung: Posten 1: "Wie funktioniert ein
Mehrt r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )
Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen
MehrAbschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1
B 1.0 B 1.1 L: Wir wissen von, dass sie den Scheitel hat und durch den Punkt läuft. Was nichts bringt, ist beide Punkte in die allgemeine Parabelgleichung einzusetzen und das Gleichungssystem zu lösen,
Mehr9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83
9.. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 Die Grundfrage bei der Anwendung des Satzes über implizite Funktionen betrifft immer die folgende Situation: Wir haben eine Funktion f : V W und eine Stelle x
MehrDarstellungsformen einer Funktion
http://www.flickr.com/photos/sigfrid/348144517/ Darstellungsformen einer Funktion 9 Analytische Darstellung: Eplizite Darstellung Funktionen werden nach Möglichkeit eplizit dargestellt, das heißt, die
Mehr2.11 Kontextfreie Grammatiken und Parsebäume
2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle
MehrStrategie & Kommunikation. Trainingsunterlagen TYPO3 Version 4.3: News Stand 27.04.2011
Trainingsunterlagen TYPO3 Version 4.3: News Stand 27.04.2011 Seite 1 / Maud Mergard / 27.04.2011 TYPO3-Schulung für Redakteure Stand: 23.08.2010 Um sich in TYPO3 einzuloggen, rufen Sie bitte im Internet
MehrPetri-Netze / Eine Einführung (Teil 2)
Manuel Hertlein Seminar Systementwurf Lehrstuhl Theorie der Programmierung Wiederholung (1) Petri-Netz = bipartiter, gerichteter Graph Aufbau: Plätze (passive Komponenten) Transitionen (aktive Komponenten)
MehrTheoretische Grundlagen der Informatik WS 09/10
Theoretische Grundlagen der Informatik WS 09/10 - Tutorium 6 - Michael Kirsten und Kai Wallisch Sitzung 13 02.02.2010 Inhaltsverzeichnis 1 Formeln zur Berechnung Aufgabe 1 2 Hamming-Distanz Aufgabe 2 3
Mehra n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:
Beispiel: Wir untersuchen die rekursiv definierte Folge a 0 + auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: ( ) (,, 7, 5,...) Wir können also vermuten, dass die Folge monoton fallend
MehrKlausur Informationsmanagement 15.01.2010
Klausur Informationsmanagement 15.01.2010 Sie haben 90 Minuten Zeit zum Bearbeiten. Sie können maximal 90 Punkte erreichen. Nehmen Sie die für eine Aufgabe vergebenen Punkte auch als Hinweis für die Bearbeitungszeit.
MehrDivergenz 1-E1. Ma 2 Lubov Vassilevskaya
Divergenz 1-E1 1-E2 Vektorfeld: Aufgabe 1 Stellen Sie graphisch folgende Vektorfelder dar x, y = x i y j a) F x, y = x i y j b) F Welcher Unterschied besteht zwischen den beiden Vektorfeldern? 1-A Vektorfeld:
MehrEinleitende Bemerkungen
Einleitende Bemerkungen EU-FORMBLATT LENKFREIE TAGE / KONTROLLGERÄT MANUELLER NACHTRAG ENTSCHEIDUNGSHILFE FÜR FAHRPERSONAL VON VERORDNUNGS-FAHRZEUGEN 1 BEI TÄTIGKEITEN IM INNERSTAATLICHEN VERKEHR Zur Frage,
MehrRobot Karol für Delphi
Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško
MehrSEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299
SEPA Lastschriften Ergänzung zur Dokumentation vom 27.01.2014 Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 www.workshop-software.de Verfasser: SK info@workshop-software.de
MehrProgrammiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch
MehrInstallation der SAS Foundation Software auf Windows
Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software
Mehr5.12. Variable Temperaturgradienten über dem Scheibenzwischenraum
5. Numerische Ergebnisse 92 5.12. Variable Temperaturgradienten über dem Scheibenzwischenraum Strukturbildungsprozesse spielen in der Natur eine außergewöhnliche Rolle. Man denke nur an meteorologische
MehrHauptprüfung Abiturprüfung 2015 (ohne CAS) Baden-Württemberg
Hauptprüfung Abiturprüfung 205 (ohne CAS) Baden-Württemberg Wahlteil Analysis Hilfsmittel: GTR und Formelsammlung allgemeinbildende Gymnasien Alexander Schwarz www.mathe-aufgaben.com März 205 Aufgabe A
MehrFRAGE 39. Gründe, aus denen die Rechte von Patentinhabern beschränkt werden können
Jahrbuch 1963, Neue Serie Nr. 13, 1. Teil, 66. Jahrgang, Seite 132 25. Kongress von Berlin, 3. - 8. Juni 1963 Der Kongress ist der Auffassung, dass eine Beschränkung der Rechte des Patentinhabers, die
MehrBeschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing.
www.egiz.gv.at E-Mail: post@egiz.gv.at Telefon: ++43 (316) 873 5514 Fax: ++43 (316) 873 5520 Inffeldgasse 16a / 8010 Graz / Austria Beschreibung und Bedienungsanleitung Werkzeug für verschlüsselte bpks
MehrWann ist eine Software in Medizinprodukte- Aufbereitungsabteilungen ein Medizinprodukt?
DGSV-Kongress 2009 Wann ist eine Software in Medizinprodukte- Aufbereitungsabteilungen ein Medizinprodukt? Sybille Andrée Betriebswirtin für und Sozialmanagement (FH-SRH) Prokuristin HSD Händschke Software
MehrWir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden einander nicht.
2 Ein wenig projektive Geometrie 2.1 Fernpunkte 2.1.1 Projektive Einführung von Fernpunkten Wir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden
MehrRekursionen (Teschl/Teschl 8.1-8.2)
Rekursionen (Teschl/Teschl 8.1-8.2) Eine Rekursion kter Ordnung für k N ist eine Folge x 1, x 2, x 3,... deniert durch eine Rekursionsvorschrift x n = f n (x n 1,..., x n k ) für n > k, d. h. jedes Folgenglied
MehrÜbung 9 - Lösungsvorschlag
Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle Besprechung: 15.12.2008 Einführung in die Informatik Übung 9 - Lösungsvorschlag Aufgabe
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrMarkovketten. Bsp. Page Ranking für Suchmaschinen. Wahlfach Entscheidung unter Risiko und stat. Datenanalyse 07.01.2015
Markovketten Markovketten sind ein häufig verwendetes Modell zur Beschreibung von Systemen, deren Verhalten durch einen zufälligen Übergang von einem Systemzustand zu einem anderen Systemzustand gekennzeichnet
MehrVideo Unlimited -Nutzungsbeschränkungen
Video Unlimited -Nutzungsbeschränkungen In diesem Dokument werden Beschränkungen erklärt, die für die Verwendung von Videos gelten, die Sie über Video Unlimited -Dienste gekauft oder ausgeliehen haben
MehrKurzanweisung für Google Analytics
Kurzanweisung für Google Analytics 1. Neues Profil für eine zu trackende Webseite erstellen Nach dem Anmelden klicken Sie rechts oben auf den Button Verwaltung : Daraufhin erscheint die Kontoliste. Klicken
MehrWie Sie mit Mastern arbeiten
Wie Sie mit Mastern arbeiten Was ist ein Master? Einer der großen Vorteile von EDV besteht darin, dass Ihnen der Rechner Arbeit abnimmt. Diesen Vorteil sollten sie nutzen, wo immer es geht. In PowerPoint
MehrTechnical Note Nr. 101
Seite 1 von 6 DMS und Schleifringübertrager-Schaltungstechnik Über Schleifringübertrager können DMS-Signale in exzellenter Qualität übertragen werden. Hierbei haben sowohl die physikalischen Eigenschaften
MehrOutlook Vorlagen/Templates
Joachim Meyn Outlook Vorlagen/Templates Erstellen Sie Vorlagen bzw. Templates in Outlook Joachim Meyn 27.03.2013 Inhaltsverzeichnis Outlook Vorlagen (.oft Dateien)... 2 Vorbereitung... 2 Anlegen einer
MehrHier ist der tatsächliche Aufenthaltsort anzugeben, unbeachtlich davon ob der Ehemann dort beim
FORMULAR FÜR SCHEIDUNGSANTRAG Bitte füllen Sie das folgende Formular vollständig und wahrheitsgemäß aus, da nur so eine entsprechende Bearbeitung erfolgen kann. Das Formular ist Grundlage für die Erstellung
Mehr