Skip to content

Commit

Permalink
Formatting (#43)
Browse files Browse the repository at this point in the history
  • Loading branch information
jzzheng22 authored Jan 17, 2022
1 parent e8efdde commit 75d6242
Show file tree
Hide file tree
Showing 10 changed files with 35 additions and 41 deletions.
2 changes: 1 addition & 1 deletion 000_introduction/000_introduction.tex
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
\chapter{Introduction}\label{introduction}

Co-operative survival games refer to a subset of political choice games wherein `players' must work together to overcome disaster, else suffer the consequences through both personal and communal damage. Instances of co-operative survival exist in varying media: computer games (\emph{e.g.}, ``Don't Starve,'' ``Rust,'' ``Minecraft''), board games (\emph{e.g.}, Ravine) or sociological constructs (\emph{e.g.}, Reducing viral transmission ) all of which exhibit a necessity for collective action, with such notions of survival supported by extensive literature \cite{su10030652}. Survival games are often identified within the context of ``Common Pool Resource Management'' (CPR) \cite{ostromCollectiveAction} \cite{smartHome} problems, where to facilitate co-operative survival, a pool of shared resources must be maintained to help mitigate disaster. In the general case of such survival games, following a disaster, if 1 player dies, all players die.
Co-operative survival games refer to a subset of political choice games wherein `players' must work together to overcome disaster, else suffer the consequences through both personal and communal damage. Instances of co-operative survival exist in varying media: computer games (e.g., ``Don't Starve,'' ``Rust,'' ``Minecraft''), board games (e.g., Ravine) or sociological constructs (e.g., Reducing viral transmission ) all of which exhibit a necessity for collective action, with such notions of survival supported by extensive literature \cite{su10030652}. Survival games are often identified within the context of ``Common Pool Resource Management'' (CPR) \cite{ostromCollectiveAction} \cite{smartHome} problems, where to facilitate co-operative survival, a pool of shared resources must be maintained to help mitigate disaster. In the general case of such survival games, following a disaster, if 1 player dies, all players die.

This project proposes a twofold bifurcation from conventional CPR problems: firstly, there are no provisions made to the common pool, meaning that we cannot refer to this problem as a linear public goods (LPG) game. Instead, players must maintain a collective resource without offering replenishment from their personal pool. This effectively constructs a scenario where all players make appropriation with insufficient provision, yielding a system of \textit{N free-riders}.

Expand Down
6 changes: 0 additions & 6 deletions 001_organisation_structure/001_organisation_structure.tex

This file was deleted.

