Fair enough on the tractor beams, mines, etc -- now I see what you meant there. But, the alternative in the past was them getting clobbered with that anyhow. And... really, if the AI never falls for any of your traps, where's the fun in making traps? The AI makes plenty of traps that players tend to fall for, too, so I think that balances out.
That might sound like a cop-out answer, but I'm actually very serious. If you read about, say, programming games of Billiards, you'll see that one of the biggest challenges there is making the AI play
imperfectly. FPS games have the same problem -- in any FPS game, a true AI would shoot you square in the head on every shot as soon as you were remotely nearby. There is no reason for it to miss, ever.
So the thing that FPS and Billiards AI programmers are tasked with is simulating how other humans play, which is a whole other form of AI all together. And, in terms of AI War, there's a little bit of that going on, too -- if the AI is allowed to just count up all your tractors and such on the other side of the wormhole, and decide not to go through because of the presence of them, then that really gets into tricky territory for a lot of players. Not to mention the complexity of even weighting that compared to other goals -- leading to problems such as being able to hold the AI infinitely at bay thanks to tractor beams.
There's also a very real chance that your plan could backfire -- an AI ship can slip through, or more might have built up than was clear, etc. Or some of those that come through might retreat and come through somewhere else unnoticed. So it's not like it's a Press To Win button, and the past alternative was just automatic victory through ongoing attrition of the AI trickle.
All THAT said, I'm not claiming that the current system is perfect by any stretch. I anticipate extending this logic and making it significantly smarter. But doing that is a tricky thing, because it's easy to create even bigger problems (see the tractors example) if you're not careful about it. I don't yet have a better idea on how to handle this specific scenario, and my head's not really in full AI War AI mode at the moment anyhow, but this is probably on of the things that is higher up on my list to improve next time we're in a full-out AI War development phase.
If folks want to discuss it in the meantime, of course, be my guest -- sometimes a simple rule addition or change can be found that has huge impact in an emergent system like this, so we could potentially change that even before the next big dev cycle. But I have thought about this one a fair bit over the last 8-9 months, and I think that while there is a solution to this one, it's not so simple. I always love to be wrong on that sort of assessment, though.