<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <issn pub-type="ppub">1943-0698</issn>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.1109/CoG47356.2020.9231576</article-id>
      <title-group>
        <article-title>Guiding Generative Graph Grammars of Dungeon Mission Graphs via Examples</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Abdelrahman Madkour</string-name>
          <email>madkour.a@northeastern.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stacy Marsella</string-name>
          <email>s.marsella@northeastern.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Casper Harteveld</string-name>
          <email>c.harteveld@northeastern.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Magy Seif El-Nasr</string-name>
          <email>mseifeln@ucsc.edu</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jan-Willem van de Meent</string-name>
          <email>j.vandermeent@northeastern.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Northeastern University</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <country>UC Santa Cruz</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2020</year>
      </pub-date>
      <volume>12</volume>
      <fpage>41</fpage>
      <lpage>48</lpage>
      <abstract>
        <p>Generative Graph grammars are an established technique for procedural content generation (PCG) of the mission space of dungeon levels, as they allow for explicit specification of design intention. However, they are difficult to control beyond the initial specification. Defining effective grammars requires both design expertise and familiarity with how grammars work, and even then the resulting grammar is not guaranteed to generate missions that fit a designer's intention. In this paper, we propose a system that attempts to allow designers to affect an existing grammar's generative space by allowing designers to control the probability distribution induced by the grammar. The system does this by learning the parameters of a probabilistic graph grammar from examples. Designers can control the generation of these examples via specification of assessment criteria, and a threshold above or below which the output is generated. We conclude with a demonstration of the efficacy of the system in shifting the distribution of the generative space.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Procedural content generation (PCG) in games is a growing
field in game AI that has received increasing interest in
recent years
        <xref ref-type="bibr" rid="ref18">(Liapis 2020)</xref>
        . It promises to reduce the burden of
game development by providing tools that assist with
generating game artifacts such as levels. Designing levels is a
creatively involved process that is difficult to do well, even for
specialized experts. Therefore, despite this growing body of
work, automatically creating levels that are of similar
quality to those made by human designers remains a challenge
(Rodriguez Torrado et al. 2020).
      </p>
      <p>
        Because of this challenge, many techniques opt to have
their generative process be as transparent and controllable as
possible, such that game developers can adjust it if needed.
One approach to make the generation process interpretable
by level designers is graph grammars. Graph grammars are
an established framework for visual programming
(Rozenberg 1997), and were popularized for use in the context of
dungeon level generation by
        <xref ref-type="bibr" rid="ref10 ref11">Dormans and Bakkes (2011)</xref>
        .
      </p>
      <p>
        Graphs are a common representation for content
generation in other contexts as well
        <xref ref-type="bibr" rid="ref16 ref16 ref20 ref20">(Li and Riedl 2015; London˜o
and Missura 2015)</xref>
        , making graph grammars potentially
widely applicable. However, coming up with a graph
grammar that captures the intent of the designer is a difficult and
time-consuming task. Predicting the effects of rules on the
generative space of the grammar is hard and error-prone.
Oftentimes, unintended consequences of rules result in
undesirable artifacts, such as unplayable levels. To avoid this,
the design of grammars focuses on guaranteeing playability
above all else.
      </p>
      <p>
        However, there are other design considerations that are
taken into account when coming up with a dungeon level.
For example,
        <xref ref-type="bibr" rid="ref1">Adams et al. (2002)</xref>
        outlines that low-quality
levels suffer from the ‘pointless area’ problem, where entire
sections of the level do not have any reward to the player and
are not part of the main path to complete the level. Or a level
may be completable but trivially so, requiring the player to
traverse one or two rooms to reach the end. Such
considerations are difficult to capture in grammar rules that must also
guarantee playability.
      </p>
      <p>
        Therefore, some approaches opt to use a more general
grammar and let designers control which rules are applied
either manually step-by-step
        <xref ref-type="bibr" rid="ref10 ref11">(Dormans and Bakkes 2011)</xref>
        or through a list of which rules to apply and in what order,
which
        <xref ref-type="bibr" rid="ref10 ref11">Dormans (2011)</xref>
        refers to as recipes. These recipes
serve as the means by which designers restrict the
generative space of the grammar to areas that fit their design intent.
In other words, recipes adjust the probability distribution
induced by the grammar such that the grammar is less likely to
generate undesirable graphs, and more likely to generate
desirable ones.
        <xref ref-type="bibr" rid="ref15">Lavender (2016)</xref>
        demonstrates how this could
be done by using the grammar given in
        <xref ref-type="bibr" rid="ref10 ref11">Dormans and Bakkes
(2011)</xref>
        ; by utilizing different recipes, they were able to
generate different kinds of dungeons without altering the
original grammar. These recipes, however, operate in the space of
the grammar, and therefore requires designers to be familiar
with how grammars work.
      </p>
      <p>
        Ensuring design criteria are met is a common concern
for many level PCG techniques, especially those that rely
on machine learning algorithms (Summerville et al. 2018).
There have been attempts to address this by reducing the
likelihood of a generator to produce undesirable levels
        <xref ref-type="bibr" rid="ref9">(Summerville et al. 2016; Di Liello et al. 2020)</xref>
        . Such
efforts have yet to be extended to graph grammars. In fact,
to the best of our knowledge, no previous attempt has been
made to adjust an existing graph grammar towards
capturing design considerations via learning from designer made
examples or examples generated by the grammar.
      </p>
      <p>
        In this paper, we propose a system for adjusting the
probability distribution over the mission graphs of dungeons
induced by a graph grammar via examples generated by the
grammar. To facilitate these adjustments, we propose an
extension to the existing formalization of graph grammars in
        <xref ref-type="bibr" rid="ref10 ref11">Dormans and Bakkes (2011)</xref>
        . We alter their definition to
include explicit probabilities at different levels of specificity.
This provides the system with parameters to adjust, and thus
provides a knob by which designers can control the output
of the grammar after its specification. These parameters are
learned from examples, the generation of which is controlled
by designers. We evaluate our approach, demonstrating its
ability to shape a grammar’s distribution towards that of
the given examples, thereby making the grammar generate
graphs that are similar to the given examples.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        Previous work on dungeon level generation has largely
focused on search-based techniques (van der Linden, Lopes,
and Bidarra 2014). These approaches require specification
of a fitness function that summarizes the quality of the level.
This function is often difficult to come up with, even for
domain experts. In most of these techniques, it is also the
primary means of control designers have over the
generation process.
        <xref ref-type="bibr" rid="ref3">Alvarez et al. (2018)</xref>
        address this by
providing more control to the designer via a co-creative system.
This system provides suggestions as the designer is
creating a dungeon. Dungeons in this system are in a tile-based
representation. The system then identifies two levels of
patterns, micro and meso. Micro patterns are concerned with
base tiles and how they relate to the tiles surrounding it.
Meso-patterns on the other hand, consider the relation of
micro-patterns and meso-patterns. The suggestions the
system proposes use these tile-based patterns for chunks of the
dungeon, whilst our work focuses on a high level depiction
of the flow of the level that is specified by graphs.
      </p>
      <p>
        Generation of this more abstract notion of a level via
graph grammars was proposed by
        <xref ref-type="bibr" rid="ref10 ref11">Dormans and Bakkes
(2011)</xref>
        . They split the generation of dungeon levels into two
distinct processes; ‘mission’ generation and ‘space’
generation. The mission, represented as a graph, encodes the
desired trajectory of the player through the level, whilst the
space specifies where that experience takes place.
        <xref ref-type="bibr" rid="ref10 ref11">Dormans
and Bakkes (2011)</xref>
        use shape grammars to turn a mission
graph into level geometry, whilst other work has explored
using GANs
        <xref ref-type="bibr" rid="ref12">Gutierrez and Schrum (2020)</xref>
        . We focus in this
paper on the generation of mission graphs.
      </p>
      <p>
        The graph grammars proposed by
        <xref ref-type="bibr" rid="ref10 ref11">Dormans and Bakkes
(2011)</xref>
        constrains the generative space of the grammar with
what is referred to as recipes
        <xref ref-type="bibr" rid="ref10 ref11">(Dormans 2011)</xref>
        . The recipes
