{"action":"created","comment":{"url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/pulls/comments/91083714","pull_request_review_id":11582591,"id":91083714,"diff_hunk":"@@ -1,11 +1,274 @@\n %!TEX root = ../main.tex\n \n-\\chapter{Awesome theorems and stuff}\\label{cha:awesome_theorems_and_stuff}\n+\\chapter{Literature Review}\\label{cha:literature_review}\n \n-\\section{Introduction}\n+Prisoner's Dilemma is a very popular problem in game theory and there have been many papers written about the subject.\n+In this chapter a brief overview of the available literature will be given and particularly relevant work will be highlighted.\n+This is followed by an outline of how Axelrod's work is currently being reproduced by an open-source community.\n+Finally, an introduction to fingerprinting and some necessary defenitions and theorems are given at the end of the chapter.\n+\n+\n+\\section{Background}\\label{sec:axelrodoriginal}\n+\n+The political scientist Robert Axelrod held the first IPD tournament in 1980 \\cite{Axelrod1980a}.\n+Many well-known game theorists were invited to submit strategies that would compete against each other in a round robin style format.\n+All strategies also competed against a random strategy (that would randomly choose between $C$ and $D$) and a copy of themselves.\n+All strategies knew that the length of each game was 200 moves, and the whole tournamtent was repeated 5 times for reliability.\n+Out of the 13 strategies that were entered, TitForTat was announced as the winner and was submitted by Professor Anatol Rapoport from the Department of Psychology of the University of Toronto.\n+\n+TitForTat is a very simple strategy that begins by playing $C$ and then plays the same move as it opponent did on the previous turn.\n+As explained in \\cite{Axelrod1980b}, TitForTat won because of three defining characteristics:\n+\n+\\begin{itemize}\n+    \\item `Niceness' - A strategy is said to be nice if it is not the first to defect.\n+    \\item `Provocability' - Immediately after an opponent defects, the strategy should defect in retaliation.\n+    \\item `Forgiveness' - The strategy is willing to continue with mutual cooperation even after some defections.\n+\\end{itemize}\n+\n+Axelrod's second tournament was a dramatic improvement in terms of size, 62 strategies were entered from 6 different countries.\n+The contestants ranged from a 10-year-old computer hobbyist to professors of computer science, economics, psychology, mathematics, sociology, political science and evolutionary biology.\n+The countries represented were the United States, Canada, Great Britain, Norway, Switzerland, and New Zealand.\n+Despite the fact that all contestants had full knowledge of the previous tournament, TitForTat was the overall winner once again.\n+One large difference in the mechanics of the first and second tournament was that the second tournament did not specify how many moves a game would last.\n+Instead, the game ended probabilistically with a 0.00346 chance of finishing on any given move.\n+This parameter was chosen so that the median length of a game would be 200 moves (in line with the first tournament).\n+\n+\\begin{table}[htbp]\n+\\centering\n+\\begin{tabular}{c c c c}\n+Year & Reference & Number of Strategies & Type\\\\\n+\\hline\n+1979 & \\cite{Axelrod1980a} & 13 & Standard\\\\\n+1979 & \\cite{Axelrod1980b} & 64 & Standard\\\\\n+1984 & & 64 & Evolutionary\\\\\n+1991 & & 13 & Noisy\\\\\n+2005 & & 223 & Varied\\\\\n+2012 & & 13 & Standard\\\\\n+\\hline\n+\\end{tabular}\n+\\label{tab:tournament_refs}\n+\\caption{An overview of published tournaments}\n+\\end{table}\n+\n+\\section{Axelrod-Python Library}\n+\n+The Axelrod-Python library \\cite{axelrodproject} is an open source Python package for creating reproducable research into Prisoner's Dilemma.\n+The original aim was to recreate Axelrod's tournaments as described in section \\ref{sec:axelrodoriginal} and verify their results.\n+For many of the tournaments that have been described the orignal source code is not available, and in the few cases where access was available there were no tests and minimal documentation.\n+\n+The Axelrod-Python is equipped with an extensive tests suite and all code is comprehensively documented.\n+The documentation can be found at \\url{http://axelrod.readthedocs.io/en/latest/} along with several tutorials designed to help introduce researchers to the library.\n+In total the library now consists of 147 strategies (at the time of writing) including classical ones from the literature and and some exciting original contributions.\n+It is interesting that the original winner, TitForTat, is currently ranked 49th overall.\n+The library also has the capability to run ecological simulations or construct tournaments on alternative topologies (not just the original round robin format).\n+\n+An example implementation of a strategy and a demonstration of using the library will now be given, followed by examples of some of the many plots the library can produce.\n+The source code for TitForTat is shown in Listing \\ref{lst:TFT}.\n+\n+\\begin{listing}[htbp!]\n+\\begin{SourceCode}\n+class TitForTat(Player):\n+    \"\"\"\n+    A player starts by cooperating and then mimics the previous action of the\n+    opponent.\n+\n+    Note that the code for this strategy is written in a fairly verbose\n+    way. This is done so that it can serve as an example strategy for\n+    those who might be new to Python.\n+\n+    Names:\n+\n+    - Rapoport's strategy: [Axelrod1980]_\n+    - TitForTat: [Axelrod1980]_\n+    \"\"\"\n+\n+    # These are various properties for the strategy\n+    name = 'Tit For Tat'\n+    classifier = {\n+        'memory_depth': 1,  # Four-Vector = (1.,0.,1.,0.)\n+        'stochastic': False,\n+        'makes_use_of': set(),\n+        'long_run_time': False,\n+        'inspects_source': False,\n+        'manipulates_source': False,\n+        'manipulates_state': False\n+    }\n+\n+    def strategy(self, opponent):\n+        \"\"\"This is the actual strategy\"\"\"\n+        # First move\n+        if not self.history:\n+            return C\n+        # React to the opponent's last move\n+        if opponent.history[-1] == D:\n+            return D\n+        return C\n+\\end{SourceCode}\n+\\caption{Source code for TitForTat}\n+\\label{lst:TFT}\n+\\end{listing}\n+\n+Strategies are implemented as classes with a strategy method.\n+The strategy method contains the logic that defines how the strategy will behave as can be seen in Listing \\ref{lst:TFT} lines 28 - 36.\n+If the player does not have a history then it must be the first move and it chooses to play $C$.\n+On all subsequent moves the player checks whether the opponent played $D$ on it's previous move.\n+If that statement is true the player also plays $D$, otherwise it will play $C$.\n+\n+In Listings \\ref{lst:tournament} an example of how to produce a simple tournament is shown.\n+Lines 7 - 10 create two plots.\n+The first is a ranked violion plot of the mean payoff for each player and the second is a matrix plot of pair wise payoffs for each player.\n+These plots can be seen\n+\n+\\begin{listing}[htbp!]\n+\\begin{ExampleCode}\n+>>> import axelrod as axl\n+>>> axl.seed(0)  # Set a seed\n+>>> players = [s() for s in axl.strategies]  # Create players\n+>>> tournament = axl.Tournament(players)  # Create a tournament\n+>>> results = tournament.play()  # Play the tournament\n+>>> plot = axl.Plot(results)\n+>>> p = plot.boxplot()\n+>>> p.show()\n+>>> q = plot.payoff()\n+>>> q.show()\n+\\end{ExampleCode}\n+\\caption{Example code to produce a simple tournament}\n+\\label{lst:tournament}\n+\\end{listing}\n+\n+\\begin{figure}\n+%TODO\n+\\begin{center}\n+\\caption{Ranked violin plot of th mean payoff for each player}\n+\\label{fig:violinplot}\n+\\end{center}\n+\n+\\begin{center}\n+\\caption{Matrix plot of pair wise payoffs for each player}\n+\\label{fig:matrixplot}\n+\\end{center}\n+\\end{figure}\n+\n+is often used to model systems in biology ~\\cite{Sigmund1999}, sociology ~\\cite{Franken2005},\n+psychology ~\\cite{Ishibuchi2005}, and economics ~\\cite{Chong2005}.\n+\n+\n+\\section{Fingerprinting}\\label{sec:fingerprinting}\n+\n+A method for differentiating between strategies in a graphical manner is first given in ~\\cite{Ashlock2004} by Ashlock.\n+Several definitions, theorems and proofs concerning the construction of a fingerprint are outlined.\n+This is then followed by a few examples.\n+The examples presented are of low quality and the only probe strategy (see section/definition etc) used is TitForTat.\n+%TODO\n+\n+Ashlock then extends his fingerprinting work further in ~\\cite{Ashlock2008}.\n+Far more examples are presented, and many different fingerprint functions are listed.\n+A large number of the analytical fingerprint functions use a probe that is not TitForTat.\n+Fingerprinting is then used to to assess how three evolutionary algorithms produce different populations.\n+The evolutionary methods involved are finite-state machines, lookup tables and feedforward neural nets.\n+\n+\n+\\begin{definition}\\label{def:joss-ann}\n+If $A$ is a strategy for playing the iterated prisoner's dilemma, then the \\textbf{Joss-Anne of A}, $\\JA(A, x, y)$ is a transformation of that strategy.\n+Instead of the original behaviour, it makes move $C$ with probablility $x$, move $D$ with probability $y$, and otherwise uses the response appropriate to strategy $A$ (if $x+y < 1$).\n+\\end{definition}\n+\n+The notation $\\JA$ comes from the initials of the names Joss and Anne.\n+Joss was a strategy submitted to one of Axelrod’s original tournaments and it would occasionally defect without provocation in the hopes of a slight improvement in score.\n+Anne is the first name of A. Stanley who suggested the addition of random cooperation (refs from ashlock paper) instead of random defection ~\\cite{Ashlock2008}.\n+When $x + y = 1$, the original strategy is not used, and the resulting behavior is a random strategy with probabilities $(x, y)$.\n+In more general terms, a $\\JA$ strategy is an alteration of a strategy $A$ that causes the strategy to be played with random noise inserted into the responses.\n+\n+\\begin{definition}\\label{def:fingerprint}\n+A \\textbf{Fingerprint} $F_A(S, x, y)$ with $0 \\leq x, y \\leq 1$, $x+y \\leq 1$ for strategy $S$ and probe $A$, is the function that returns the expected score of strategy $S$ against $\\JA(A, x, y)$ for each possible $(x, y)$.\n+\\end{definition}\n+\n+The fingerprint function can often be found quite easily (see Chapter \\ref{cha:theory} for an example construction) however it is the plot of this function that is of interest.\n+This is because an approximation of the plot can be found in cases where the analytical function would be too difficult or time consuming to compute.\n+\n+\\begin{definition}\\label{def:double-fingerprint}\n+The \\textbf{Double Fingerprint} $F_{AB}(S, x, y)$ with $0 \\leq x, y \\leq 1$ returns the expected score of strategy $S$ against $\\JA(A, x, y)$ if $x+y \\leq 1$, and $\\JA(B, 1-y, 1-x)$ if $x+y \\geq 1$.\n+\\end{definition}\n+\n+The double fingerprint allows us to extend the idea of a fingerprint over the full unit square.\n+A unit square is preferable because it is more easily manipulated by a computer, is more easily viewed by humans, and uses paper more efficiently. %TODO, do we like this line\n+\n+\\begin{definition}\\label{def:dual}\n+Strategy $A'$ is said to be the \\textbf{Dual} of strategy $A$ if $A$ and $A'$ can be written as finite-state machines that are identical except that their responses are reversed.\n+\\end{definition}\n+\n+An alternative wording is that, given a history for an opponent, the responses of the original strategy and the dual would be opposite.\n+It's important to note that this is different to taking a strategy and flipping it's responses.","path":"tex/chapters/literature.tex","position":203,"original_position":203,"commit_id":"7f515ddaa3e82954a0f1b99bc344a2d0732fb817","original_commit_id":"7f515ddaa3e82954a0f1b99bc344a2d0732fb817","user":{"login":"drvinceknight","id":2131546,"avatar_url":"https://avatars.githubusercontent.com/u/2131546?v=3","gravatar_id":"","url":"https://api.github.com/users/drvinceknight","html_url":"https://github.com/drvinceknight","followers_url":"https://api.github.com/users/drvinceknight/followers","following_url":"https://api.github.com/users/drvinceknight/following{/other_user}","gists_url":"https://api.github.com/users/drvinceknight/gists{/gist_id}","starred_url":"https://api.github.com/users/drvinceknight/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drvinceknight/subscriptions","organizations_url":"https://api.github.com/users/drvinceknight/orgs","repos_url":"https://api.github.com/users/drvinceknight/repos","events_url":"https://api.github.com/users/drvinceknight/events{/privacy}","received_events_url":"https://api.github.com/users/drvinceknight/received_events","type":"User","site_admin":false},"body":"It is","created_at":"2016-12-06T14:08:54Z","updated_at":"2016-12-06T14:08:54Z","html_url":"https://github.com/theref/FinalYearProject-Manuscript/pull/5#discussion_r91083714","pull_request_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/pulls/5","_links":{"self":{"href":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/pulls/comments/91083714"},"html":{"href":"https://github.com/theref/FinalYearProject-Manuscript/pull/5#discussion_r91083714"},"pull_request":{"href":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/pulls/5"}}},"pull_request":{"url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/pulls/5","id":89968515,"html_url":"https://github.com/theref/FinalYearProject-Manuscript/pull/5","diff_url":"https://github.com/theref/FinalYearProject-Manuscript/pull/5.diff","patch_url":"https://github.com/theref/FinalYearProject-Manuscript/pull/5.patch","issue_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/issues/5","number":5,"state":"open","locked":false,"title":"Literature","user":{"login":"theref","id":4128101,"avatar_url":"https://avatars.githubusercontent.com/u/4128101?v=3","gravatar_id":"","url":"https://api.github.com/users/theref","html_url":"https://github.com/theref","followers_url":"https://api.github.com/users/theref/followers","following_url":"https://api.github.com/users/theref/following{/other_user}","gists_url":"https://api.github.com/users/theref/gists{/gist_id}","starred_url":"https://api.github.com/users/theref/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theref/subscriptions","organizations_url":"https://api.github.com/users/theref/orgs","repos_url":"https://api.github.com/users/theref/repos","events_url":"https://api.github.com/users/theref/events{/privacy}","received_events_url":"https://api.github.com/users/theref/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-10-19T09:07:10Z","updated_at":"2016-12-06T14:11:18Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bf649264f48a234b6e32c608c85b94a945bcb8ec","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/pulls/5/commits","review_comments_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/pulls/5/comments","review_comment_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/pulls/comments{/number}","comments_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/issues/5/comments","statuses_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/statuses/7f515ddaa3e82954a0f1b99bc344a2d0732fb817","head":{"label":"theref:literature","ref":"literature","sha":"7f515ddaa3e82954a0f1b99bc344a2d0732fb817","user":{"login":"theref","id":4128101,"avatar_url":"https://avatars.githubusercontent.com/u/4128101?v=3","gravatar_id":"","url":"https://api.github.com/users/theref","html_url":"https://github.com/theref","followers_url":"https://api.github.com/users/theref/followers","following_url":"https://api.github.com/users/theref/following{/other_user}","gists_url":"https://api.github.com/users/theref/gists{/gist_id}","starred_url":"https://api.github.com/users/theref/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theref/subscriptions","organizations_url":"https://api.github.com/users/theref/orgs","repos_url":"https://api.github.com/users/theref/repos","events_url":"https://api.github.com/users/theref/events{/privacy}","received_events_url":"https://api.github.com/users/theref/received_events","type":"User","site_admin":false},"repo":{"id":69358422,"name":"FinalYearProject-Manuscript","full_name":"theref/FinalYearProject-Manuscript","owner":{"login":"theref","id":4128101,"avatar_url":"https://avatars.githubusercontent.com/u/4128101?v=3","gravatar_id":"","url":"https://api.github.com/users/theref","html_url":"https://github.com/theref","followers_url":"https://api.github.com/users/theref/followers","following_url":"https://api.github.com/users/theref/following{/other_user}","gists_url":"https://api.github.com/users/theref/gists{/gist_id}","starred_url":"https://api.github.com/users/theref/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theref/subscriptions","organizations_url":"https://api.github.com/users/theref/orgs","repos_url":"https://api.github.com/users/theref/repos","events_url":"https://api.github.com/users/theref/events{/privacy}","received_events_url":"https://api.github.com/users/theref/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/theref/FinalYearProject-Manuscript","description":null,"fork":false,"url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript","forks_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/forks","keys_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/keys{/key_id}","collaborators_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/teams","hooks_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/hooks","issue_events_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/issues/events{/number}","events_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/events","assignees_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/assignees{/user}","branches_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/branches{/branch}","tags_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/tags","blobs_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/git/refs{/sha}","trees_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/git/trees{/sha}","statuses_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/statuses/{sha}","languages_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/languages","stargazers_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/stargazers","contributors_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/contributors","subscribers_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/subscribers","subscription_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/subscription","commits_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/commits{/sha}","git_commits_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/git/commits{/sha}","comments_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/comments{/number}","issue_comment_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/issues/comments{/number}","contents_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/contents/{+path}","compare_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/compare/{base}...{head}","merges_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/merges","archive_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/downloads","issues_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/issues{/number}","pulls_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/pulls{/number}","milestones_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/milestones{/number}","notifications_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/labels{/name}","releases_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/releases{/id}","deployments_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/deployments","created_at":"2016-09-27T13:17:14Z","updated_at":"2016-09-27T13:46:35Z","pushed_at":"2016-12-05T14:17:51Z","git_url":"git://github.com/theref/FinalYearProject-Manuscript.git","ssh_url":"git@github.com:theref/FinalYearProject-Manuscript.git","clone_url":"https://github.com/theref/FinalYearProject-Manuscript.git","svn_url":"https://github.com/theref/FinalYearProject-Manuscript","homepage":null,"size":19105,"stargazers_count":0,"watchers_count":0,"language":"Jupyter Notebook","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":8,"forks":0,"open_issues":8,"watchers":0,"default_branch":"master"}},"base":{"label":"theref:master","ref":"master","sha":"0f7fdd4b7b60ebf99d1a2aae508961bd06608235","user":{"login":"theref","id":4128101,"avatar_url":"https://avatars.githubusercontent.com/u/4128101?v=3","gravatar_id":"","url":"https://api.github.com/users/theref","html_url":"https://github.com/theref","followers_url":"https://api.github.com/users/theref/followers","following_url":"https://api.github.com/users/theref/following{/other_user}","gists_url":"https://api.github.com/users/theref/gists{/gist_id}","starred_url":"https://api.github.com/users/theref/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theref/subscriptions","organizations_url":"https://api.github.com/users/theref/orgs","repos_url":"https://api.github.com/users/theref/repos","events_url":"https://api.github.com/users/theref/events{/privacy}","received_events_url":"https://api.github.com/users/theref/received_events","type":"User","site_admin":false},"repo":{"id":69358422,"name":"FinalYearProject-Manuscript","full_name":"theref/FinalYearProject-Manuscript","owner":{"login":"theref","id":4128101,"avatar_url":"https://avatars.githubusercontent.com/u/4128101?v=3","gravatar_id":"","url":"https://api.github.com/users/theref","html_url":"https://github.com/theref","followers_url":"https://api.github.com/users/theref/followers","following_url":"https://api.github.com/users/theref/following{/other_user}","gists_url":"https://api.github.com/users/theref/gists{/gist_id}","starred_url":"https://api.github.com/users/theref/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theref/subscriptions","organizations_url":"https://api.github.com/users/theref/orgs","repos_url":"https://api.github.com/users/theref/repos","events_url":"https://api.github.com/users/theref/events{/privacy}","received_events_url":"https://api.github.com/users/theref/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/theref/FinalYearProject-Manuscript","description":null,"fork":false,"url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript","forks_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/forks","keys_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/keys{/key_id}","collaborators_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/teams","hooks_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/hooks","issue_events_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/issues/events{/number}","events_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/events","assignees_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/assignees{/user}","branches_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/branches{/branch}","tags_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/tags","blobs_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/git/refs{/sha}","trees_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/git/trees{/sha}","statuses_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/statuses/{sha}","languages_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/languages","stargazers_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/stargazers","contributors_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/contributors","subscribers_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/subscribers","subscription_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/subscription","commits_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/commits{/sha}","git_commits_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/git/commits{/sha}","comments_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/comments{/number}","issue_comment_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/issues/comments{/number}","contents_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/contents/{+path}","compare_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/compare/{base}...{head}","merges_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/merges","archive_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/downloads","issues_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/issues{/number}","pulls_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/pulls{/number}","milestones_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/milestones{/number}","notifications_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/labels{/name}","releases_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/releases{/id}","deployments_url":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/deployments","created_at":"2016-09-27T13:17:14Z","updated_at":"2016-09-27T13:46:35Z","pushed_at":"2016-12-05T14:17:51Z","git_url":"git://github.com/theref/FinalYearProject-Manuscript.git","ssh_url":"git@github.com:theref/FinalYearProject-Manuscript.git","clone_url":"https://github.com/theref/FinalYearProject-Manuscript.git","svn_url":"https://github.com/theref/FinalYearProject-Manuscript","homepage":null,"size":19105,"stargazers_count":0,"watchers_count":0,"language":"Jupyter Notebook","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":8,"forks":0,"open_issues":8,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/pulls/5"},"html":{"href":"https://github.com/theref/FinalYearProject-Manuscript/pull/5"},"issue":{"href":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/issues/5"},"comments":{"href":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/issues/5/comments"},"review_comments":{"href":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/pulls/5/comments"},"review_comment":{"href":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/pulls/5/commits"},"statuses":{"href":"https://api.github.com/repos/theref/FinalYearProject-Manuscript/statuses/7f515ddaa3e82954a0f1b99bc344a2d0732fb817"}}}}
{"actor":{"display_login":"drvinceknight"}}