Skip to content

Commit

Permalink
Merge pull request #6169 from openjournals/joss.06703
Browse files Browse the repository at this point in the history
Merging automatically
  • Loading branch information
editorialbot authored Nov 20, 2024
2 parents 60c1641 + 7ab95da commit da32656
Show file tree
Hide file tree
Showing 3 changed files with 371 additions and 0 deletions.
150 changes: 150 additions & 0 deletions joss.06703/10.21105.joss.06703.crossref.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
<?xml version="1.0" encoding="UTF-8"?>
<doi_batch xmlns="http://www.crossref.org/schema/5.3.1"
xmlns:ai="http://www.crossref.org/AccessIndicators.xsd"
xmlns:rel="http://www.crossref.org/relations.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="5.3.1"
xsi:schemaLocation="http://www.crossref.org/schema/5.3.1 http://www.crossref.org/schemas/crossref5.3.1.xsd">
<head>
<doi_batch_id>20241120202150-b2e24e02822bf2987dbab14f62121c610d6fc240</doi_batch_id>
<timestamp>20241120202150</timestamp>
<depositor>
<depositor_name>JOSS Admin</depositor_name>
<email_address>[email protected]</email_address>
</depositor>
<registrant>The Open Journal</registrant>
</head>
<body>
<journal>
<journal_metadata>
<full_title>Journal of Open Source Software</full_title>
<abbrev_title>JOSS</abbrev_title>
<issn media_type="electronic">2475-9066</issn>
<doi_data>
<doi>10.21105/joss</doi>
<resource>https://joss.theoj.org</resource>
</doi_data>
</journal_metadata>
<journal_issue>
<publication_date media_type="online">
<month>11</month>
<year>2024</year>
</publication_date>
<journal_volume>
<volume>9</volume>
</journal_volume>
<issue>103</issue>
</journal_issue>
<journal_article publication_type="full_text">
<titles>
<title>Evoke: A Python package for evolutionary signalling
games</title>
</titles>
<contributors>
<person_name sequence="first" contributor_role="author">
<given_name>Stephen Francis</given_name>
<surname>Mann</surname>
<affiliations>
<institution><institution_name>LOGOS Research Group, Universitat de Barcelona, Spain</institution_name></institution>
<institution><institution_name>Max Planck Institute for Evolutionary Anthropology, Leipzig, Germany</institution_name></institution>
</affiliations>
<ORCID>https://orcid.org/0000-0002-4136-8595</ORCID>
</person_name>
<person_name sequence="additional"
contributor_role="author">
<given_name>Manolo</given_name>
<surname>Martínez</surname>
<affiliations>
<institution><institution_name>LOGOS Research Group, Universitat de Barcelona, Spain</institution_name></institution>
</affiliations>
<ORCID>https://orcid.org/0000-0002-6194-7121</ORCID>
</person_name>
</contributors>
<publication_date>
<month>11</month>
<day>20</day>
<year>2024</year>
</publication_date>
<pages>
<first_page>6703</first_page>
</pages>
<publisher_item>
<identifier id_type="doi">10.21105/joss.06703</identifier>
</publisher_item>
<ai:program name="AccessIndicators">
<ai:license_ref applies_to="vor">http://creativecommons.org/licenses/by/4.0/</ai:license_ref>
<ai:license_ref applies_to="am">http://creativecommons.org/licenses/by/4.0/</ai:license_ref>
<ai:license_ref applies_to="tdm">http://creativecommons.org/licenses/by/4.0/</ai:license_ref>
</ai:program>
<rel:program>
<rel:related_item>
<rel:description>Software archive</rel:description>
<rel:inter_work_relation relationship-type="references" identifier-type="doi">10.5281/zenodo.14185732</rel:inter_work_relation>
</rel:related_item>
<rel:related_item>
<rel:description>GitHub review issue</rel:description>
<rel:inter_work_relation relationship-type="hasReview" identifier-type="uri">https://github.com/openjournals/joss-reviews/issues/6703</rel:inter_work_relation>
</rel:related_item>
</rel:program>
<doi_data>
<doi>10.21105/joss.06703</doi>
<resource>https://joss.theoj.org/papers/10.21105/joss.06703</resource>
<collection property="text-mining">
<item>
<resource mime_type="application/pdf">https://joss.theoj.org/papers/10.21105/joss.06703.pdf</resource>
</item>
</collection>
</doi_data>
<citation_list>
<citation key="godfrey-smith2013communication">
<article_title>Communication and common
interest</article_title>
<author>Godfrey-Smith</author>
<journal_title>PLOS Computational Biology</journal_title>
<issue>11</issue>
<volume>9</volume>
<doi>10.1371/journal.pcbi.1003282</doi>
<issn>1553-7358</issn>
<cYear>2013</cYear>
<unstructured_citation>Godfrey-Smith, P., &amp; Martínez, M.
(2013). Communication and common interest. PLOS Computational Biology,
9(11), e1003282.
https://doi.org/10.1371/journal.pcbi.1003282</unstructured_citation>
</citation>
<citation key="skyrms2010signals">
<volume_title>Signals: Evolution, learning, and
information</volume_title>
<author>Skyrms</author>
<doi>10.1093/acprof:oso/9780199580828.001.0001</doi>
<isbn>978-0-19-958082-8</isbn>
<cYear>2010</cYear>
<unstructured_citation>Skyrms, B. (2010). Signals:
Evolution, learning, and information. Oxford University Press.
https://doi.org/10.1093/acprof:oso/9780199580828.001.0001</unstructured_citation>
</citation>
<citation key="Fernandez2020">
<article_title>EGTTools: Toolbox for evolutionary game
theory</article_title>
<author>Fernández Domingos</author>
<journal_title>GitHub repository</journal_title>
<doi>10.5281/zenodo.3687125</doi>
<cYear>2020</cYear>
<unstructured_citation>Fernández Domingos, E. (2020).
EGTTools: Toolbox for evolutionary game theory. In GitHub repository.
https://github.com/Socrats/EGTTools; GitHub.
https://doi.org/10.5281/zenodo.3687125</unstructured_citation>
</citation>
<citation key="nashpyproject">
<article_title>Nashpy: 0.0.41</article_title>
<author>Nashpy project developers</author>
<doi>10.5281/zenodo.10802174</doi>
<cYear>2024</cYear>
<unstructured_citation>Nashpy project developers. (2024).
Nashpy: 0.0.41.
https://doi.org/10.5281/zenodo.10802174</unstructured_citation>
</citation>
</citation_list>
</journal_article>
</journal>
</body>
</doi_batch>
Binary file added joss.06703/10.21105.joss.06703.pdf
Binary file not shown.
221 changes: 221 additions & 0 deletions joss.06703/paper.jats/10.21105.joss.06703.jats
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.2 20190208//EN"
"JATS-publishing1.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="1.2" article-type="other">
<front>
<journal-meta>
<journal-id></journal-id>
<journal-title-group>
<journal-title>Journal of Open Source Software</journal-title>
<abbrev-journal-title>JOSS</abbrev-journal-title>
</journal-title-group>
<issn publication-format="electronic">2475-9066</issn>
<publisher>
<publisher-name>Open Journals</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">6703</article-id>
<article-id pub-id-type="doi">10.21105/joss.06703</article-id>
<title-group>
<article-title>Evoke: A Python package for evolutionary signalling
games</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" equal-contrib="yes">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-4136-8595</contrib-id>
<name>
<surname>Mann</surname>
<given-names>Stephen Francis</given-names>
</name>
<xref ref-type="aff" rid="aff-1"/>
<xref ref-type="aff" rid="aff-2"/>
</contrib>
<contrib contrib-type="author" equal-contrib="yes" corresp="yes">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-6194-7121</contrib-id>
<name>
<surname>Martínez</surname>
<given-names>Manolo</given-names>
</name>
<xref ref-type="aff" rid="aff-1"/>
<xref ref-type="corresp" rid="cor-1"><sup>*</sup></xref>
</contrib>
<aff id="aff-1">
<institution-wrap>
<institution>LOGOS Research Group, Universitat de Barcelona,
Spain</institution>
</institution-wrap>
</aff>
<aff id="aff-2">
<institution-wrap>
<institution>Max Planck Institute for Evolutionary Anthropology,
Leipzig, Germany</institution>
</institution-wrap>
</aff>
</contrib-group>
<author-notes>
<corresp id="cor-1">* E-mail: <email></email></corresp>
</author-notes>
<pub-date date-type="pub" publication-format="electronic" iso-8601-date="2024-08-12">
<day>12</day>
<month>8</month>
<year>2024</year>
</pub-date>
<volume>9</volume>
<issue>103</issue>
<fpage>6703</fpage>
<permissions>
<copyright-statement>Authors of papers retain copyright and release the
work under a Creative Commons Attribution 4.0 International License (CC
BY 4.0)</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>The article authors</copyright-holder>
<license license-type="open-access" xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>Authors of papers retain copyright and release the work under
a Creative Commons Attribution 4.0 International License (CC BY
4.0)</license-p>
</license>
</permissions>
<kwd-group kwd-group-type="author">
<kwd>Python</kwd>
<kwd>evolutionary game theory</kwd>
<kwd>signalling games</kwd>
<kwd>sender-receiver framework</kwd>
<kwd>evolutionary simulations</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="summary">
<title>Summary</title>
<p><bold>Evoke</bold> is a Python library for evolutionary simulations
of signalling games. It offers a simple and intuitive API that can be
used to analyze arbitrary game-theoretic models, and to easily
reproduce and customize well-known results and figures from the
literature.</p>
<p>A signalling game is a special kind of mathematical game, a formal
representation of interactions between agents. In a signalling game,
the actions available to the players include sending and responding to
signals. The agents in games traditionally studied in game theory
develop strategies via such dynamics as reinforcement learning. In
contrast, evolutionary game theory investigates how strategies change
over time in populations undergoing evolutionary change such as
natural selection. Signalling games can be studied in the traditional
reinforcement-learning paradigm or in the evolutionary paradigm. Evoke
offers methods for both kinds of game dynamic. Users are able to
create signalling games and simulate the evolution of agents’
strategies over time, using a range of game types and evolutionary and
learning dynamics.</p>
<p>Evoke also allows the user to recreate and customize figures from
the signalling game literature. Examples provided with Evoke include
figures from Skyrms
(<xref alt="2010" rid="ref-skyrms2010signals" ref-type="bibr">2010</xref>)
and Godfrey-Smith &amp; Martínez
(<xref alt="2013" rid="ref-godfrey-smith2013communication" ref-type="bibr">2013</xref>).
Users can contribute to the library by adding further examples from
the literature. This can be a useful way to become familiar with
Evoke, while at the same time increasing the benefit to other users.
Evoke can therefore serve as an educational tool (encouraging
understanding of existing literature) and a research resource
(promoting good practice and effective modelling techniques).</p>
</sec>
<sec id="statement-of-need">
<title>Statement of need</title>
<p>While there are Python packages devoted to game theory, such as
Nashpy
(<xref alt="Nashpy project developers, 2024" rid="ref-nashpyproject" ref-type="bibr">Nashpy
project developers, 2024</xref>), and evolutionary game theory, such
as EGTtools
(<xref alt="Fernández Domingos, 2020" rid="ref-Fernandez2020" ref-type="bibr">Fernández
Domingos, 2020</xref>), to our knowledge there has not yet been a
Python package dedicated to the study of signalling games in the
context of both evolution and reinforcement learning. That is the gap
Evoke is intended to fill.</p>
<p>In the evolutionary game theory literature, models and results are
often developed with proprietary code. Evaluating and re-running
models can be difficult for readers, because custom-made software is
often not developed with other users in mind. Sometimes the model code
is not available at all.</p>
<p>It would be preferable to have a common framework that different
users can share. When new results are presented in a research article,
readers of that article could run the model and check the results for
themselves. Readers could also vary the parameters to obtain results
that were not reported in the original article, lending an air of
interactivity to published papers.</p>
<p>Built-in examples already shipped with Evoke include figures from
Skyrms
(<xref alt="2010" rid="ref-skyrms2010signals" ref-type="bibr">2010</xref>).
These examples allow the user to change some of the input parameters
to Skyrms’s figures to see how different parameter values yield
different results. In a small way, this makes the book “interactive”:
in addition to the static figures on the page, the user can play with
the models in order to get a sense of the range of outcomes each model
can generate.</p>
</sec>
<sec id="acknowledgements">
<title>Acknowledgements</title>
<p>Many thanks to the reviewers and editors for their comments. This
work was supported by Juan de la Cierva grant FJC2020-044240-I and
María de Maeztu grant CEX2021-001169-M funded by
MICIU/AEI/10.13039/501100011033.</p>
</sec>
</body>
<back>
<ref-list>
<title></title>
<ref id="ref-godfrey-smith2013communication">
<element-citation publication-type="article-journal">
<person-group person-group-type="author">
<name><surname>Godfrey-Smith</surname><given-names>Peter</given-names></name>
<name><surname>Martínez</surname><given-names>Manolo</given-names></name>
</person-group>
<article-title>Communication and common interest</article-title>
<source>PLOS Computational Biology</source>
<year iso-8601-date="2013">2013</year>
<volume>9</volume>
<issue>11</issue>
<issn>1553-7358</issn>
<pub-id pub-id-type="doi">10.1371/journal.pcbi.1003282</pub-id>
<fpage>e1003282</fpage>
<lpage></lpage>
</element-citation>
</ref>
<ref id="ref-skyrms2010signals">
<element-citation publication-type="book">
<person-group person-group-type="author">
<name><surname>Skyrms</surname><given-names>Brian</given-names></name>
</person-group>
<source>Signals: Evolution, learning, and information</source>
<publisher-name>Oxford University Press</publisher-name>
<publisher-loc>Oxford</publisher-loc>
<year iso-8601-date="2010">2010</year>
<isbn>978-0-19-958082-8</isbn>
<pub-id pub-id-type="doi">10.1093/acprof:oso/9780199580828.001.0001</pub-id>
</element-citation>
</ref>
<ref id="ref-Fernandez2020">
<element-citation>
<person-group person-group-type="author">
<name><surname>Fernández Domingos</surname><given-names>Elias</given-names></name>
</person-group>
<article-title>EGTTools: Toolbox for evolutionary game theory</article-title>
<source>GitHub repository</source>
<publisher-name>https://github.com/Socrats/EGTTools; GitHub</publisher-name>
<year iso-8601-date="2020">2020</year>
<pub-id pub-id-type="doi">10.5281/zenodo.3687125</pub-id>
</element-citation>
</ref>
<ref id="ref-nashpyproject">
<element-citation>
<person-group person-group-type="author">
<string-name>Nashpy project developers</string-name>
</person-group>
<article-title>Nashpy: 0.0.41</article-title>
<year iso-8601-date="2024">2024</year>
<uri>http://dx.doi.org/10.5281/zenodo.10802174</uri>
<pub-id pub-id-type="doi">10.5281/zenodo.10802174</pub-id>
</element-citation>
</ref>
</ref-list>
</back>
</article>

0 comments on commit da32656

Please sign in to comment.