dictate what rules should be applied and in what order. These
recipes are hand-coded by the designers and as such they
increase the specification requirements of this approach. In
addition, these recipes are difficult to come up such that the
resulting graphs are playable and meet specific design criteria.
We extend this work by allowing the grammar to be guided
by examples, which allows designers to think in terms of the
design of the mission graphs they wish to generate and not
grammar rules.
      </p>
      <p>
        Outside of dungeon generation, graph grammars have
found other uses in the PCG literature.
        <xref ref-type="bibr" rid="ref20">London˜o and
Missura (2015)</xref>
        proposed a graph representation of Super Mario
Levels and a system to learn a probabilistic graph
grammar from existing levels.
        <xref ref-type="bibr" rid="ref13">Hauck and Aranha (2020)</xref>
        extend
this work and propose a system for generating new Mario
levels that utilizes the learned structure of the graph
representation. This work focuses on context-free graph
grammars (CFGGs). These are grammars that constrain the
lefthand side of a production rule to be a single non-terminal
vertex, whilst context-sensitive graph grammars (CSGGs)
are more general and allow for the left-hand side to be a
graph comprised of both non-terminal and terminal vertices.
        <xref ref-type="bibr" rid="ref1">Adams et al. (2002)</xref>
        showed that unlike string based
grammars, CFGGs are significantly less expressive than CSGGs.
There are many rules that can be expressed in a CSGG that
cannot be reduced to rules in a CFGG. This severely
limits the capability of context-free grammars as a generative
method. Due to this limitation, our work and that of
        <xref ref-type="bibr" rid="ref10 ref11">Dormans and Bakkes (2011)</xref>
        focuses on context-sensitive graph
grammars.
      </p>
      <p>Another system that uses context-sensitive graph
grammars is that proposed by Valls-Vargas, Zhu, and Ontan˜o´n
(2017). They utilize multiple stochastic context-sensitive
graph grammars to generate puzzle levels for an educational
game. Each rule in the grammar has a weight associated with
it and a discount factor. When a rule is used, its weight is
decreased by the discount factor. Despite parameterizing the
rules of the grammars with weights, they did not explore
learning these parameters from examples.</p>
      <p>Though little work has explored adjusting a graph
grammar based on examples, there has been work on altering
other types of grammars. Shaker et al. (2012) proposed a
system for evolving grammar rules for a context-free
grammar that generated Mario levels. This system operated on
string-based grammars and adjusted the rules based on
handwritten fitness functions and not training data.</p>
      <p>
        <xref ref-type="bibr" rid="ref7">Dang et al. (2015)</xref>
        do propose a framework that adjusts
context-free shape grammars based on examples. The type
of shape grammars used in this work are established
grammars for automatically generating 3D objects such as
buildings, trees and tables. They propose a human-in-the-loop
framework that allows designers to designate the distribution
over the generated 3D models of these grammars via
scoring of examples. This framework is similar to our system
but operates on context-free shape grammars, we focus on a
more expressive type of grammars; context-sensitive graph
grammars. Thus, we parameterize our grammar formulation
differently.
      </p>
    </sec>
    <sec id="sec-3">
      <title>Methodology</title>
      <sec id="sec-3-1">
        <title>The Graph Grammar System</title>
        <p>
          There are many types and formalizations of graph grammars
(Rozenberg 1997). For this work, we consider the graph
grammar system proposed by
          <xref ref-type="bibr" rid="ref10 ref11">Dormans and Bakkes (2011)</xref>
          .
