Mathematica 188 185 170 115 130 46 48 caracteres
Explicación
En versiones anteriores, hice un gráfico de posiciones que tenían una distancia del tablero de ajedrez de 1 entre sí. GraphComponentsLuego reveló el número de islas, una por componente.
La versión actual usa MorphologicalComponentspara encontrar y numerar grupos de unos en la matriz - regiones donde 1están físicamente contiguas. Debido a que las gráficas son innecesarias, esto resulta en una gran economía de código.
Código
Max@MorphologicalComponents[#/.{"."->0,"*"->1}]&
Ejemplo
Max@MorphologicalComponents[#/.{"."->0,"*"->1}]&[{{".", ".", ".", ".", ".", ".", ".", ".", ".", "*", "*"}, {"*", "*", ".", ".", ".", ".", ".", ".", "*", "*", "*"}, {".", ".", ".", ".", ".", ".", ".", ".", ".", ".", "."}, {".", ".", ".", "*", ".", ".", ".", ".", ".", ".", "."}, {"*", ".", ".", ".", ".", ".", ".", ".", ".", "*", "."}, {"*", ".", ".", ".", ".", ".", ".", ".", ".", ".", "*"}}]
5 5
Cómo funciona
Los datos se ingresan como una matriz; en Mathematica, esta es una lista de listas.
En la matriz de entrada, los datos se convierten en 1'sy 0' s por el reemplazo
/.{"."->0,"*"->1}
donde /.es una forma infija de ReplaceAllseguida por reglas de reemplazo. Básicamente, esto convierte la matriz en una imagen en blanco y negro. Todo lo que necesitamos hacer es aplicar la función Image,.
Image[{{".", ".", ".", ".", ".", ".", ".", ".", ".", "*", "*"}, {"*", "*", ".", ".", ".", ".", ".", ".", "*", "*", "*"}, {".", ".", ".", ".", ".", ".", ".", ".", ".", ".", "."}, {".", ".", ".", "*", ".", ".", ".", ".", ".", ".", "."}, {"*", ".", ".", ".", ".", ".", ".", ".", ".", "*", "."}, {"*", ".", ".", ".", ".", ".", ".", ".", ".", ".", "*"}} /. {"." -> 0, "*" -> 1}]

Los cuadrados blancos corresponden a las celdas que tienen el valor, 1.
La siguiente imagen muestra algunos pasos que utiliza el enfoque. La matriz de entrada contiene solo 1'sy 0' s. La matriz de salida etiqueta cada grupo morfológico con un número. (Empaqueté las matrices de entrada y salida MatrixFormpara resaltar su estructura bidimensional).
MorphologicalComponentsreemplaza 1s con un número entero correspondiente al número de clúster de cada celda.

Max devuelve el número de clúster más grande.
Viendo las islas
Colorize coloreará cada isla de manera única.
