summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Franzke <benjaminfranzke@googlemail.com>2012-11-07 14:22:44 +0100
committerBenjamin Franzke <benjaminfranzke@googlemail.com>2012-11-07 14:22:44 +0100
commit188670069af1432e4d2dc24a9ca6de526ca6bc40 (patch)
treec362958cfc27930a9f371b7aa7f8974df1ea0c8f
parent4affb8a63a09aacae4fe2c2c4bda8b9459eb5ef9 (diff)
downloadwbs-188670069af1432e4d2dc24a9ca6de526ca6bc40.tar.gz
wbs-188670069af1432e4d2dc24a9ca6de526ca6bc40.tar.bz2
wbs-188670069af1432e4d2dc24a9ca6de526ca6bc40.zip
Prisoners Dilemma: Add naive prober algorithm
-rw-r--r--naive_prober.pl14
1 files changed, 14 insertions, 0 deletions
diff --git a/naive_prober.pl b/naive_prober.pl
new file mode 100644
index 0000000..946dd0d
--- /dev/null
+++ b/naive_prober.pl
@@ -0,0 +1,14 @@
+% Naive Prober: Like Tit for Tat, but sometimes, after the
+% opponent has cooperated, it defects (e.g. at random, in
+% one of ten rounds in average).
+
+naive_prober_random(Number, d):-Number < 0.1,!.
+naive_prober_random(_, c).
+
+% Use opponents last decision
+naive_prober([d|_],d,_,_).
+% but only for for 90% if coorporated
+naive_prober([c|_],Choice,_,_):-
+ random(Number), naive_prober_random(Number, Choice).
+% Fallback to coorporate if history is empty.
+naive_prober([],c,_,_).