These grammars operate by applying rules to rewrite a graph
1:k
3:*
1:s
1:s
1:k
2:T
3:T
3:T
3:T
3:l
1:*
2:T
2:g
4:l
1:k
2:k
3:*
2:T
2:g
2:t
3:T
3:l
3:T
4:T
3:l
1:*
2:k
3:*
4:t
5:l
(a) Node Labels
(b) Initial graph
(c) The set of production rules
until no rule is applicable or a maximum number of
applications is met. Figure 1 is a toy example of such a
grammar. They are defined by an initial graph that gets altered
according to the production rules. Rewriting a graph works
by first finding a subgraph in the original graph that matches
the left-hand side graph of a production rule. For two graphs
to match, they must have the same graph topology and the
same node labels. Figure 1a shows the node labels of the toy
grammar. Note that graphs in production rules have nodes
that can be labeled as ‘wild-card’ which means they can
match with a node that has any label. In the toy grammar,
this is represented by the ‘*’ character. Next, we mark that
subgraph by copying the markers of the nodes from the
lefthand side. These markers indicate which nodes will be
replaced by which nodes in the right-hand side of the rule.
Then we check if there are nodes or edges in the subgraph
that exist in the right-hand side of the rule, if not then we
delete them. Then we add any nodes and edges in the
righthand side that do not exist in the left-hand side. Finally, we
remove all the markers from the subgraph.
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>Proposed Extension</title>
        <p>
          To effectively control the generative space of the grammars,
we need parameters that we can adjust. To this end, we
extend the graph grammar system described earlier to
incorporate explicit probabilities for production rules. There are two
types of these probabilities: the probability of which of the
possible left-hand-side graphs is chosen and the probability
of which right-hand-side graph of a rule is being chosen. The
probability of which right-hand-side gets chosen is what
previous work on probabilistic grammars has considered
          <xref ref-type="bibr" rid="ref7">(Dang
et al. 2015)</xref>
          . However, this alone does not fully parameterize
the generation process, and a level of uncontrolled
stochasticity remains.
        </p>
        <p>
          To illustrate this, consider the toy grammar in Figure 1.
We see that there are multiple left-hand side graphs that we
can match to the starting graph. Initially all rules are
applicable, if we select the first rule to apply on the initial graph
then the second is no longer applicable, and if we select
the second rule then the first would no longer be
applicable. The probability of which left-hand-side we pick controls
which of these scenarios plays out in the generation process.
Recipes as defined in
          <xref ref-type="bibr" rid="ref10 ref11">(Dormans 2011)</xref>
          let the designer
specify this directly by stating what rules ought to be selected and
in what order. In contrast, our approach attempts to learn this
from examples.
        </p>
        <p>When defining a grammar, it is tractable to specify the
probabilities of which right-hand-side gets chosen in a rule,
the same cannot be said of the probabilities of which
lefthand-side gets picked. These probabilities are defined based
on which rules are applicable, and thus changes from one
step of the generation process to the next. Therefore, we set
the distribution of these probabilities to be initially uniform
and learn it from examples. To be able to do that, we need
a way of keeping track of which left-hand-side in the
applicable rules is selected and the set of other left-hand-side
graphs that could have been picked. Thus, for each graph
generated by the grammar, we keep track of the production
rules that were applied and what production rules could have
been applied in what we call a generation chain. This
generation chain keeps track of what the applicable production
rules were at every step of the generation process, and which
production rule in that set was selected.</p>
        <p>Updating Grammar Parameters Once we have a
training set, we can observe the production rules used to generate
each graph and use that information to update the
production rule probabilities. First, we update the probabilities of
the right-hand side graphs according to what right-hand side
was selected in the training data. This involves counting how
many times a given right-hand-side graph was chosen and
dividing it by how many times its corresponding rule was
applied in the training set. Formally, given a set of graphs
GX = fG1 : : : ; Gng, we can update the i-th right-hand side
probability of production rule r, p(r : Gleft ! Griight j GX )
by setting it equal to:</p>
        <p>C(r : Gleft ! Griight j GX )</p>
        <p>PGraight C(r : Gleft ! Graight j GX )
where C(r : Gleft ! Graight) is the count of how many times
Gl has been replaced with Ga in the training set GX .</p>
        <p>We then update the probabilities of the left-hand side
graphs. Recall that we defined a generation chain that kept
track of which production rules were chosen and which were
available at the time a rule was picked. We go through the
generation chains of all the graphs in our data-set and keep
track of which sets of options were available. We then count
how many times a given left-hand side graph was chosen in
a given set of applicable rules and divide it by how many
times that set of applicable rules shows up in the training
set.</p>
        <p>Formally define Pd to be the set of production rules that
