1,616 research outputs found
On the Implementation of GNU Prolog
GNU Prolog is a general-purpose implementation of the Prolog language, which
distinguishes itself from most other systems by being, above all else, a
native-code compiler which produces standalone executables which don't rely on
any byte-code emulator or meta-interpreter. Other aspects which stand out
include the explicit organization of the Prolog system as a multipass compiler,
where intermediate representations are materialized, in Unix compiler
tradition. GNU Prolog also includes an extensible and high-performance finite
domain constraint solver, integrated with the Prolog language but implemented
using independent lower-level mechanisms. This article discusses the main
issues involved in designing and implementing GNU Prolog: requirements, system
organization, performance and portability issues as well as its position with
respect to other Prolog system implementations and the ISO standardization
initiative.Comment: 30 pages, 3 figures, To appear in Theory and Practice of Logic
Programming (TPLP); Keywords: Prolog, logic programming system, GNU, ISO,
WAM, native code compilation, Finite Domain constraint
A Hybrid Recommender Strategy on an Expanded Content Manager in Formal Learning
The main topic of this paper is to find ways to improve learning in a formal Higher Education Area. In this environment, the teacher publishes or suggests contents that support learners in a given course, as supplement of classroom training. Generally, these materials are pre-stored and not changeable. These contents are typically published in learning management systems (the Moodle platform emerges as one of the main choices) or in sites created and maintained on the web by teachers themselves. These scenarios typically include a specific group of students (class) and a given period of time (semester or school year). Contents reutilization often needs replication and its update requires new edition and new submission by teachers. Normally, these systems do not allow learners to add new materials, or to edit existing ones.
The paper presents our motivations, and some related concepts and works. We describe the concepts of sequencing and navigation in adaptive learning systems, followed by a short presentation of some of these systems. We then discuss the effects of social interaction on the learners’ choices. Finally, we refer some more related recommender systems and their applicability in supporting learning.
One central idea from our proposal is that we believe that students with the same goals and with similar formal study time can benefit from contents' assessments made by learners that already have completed the same courses and have studied the same contents. We present a model for personalized recommendation of learning activities to learners in a formal learning context that considers two systems. In the extended content management system, learners can add new materials, select materials from teachers and from other learners, evaluate and define the time spent studying them. Based on learner profiles and a hybrid recommendation strategy, combining conditional and collaborative filtering, our second system will predict learning activities scores and offers adaptive and suitable sequencing learning contents to learners. We propose that similarities between learners can be based on their evaluation interests and their recent learning history. The recommender support subsystem aims to assist learners at each step suggesting one suitable ordered list of LOs, by decreasing order of relevance.
The proposed model has been implemented in the Moodle Learning Management System (LMS), and we present the system’s architecture and design.
We will evaluate it in a real higher education formal course and we intend to present experimental results in the near future
Temporal Annotations for a Contextual Logic Programming Language}
In this paper we propose the combination of modularity and temporal reasoning using logic programming as common ground. Moreover, we consider that the usage of a given module is influenced by temporal constraints, i.e. modularity and temporal reasoning are strongly connected. Besides illustrative examples, we also present the operational semantics and corresponding compiler for this language
Modularity and Temporal Reasoning: a Logic Programming Approach
Albeit temporal reasoning and modularity are very prolific fields of research in Logic Programming (LP), we find few examples of their integration. In this paper we propose the addition of temporal annotations to a modular extension of LP. Moreover, besides an illustrative example we also provide a sketch for a compiler, allowing this way for the development of applications based such language
Modelling distributed network attacks with constraints
NeMODe is a declarative system for computer network intrusion detection, providing a declarative domain specific language for describing network intrusion signatures which can span several network packets, by stating constraints over network packets, describing relations between several packets in a declarative and expressive way. It provides several back-end detection mechanisms, all based on a constraint programming framework, to perform the detection of the desired signatures.
In this work, we demonstrate how to model and perform the detection of distributed network attacks using each of the detection mechanisms provided by NeMODe, based in Gecode, adaptive search and MiniSat to perform the detection of the specific intrusions. We also use the sliding network traffic window version of the adaptive search back-end detection mechanism to simulate live network traffic and evaluate the performance of the system in conditions near to real life networks
Integrating Temporal Annotations in a Modular Logic Language
Albeit temporal reasoning and modularity are very prolific fields of research in Logic Programming (LP) we find few examples of their integration. Moreover, in those examples, time and modularity are considered orthogonal to each other. In this paper we propose the addition of temporal annotations to a modular extension of LP such that the usage of a module is influenced by temporal conditions. Besides illustrative examples we also provide an operational semantics together with a compiler, allowing this way for the development of applications based on such language
On the Scalability of Constraint Programming on Hierarchical Multiprocessor Systems
Recent developments in computer architecture progress towards systems with large core count, which expose more parallelism to applications, creating a hierarchical setup at the node and cluster levels. To take advantage of all this parallelism, applications must carefully exploit the different levels of the system which, if ignored, may yield surprising results. This aggravates the already difficult task of parallel programming.
Declarative approaches such as those based on constraints are attractive to parallel programming because they concentrate on the logic of the problem. They have been successfully applied to hard problems, which usually involve searching through large problem spaces, a computationally intensive task but with potential for parallelization. Tree search algorithms play an important role in research areas such as constraint satisfaction or optimisation, and artificial intelligence. Tree search lends itself naturally to parallelization by exploiting different branches of the tree but scalability may be harder to achieve due to the high dynamic load balancing requirements.
In this paper we present a high-level declarative approach based on constraints and show how it benefits from an efficient dynamic load balancing based on work stealing targeted at large-scale. We focus on the implementation of a hierarchical work stealing scheme using a different programming model, GPI. Experimentation brought encouraging results on up to 512 cores on large instances of satisfaction and optimisation problems
Solving the Quadratic Assignment Problem with Cooperative Parallel Extremal Optimization
International audienceSeveral real-life applications can be stated in terms of the Quadratic Assignment Problem. Finding an optimal assignment is com-putationally very difficult, for many useful instances. We address this problem using a local search technique, based on Extremal Optimization and present experimental evidence that this approach is competitive. Moreover, cooperative parallel versions of our solver improve performance so much that large and hard instances can be solved quickly
Estratégia Hibrida de Recomendações sobre um Gestor de Conteúdos Ampliado em Ensino Formal
Este artigo tem por objetivo apresentar um Modelo para Recomendação Personalizada de conteúdos de aprendizagem, baseado numa estratégia de recomendação híbrida e no perfil de cada aluno. Incluímos uma proposta para a similaridade entre alunos que reflete os seus interesses em termos das avaliações pretendidas e da proximidade das sequências de atividades de aprendizagem dos diversos alunos. Este modelo prevê, igualmente, a inclusão de novos conteúdos por parte dos alunos e a definição de relacionamentos com os conteúdos existentes. São abordadas as motivações que nos levaram à presente proposta, alguns conceitos e trabalhos relacionados, assim como a arquitetura e desenho da solução, entretanto alvo de protótipo. Por fim são tecidas algumas conclusões
- …