27 research outputs found
Shrub-depth: Capturing Height of Dense Graphs
The recent increase of interest in the graph invariant called tree-depth and
in its applications in algorithms and logic on graphs led to a natural
question: is there an analogously useful "depth" notion also for dense graphs
(say; one which is stable under graph complementation)? To this end, in a 2012
conference paper, a new notion of shrub-depth has been introduced, such that it
is related to the established notion of clique-width in a similar way as
tree-depth is related to tree-width. Since then shrub-depth has been
successfully used in several research papers. Here we provide an in-depth
review of the definition and basic properties of shrub-depth, and we focus on
its logical aspects which turned out to be most useful. In particular, we use
shrub-depth to give a characterization of the lower levels of the
MSO1 transduction hierarchy of simple graphs
SAGA: A project to automate the management of software production systems
The Software Automation, Generation and Administration (SAGA) project is investigating the design and construction of practical software engineering environments for developing and maintaining aerospace systems and applications software. The research includes the practical organization of the software lifecycle, configuration management, software requirements specifications, executable specifications, design methodologies, programming, verification, validation and testing, version control, maintenance, the reuse of software, software libraries, documentation, and automated management
Algorithmic Meta-Theorems
Algorithmic meta-theorems are general algorithmic results applying to a whole
range of problems, rather than just to a single problem alone. They often have
a "logical" and a "structural" component, that is they are results of the form:
every computational problem that can be formalised in a given logic L can be
solved efficiently on every class C of structures satisfying certain
conditions. This paper gives a survey of algorithmic meta-theorems obtained in
recent years and the methods used to prove them. As many meta-theorems use
results from graph minor theory, we give a brief introduction to the theory
developed by Robertson and Seymour for their proof of the graph minor theorem
and state the main algorithmic consequences of this theory as far as they are
needed in the theory of algorithmic meta-theorems
Organizacijsko modeliranje višeagentnih sustava velikih razmjera s primjenom na računalne igre
The most popular and frequent methods of conducting a system of agents, of smallor large-scale, are those based on swarm intelligence, and organisational models. Organisational models for multi-agent systems are being developed alongside their role in the modern world. Technological improvements lead to creation of systems comprising thousands, or millions, of agents – large-scale multiagent system (LSMAS). Numerous LSMAS application domains (Internet of Everything (IoE), massively multi-player online games (MMOGs), smart cities, etc.) make LSMAS a genuinely useful concept in the modern era. Recent studies argue higher efficiency of LSMAS with imposed organisation, as opposed to systems with emerging intelligence. This makes organisational modelling of LSMAS a particularly interesting research subject. Organisational model based on ontology comprising LSMAS-related organisational concepts, built conforming to modern organisational perspectives for LSMAS, is a step towards easier LSMAS modelling. The ontology is basis for an organisational metamodel for LSMAS, which, coupled with graph grammars and logic, is suitable for modelling organisational dynamics, especially in the domain of massively multi-player online role-playing games (MMORPGs).Najpoznatiji i najučestaliji oblici uređenja sustava agenata, velikog ili malog razmjera, su oni koji se temelje na inteligenciji roja i oni koji svoje osnove vuku iz organizacijskih modela. Organizacijski modeli višeagentnih sustava razvijaju se usporedno s ulogom takvih sustava u modernom svijetu. Razvojem tehnologije stvaraju se sustavi koji broje tisuće ili milijuneagenata–višeagentnisustavivelikihrazmjera(VASVR).Mnogobrojneaplikacijske domene za VASVR (Internet svega, mrežne računalne igre namijenjene većem broju igrača (MMORPG), pametni gradovi i sl.) čine VASVR realno potrebnim konceptom u moderno doba. Recentna istraživanja ukazuju na veću učinkovitost VASVR uređenih temeljem organizacijske teorije, od onih koji prate inteligencija roja, te je stoga organizacijsko modeliranje VASVR iznimno interesantno podučje za istraživanje. Organizacijski model temeljen na ontologiji organizacijskih koncepata i modernim načelima organizacije VASVR korak je prema lakšem oblikovanju VASVR. Ontologija je baza za organizacijski metamodel za VASVR koji, spojen s gramatikama grafova i logikom, dobiva na prikladnosti za modeliranje organizacijske dinamike, naročito u domeni MMORPG
Organizacijsko modeliranje višeagentnih sustava velikih razmjera s primjenom na računalne igre
The most popular and frequent methods of conducting a system of agents, of smallor large-scale, are those based on swarm intelligence, and organisational models. Organisational models for multi-agent systems are being developed alongside their role in the modern world. Technological improvements lead to creation of systems comprising thousands, or millions, of agents – large-scale multiagent system (LSMAS). Numerous LSMAS application domains (Internet of Everything (IoE), massively multi-player online games (MMOGs), smart cities, etc.) make LSMAS a genuinely useful concept in the modern era. Recent studies argue higher efficiency of LSMAS with imposed organisation, as opposed to systems with emerging intelligence. This makes organisational modelling of LSMAS a particularly interesting research subject. Organisational model based on ontology comprising LSMAS-related organisational concepts, built conforming to modern organisational perspectives for LSMAS, is a step towards easier LSMAS modelling. The ontology is basis for an organisational metamodel for LSMAS, which, coupled with graph grammars and logic, is suitable for modelling organisational dynamics, especially in the domain of massively multi-player online role-playing games (MMORPGs).Najpoznatiji i najučestaliji oblici uređenja sustava agenata, velikog ili malog razmjera, su oni koji se temelje na inteligenciji roja i oni koji svoje osnove vuku iz organizacijskih modela. Organizacijski modeli višeagentnih sustava razvijaju se usporedno s ulogom takvih sustava u modernom svijetu. Razvojem tehnologije stvaraju se sustavi koji broje tisuće ili milijuneagenata–višeagentnisustavivelikihrazmjera(VASVR).Mnogobrojneaplikacijske domene za VASVR (Internet svega, mrežne računalne igre namijenjene većem broju igrača (MMORPG), pametni gradovi i sl.) čine VASVR realno potrebnim konceptom u moderno doba. Recentna istraživanja ukazuju na veću učinkovitost VASVR uređenih temeljem organizacijske teorije, od onih koji prate inteligencija roja, te je stoga organizacijsko modeliranje VASVR iznimno interesantno podučje za istraživanje. Organizacijski model temeljen na ontologiji organizacijskih koncepata i modernim načelima organizacije VASVR korak je prema lakšem oblikovanju VASVR. Ontologija je baza za organizacijski metamodel za VASVR koji, spojen s gramatikama grafova i logikom, dobiva na prikladnosti za modeliranje organizacijske dinamike, naročito u domeni MMORPG
A Field Guide to Genetic Programming
xiv, 233 p. : il. ; 23 cm.Libro ElectrónicoA Field Guide to Genetic Programming (ISBN 978-1-4092-0073-4) is an introduction to genetic programming (GP). GP is a systematic, domain-independent method for getting computers to solve problems automatically starting from a high-level statement of what needs to be done. Using ideas from natural evolution, GP starts from an ooze of random computer programs, and progressively refines them through processes of mutation and sexual recombination, until solutions emerge. All this without the user having to know or specify the form or structure of solutions in advance. GP has generated a plethora of human-competitive results and applications, including novel scientific discoveries and patentable inventions. The authorsIntroduction --
Representation, initialisation and operators in Tree-based GP --
Getting ready to run genetic programming --
Example genetic programming run --
Alternative initialisations and operators in Tree-based GP --
Modular, grammatical and developmental Tree-based GP --
Linear and graph genetic programming --
Probalistic genetic programming --
Multi-objective genetic programming --
Fast and distributed genetic programming --
GP theory and its applications --
Applications --
Troubleshooting GP --
Conclusions.Contents
xi
1 Introduction
1.1 Genetic Programming in a Nutshell
1.2 Getting Started
1.3 Prerequisites
1.4 Overview of this Field Guide I
Basics
2 Representation, Initialisation and GP
2.1 Representation
2.2 Initialising the Population
2.3 Selection
2.4 Recombination and Mutation Operators in Tree-based
3 Getting Ready to Run Genetic Programming 19
3.1 Step 1: Terminal Set 19
3.2 Step 2: Function Set 20
3.2.1 Closure 21
3.2.2 Sufficiency 23
3.2.3 Evolving Structures other than Programs 23
3.3 Step 3: Fitness Function 24
3.4 Step 4: GP Parameters 26
3.5 Step 5: Termination and solution designation 27
4 Example Genetic Programming Run
4.1 Preparatory Steps 29
4.2 Step-by-Step Sample Run 31
4.2.1 Initialisation 31
4.2.2 Fitness Evaluation Selection, Crossover and Mutation Termination and Solution Designation Advanced Genetic Programming
5 Alternative Initialisations and Operators in
5.1 Constructing the Initial Population
5.1.1 Uniform Initialisation
5.1.2 Initialisation may Affect Bloat
5.1.3 Seeding
5.2 GP Mutation
5.2.1 Is Mutation Necessary?
5.2.2 Mutation Cookbook
5.3 GP Crossover
5.4 Other Techniques 32
5.5 Tree-based GP 39
6 Modular, Grammatical and Developmental Tree-based GP 47
6.1 Evolving Modular and Hierarchical Structures 47
6.1.1 Automatically Defined Functions 48
6.1.2 Program Architecture and Architecture-Altering 50
6.2 Constraining Structures 51
6.2.1 Enforcing Particular Structures 52
6.2.2 Strongly Typed GP 52
6.2.3 Grammar-based Constraints 53
6.2.4 Constraints and Bias 55
6.3 Developmental Genetic Programming 57
6.4 Strongly Typed Autoconstructive GP with PushGP 59
7 Linear and Graph Genetic Programming 61
7.1 Linear Genetic Programming 61
7.1.1 Motivations 61
7.1.2 Linear GP Representations 62
7.1.3 Linear GP Operators 64
7.2 Graph-Based Genetic Programming 65
7.2.1 Parallel Distributed GP (PDGP) 65
7.2.2 PADO 67
7.2.3 Cartesian GP 67
7.2.4 Evolving Parallel Programs using Indirect Encodings 68
8 Probabilistic Genetic Programming
8.1 Estimation of Distribution Algorithms 69
8.2 Pure EDA GP 71
8.3 Mixing Grammars and Probabilities 74
9 Multi-objective Genetic Programming 75
9.1 Combining Multiple Objectives into a Scalar Fitness Function 75
9.2 Keeping the Objectives Separate 76
9.2.1 Multi-objective Bloat and Complexity Control 77
9.2.2 Other Objectives 78
9.2.3 Non-Pareto Criteria 80
9.3 Multiple Objectives via Dynamic and Staged Fitness Functions 80
9.4 Multi-objective Optimisation via Operator Bias 81
10 Fast and Distributed Genetic Programming 83
10.1 Reducing Fitness Evaluations/Increasing their Effectiveness 83
10.2 Reducing Cost of Fitness with Caches 86
10.3 Parallel and Distributed GP are Not Equivalent 88
10.4 Running GP on Parallel Hardware 89
10.4.1 Master–slave GP 89
10.4.2 GP Running on GPUs 90
10.4.3 GP on FPGAs 92
10.4.4 Sub-machine-code GP 93
10.5 Geographically Distributed GP 93
11 GP Theory and its Applications 97
11.1 Mathematical Models 98
11.2 Search Spaces 99
11.3 Bloat 101
11.3.1 Bloat in Theory 101
11.3.2 Bloat Control in Practice 104
III
Practical Genetic Programming
12 Applications
12.1 Where GP has Done Well
12.2 Curve Fitting, Data Modelling and Symbolic Regression
12.3 Human Competitive Results – the Humies
12.4 Image and Signal Processing
12.5 Financial Trading, Time Series, and Economic Modelling
12.6 Industrial Process Control
12.7 Medicine, Biology and Bioinformatics
12.8 GP to Create Searchers and Solvers – Hyper-heuristics xiii
12.9 Entertainment and Computer Games 127
12.10The Arts 127
12.11Compression 128
13 Troubleshooting GP
13.1 Is there a Bug in the Code?
13.2 Can you Trust your Results?
13.3 There are No Silver Bullets
13.4 Small Changes can have Big Effects
13.5 Big Changes can have No Effect
13.6 Study your Populations
13.7 Encourage Diversity
13.8 Embrace Approximation
13.9 Control Bloat
13.10 Checkpoint Results
13.11 Report Well
13.12 Convince your Customers
14 Conclusions
Tricks of the Trade
A Resources
A.1 Key Books
A.2 Key Journals
A.3 Key International Meetings
A.4 GP Implementations
A.5 On-Line Resources 145
B TinyGP 151
B.1 Overview of TinyGP 151
B.2 Input Data Files for TinyGP 153
B.3 Source Code 154
B.4 Compiling and Running TinyGP 162
Bibliography 167
Inde
Entwurf und Implementation einer auf Graph-Grammatiken beruhenden Sprache zur Funktions-Struktur-Modellierung von Pflanzen
Increasing biological knowledge requires more and more elaborate methods to translate the knowledge into executable model descriptions, and increasing computational power allows to actually execute these descriptions. Such a simulation helps to validate, extend and question the knowledge. For plant modelling, the well-established formal description language of Lindenmayer systems reaches its limits as a method to concisely represent current knowledge and to conveniently assist in current research. On one hand, it is well-suited to represent structural and geometric aspects of plant models - of which units is a plant composed, how are these connected, what is their location in 3D space -, but on the other hand, its usage to describe functional aspects - what internal processes take place in the plant structure, how does this interact with the structure - is not as convenient as desirable. This can be traced back to the underlying representation of structure as a linear chain of units, while the intrinsic nature of the structure is a tree or even a graph. Therefore, we propose to use graphs and graph grammars as a basis for plant modelling which combines structural and functional aspects. In the first part of this thesis, we develop the necessary theoretical framework. Starting with a presentation of the state of the art concerning Lindenmayer systems and graph grammars, we develop the formalism of relational growth grammars as a variant of graph grammars. We show that this formalism has a natural embedding of Lindenmayer systems which keeps all relevant properties, but represents branched structures directly as axial trees and not as linear chains with indirect encoding of branches. In the second part, we develop the main practical result, the XL programming language as an extension of the Java programming language by very general rule-based features. Short examples illustrate the application of the new language features. We describe the built-in pattern matching algorithm of the implemented run-time system for the XL programming language, and we sketch a possible implementation of an XL compiler. The third part is an application of relational growth grammars and the XL programming language. We show how the general XL interfaces can be customized for relational growth grammars. On top of this customization, several examples from a variety of disciplines demonstrate the usefulness of the developed formalism and language to describe plant growth, especially functional-structural plant models, but also artificial life, architecture or interactive games. Some examples operate on custom graphs like XML DOM trees or scene graphs of commercial 3D modellers, while the majority uses the 3D modelling platform GroIMP, a software developed in conjunction with this thesis. The appendix gives an overview of the GroIMP software. The practical usage of its plug-in for relational growth grammars is also illustrated.Das zunehmende Wissen über biologische Prozesse verlangt nach geeigneten Methoden, es in ausführbare Modelle zu übersetzen, und die zunehmende Rechenleistung der Computer ermöglicht es, diese Modelle auch tatsächlich auszuführen. Solche Simulationen dienen zur Validierung, Erweiterung und Hinterfragung des Wissens. Speziell für die Pflanzenmodellierung wurden Lindenmayer-Systeme mit Erfolg eingesetzt, jedoch stoßen diese bei aktuellen Modellierungsproblemen und Forschungsvorhaben an ihre Grenzen. Zwar sind sie gut geeignet, Pflanzenstruktur und Geometrie abzubilden - aus welchen Einheiten setzt sich eine Pflanze zusammen, wie sind diese verbunden, wie ist ihre räumliche Lage -, aber die lineare Datenstruktur erschwert die Integration von Funktionsmodellen, welche Prozesse innerhalb der verzweigten Struktur und des beanspruchten Raumes beschreiben. Daher wird in dieser Arbeit vorgeschlagen, anstelle der linearen Stuktur Graphen und Graph-Grammatiken als Grundlage für die kombinierte Funktions-Struktur-Modellierung von Pflanzen zu verwenden. Im ersten Teil der Dissertation wird der theoretische Unterbau entwickelt. Nach einer Vorstellung des aktuellen Wissensstandes auf dem Gebiet der Lindenmayer-Systeme und Graph-Grammatiken werden relationale Wachstumsgrammatiken eingeführt, die auf bekannten Mechanismen für parallele Graph-Grammatiken aufbauen und Lindenmayer-Systeme als Spezialfall enthalten, dabei jedoch verzweigte Strukturen direkt als axiale Bäume darstellen. Zur praktischen Anwendung wird im zweiten Teil die Programmiersprache XL entwickelt, die Java um allgemein gehaltene Sprachkonstrukte für Graph-Grammatiken erweitert. Kurze Beispiele zeigen die Anwendung der neuen Sprachmerkmale. Der Algorithmus zur Mustersuche wird erläutert, und die Implementation des XL-Compilers wird vorgestellt. Im dritten Teil werden mögliche Anwendungen relationaler Wachstumsgrammatiken aufgezeigt. Dazu werden zunächst die allgemeinen XL-Schnittstellen für relationale Wachstumsgrammatiken konkretisiert, um dieses System dann für Modelle aus verschiedenen Bereichen zu nutzen, darunter Funktions-Struktur-Modelle von Pflanzen, Künstliches Leben, Architektur und interaktive Spiele. Einige Beispiele nutzen spezifische Graphen wie XML-DOM-Bäume oder Szenengraphen kommerzieller 3D-Modellierprogramme, aber der überwiegende Teil baut auf der 3D-Plattform GroIMP auf, die zusammen mit dieser Dissertation entwickelt wurde. Im Anhang wird die Software GroIMP kurz vorgestellt und ihre praktische Anwendung für relationale Wachstumsgrammatiken erläutert
Recommended from our members
Formalizing graphical notations
The thesis describes research into graphical notations for software engineering, with a principal interest in ways of formalizing them. The research seeks to provide a theoretical basis that will help in designing both notations and the software tools that process them.
The work starts from a survey of literature on notation, followed by a review of techniques for formal description and for computational handling of notations. The survey concentrates on collecting views of the benefits and the problems attending notation use in software development; the review covers picture description languages, grammars and tools such as generic editors and visual programming environments. The main problem of notation is found to be a lack of any coherent, rigorous description methods. The current approaches to this problem are analysed as lacking in consensus on syntax specification and also lacking a clear focus on a defined concept of notated expression.
To address these deficiencies, the thesis embarks upon an exploration of serniotic, linguistic and logical theory; this culminates in a proposed formalization of serniosis in notations, using categorial model theory as a mathematical foundation. An argument about the structure of sign systems leads to an analysis of notation into a layered system of tractable theories, spanning the gap between expressive pictorial medium and subject domain. This notion of 'tectonic' theory aims to treat both diagrams and formulae together.
The research gives details of how syntactic structure can be sketched in a mathematical sense, with examples applying to software development diagrams, offering a new solution to the problem of notation specification. Based on these methods, the thesis discusses directions for resolving the harder problems of supporting notation design, processing and computer-aided generic editing. A number of future research areas are thereby opened up. For practical trial of the ideas, the work proceeds to the development and partial implementation of a system to aid the design of notations and editors. Finally the thesis is evaluated as a contribution to theory in an area which has not attracted a standard approach