79 research outputs found

    Domain-agnostic procedural content generation can be done declaratively

    Get PDF
    Procedural content generation is applied in the development process of many commercial games: au- tomatically generated contents are delivered to players in order to offer a constantly changing user experience and enrich the game itself. Designing algorithms for content generators can be a tedious job. The product of this work is often too domain specific and offers limited reusability and customizability. Declarative approaches to content generation, more properly defined as Declarative Content Specifica- tion (DCS) techniques, like the ones based on Answer Set Programming (ASP), promise to overcome some of these drawbacks, since they allow focusing on describing content requirements rather than programming ad-hoc generation engines. Also, DCS speed up the prototype generation techniques themselves. In turn, DCS techniques struggle to gain momentum mainly because of lack of integration with game engines. Furthermore, the promise of generality and reusability is neutralized by the burden of wiring and adapting declarative content specifications to the context of the game at hand. In this work, we report about our progress toward a general DCS module working in the Unity game engine, and integrated in an existing asset for declaratively defining AI modules. We illustrate both the design and runtime workflow of this module, and how game content developers could use it for devising their own content generation schemes. For this purpose, an example highlighting the advantages of this approach is described

    Rethinking Answer Set Programming Templates

    Full text link
    In imperative programming, the Domain-Driven Design methodology helps in coping with the complexity of software development by materializing in code the invariants of a domain of interest. Code is cleaner and more secure because any implicit assumption is removed in favor of invariants, thus enabling a fail fast mindset and the immediate reporting of unexpected conditions. This article introduces a notion of template for Answer Set Programming that, in addition to the don't repeat yourself principle, enforces locality of some predicates by means of a simple naming convention. Local predicates are mapped to the usual global namespace adopted by mainstream engines, using universally unique identifiers to avoid name clashes. This way, local predicates can be used to enforce invariants on the expected outcome of a template in a possibly empty context of application, independently by other rules that can be added to such a context. Template applications transpiled this way can be processed by mainstream engines and safely shared with other knowledge designers, even when they have zero knowledge of templates

    HEX Programs with Action Atoms

    Get PDF
    HEX programs were originally introduced as a general framework for extending declarative logic programming, under the stable model semantics, with the possibility of bidirectionally accessing external sources of knowledge and/or computation. The original framework, however, does not deal satisfactorily with stateful external environments: the possibility of predictably influencing external environments has thus not yet been considered explicitly. This paper lifts HEX programs to ACTHEX programs: ACTHEX programs introduce the notion of action atoms, which are associated to corresponding functions capable of actually changing the state of external environments. The execution of specific sequences of action atoms can be declaratively programmed. Furthermore, ACTHEX programs allow for selecting preferred actions, building on weights and corresponding cost functions. We introduce syntax and semantics of acthex programs; ACTHEX programs can successfully be exploited as a general purpose language for the declarative implementation of executable specifications, which we illustrate by encodings of knowledge bases updates, action languages, and an agent programming language. A system capable of executing ACTHEX programs has been implemented and is publicly available

    The Answer Set Programming (ASP) Competition

    Get PDF
    is a biannual event for evaluating declarative knowledge representation systems on hard and demanding AI problems. The competition consists of two main tracks: the ASP System Track and the Model & Solve Track. The traditional System Track compares dedicated answer set solvers on ASP benchmarks, while the Model & Solve Track invites any researcher and developer of declarative knowledge representation systems to participate in an open challenge for solving sophisticated AI problems with their tools of choice. This article provides an overview of the ASP Competition series, reviews its origins and history, giving insights on organizing and running such an elaborate event, and briefly discusses about the lessons learned so far. 1 A Brief History Answer Set Programming (ASP) is a well-established paradigm of declarative programming with roots in the stable models semantics for logic programs (Gelfond and Lifschitz, 1991; Niemelä, 1999; Marek and Truszczyński, 1999). The main goal of ASP is to provide a versatile declarative modeling framework with many attractive characteristics. These features allow to turn—with little to no effort—problem statements of computationally hard problems into executable formal specifications, also called Answer Set Programs. These programs can be used to describe and reason over problems in a large variety of domains, such as commonsense and agent reasoning, diagnosis, deductive databases, planning, bioinformatics, scheduling and timetabling. See (Brewka et al., 2012) for an overview, while for introductory material on ASP, the reader might refer to (Baral, 2003; Eiter et al., 2009). ASP has a close relationship to other declarative modeling paradigms and languages, such as SA
    • …
    corecore