Discussion about this post

User's avatar
anonymous's avatar

Regarding finding Nash Equilibrium strategies: If we have a candidate mixed optimal strategy for one player, then any of the individual strategies in the other player's optimal counter strategy will have the same pay off. So, given a candidate mixed strategy for one player, we can search for a an optimal single (i.e. simple) counter-strategy for the other player and evaluate the candidate strategy based on how it performs against that optimized counter.

For the shooting strategy presented in the video there's basically a mix of eight strategies (for reflections and rotations), so it's probably practically feasible to just simulate it against a placement of ships, move one of the ships at random and try again over and over. (I think this is an example of simulated annealing.)

The thing is, I'm quite confident that the shooting strategy in the video is not particularly close to a NE since it predictably avoids the edges. And, when I try to come up with NE shooting strategies they tend start with something like "choose a random value from 0-5 then shoot all the cells where row+column is equal to that value mod 6 in a random order". That's already trillions of possible shooting sequences, so, while that kind of shooting approach can certainly be analyzed using combinatorics, it's impractical to directly simulate.

For Nash Equilibrium on setting side of things, it's pretty easy to come up with placement probabilities that make all cells except for the corners equally probable to hold each ship. A naive greedy approach like the one in the video won't provide any guidance about which of the 96 non-corner cells to start with in response. Searching for a good shooting response to that approach to ship placement (if there is one) will take more sophisticated thinking.

anonymous's avatar

A fundamental thought that I ran into is that the goal of battleship is to sink the other fleet first. That's a bit different than trying to sink the other fleet in the fastest average time. There is obviously some overlap, but it really doesn't matter whether a player loses by one shot or by 100. There may be situations where it makes sense to do things that increase the expected average sinking time in exchange for increasing the probability of fast wins.

For example, suppose that our opponent gets lucky and hits our destroyer with the first shot, it might make sense to shoot a coarse 'seek' pattern and gamble on getting lucky to hit their destroyer while covering all the possible placements for length 3 ships on the map.

Evaluating that kind of thing is a bit of work since it's getting into distribution vs distribution stuff and involves speculating about the opponent's strategy to generate a distribution of finish times based on what ships have been hit or sunk. A reasonable first estimate is that, if there's a seek pattern for N target ships covering M targets then the probability of finding all the ships by the Xth shot goes roughly as X choose (N-1) and that sinking each ship of length L is equally likely to take L-1, L, L+1 or L+2 additional shots.

20 more comments...

No posts

Ready for more?