Angry-HEX is a joint development of groups at Università della Calabria (UNICAL), Technische Universität Wien (TUWIEN), Marmara University (MARMARA), and Max Planck Institut für Informatik (MPI).
A distinctive characteristic of our agent is that it uses a declarative, logic programming based module for reasoning about the target to shoot at next. It is realized as a so-called HEX-program, i.e., by means of Answer Set Programming (ASP) with external sources and other extensions.
The Angry-HEX agent
Our agent, called Angry-HEX, builds on the Base Framework provided by the organizers and extends it with declarative means for decision making models by means of an Answer Set Programming (ASP). Declarative logic programming controls two different layers for Angry-HEX: the Tactics layer, which plans shots, and decides how to complete a level; and the Strategy layer, which decides the order of levels to play and repeated attempts to solve the same level.
Tactics is declaratively realized by HEX-programs, i.e., an extension of ASP to incorporate external sources of computation via so-called external atoms. It is implemented using the DLVHEX solver and computes optimal shots based on information about the current scene and on domain knowledge modeled within the HEX-program. Its input comprises scene information encoded as a set of logic program facts (position, size and orientation of pigs, ice, wood and stone blocks, slingshot, etc.); its output are answer sets that contain a dedicated atom describing the target to hit, and further information about the required shot. Physics simulation results and other information are accessed via external atoms.
The Strategy layer decides, at the end of each level, which level to play next. This layer is also realized declaratively as an (ordinary) ASP program encoding our strategy on three priority levels: (1) each available level is played once; (2) levels where the agent score differs most from the current best score are selected; (3) levels where Angry-HEX achieved a score higher than the current best scores and that have the minimum difference from the best score, are selected. For each level, the Strategy layer keeps tracks of previously achieved scores and previously selected initial target objects.
- Francesco Calimeri [2013-2018]
- Michael Fink [2013-2015]
- Valeria Fionda [2016-2017]
- Nikolaus Funk 
- Stefano Germano [2013-2018]
- Andreas Humenberger [2014-2015]
- Giovambattista Ianni [2013-2016]
- Aldo Marzullo [2017-2018]
- Christoph Redl [2013-2018]
- Zeynep G. Saribatur [2016-2018]
- Peter Schüller [2016-2018]
- Daria Stepanova [2014-2018]
- Andrea Tucci [2014-2015]
- Anton Wimmer 
angryhex “AT” mat.unical.it
GNU Affero General Public License
- Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer.
“Angry-HEX: an artificial player for angry birds based on declarative knowledge bases.”
IEEE Transactions on Computational Intelligence and AI in Games (TCIAIG) 8, no. 2 (2016): 128-139.
- Francesco Calimeri, Michael Fink, Stefano Germano, Giovambattista Ianni, Christoph Redl, Anton Wimmer
“AngryHEX: An Artificial Player for Angry Birds Based on Declarative Knowledge Bases.”
In National Workshop and Prize on Popularize Artificial Intelligence (PAI), Turin, Italy December 5, 2013, vol. 8148, pp. 267-275. Springer, 2013
Winner of the Best Paper Award for the section “Academic and Research Experiences”