Se você modelar seu problema com gráficos, seu problema é como o problema da Steiner Tree :
Veja aqui a definição mais simples possível.
Dado um gráfico ponderado no qual um subconjunto de vértices é identificado como terminal, encontre um subgrafo conectado de peso mínimo que inclua todos os terminais.
Como você pode ver, é o NPC em geral, mas, no seu caso, seu gráfico é um gráfico de grade, pode ser que você possa encontrar uma boa solução para isso, mas para o seu exemplo atual (quando os terminais estão no limite), você pode ver a árvore Steiner no papel de gráficos de grade .
De qualquer forma, existem excelentes heurísticas para o problema do Steiner Tree, você pode aplicar uma abordagem semelhante ao seu problema.
PS: Você pode assumir que os vizinhos 1s são nós conectados; depois disso, você pode contratar as arestas para criar um novo gráfico, o novo gráfico criado é plano e, se você puder resolver a Árvore Steiner, poderá resolver seu problema, mas pode ser: existe uma boa solução para o seu problema, independente da Steiner Tree.