{"id":589,"date":"2026-03-27T16:19:08","date_gmt":"2026-03-27T20:19:08","guid":{"rendered":"http:\/\/stephendavies.org\/data420\/?p=589"},"modified":"2026-04-04T22:25:04","modified_gmt":"2026-04-05T02:25:04","slug":"the-titfortat-challenge","status":"publish","type":"post","link":"http:\/\/stephendavies.org\/data420\/index.php\/2026\/03\/27\/the-titfortat-challenge\/","title":{"rendered":"The TitForTat challenge"},"content":{"rendered":"<p>Clone this repo:<\/p>\n<p><a href=\"https:\/\/github.com\/divilian\/IPD-LLM\"><tt>https:\/\/github.com\/divilian\/IPD-LLM<\/tt><\/a><\/p>\n<p>and run the program as follows (for instance):<\/p>\n<pre style=\"font-size:small;border:1px solid black;\">\r\n$ python cli.py 150 \\\r\n    --agent-fracs TFT 0.3 Mean 0.3 Sucker 0.4 \\\r\n    --p-same 0.1 --p-diff 0.01 \\\r\n    --num-iter 100 --plot\r\n<\/pre>\n<p>You can run &#8220;<tt>python cli.py -h<\/tt>&#8220;, too, to see all the command line arguments and what they mean.<\/p>\n<p>Bonus points to anyone who can vary the parameters such that (1) they maintain at least 5% of all three non-LLM agent types (<tt>Mean<\/tt>, <tt>Sucker<\/tt>, and <tt>TFT<\/tt>), and (2) the tit-for-tat agents, on average, come out the winners.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Clone this repo: https:\/\/github.com\/divilian\/IPD-LLM and run the program as follows (for instance): $ python cli.py 150 \\ &#8211;agent-fracs TFT 0.3 Mean 0.3 Sucker 0.4 \\ &#8211;p-same 0.1 &#8211;p-diff 0.01 \\ &#8211;num-iter 100 &#8211;plot You can run &#8220;python cli.py -h&#8220;, too, to see all the command line arguments and what they mean. Bonus points to anyone [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[1],"tags":[],"class_list":["post-589","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/stephendavies.org\/data420\/index.php\/wp-json\/wp\/v2\/posts\/589","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/stephendavies.org\/data420\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/stephendavies.org\/data420\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/stephendavies.org\/data420\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/stephendavies.org\/data420\/index.php\/wp-json\/wp\/v2\/comments?post=589"}],"version-history":[{"count":4,"href":"http:\/\/stephendavies.org\/data420\/index.php\/wp-json\/wp\/v2\/posts\/589\/revisions"}],"predecessor-version":[{"id":613,"href":"http:\/\/stephendavies.org\/data420\/index.php\/wp-json\/wp\/v2\/posts\/589\/revisions\/613"}],"wp:attachment":[{"href":"http:\/\/stephendavies.org\/data420\/index.php\/wp-json\/wp\/v2\/media?parent=589"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/stephendavies.org\/data420\/index.php\/wp-json\/wp\/v2\/categories?post=589"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/stephendavies.org\/data420\/index.php\/wp-json\/wp\/v2\/tags?post=589"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}