are available at a given depth d of the generation chain,
C(Pd j GX ) to be the count of how many times this set
appears at any depth in the chains that generate the training
data-set, GX and pr 2 Pd to be a production rule in that set.
We update the probability of this production rule by
p(pr j Pd) =</p>
        <p>C(pr j GX ; Pd)</p>
        <p>C(Pd j GX )
where C(pr j GX ; Pd) is the count of how many times pr
was chosen in GX when the options for rule applications
were Pd.</p>
      </sec>
      <sec id="sec-3-3">
        <title>Generating Examples</title>
        <p>Our system attempts to help designers inform grammars
of their design considerations by providing examples from
which a grammar can learn. These examples ought to
capture the desirable qualities that a designer wants the
grammar to replicate. The best means by which designers can
generate those examples is a research question in its own
right. For the purposes of this paper, we assess the
grammar’s output via a scoring function and then specify a
threshold, whereby any graph that exceeds or falls short of the
threshold is added to the training set. For example, a
designer may give a function that measures how easy a mission
graph is to play through and use a certain threshold to
indicate the desired difficulty of graphs to be generated by the
grammar. We take this approach as it clearly demonstrates
how the generative space shifts towards the provided
examples.</p>
        <p>
          There are many scoring functions one can define, in this
paper we consider metrics used in previous work to
analyze dungeon level generators. There does not exist an
established set of metrics for dungeon levels like there is for
platformer levels
          <xref ref-type="bibr" rid="ref14">(Horn et al. 2014)</xref>
          . Therefore, we follow
the example set by Smith, Padget, and Vidler (2018) and
(1)
(2)
adapted the metrics put forth by
          <xref ref-type="bibr" rid="ref15">Lavender (2016)</xref>
          , which
were in turn inspired by
          <xref ref-type="bibr" rid="ref21">Smith and Whitehead (2010)</xref>
          :
• Mission Linearity: which captures the linearity of the
mission structure. We calculate it as follows:
#of nodes on shortest direct path to the end
        </p>
        <sec id="sec-3-3-1">
          <title>Total nodes in graph</title>
          <p>• Map Linearity: which captures the linearity of the map
layouts. In the graphs this is seen by how many outgoing
edges a node has. We calculate it as follows:
#of single exit rooms + (0:5
#of double exit rooms)</p>
          <p>Total rooms with exits
• Leniency: which captures how easy the level is to play
based on the amount of rooms where the player is likely
to encounter danger. We calculate it as follows:
#of safe rooms</p>
          <p>Total rooms
• Path Redundancy: which captures how many useless
rooms there are in the graph. Useless rooms in our
context are defined as nodes that do not have any out-going
edges and do not provide the player with any reward in
themselves. We calculate it as follows:
#of useless rooms</p>
        </sec>
        <sec id="sec-3-3-2">
          <title>Total rooms</title>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Results</title>
      <p>
        For our experimental evaluations, we utilized the grammar
given in
        <xref ref-type="bibr" rid="ref10 ref11">Dormans and Bakkes (2011)</xref>
        . Code of our
system and the experiments we ran can be found on Github
1. Following the approach taken by Smith, Padget, and
Vidler (2018) and
        <xref ref-type="bibr" rid="ref15">Lavender (2016)</xref>
        , we generate 1000 mission
graphs of the unaltered grammar and calculated their scores
according to the four metrics we described earlier. Figure 2a
shows the expressive range heat-map of the unaltered
grammar, without the use of recipes. Next we picked a threshold
for Leniency, Path Redundancy and Mission Linearity. We
then generate our training set by choosing graphs that
exceed the threshold, train the grammar on that training set
and visualize the heat-map of the resulting grammar. Figure
2b shows the expressive range heat-map of the altered
grammar. We see that the generative space has moved towards the
values above the threshold.
      </p>
      <p>We repeated the same process but changed the threshold
value and picked examples that were below the threshold.
Figure 2c shows the expressive range heat-map of the
resulting grammar. Once again, we see that the generative space
has shifted towards the specified value.</p>
      <p>We additionally ran 100 trials, where we repeated the
