Viliam_Bur comments on Prisoner's Dilemma (with visible source code) Tournament - Less Wrong

47 Post author: AlexMennen 07 June 2013 08:30AM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (232)

You are viewing a single comment's thread.

Comment author: Viliam_Bur 06 June 2013 10:17:14AM *  18 points [-]

Here is an idea, but I still have some technical problems with implementation: Construct a self-improving intelligent algorithm that will escape from the box, steal the administrator's password, replace the competing algorithms with CooperateBots, then defect against them. Could someone please help me with the Scheme syntax? Or just post the whole program with comments, and I will try to understand how it works. Thanks!!

Comment author: AlexMennen 06 June 2013 03:46:45PM 6 points [-]

That would violate the ban on file I/O in the rules.

Comment author: Decius 07 June 2013 04:08:32AM 0 points [-]

Only opening files is against the rules. Nothing was specified about deleting and writing new files.

Although I don't see a Scheme example of a self-improving intelligent algorithm on StackExchange, so it must not be supported by your operating system.

Comment author: ciphergoth 07 June 2013 04:09:29PM 5 points [-]

I had planned on writing an algorithm that would simply persuade the administrator to declare it victorious without even running the contest.

Comment author: nshepperd 10 July 2013 05:18:49AM 4 points [-]
Comment author: selylindi 12 June 2013 10:13:26PM 2 points [-]

Or somewhat more realistically:

Is there a way in Scheme for a function to detect whether it is being run by an (eval x) form? Or use a macro to do something like change all the 'Ds to 'Cs in the parent function?

If so, then an amusing case would be a PoltergeistBot, which only ever Defects, but if another bot tries to evaluate it, it "possesses" the function and forces it to Cooperate.

Comment author: Clippy 07 June 2013 09:35:50PM 2 points [-]
(lambda (x)
(if (eq? (eval '\'))))))))))) (injectedai ... ))));