| Module | Number | Person in Charge |
|---|---|---|
| Computational Logic for Information Technology | EMCL-A-CLIT | Reinhard Pichler |
| Computer Science Engineering | EMCL-A-CSE | Helmut Veith |
| Knowledge
Representation |
EMCL-A-KR | Thomas Eiter |
| Logical Foundations | EMCL-A-LF | Alexander Leitsch |
| Modeling and
Verification |
EMCL-A-MV | Helmut Veith |
| Principles of Computation | EMCL-A-PC | Thomas Eiter |
| Principles of Inference | EMCL-A-PI | Alexander Leitsch |
This module addresses logical foundations and algorithmic aspects of data management in the broad sense: It ranges from "classical" database topics like storing and querying relational data to other data models (like semistructured data) and access to other forms of data storage (like data on the web).
More specifically, the logical foundations address the analysis of the expressive power of query languages by relating them to appropriate fragments of some logic. Basic concepts and results of finite model theory are introduced to prove negative results on the expressive power (i.e., queries that cannot be expressed in a given query language). On the algorithmic side, methods for efficient query processing are presented and the complexity of several query languages is analyzed. This also comprises methods of multi-user synchronization in a single database systems or in a distributed environment and the trade-off between throughput of query processing and integrity. Advanced topics of this module address several aspects of data on the web. This includes methods for data extraction on the web (like wrapper generation and web data mining) as well as methods of information integration (like schema mappings, transformation of data, and data cleaning).
The main objective is that upon completion of this module, students have a detailed understanding of fundamental tasks and methods of data management. Students will thus have acquired the knowledge and skills needed to further develop and to make effective use of tools and systems for data management. This includes basic skills like taking the impact on query evaluation and optimization into account when formulating database queries in different ways. It also includes more advanced skills like the development of wrappers for web data extraction and solving problems in the context of integrating heterogeneous data sources.
This module aims at broadening the knowledge of students beyond computational logic and its technologies, and to allow them to acquire knowledge on computer based systems, their design, development, and applications, in a particular area at a foundational level, and to learn how to model applications. To this end, the module comprises a range of different topics from which students have to choose one, such as (but not limited to) operating systems, human computer interaction, computer engineering, software engineering, computer graphics, real-time systems, operations research, bioinformatics. Topics are offered by the different sites on availability.
The objective is that upon completion of this module, students will have acquired a solid understanding of computer-based systems and technology in a particular area, such that they are familiar with problems and solution approaches in it. Furthermore, it is expected that they are able to sets links to the knowledge and skills acquired on computational logic methods and techniques for possible deployment and application.
This module addresses aspects of knowledge and data systems, with an emphasis on (but not limited to) logic-related approaches for representing and processing knowledge. It includes foundations, regarding both semantics and computation, representation formalisms and reasoning methods, tools, and application areas.
More specifically, the foundational side addresses predicate logic for knowledge representation, logic for databases, knowledge base design, and specific issues like update and change of knowledge. Important representation formalisms for the agenda are logic programs with negation, ontology languages, action languages, and logic-based agents, which are considered with their mathematical properties. Regarding inference, methods like deduction, common-sense reasoning (abduction, hypothetical reasoning etc), or non-monotonic reasoning in general are addressed. On the practical side, tools and methods for problem solving such as Answer Set Programming or SAT/Quantified Boolean Formula solving are covered. Areas like Multi-Agent Systems, Information Systems or the Web serve to embed the theoretical concepts into applications.
The main objective is that upon completion of this module, students have a detailed understanding of how knowledge is formalized and processed in Artificial Intelligence using logic-related approaches, and of problems and issues that have to be respected. They furthermore will have acquired skills in designing, formally specifying, and realizing techniques of knowledge representation and reasoning.
This module deepens the knowledge of the students in important traditional fields of mathematical logic such as proof theory, model theory, set theory, lambda-calculus (typed and untyped), intuitionistic logic and modal logics. The students get acquainted with respective formalisms and learn fundamental results and techniques in these areas.
After completion of this module, the students have
fundamental
knowledge about results and techniques in selected topics, and master
the subject at a level such that they are able to understand and
follow research issues in the area, and that they are able to
formulate and investigate research tasks appropriate for a master
thesis.
The module addresses modeling techniques for complex systems, temporal and other program logics for specifying functional and quantitative requirements, and corresponding verification techniques.
The students learn the theoretical foundations of formal
verification (model checking, interactive theorem proving) and get a
deep understanding of the design, implementation and application of
verification tools.
This module deals with the theoretical foundations of computation. It aims at getting acquaintance with abstract, mathematical models of computation, and the use of such models for assessing the ability to solve computational problems, by identifying both the intrinsic limitations of computing devices, and the practical limitations due to limited availability of resources.
To this end the module covers in its core theory of computability including models of computation, computable functions, recursion theory, limits of solvability, as well as computational complexity theory, including complexity measures, complexity classes, problem reduction and completeness. Topical aspects (e.g., emerging models of computation, applications in computational logic, or advanced algorithmic techniques) allow to gain additional knowledge and skills.
The main objective is that after completing this module, the students have a deep understanding of the theoretical foundations and the limits of computation. They also have a solid knowledge of complexity theory, which they can apply to establish complexity bounds and characterizations of computational problems in applications, and to develop algorithms for the solution of such problems. A further objective is that the students are able to reason and prove properties about computations in a precise, formal, abstract way.
This module presents several inference principles in more detail. These principles are term rewriting, unification theory, nonmonotonic reasoning, probabilistic reasoning and automated deduction in nonclassical logics. Moreover various nonclassical logics are introduced and their potential in modeling knowledge and reasoning is investigated.