2 changes: 1 addition & 1 deletion 002_simulation_structure/002_simulation_structure.tex
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ \subsection{Cost of Living: \texorpdfstring{\texttt{hpDecay}}{hpDecay}}\label{hp
\texttt{newHP} =\max\left\{\texttt{MaxHP}, \texttt{currentHP}-\left[b + s(\texttt{currentHP}-\texttt{WeakLevel})\right]\right\}
\end{equation}

For agents in the critical state that gain \texttt{HPReqCToW} HP in a single day, i.e. their HP after eating is
For agents in the critical state that gain \texttt{HPReqCToW} HP in a single day, i.e. their HP after eating is:

\begin{equation}\label{HPReqCToW}
\texttt{currentHP} \geq \texttt{HPCritical}+\texttt{HPReqCToW},
Expand Down
2 changes: 1 addition & 1 deletion 003_data_logging/003_data_logging.tex
Original file line number Diff line number Diff line change
Expand Up @@ -102,4 +102,4 @@ \section{Dashboard}
\label{fig:design_ui}
\end{figure}

The "new simulation" button pops a configuration form where the user is able to fill in the different simulation parameters. The navigation area allows the user to switch between existing simulation results. Finally, numerical cards and different graph types have been included to visualise the results. The final frontend implementation can be tested online on \href{https://somas-2021-568r2.ondigitalocean.app}{https://somas-2021-568r2.ondigitalocean.app} or locally by following the guidelines on the \href{https://github.com/SOMAS2021/SOMAS2021#building-locally}{github repo}.
The ``new simulation'' button pops a configuration form where the user is able to fill in the different simulation parameters. The navigation area allows the user to switch between existing simulation results. Finally, numerical cards and different graph types have been included to visualise the results. The final frontend implementation can be tested online on \href{https://somas-2021-568r2.ondigitalocean.app}{https://somas-2021-568r2.ondigitalocean.app} or locally by following the guidelines on the \href{https://github.com/SOMAS2021/SOMAS2021#building-locally}{GitHub repository}.
2 changes: 1 addition & 1 deletion 004_team_2_agent_design/004_team_2_agent_design.tex
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ \subsubsection{Design of State Space}

The first three observations served to fulfil the first aim of the task, as they could effectively reflect the health condition of our agent. The last observation was used to assess the impact of the action of our agent on the neighbouring agent, which is useful for the second aim of the task. Subsequently, we found the resolution of each observation by trial and error. Having a high resolution, the agent would be able to perceive tiny changes within the environment at the cost of increased number of states, and thus slowing the learning process. Having a low resolution, the agent would not be able to adapt to changes in the environment effectively and promptly. Finally, the state space of our agent is defined by ten state intervals for agent’s HP (0 – 9, 10 – 19, …, 80 – 89, 90 – Max HP), ten state intervals for the food on platform (0 – 9, 10 – 19, …, 80 – 89, 90 – Max food), four states for Days at critical (0, 1, 2, 3), and eleven state intervals for neighbouring agent’s HP (-1, 0 – 9, …, 80 – 89, 90 – Max HP), with an additional unknown state represented by –1, as the neighbouring agent might refuse to share such information. Table below illustrates the state space definition.

\begin{table}
\begin{table}[h]
\centering

\begin{adjustbox}{width=\columnwidth,center}
Expand Down
24 changes: 12 additions & 12 deletions 006_team_4_agent_design/006_team_4_agent_design.tex
Original file line number Diff line number Diff line change
Expand Up @@ -84,31 +84,31 @@ \subsection{Agent Performance Metrics}
\hline
\hline
Global Lifespan &
- Attempted to maximise lifespan of all agents including itself
-- Attempted to maximise lifespan of all agents including itself

- Struck a balance between self preservation and global welfare.
-- Struck a balance between self preservation and global welfare.
&
- Didn't reach optimum strategy with no deaths
-- Didn't reach optimum strategy with no deaths

- Agent had little effect on global lifespan. \\
-- Agent had little effect on global lifespan. \\
\hline
Team Four Agent Lifespan &
- Maximised agent 4 survival (attempted to satisfy itself)
-- Maximised agent 4 survival (attempted to satisfy itself)

- Actions of others had less effect on survival of agent.
-- Actions of others had less effect on survival of agent.
&
- Disregarded other agents in the tower
-- Disregarded other agents in the tower

- Failed to create stable system as all food was consumed by agent. \\
-- Failed to create stable system as all food was consumed by agent. \\
\hline
Other Agent Lifespan &
- Attempted to reach optimum state of co-operation
-- Attempted to reach optimum state of co-operation

- Worked for the betterment of society (for the satisficing of each agent).
-- Worked for the betterment of society (for the satisficing of each agent).
&
- Put itself at risk while eating minimal amount of food
-- Put itself at risk while eating minimal amount of food

- Agent had little effect on global lifespan. \\
-- Agent had little effect on global lifespan. \\
\hline
\end{tabular}}
\caption{Pros and cons of different averaging methods chosen for agent parameter optimisation.}
Expand Down
1 change: 0 additions & 1 deletion 007_team_5_agent_design/007_team_5_agent_design.tex
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,6 @@ \subsubsection*{Simulation Length}
\label{fig:team5-exp-food-per-agent}
\end{minipage}
\end{figure}
\ToDo{Check this result: is it actually true?}
Figure \ref{fig:team5-exp-sim-length} shows the relationship between the length of the simulation and the average age of Team 5 agents when they die: the graph shows a positive trend of increasing average age, implying that Team 5 agents perform better over time.

\subsubsection*{Food Per Agent}
Expand Down
21 changes: 8 additions & 13 deletions 010_experiments/010_experiments.tex
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ \subsection{Results and Discussion}
\begin{tikzpicture}
\begin{axis}[
width=0.8\textwidth,
axis y line*=left,
ymin=0,
xmin=0,
xlabel=Available Food Per Agent,
Expand Down Expand Up @@ -123,7 +122,7 @@ \subsection{Results and Discussion}
\label{fig:team1-robustness-food-scarcity}
\end{figure}

\Cref{team1-robustness-food-scarcity} illustrates the change in the frequency of treaty proposals as the constraints from the economy of scarcity are levied. The experiment enforces that there is 100 food initially available on the platform, with the number of agents parameterised to allow for an average amount of food per agent. This simulation lasts 400 days.
\Cref{fig:team1-robustness-food-scarcity} illustrates the change in the frequency of treaty proposals as the constraints from the economy of scarcity are levied. The experiment enforces that there is 100 food initially available on the platform, with the number of agents parameterised to allow for an average amount of food per agent. This simulation lasts 400 days.

The general tendency for this system is that, as the availability of food rises (and hence the economy of scarcity becomes less constrictive), the rate of treaty proposals decreases. We propose that this experiment yields insight into the importance of treaties, demonstrating that agents in general rely heavily on treaty formation to self-organise when survivability is hindered by a lack of resources. Contrarily, as the food availability reaches an abundance, we see the rate of treaty proposals tend to 0, suggesting that agents are able to survive without the need for treaties as they offer little utility.

Expand All @@ -134,7 +133,6 @@ \subsection{Results and Discussion}
\begin{tikzpicture}
\begin{axis}[
width=0.8\textwidth,
axis y line*=left,
ymin=0,
xmin=0,
xlabel=Available Food Per Agent,
Expand Down Expand Up @@ -181,7 +179,7 @@ \subsection{Results and Discussion}
\label{fig:team1-robustness-food-scarcity-disruptive-agents}
\end{figure}

\Cref{team1-robustness-food-scarcity-disruptive-agents} shows how the number of deaths is affected when different disruptive agents are added. It shows that, as expected, the number of deaths is higher when disruptive agents are present. However, the effect of selfish agents and random agents seems to be similar which suggests that it it not the amount of food being taken by the agents that is disruptive, rather it is the fact that they do not communicate that causes a higher death rate. This makes it harder to self-organise and makes it much harder to survive in the tower.
\Cref{fig:team1-robustness-food-scarcity-disruptive-agents} shows how the number of deaths is affected when different disruptive agents are added. It shows that, as expected, the number of deaths is higher when disruptive agents are present. However, the effect of selfish agents and random agents seems to be similar which suggests that it it not the amount of food being taken by the agents that is disruptive, rather it is the fact that they do not communicate that causes a higher death rate. This makes it harder to self-organise and makes it much harder to survive in the tower.
By making it harder to survive in the tower, the chances of reaching a stable system are also decreased when disruptive agents are added. The only system to stabilise with ten food per agent was the one with no disruptive agents, all systems were stable with a tower of 20 food per agent.
\subsection{Conclusion}
\label{subsec: E1-Conclusion}
Expand All @@ -201,10 +199,9 @@ \subsection{Results and Discussion}
\begin{tikzpicture}
\begin{axis}[
width=\textwidth,
axis y line*=left,
ymin=0,
xmin=0,
xlabel=Shuffle Period (no. of days),
xlabel=Shuffle Period (number of days),
ylabel=Total Deaths,
ymajorgrids=true,
xmajorgrids=true,
Expand Down Expand Up @@ -241,7 +238,7 @@ \subsection{Results and Discussion}

For this reason, we propose that it is the rapid redistribution of agents throughout the tower, allowing them to experience varying levels of available food, that accounts for the disparity in survival rate: if an agent is consistently assigned to a low floor, they have a low chance of being satisficed if all agents act individually. Having a rapid reshuffle period results in a higher probability of reaching a higher floor, allowing for the agent to replenish its health.

The average age of agents, denoted by \Cref{Average-Age-as-Shuffle-Period-Decreases}, can be seen to follow the inverse trend to death rates, as expected. This indicates that the longer the reshuffle period the lower the average age of an agent upon death.
The average age of agents, denoted by \Cref{fig:Average-Age-as-Shuffle-Period-Decreases}, can be seen to follow the inverse trend to death rates, as expected. This indicates that the longer the reshuffle period the lower the average age of an agent upon death.
\begin{figure}[H] %Average Age As Shuffle Period Decreases
\centering
\begin{minipage}{0.8\textwidth}
Expand All @@ -250,7 +247,7 @@ \subsection{Results and Discussion}
width=\textwidth,
ymin=0,
xmin=0,
xlabel=Shuffle Period (no. of days),
xlabel=Shuffle Period (number of days),
ylabel=Average Age of All Agents,
ymajorgrids=true,
xmajorgrids=true,
Expand Down Expand Up @@ -294,10 +291,9 @@ \subsection{Results and Discussion}
\begin{tikzpicture}
\begin{axis}[
width=\textwidth,
axis y line*=left,
ymin=0,
xmin=0,
xlabel=Shuffle Period (no. of days),
xlabel=Shuffle Period (number of days),
ylabel=Total Accepted Treaties,
ymajorgrids=true,
xmajorgrids=true,
Expand Down Expand Up @@ -339,15 +335,14 @@ \subsection{Results and Discussion}
\begin{tikzpicture}
\begin{axis}[
width=\textwidth,
axis y line*=left,
ymin=0,
xmin=0,
xlabel=Shuffle Period (no. of days),
xlabel=Shuffle Period (number of days),
ylabel=Total Rejected Treaties,
ymajorgrids=true,
xmajorgrids=true,
grid style=dashed,
legend pos=outer north east
legend style={at={(1.3,1)},anchor=north east},
]
\addplot[mark=*,blue]
coordinates{
Expand Down
5 changes: 2 additions & 3 deletions main.tex
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
\usepackage{longtable}
\usepackage{cleveref} \Crefformat{figure}{#2Fig.~#1#3} % makes referencing customizable (e.g. \Cref{}). See: https://texblog.org/2013/05/06/cleveref-a-clever-way-to-reference-in-latex/)
\usepackage[nottoc, notlof, notlot]{tocbibind} % includes bibliography in table of contents (TOC)
\usepackage[square]{natbib} % sets reference style
\usepackage[numbers]{natbib} % sets reference style
\usepackage{graphicx} % required to include images
\usepackage[svgnames]{xcolor}
\usepackage{tikz}
Expand Down Expand Up @@ -140,7 +140,6 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\input{000_introduction/000_introduction}
\input{001_organisation_structure/001_organisation_structure}
\input{002_simulation_structure/002_simulation_structure}
\input{003_data_logging/003_data_logging}
\input{004_team_2_agent_design/004_team_2_agent_design}
Expand All @@ -161,7 +160,7 @@
\newpage
\nocite{*}
\bibliography{references}
\bibliographystyle{IEEEtranN}
\bibliographystyle{unsrtnat}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Document End %
Expand Down
11 changes: 9 additions & 2 deletions references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -523,11 +523,18 @@ @article{ober_athens
doi = {10.1515/9781400828807}
}


@movie{elhoyo2019,
title = {El Hoyo},
producer= {Carlos Juárez},
director = {Ángeles Hernández},
year = {2019},
publisher = {Netflix}
}
}

@misc{JeremyPittSlides,
author = {Jeremy Pitt},
title = {Lecture Notes on the Trust Framework},
month = {November},
year = {2021},
publisher={}
}

0 comments on commit 75d6242

Please sign in to comment.