Battleship Hunting Strategy
Strong Battleship play has two gears: hunting for the first hit of a ship and then targeting until it sinks. Doing both efficiently takes a typical game from about ninety random shots down to around fifty.
Parity scan first
The smallest ship is two cells long, so every ship covers at least one cell of each checkerboard colour. Firing only at one colour therefore cannot miss a ship entirely, and it skips half of the grid. Cover one colour first, and switch to targeting the moment you get a hit.
Use probability density
When several ships are still afloat, prefer the cells that fit the largest number of possible ship placements. Cells in the middle are covered by more positions than corners, and cells next to known misses are covered by fewer. The built-in AI counts every legal placement of the surviving ships and fires at the busiest cell; you can apply the same idea by eliminating cells that cannot hold any remaining ship.
Lock onto the axis
After a hit, fire at the four neighbouring cells. When two hits line up you know the ship's direction, so follow that line to both ends until the ship sinks. If the line runs out before the ship is complete, the missing cells are on the other side of the first hit.
After a ship sinks
When a ship sinks, its cells are accounted for, so cells around it that cannot hold any other ship can be skipped. Go back to the parity scan with the remaining ship lengths in mind; if the Destroyer is already gone, for example, the smallest remaining ship is three cells and you can scan more sparsely.
Open the endgame
With one or two ships left, strict parity can leave gaps in the corners. Switch to covering all the unknown cells that can still fit the last ship, so it cannot hide in a square you skipped.