Skip to content

Commit

Permalink
Merge pull request #4 from nathimel/signaling
Browse files Browse the repository at this point in the history
Signaling
  • Loading branch information
nathimel authored Jul 17, 2022
2 parents e61a180 + 03975c4 commit d26918c
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 7 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## Introduction

ALTK is a software library that aims to support research in "Unnatural Language Semantics" -- a program in linguistics and cognitive science that tries to describe and explain the properties of natural languages by comparing them the logically possible ones.
ALTK is a software library that aims to support research in "Unnatural Language Semantics" -- a program in linguistics and cognitive science that tries to describe and explain the properties of natural languages by comparing them to the much larger set of mathematically possible languages.

A current focus is on **_efficient communication_**: determining whether linguistic meanings are optimized for a trade-off between cognitive complexity and communicative precision.

Expand Down
21 changes: 15 additions & 6 deletions src/examples/signaling_game/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,23 @@

## Introduction

A signaling game is a an evolutionary game theoretic model of how linguistic meaning (and more generally, convention) can emerge under very simple reinforcement learning.
A signaling game is a an evolutionary game theoretic model of how meaning can emerge under very simple reinforcement learning.

Here we illustrate how the tools from ALTK can be used to develop reusable code for basic signaling game simulations, while interfacing usefully with other paradigms such as efficient communication analyses, the Rational Speech Act Framework, and language modeling.

## Running a simulation

To run a basic signaling game simulation, use the following command:

`python3 main.py configs/two.yml`
`python3 main.py configs/two.yml`

This will produce results in the folder called `outputs/two`, including plots, weights and the resulting 'languages'.

## Defining new games
## Experimenting

<details>
<summary> Here are some details about changing game parameters and using ALTK more generally to do signaling games.
</summary>

### Existing game parameters

Expand All @@ -36,16 +40,21 @@ This example is limited for simplicity, but is also intended to be an recylable
- defining different or multiple objectives besides perfect recovery of atomic states
- exploring different evolutionary trajectories of languages in the 2D trade-off space of $( \text{simplicity}, \text{informativeness} )$.

</details>

## Resources

Research in signaling games is extensive and interdisciplinary. Here are a few resources:
Research in signaling games is extensive and interdisciplinary.
<details>
<summary>
Here are a few resources:
</summary>

- The idea of a signaling game was introduced by David Lewis in his book, [Convention](https://www.wiley.com/en-us/Convention:+A+Philosophical+Study-p-9780631232568).
- A gentle but profound introduction to signaling games research is Brian Skyrms' book, [Signals](https://oxford.universitypressscholarship.com/view/10.1093/acprof:oso/9780199580828.001.0001/acprof-9780199580828).
- [EGG](https://github.com/facebookresearch/EGG) is a software library for emergent communication and includes a neural agent signaling game [example](https://github.com/facebookresearch/EGG/tree/main/egg/zoo/signal_game).

<details>
<summary>References</summary>
References

> Kharitonov, Eugene, Roberto Dessì, Rahma Chaabouni, Diane Bouchacourt, and Marco Baroni. 2021. “EGG: A Toolkit for Research on Emergence of LanGuage in Games.” <https://github.com/facebookresearch/EGG>.
Expand Down

0 comments on commit d26918c

Please sign in to comment.