Intelligent Agent Foundations Forumsign up / log in
An implementation of modal UDT
post by Benja Fallenstein 566 days ago | Jessica Taylor, Luke Muehlhauser, Nate Soares and Patrick LaVictoire like this | discuss

One of the great advantages of working with Gödel-Löb provability logic is that it’s possible to implement an evaluator which efficiently checks whether a sentence in the language of GL is true. Mihaly and Marcello used this to write a program that checks whether two modal agents cooperate or defect against each other. Today, Nate and I extended this with an implementation of modal UDT, which allows us to check what UDT does on different decision problems—see Program.hs in the Github repository. No guarantees for correctness, since this was written rather quickly; if anybody is able to take the time to check the code, that would be very much appreciated!


The implementation of UDT is rather pleasing, I think. Here’s the informal definition of modal UDT, using PA + \(\ell\):

  • For every possible outcome \(j\), from best to worst:
    • For every possible action \(i\), in order:
      • If it’s provable in PA + \(\ell\) that “UDT takes action \(i\)” implies “the universe returns outcome \(j\)”, then take action \(i\).
  • If you’re still here, return a default action.

Here is the corresponding Haskell code:

udt :: (Enum a,Ord b,Show b,Enum b)
    => Int -> ModalProgram b a -> b -> ModalProgram b b
udt level univ dflt = modalProgram dflt $
  mFor $ \a ->
    mFor $ \b ->
      mIf (boxk level (Var b %> univ a)) (mReturn b)

Being able to write modal UDT like this makes it very easy to implement and try small variations on the code.


We used this code to check what modal UDT would do in a version of Newcomb’s problem where Omega uses proofs in PA (rather than simulations) to decide whether to put the money in the box; that is, it will put a million dollars in the first box if and only if it can prove that you will one-box. If our code is correct, it turns out that in this case, modal UDT will do whatever its default action was.

Earlier, we thought we had proved a different result on the whiteboard, but after the code disagreed with us, we went over it again and found a bug in our proof. After fixing that bug, we now have a manual proof that UDT will end up taking its default action in this scenario (which I’ll write about some other time). So looks like this can be a useful tool for figuring out this sort of thing!



NEW LINKS

NEW POSTS

NEW DISCUSSION POSTS

RECENT COMMENTS

Yep! I wrote a (hopefully
by Stuart Armstrong on Corrigibility through stratified indifference and ... | 0 likes

Supposing humans _did_ shut
by Jessica Taylor on Corrigibility through stratified indifference and ... | 0 likes

In the shutdown problem, it
by Jessica Taylor on Corrigibility through stratified indifference and ... | 0 likes

I'm copying over some
by Sam Eisenstat on A new proposal for logical counterfactuals | 0 likes

"events flowing from
by Stuart Armstrong on Corrigibility through stratified indifference and ... | 0 likes

Hmm... I seem to have trouble
by Jessica Taylor on Corrigibility through stratified indifference and ... | 0 likes

New version up
by Stuart Armstrong on Corrigibility through stratified indifference and ... | 0 likes

I'll have a better version of
by Stuart Armstrong on Corrigibility through stratified indifference and ... | 0 likes

Ah, it seems I wasn't
by Stuart Armstrong on Corrigibility through stratified indifference and ... | 0 likes

> This kind of “causal”
by Jessica Taylor on Corrigibility through stratified indifference and ... | 0 likes

I don't *think* the various
by Stuart Armstrong on Uncertainty About One's Utility Function | 1 like

Have you seen
by Jessica Taylor on Can we hybridize Absent-Minded Driver with Death i... | 1 like

I don't quite have the exact
by William Saunders on Improbable Oversight, An Attempt at Informed Overs... | 1 like

Another method for dealing
by William Saunders on Improbable Oversight, An Attempt at Informed Overs... | 0 likes

Ok, send me the draft.
by Stuart Armstrong on Learning (meta-)preferences | 0 likes

RSS

Privacy & Terms (NEW 04/01/15)