24,733 research outputs found
FIRST REPORT ON EPOS: ASPECTS OF GENERALITY AND EFFICIENCY IN PROGRAMMING LANGUAGE IMPLEMENTATION
No abstract available
Ludii -- The Ludemic General Game System
While current General Game Playing (GGP) systems facilitate useful research
in Artificial Intelligence (AI) for game-playing, they are often somewhat
specialised and computationally inefficient. In this paper, we describe the
"ludemic" general game system Ludii, which has the potential to provide an
efficient tool for AI researchers as well as game designers, historians,
educators and practitioners in related fields. Ludii defines games as
structures of ludemes -- high-level, easily understandable game concepts --
which allows for concise and human-understandable game descriptions. We
formally describe Ludii and outline its main benefits: generality,
extensibility, understandability and efficiency. Experimentally, Ludii
outperforms one of the most efficient Game Description Language (GDL)
reasoners, based on a propositional network, in all games available in the
Tiltyard GGP repository. Moreover, Ludii is also competitive in terms of
performance with the more recently proposed Regular Boardgames (RBG) system,
and has various advantages in qualitative aspects such as generality.Comment: Accepted at ECAI 202
Group Communication Patterns for High Performance Computing in Scala
We developed a Functional object-oriented Parallel framework (FooPar) for
high-level high-performance computing in Scala. Central to this framework are
Distributed Memory Parallel Data structures (DPDs), i.e., collections of data
distributed in a shared nothing system together with parallel operations on
these data. In this paper, we first present FooPar's architecture and the idea
of DPDs and group communications. Then, we show how DPDs can be implemented
elegantly and efficiently in Scala based on the Traversable/Builder pattern,
unifying Functional and Object-Oriented Programming. We prove the correctness
and safety of one communication algorithm and show how specification testing
(via ScalaCheck) can be used to bridge the gap between proof and
implementation. Furthermore, we show that the group communication operations of
FooPar outperform those of the MPJ Express open source MPI-bindings for Java,
both asymptotically and empirically. FooPar has already been shown to be
capable of achieving close-to-optimal performance for dense matrix-matrix
multiplication via JNI. In this article, we present results on a parallel
implementation of the Floyd-Warshall algorithm in FooPar, achieving more than
94 % efficiency compared to the serial version on a cluster using 100 cores for
matrices of dimension 38000 x 38000
A Multimedia Interactive Environment Using Program Archetypes: Divide-and-Conquer
As networks and distributed systems that can exploit parallel computing become more widespread, the need for ways to teach parallel programming effectively grows as well. Even though many colleges and universities provide courses on parallel programming [1], most of those courses are reserved for graduate students and advanced undergraduates. There is a demand for ways to teach fundamental parallel programming concepts to people with just a working knowledge of programming. By using the idea of a software archetype, and providing a learning environment that teaches both concept and coding, we hope to satisfy this need. This paper presents an overview of the multimedia approach we took in teaching parallel programming and offers Divide-and-Conquer as an example of its use
- …