process described above and kept track of how many graphs
were above or below the threshold before and after training.
Table 1 summarizes our findings. Despite not guaranteeing
that the grammar will only generate graphs that meet the
desired threshold, we greatly reduce the number of graphs that
fall outside it.</p>
      <sec id="sec-4-1">
        <title>1https://github.com/a3madkour/pgg</title>
        <p>
          (a) The expressive range across the metrics proposed in
          <xref ref-type="bibr" rid="ref15">Lavender (2016)</xref>
          and used in Smith, Padget, and Vidler (2018) of the grammar before
alteration.
(b) The expressive range of the grammar after being trained on examples that are above a threshold. The threshold is indicated by the red line.
(c) The expressive range of the grammar after being trained on examples that are below a threshold. The threshold is indicated by the white
line.
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Discussion</title>
      <p>Our experimental analysis demonstrates that learning
grammar parameters from examples successfully adjusted the
distribution induced by the grammar. Thus, we demonstrated
the feasibility of controlling generative graph grammars
through example generation; which gives designers a way</p>
      <sec id="sec-5-1">
        <title>Scenario</title>
        <p>Figure 2b
Figure 2c</p>
        <p>Le
232
245</p>
        <p>PR
130
340</p>
        <p>ML
105
101
of adjusting a generative grammar towards their design
intention without needing to think about grammar rules.</p>
        <p>A limitation of the system is that examples that are used
for training must be generated by the grammar. A promising
avenue of future work is exploring the possibility of
learning them from designer generated examples. Another would
be looking into learning grammar rules from the examples.
Only altering the probabilities of the system does not change
the original generative space. It alters in which areas in the
generative space the grammar is more likely to generate.</p>
        <p>This work also calls for a user study that assesses what
mechanism designers prefer using to control distribution of
the grammar. In the context of our system, this would
entail figuring out what means of generating training examples
designers prefer using, and which most facilitates thinking
in terms of design intention as opposed to grammar rules.
Ideally, designers only have to think in terms of the artifacts
they wish to generate, not the logic or parameters of their
generator. Designing well-formed and sufficiently
generative grammars requires a different skill set than designing
dungeons. Thus, providing designers with the tools that
allows them to operate in the space of what they know well,
and use it to adjust an existing grammar will improve the
usability of graph grammars as a generative tool.</p>
        <p>
          Recent work on guidelines for human-AI interaction
suggest that for AI systems to better fit with human intention,
more direct involvement is required
          <xref ref-type="bibr" rid="ref4">(Amershi et al. 2019)</xref>
          .
Though some work has explored how to better explain the
output of PCG systems
          <xref ref-type="bibr" rid="ref6">(Cook et al. 2021)</xref>
          , there is little on
how to make them more directly specifiable and controllable
by nontechnical designers. As
          <xref ref-type="bibr" rid="ref6">Cook et al. (2021)</xref>
          describe,
the parameters of generators often do not map directly to
output metrics that are of relevance to designers. By
allowing designers to operate in the space of the outcome of the
generator, we position our work as a step towards reducing
this mismatch of desired outcome and specification of PCG
systems, and thus achieve more accessibility in controlling
them.
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>We presented a system for adjusting the generative space of
a graph grammar for dungeon generation based on
examples. To do so, we proposed an extension of existing graph
grammars to allow for the use of probabilities that can then
be learned. Our experiments demonstrate that our approach
is successful in shifting the generative space towards that of
the generated examples. Finally, we discuss how generating
a set of high quality examples is potentially an accessible
method of providing designer control over generative
grammars beyond initial specification.</p>
      <p>Rozenberg, G., ed. 1997. Handbook of Graph Grammars
and Computing by Graph Transformation: Volume I.
Foundations. USA: World Scientific Publishing Co., Inc. ISBN
9810228848.</p>
      <p>Shaker, N.; Nicolau, M.; Yannakakis, G. N.; Togelius, J.; and
