004 Datenverarbeitung; Informatik
Refine
Year of publication
- 2007 (19) (remove)
Document Type
- Working Paper (9)
- Diploma Thesis (7)
- Doctoral Thesis (2)
- Article (1)
Has Fulltext
- yes (19)
Is part of the Bibliography
- no (19)
Keywords
- context lemma (2)
- functional programming languages (2)
- lambda calculus (2)
- observational semantics (2)
- Approximability (1)
- Approximierbarkeit (1)
- Berechnungskomplexität (1)
- Beschreibungskomplexität (1)
- Formale Grammatik (1)
- Formale Sprache (1)
Institute
- Informatik (19) (remove)
In dieser Arbeit wurde ausgehend von aktuellen Matchmaking Systemen ein 3D Lobbysystem geschaffen. Dabei wurde speziell auf ein intuitives Matchmaking und eine einfache Bedienung wertgelegt, um dieses nicht nur für Core Gamer, sondern auch für Casual Gamer interessant zu machen. Zudem versteht sich dieses Lobbysystem nicht als endgültig, sondern mehr als ein flexibles leicht anpassbares System. Daher ist sie besonders einfach für zukünftige Spiele anpassbar: Sämtliche Szenen, Avatare, Animationen, Einstellungen und GUI Dialoge lassen sich ohne Änderung des Quelltextes nur über Scripte, XML Tabellen und Datenbanken sehr leicht modifizieren. Um ein so komplexes Projekt in kurzer Zeit umzusetzen, war es nicht möglich ohne vorhandene Bibliotheken auszukommen. Aus diesem Grund wurden neben Nebula 2 als 3D Engine, das Mangalore Game Framework, sowie für die Netzwerktechnik die Rakknet Multiplayer Network Engine bei der Implementation des Lobbysystems verwendet. Wie die Tests zeigen befindet sich das entwickelte System in einem einsatzfähigen Zustand. So können sich gleichzeitig in der Lobby bis zu 200 Spieler aufhalten und das Matchmaking durchführen, ohne mit Lags oder Timeouts vom Server rechnen zu müssen. Lediglich die Framerate der einzelnen Clients kann bei sehr vielen eingeloggten Nutzern unter 20 FPS fallen. Je nach der erwarteten Anzahl von Spielern sollte hier ggf. auf Avatare mit weniger Polygonen zurückgegriffen werden.
In der Computergraphik werden immer wieder verschiedenste Objekte des realen Lebens modelliert. Dabei werden oft die Regeln ihres Aufbaus ausgenutzt, um diese Modelle automatisch zu erzeugen.
Gotische Architektur bietet daf¨ur gute Voraussetzungen. Auf Grund ihres hohen Grades an selbst¨ahnlichen Strukturen besteht die Möglichkeit, solche Regeln aus ihrem Aufbau abzuleiten. Wie bei vielen gotischen Elementen lassen sich auch bei den Pfeilern, die die Basis jedes gotischen Gewölbes bilden, solche Strukturen in ihrem teilweise komplexen Grundriss finden.
Die vorliegende Diplomarbeit stellt eine Methode vor, mit der die Grundrisse verschiedener gotischer Pfeiler beschrieben werden können. Die in dieser Arbeit entwickelte Querschnittsbeschreibung, wird die Darstellung der Grundrisse möglichst vieler verschiedener Pfeiler erlauben und automatisch erzeugbar sein. Der Aufbau der Beschreibung erm¨oglicht die Generierung eines 3D-Modells.
Um dies zu erreichen, wird zunächst eine Analyse der Querschnitte verschiedener gotischer Pfeiler vorgenommen. Mit den in der Analyse gewonnenen Informationen wird formal eine Querschnittsbeschreibung entwickelt, die die oben beschriebenen Anforderungen erf¨ullt. Die automatische Erzeugung erfolgt über ein parametrisches L-System. Aus der Beschreibung des Querschnitts wird schließlich das 3D-Modell erzeugt.
Die Implementierung erfolgt komplett in C++. Für die Erzeugung des 3D-Modells wird der Open Source Szenengraph Ogre3D verwendet, der die notwendige 3D-Grafik-Funktionalit¨at zur Verfügung stellt.
Mit der realisierten Anwendung ist es m¨oglich, mit wenigen Eingaben ein Modell eines komplexen gotischen Pfeilers zu erstellen.
Attraction and commercial success of web sites depend heavily on the additional values visitors may find. Here, individual, automatically obtained and maintained user profiles are the key for user satisfaction. This contribution shows for the example of a cooking information site how user profiles might be obtained using category information provided by cooking recipes. It is shown that metrical distance functions and standard clustering procedures lead to erroneous results. Instead, we propose a new mutual information based clustering approach and outline its implications for the example of user profiling.
Im Gegensatz zur Minimierung von DFAs ist die exakte Minimierung von NFAs oder regulären Ausdrücken nachweislich schwierig, im allgemeinen Fall PSpace-schwer. Wir zeigen, dass selbst schwache Approximationen zur Minimierung von NFAs und regulären Ausdrücken wahrscheinlich nicht effizient möglich sind. Falls als Eingabe ein NFA oder regulärer Ausdruck der Größe n gegeben ist, löst ein Approximationsalgorithmus für das Minimierungsproblem mit Approximationsfaktor o(n) bereits ein PSpace-vollständiges Problem. Wenn wir uns auf NFAs oder reguläre Ausdrücke über einem unären - also einelementigen - Alphabet beschränken, so ist das Problem der exakten Minimierung NP-vollständig. Wir weisen nach, dass effiziente Approximationen für das unäre Minimierungsproblem mit Approximationsfaktor n^(1-delta) für jedes delta>0 nicht möglich sind, sofern P != NP gilt. Liegt die Eingabe als DFA mit n Zuständen vor, kann sie exponentiell größer sein als ein äquivalenter NFA oder regulärer Ausdruck. Dennoch bleibt das Minimierungsproblem PSpace-schwer, wenn die Anzahl der Übergänge oder Zustände in einem äquivalenten NFA oder die Länge eines äquivalenten regulären Ausdrucks zu bestimmen ist. Wir zeigen, dass auch hierfür keine guten Approximationen zu erwarten sind. Unter der Annahme der Existenz von Pseudozufallsfunktionen, die wiederum auf der Annahme basiert, dass Faktorisierung schwierig ist, zeigen wir, dass kein effizienter Algorithmus einen Approximationsfaktor n/(poly(log n)) für die Zahl der Übergänge im NFA oder die Länge des regulären Ausdrucks garantieren kann. Für die Zahl der Zustände im NFA weisen wir nach, dass effiziente Approximationen mit Approximationsfaktor (n^(1/2))/(poly(log n)) ausgeschlossen sind. Wir betrachten dann Lernprobleme für reguläre Sprachen als Konzeptklasse. Mit den entwickelten Methoden, die auf der Annahme der Existenz von Pseudozufallsfunktionen beruhen, zeigen wir auch, dass es für das Problem des minimalen konsistenten DFAs keine effizienten Approximationen mit Approximationsfaktor n/(poly(log n)) gibt. Für den unären Fall hingegen weisen wir nach, dass es einen effizienten Algorithmus gibt, der einen minimalen konsistenten DFA konstruiert und erhalten somit auch einen effizienten PAC-Algorithmus für unäre reguläre Sprachen, die von DFAs mit n Zuständen akzeptiert werden. Für unäre Beispielmengen weisen wir außerdem nach, dass es keine effizienten Algorithmen gibt, die minimale konsistente NFAs konstruieren, falls NP-vollständige Probleme nicht in Zeit (n^(O(log n)) gelöst werden können. Andererseits geben wir einen effizienten Algorithmus an, der zu unären Beispielmengen einen konsistenten NFA mit höchstens O(opt^2) Zuständen konstruiert, wenn ein minimaler konsistenter NFA opt Zustände hat. Abschließend betrachten wir das Lernen von DFAs durch Äquivalenzfragen. Für den nicht-unären Fall ist bekannt, dass exponentiell viele Fragen für DFAs mit n Zuständen benötigt werden. Für unäre zyklische DFAs mit primer Zykluslänge und höchstens n Zuständen zeigen wir, dass Theta((n^2)/(ln n)) Äquivalenzfragen hinreichend und notwendig sind. Erlauben wir größere zyklische DFAs als Hypothesen, kommen wir mit weniger Fragen aus: Um zyklische DFAs mit höchstens n Zuständen durch Äquivalenzfragen mit zyklischen DFAs mit höchstens n^d Zuständen für d <= n als Hypothesen zu lernen, sind O((n^2)/d) Fragen hinreichend und Omega((n^2 ln d)/(d (ln n)^2)) Fragen nötig.
In dieser Diplomarbeit wird ein Echtzeit-Verfahren vorgestellt, um einen wassergefüllten Ballon zu simulieren. Grundlage des Verfahrens ist ein Feder-Masse-Dämpfer–System, das zusammen mit Methoden zur Erhaltung des Innenvolumens sowie einer topologieerhaltenden Datenstruktur kombiniert wurde. Die Masse des Wassers wird dabei auf Massepartikel an der Oberfläche des Gummiballons aufgeteilt, an denen die Wirkung der physikalischen Kräfte Gravitation, Innendruck und elastische Zugkraft der Oberfläche ausgewertet wird. Dies erfolgt durch iterative Anwendung eines Simulationsschrittes, bei dem die auf die Massepartikel wirkenden Beschleunigungen ermittelt und in eine Bewegung übertragen wird. Bei der Umsetzung in C++ wurde das Verfahren mit Hilfe des Echtzeit-3D-Szenengraphen OGRE (Object-oriented Graphics Rendering Engine) implementiert.
Mögliche Einsatzgebiete sind interaktive Simulationsumgebungen oder andere Echtzeit-Anwendungen in den Bereichen Multimedia und Unterhaltung sowie Nicht-Echtzeit-Verfahren zur Bildgenerierung und physikalischen Simulation.
Manipulierte Bilder werden zu einem immer gröÿeren Problem in der aktuellen Berichterstattung und sie verursachen in vielen Fällen Empörung unter den Lesern.
In dieser Diplomarbeit werden verschiedene Ansätze aus der aktuellen Forschung aufgezeigt, die zur Erkennung von manipulierten digitalen Bildern benutzt werden können. Hierbei liegt der Schwerpunkt besonders auf verschiedenen statistischen Ansätzen von Farid, Johnson und Popescu. Ein Abriss über die wichtigsten inhaltsbasierten Algorithmen wird ebenfalls gegeben.
Weiterhin wird für die Algorithmen, die im Hinblick auf technische Realisierbarkeit, Laufzeit und ein breites Spektrum von möglichen Szenarien vielversprechend wirken, eine Automatisierung entwickelt, die die Analyse ohne weitere Benutzereingaben durchführt. Das Augenmerk liegt hier besonders darauf, dass die zu analysierenden Bilder möglichst wenige Vorraussetzungen erfüllen müssen, damit es eine Möglichkeit der korrekten Erkennung gibt.
Diese Automatisierungen werden implementiert, wenn möglich verbessert und auf einer Menge von Bildern getestet. Enthalten sind sowohl zufallsgenerierte Bilder, als auch aus geometrischen Formen synthetisierte und natürliche Bilder. Die Erkennung der auf die Bilder angewandten Fälschungstechniken beschäftigt sich vor allem mit Duplikationen, Einfügen und Interpolation von Bereichen.
Der Test dieser Implementierung konzentriert sich auf die absolute Effektivität und Effiienz gegen die gegebene Testmenge, betrachtet jedoch auch die spezifischen Vor- und Nachteile der ursprünglichen Algorithmen und der entwickelten Verbesserung. Ihre Ergebnisse, die sie auf den Testbildern erbringen, legen die Grundlage für eine Beurteilung der Algorithmen bezüglich Laufzeit und Effiienz.
Aufbauend auf diesen Analysen wird eine Bewertung der Algotihmen vorgenommen, die auch einen Ausblick auf mögliche Szenarien in der digitalen Bildbearbeitung und der Erkennung von Fälschungen für die nächsten Jahre geben soll.
Iterative arrays (IAs) are a, parallel computational model with a sequential processing of the input. They are one-dimensional arrays of interacting identical deterministic finite automata. In this note, realtime-lAs with sublinear space bounds are used to accept formal languages. The existence of a proper hierarchy of space complexity classes between logarithmic anel linear space bounds is proved. Furthermore, an optimal spacc lower bound for non-regular language recognition is shown. Key words: Iterative arrays, cellular automata, space bounded computations, decidability questions, formal languages, theory of computation
Die Gotik ist eine Kunstepoche des Mittelalters, die eine große Anzahl beeindruckender Bauten hervorgebracht hat. Hierbei sind besonders die monumentalen Sakralbauten dieser Zeit mit ihren eindrucksvollen Fenstern hervorzuheben. Rosetten gehören zu den größten Fenstern in gotischen Kathedralen. Sie sind kreisförmige Fenster, die vor allem durch ihre komplexe Aufbauweise auffallen. Das Grundbauelement der Rosetten ist das sog. Maßwerk - ein Steinwerk das als dekoratives Muster für Fenster und Wände in gotischen Bauten eingesetzt wird. Charakteristisch für diese Muster sind sich wiederholende, verschieden große geometrische Formen, was an die Eigenschaft der Selbstähnlichkeit bei Fraktalen erinnert.
Die manuelle Modellierung gotischer Fenster ist auf Grund deren komplexen Aufbaus sehr aufwendig. Eine prozedurale Generierung hingegen automatisiert den Modellierungsprozess weitgehend und verringert damit den Zeit- und Modellierungsaufwand per Hand.
In der vorliegenden Arbeit wurde eine prozedurale Methode beschrieben, die die aufwendige manuelle Modellierung der Rosetten bzw. des Maßwerks zum größten Teil ersetzt. Diese Methode basiert auf der Analyse der fraktalen Struktur des Maßwerks und nutzt dabei dessen Selbstähnlichkeit aus, um Rosetten automatisch zu generieren. Mit der in dieser Arbeit entwickelten Implementierung ist es mögliche, eine große Vielfalt gotischer Rosetten zu beschreiben und mit Hilfe der 3D-Grafik-Engine OGRE graphisch darzustellen.
We develop a proof method to show that in a (deterministic) lambda calculus with letrec and equipped with contextual equivalence the call-by-name and the call-by-need evaluation are equivalent, and also that the unrestricted copy-operation is correct. Given a let-binding x = t, the copy-operation replaces an occurrence of the variable x by the expression t, regardless of the form of t. This gives an answer to unresolved problems in several papers, it adds a strong method to the tool set for reasoning about contextual equivalence in higher-order calculi with letrec, and it enables a class of transformations that can be used as optimizations. The method can be used in different kind of lambda calculi with cyclic sharing. Probably it can also be used in non-deterministic lambda calculi if the variable x is “deterministic”, i.e., has no interference with non-deterministic executions. The main technical idea is to use a restricted variant of the infinitary lambda-calculus, whose objects are the expressions that are unrolled w.r.t. let, to define the infinite developments as a reduction calculus on the infinite trees and showing a standardization theorem.
Call-by-need lambda calculi with letrec provide a rewritingbased operational semantics for (lazy) call-by-name functional languages. These calculi model the sharing behavior during evaluation more closely than let-based calculi that use a fixpoint combinator. In a previous paper we showed that the copy-transformation is correct for the small calculus LR-Lambda. In this paper we demonstrate that the proof method based on a calculus on infinite trees for showing correctness of instantiation operations can be extended to the calculus LRCC-Lambda with case and constructors, and show that copying at compile-time can be done without restrictions. We also show that the call-by-need and call-by-name strategies are equivalent w.r.t. contextual equivalence. A consequence is correctness of all the transformations like instantiation, inlining, specialization and common subexpression elimination in LRCC-Lambda. We are confident that the method scales up for proving correctness of copy-related transformations in non-deterministic lambda calculi if restricted to "deterministic" subterms.
This paper extends the internal frank report 28 as follows: It is shown that for a call-by-need lambda calculus LRCCP-Lambda extending the calculus LRCC-Lambda by por, i.e in a lambda-calculus with letrec, case, constructors, seq and por, copying can be done without restrictions, and also that call-by-need and call-by-name strategies are equivalent w.r.t. contextual equivalence.
The goal of this report is to prove correctness of a considerable subset of transformations w.r.t. contextual equivalence in an extended lambda-calculus LS with case, constructors, seq, let, and choice, with a simple set of reduction rules; and to argue that an approximation calculus LA is equivalent to LS w.r.t. the contextual preorder, which enables the proof tool of simulation. Unfortunately, a direct proof appears to be impossible.
The correctness proof is by defining another calculus L comprising the complex variants of copy, case-reduction and seq-reductions that use variable-binding chains. This complex calculus has well-behaved diagrams and allows a proof of correctness of transformations, and that the simple calculus LS, the calculus L, and the calculus LA all have an equivalent contextual preorder.
The goal of this report is to prove correctness of a considerable subset of transformations w.r.t. contextual equivalence in a an extended lambda-calculus with case, constructors, seq, let, and choice, with a simple set of reduction rules. Unfortunately, a direct proof appears to be impossible. The correctness proof is by defining another calculus comprising the complex variants of copy, case-reduction and seq-reductions that use variablebinding chains. This complex calculus has well-behaved diagrams and allows a proof that of correctness of transformations, and also that the simple calculus defines an equivalent contextual order.
This paper proves several generic variants of context lemmas and thus contributes to improving the tools to develop observational semantics that is based on a reduction semantics for a language. The context lemmas are provided for may- as well as two variants of mustconvergence and a wide class of extended lambda calculi, which satisfy certain abstract conditions. The calculi must have a form of node sharing, e.g. plain beta reduction is not permitted. There are two variants, weakly sharing calculi, where the beta-reduction is only permitted for arguments that are variables, and strongly sharing calculi, which roughly correspond to call-by-need calculi, where beta-reduction is completely replaced by a sharing variant. The calculi must obey three abstract assumptions, which are in general easily recognizable given the syntax and the reduction rules. The generic context lemmas have as instances several context lemmas already proved in the literature for specific lambda calculi with sharing. The scope of the generic context lemmas comprises not only call-by-need calculi, but also call-by-value calculi with a form of built-in sharing. Investigations in other, new variants of extended lambda-calculi with sharing, where the language or the reduction rules and/or strategy varies, will be simplified by our result, since specific context lemmas are immediately derivable from the generic context lemma, provided our abstract conditions are met.
We model sequential synchronous circuits on the logical level by signal-processing programs in an extended lambda calculus Lpor with letrec, constructors, case and parallel or (por) employing contextual equivalence. The model describes gates as (parallel) boolean operators, memory using a delay, which in turn is modeled as a shift of the list of signals, and permits also constructive cycles due to the parallel or. It opens the possibility of a large set of program transformations that correctly transform the expressions and thus the represented circuits and provides basic tools for equivalence testing and optimizing circuits. A further application is the correct manipulation by transformations of software components combined with circuits. The main part of our work are proof methods for correct transformations of expressions in the lambda calculus Lpor, and to propose the appropriate program transformations.
This paper proves several generic variants of context lemmas and thus contributes to improving the tools to develop observational semantics that is based on a reduction semantics for a language. The context lemmas are provided for may- as well as two variants of mustconvergence and a wide class of extended lambda calculi, which satisfy certain abstract conditions. The calculi must have a form of node sharing, e.g. plain beta reduction is not permitted. There are two variants, weakly sharing calculi, where the beta-reduction is only permitted for arguments that are variables, and strongly sharing calculi, which roughly correspond to call-by-need calculi, where beta-reduction is completely replaced by a sharing variant. The calculi must obey three abstract assumptions, which are in general easily recognizable given the syntax and the reduction rules. The generic context lemmas have as instances several context lemmas already proved in the literature for specific lambda calculi with sharing. The scope of the generic context lemmas comprises not only call-by-need calculi, but also call-by-value calculi with a form of built-in sharing. Investigations in other, new variants of extended lambda-calculi with sharing, where the language or the reduction rules and/or strategy varies, will be simplified by our result, since specific context lemmas are immediately derivable from the generic context lemma, provided our abstract conditions are met.
Das Bumpmapping-Verfahren, eine Methode zur realistischen Darstellung rauer Oberflächen, existiert schon seit 30 Jahren, aber erst durch aktuelle Entwicklungen der Hardware lässt es sich in Echtzeitumgebungen einsetzen. Die aktuellen Verfahren ermöglichen viele darüber hinausgehende Effekte, jedoch haben sie auch mit Problemen zu kämpfen. Das Ziel dieser Diplomarbeit ist die Weiterentwicklung der Verfahren zu betrachten. In dieser Arbeit werden die Grenzen der aktuellen Bumpmapping-Algorithmen aufgezeigt und nach neuen Wegen geforscht. Das erste Verfahren erzeugt durch ein Multipassrendern fraktale Landschaften im Shader. Die darin verwendeten Methoden lassen sich für einen weiteren Algorithmus nutzen, mit dem feine Unebenheiten der Oberfläche an jedem Pixel ausgewertet werden. So können anisotrope Materialien wie gebürstete Metalle oder Mikropartikellacke simuliert werden. Den Abschluss bilden zwei neue Verfahren für prozedurale Shader. Die zu imitierende Oberfläche wird im Modell nachgebildet und per Raytracing für jeden Oberflächenpixel ausgewertet. Durch diese Methode werden viele Probleme texturbasierter Verfahren komplett umgangen.
In der klassischen Theorie der formalen Sprachen gehört die Beschreibung von Sprachen durch Grammatiken oder Automaten zu den wichtigen Themen. Im Gegensatz zu diesen Modellen, die aus einer einzelnen Komponente bestehen, beschäftigt sich die Informatik heute aber immer häufiger mit verteilten Systemen, deren Komponenten auf verschiedene Art und Weise zusammenarbeiten. Eine Möglichkeit, dieses Konzept auf die Theorie der formalen Sprachen zu übertragen, ist die Definition von Grammatiksystemen. Ein Grammatiksystem besteht aus mehreren Grammatiken, die nach bestimmten Regeln zusammenarbeiten. Hauptsächlich unterscheidet man dabei zwischen sequentieller und paralleler Kooperation. In dieser Arbeitwerden kontextfreie „cooperating distributed“ (CD) Grammatiksysteme, ein Modell mit sequentieller Kooperation, betrachtet. Zur Erzeugung eines Wortes arbeiten dabei mehrere kontextfreie Grammatiken, die Komponenten, an einer gemeinsamen Satzform. Zu jedem Zeitpunkt ist immer nur eine einzige Komponente aktiv. Der Schwerpunkt der Arbeit liegt auf der Beschreibungskomplexität von CD Grammatiksystemen. Dabei wird zuerst auf die verschiedenen Maße für die Größe oder statische Komplexität eines CD Grammatiksystems eingegangen. Ein wichtiges Ergebnis im ersten Teil der Arbeit ist, daß man für CD Grammatiksysteme und insbesondere hybride CD Grammatiksysteme, eine Verallgemeinerung von kontextfreien CD Grammatiksystemen, einige dieser Maße nach oben beschränken kann. Darunter fallen die Anzahl der Komponenten und die maximale Anzahl von Produktionen in einer Komponente. Hält man einen der beiden Parameter fest, so entsteht eine unendliche Hierarchie über dem anderen Parameter. Der zweite Teil der Arbeit konzentriert sich darauf, Ergebnisse für Größenmaße zu erzielen, die nicht nur einzelne Aspekte der Komplexität, sondern die gesamte Größe oder Länge eines CD Grammatiksystems darstellen. Dafür werden CD Grammatiksysteme geeignet eingeschränkt. Man erhält metalineare Systeme und Systeme von endlichem Index. Im Gegensatz zum unbeschränkten Modell kann hier die generative Mächtigkeit sehr genau charakterisiert werden und es können Hilfsmittel wie Pumpinglemmata gezeigt werden.Weitere Resultate sind eine unendliche Hierarchie über der Breite beziehungsweise dem Index solcher Grammatiksysteme. Das wesentliches Resultat im zweiten Teil dieser Arbeit besteht daraus, daß zwischen zwei Klassen von diesen eingeschränkten CD Grammatiksystemen, deren entsprechende Sprachklassen echt ineinander enthalten sind, nichtrekursive Tradeoffs existieren. Das heißt, daß sich der Größenzuwachs beim Wechsel von der stärkeren Klasse von CD Grammatiksystemen in die schwächere durch keine rekursive Funktion beschränken läßt.