I don't quite follow why 5/10 example presents a problem.
Conditionals with false antecedents seem nonsensical from the perspective of natural language, but why is this a problem for the formal agent? Since the algorithm as presented doesn't actually try to maximize utility, everything seems to be alright. In particular, there are 4 valid assignments: p1:(x=0,y=10,A()=10,U()=10), p2:(x=5,y=0,A()=5,U()=5), p3:(x=5,y=10,A()=10,U()=10), p4:(x=10,y=10,A()=10,U()=10)
The algorithm doesn't try to select an assignment with largest U(), but rather just outputs 5 if there's a valid assignment with x>y, and 10 otherwise. Only p2 fulfills the condition, so it outputs 5. p1 and p4 also seem nonsensical because of false antecedents but with attached utility U()=10 - would that be a problem too?
For this particular problem, you could get rid of assignments with nonsensical values by also considering an algorithm with reversed outputs and then taking the intersection of valid assignments, since only (x=5,y=10) satisfies both algorithms.
While I agree that the algorithm might output 5, I don't share the intuition that it's something that wasn't 'supposed' to happen, so I'm not sure what problem it was meant to demonstrate.
OK, this makes sense to me. Instead of your (A) and (B), I would offer the following two useful interpretations:
1: From a design perspective, the algorithm chooses 5 when 10 is better. I'm not saying it has "computed argmax incorrectly" (as in your A); an agent design isn't supposed to compute argmax (argmax would be insufficient to solve this problem, because we're not g... (read more)
(A longer text-based version of this post is also available on MIRI's blog here, and the bibliography for the whole sequence can be found here.)