O’neill, M. 2012. Evolving levels for super mario bros using
grammatical evolution. In 2012 IEEE Conference on
Computational Intelligence and Games (CIG), 304–311. IEEE.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Adams</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ; et al.
          <year>2002</year>
          .
          <article-title>Automatic generation of dungeons for computer games</article-title>
          .
          <source>Bachelor thesis</source>
          , University of Sheffield, UK. DOI= http://www. dcs. shef. ac.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>uk/intranet/teaching/projects/archive/ug2002/pdf/u9da. pdf .</mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Alvarez</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Dahlskog</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Font</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Holmberg</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ; Nolasco,
          <string-name>
            <surname>C.</surname>
          </string-name>
          ; and
          <string-name>
            <given-names>O</given-names>
            <surname>¨ sterman</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <year>2018</year>
          .
          <article-title>Fostering creativity in the mixed-initiative evolutionary dungeon designer</article-title>
          .
          <source>In Proceedings of the 13th International Conference on the Foundations of Digital Games</source>
          ,
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Amershi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Weld</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ; Vorvoreanu,
          <string-name>
            <given-names>M.</given-names>
            ;
            <surname>Fourney</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ;
            <surname>Nushi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ;
            <surname>Collisson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ;
            <surname>Suh</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          ; Iqbal,
          <string-name>
            <surname>S.</surname>
          </string-name>
          ; Bennett,
          <string-name>
            <given-names>P. N.</given-names>
            ;
            <surname>Inkpen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            ;
            <surname>Teevan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ;
            <surname>Kikin-Gil</surname>
          </string-name>
          , R.; and
          <string-name>
            <surname>Horvitz</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Guidelines for Human-AI Interaction</surname>
          </string-name>
          ,
          <volume>1</volume>
          -
          <fpage>13</fpage>
          . New York, NY, USA:
          <article-title>Association for Computing Machinery</article-title>
          .
          <source>ISBN 9781450359702</source>
          . URL https://doi.org/10.1145/3290605.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Cook</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Gow</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ; and
          <string-name>
            <surname>Colton</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <year>2021</year>
          .
          <article-title>Danesh: Interactive Tools For Understanding Procedural Content Generators</article-title>
          .
          <source>IEEE Transactions on Games 1-1</source>
          . doi:
          <volume>10</volume>
          .1109/ TG.
          <year>2021</year>
          .
          <volume>3078323</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Dang</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Lienhard</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Ceylan</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Neubert</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Wonka</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ; and Pauly,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <year>2015</year>
          .
          <article-title>Interactive design of probability density functions for shape grammars</article-title>
          .
          <source>ACM Transactions on Graphics</source>
          <volume>34</volume>
          (
          <issue>6</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>13</lpage>
          . ISSN 07300301. doi:
          <volume>10</volume>
          .1145/2816795.2818069. URL http://dl.acm.org/citation.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <source>cfm?doid=2816795</source>
          .
          <fpage>2818069</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <given-names>Di</given-names>
            <surname>Liello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ;
            <surname>Ardino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ;
            <surname>Gobbi</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          ; Morettin,
          <string-name>
            <given-names>P.</given-names>
            ;
            <surname>Teso</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ; and
            <surname>Passerini</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <year>2020</year>
          .
          <article-title>Efficient Generation of Structured Objects with Constrained Adversarial Networks</article-title>
          . In Larochelle, H.; Ranzato,
          <string-name>
            <given-names>M.</given-names>
            ;
            <surname>Hadsell</surname>
          </string-name>
          ,
          <string-name>
            <surname>R.</surname>
          </string-name>
          ; Balcan,
          <string-name>
            <given-names>M. F.</given-names>
            ; and
            <surname>Lin</surname>
          </string-name>
          , H., eds.,
          <source>Advances in Neural Information Processing Systems</source>
          , volume
          <volume>33</volume>
          ,
          <fpage>14663</fpage>
          -
          <lpage>14674</lpage>
          . Curran Associates, Inc.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Dormans</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <year>2011</year>
          .
          <article-title>Level Design as Model Transformation: A Strategy for Automated Content Generation</article-title>
          .
          <source>In Proceedings of the 2nd International Workshop on Procedural Content Generation in Games</source>
          , PCGames '
          <fpage>11</fpage>
          . New York, NY, USA:
          <article-title>Association for Computing Machinery</article-title>
          .
          <source>ISBN 9781450308724. doi:10.1145/2000919</source>
          .2000921. URL https://doi.org/10.1145/2000919.2000921.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Dormans</surname>
          </string-name>
          , J.; and
          <string-name>
            <surname>Bakkes</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <year>2011</year>
          .
          <article-title>Generating Missions and Spaces for Adaptable Play Experiences</article-title>
          .
          <source>IEEE Transactions on Computational Intelligence and AI in Games</source>
          <volume>3</volume>
          (
          <issue>3</issue>
          ):
          <fpage>216</fpage>
          -
          <lpage>228</lpage>
          . ISSN 1943-
          <volume>0698</volume>
          . doi:
          <volume>10</volume>
          .1109/TCIAIG.
          <year>2011</year>
          .
          <volume>2149523</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Gutierrez</surname>
          </string-name>
          , J.; and
          <string-name>
            <surname>Schrum</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <year>2020</year>
          .
          <article-title>Generative adversarial network rooms in generative graph grammar dungeons for the legend of zelda</article-title>
          .
          <source>In 2020 IEEE Congress on Evolutionary Computation (CEC)</source>
          ,
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          . IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Hauck</surname>
          </string-name>
          , E.; and
          <string-name>
            <surname>Aranha</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <year>2020</year>
          .
          <article-title>Automatic Generation of Super Mario Levels via Graph Grammars</article-title>
          .
          <source>In 2020 IEEE Conference on Games (CoG)</source>
          ,
          <fpage>297</fpage>
          -
          <lpage>304</lpage>
          . doi:
          <volume>10</volume>
          .1109/ CoG47356.
          <year>2020</year>
          .
          <volume>9231526</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <surname>Horn</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Dahlskog</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ; Shaker,
          <string-name>
            <given-names>N.</given-names>
            ;
            <surname>Smith</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ; and
            <surname>Togelius</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          <year>2014</year>
          .
          <article-title>A comparative evaluation of procedural level generators in the mario ai framework</article-title>
          .
          <source>In Foundations of Digital Games</source>
          <year>2014</year>
          ,
          <article-title>Ft</article-title>
          . Lauderdale, Florida, USA (
          <year>2014</year>
          ),
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          .
          <article-title>Society for the Advancement of the Science of Digital Games</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>Lavender</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <year>2016</year>
          .
          <article-title>The Zelda Dungeon Generator: Adopting Generative Grammars to Create Levels for ActionAdventure Games</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ; and Riedl,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <year>2015</year>
          .
          <article-title>Scheherazade: Crowd-powered interactive narrative generation</article-title>
          .
          <source>Proceedings of the AAAI Conference on Artificial Intelligence</source>
          <volume>29</volume>
          (
          <issue>1</issue>
          ). URL https://ojs.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>aaai.org/index.php/AAAI/article/view/9782.</mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <string-name>
            <surname>Liapis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <year>2020</year>
          . 10 Years of the PCG Workshop: Past and
          <string-name>
            <given-names>Future</given-names>
            <surname>Trends</surname>
          </string-name>
          .
          <source>In International Conference on the Foundations of Digital Games</source>
          , FDG '
          <fpage>20</fpage>
          . New York, NY, USA:
          <article-title>Association for Computing Machinery</article-title>
          .
          <source>ISBN 9781450388078.</source>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          <source>doi:10.1145/3402942</source>
          .3409598. URL https://doi.org/10.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          London˜o, S.; and
          <string-name>
            <surname>Missura</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <year>2015</year>
          .
          <article-title>Graph Grammars for Super Mario Bros Levels</article-title>
          .
          <source>In FDG.</source>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ; and
          <string-name>
            <surname>Whitehead</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <year>2010</year>
          .
          <article-title>Analyzing the Expressive Range of a Level Generator</article-title>
          .
          <source>In Proceedings of the 2010 Workshop on Procedural Content Generation in Games</source>
          , PCGames '
          <fpage>10</fpage>
          . New York, NY, USA:
          <article-title>Association for Computing Machinery</article-title>
          .
          <source>ISBN 9781450300230. doi: 10.1145/1814256</source>
          .1814260. URL https://doi.org/10.1145/ 1814256.1814260.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>