Skynet: The Virus, Ambush achievement

So not sure if I’m approaching this wrong, but from what I can tell the AI used in the IDE testcases and the validation testcases is different? If so it makes this achievement less of an interesting puzzle and more of a “code an unique solution for this specific case”

Assuming optimal play by the AI, it would be impossible to get under 50 links as the AI can just circle the board forcing you to block exit links (please correct me if I’m wrong on this point)

So therefore to get the achievement you need to make your code specifically target the behaviour of the AI, however if the AI behaviour is different in the IDE and validation then the only way to do this is by constantly submitting to figure out the AI behaviour. Though this behaviour is frowned upon by the system because you get locked out if you submit too often. Also theres the chance you’ll randomly get the correct solution just through RNG.

I think this achievement would be more fun if there was a solution to beat and optimal AI, or if the AI behaviour was listed in the description, or if the AI behaviour necessary for the achievement was also in the IDE tests.

Or have I overlooked some intricacy for the puzzle somewhere? Did anyone solve this with a general solution or did everyone else do hardcoding or RNG manipulation?

The Skynet AI does not change during validation. :slight_smile:

You can use the debug mode of the replay during validation, to find out why the AI does not target the same node as in the IDE.

I know that in validators nodes are at least enimerated in different order. Maybe your algorithm behaves differently because of that.

AFAIU the AI does not specifically try to rob you of the achievement, but rather tries to escape.
My achievement-grabbing algorithm was specifically designed to discourage Skynet from going towards the large ring.

It seems the AI is going for the next most connected node. The node with higher degree.
Cutting the edge between the Agent and the most connected node does work in the test phase (22 rounds, 58 links left) but sadly not in validation phase (32 rounds, 48 left).

Not sure what the behavior is in this case.

IIRC the agent’s AI takes the shortest path to any reachable gateway, and uses the first node’s IDs as a tiebreaker if there are multiple shortest paths. Switching from IDE to submission shuffles the IDs and switches the tiebreaker (high vs low).

Edit: read the dates on the comments next time, MrAnderson :blush: