Esta postagem é pouco inspirada por esta postagem do mathoverflow .
Um Vanisher é qualquer padrão no jogo da vida de Conway que desaparece completamente após um passo. Por exemplo, o padrão a seguir é um Vanisher tamanho 9.
Uma propriedade interessante dos Vanishers é que qualquer padrão pode ser transformado em desaparecido simplesmente adicionando mais células vivas. Por exemplo, o padrão a seguir pode ser completamente incluído em um padrão de fuga como esse
No entanto, podemos transformar esse padrão em um Vanisher adicionando ainda menos células vivas.
Sua tarefa é escrever um programa que faça essa tarefa para nós. Isso recebe um padrão à medida que a entrada encontra e gera um padrão de fuga que contém a entrada. Você não precisa necessariamente encontrar o padrão ideal apenas um padrão que funcione.
Pontuação
Para pontuar o seu programa, você terá que executá-lo em todos os 6 polipletos de tamanho 6 (sem contar dobro os casos simetricamente equivalentes). Aqui está uma pasta que contém cada polipleto em sua própria linha. Deve haver 524 deles no total. Eles são representados como uma lista de seis coordenadas ( (x,y)
tuplas), cada uma sendo a localização de uma célula viva.
Sua pontuação será o número total de novas células adicionadas para transformar todos esses polyplets em Vanishers.
Laços
No caso de gravatas, irei fornecer uma lista do tamanho 7 de polipletos para os programas serem executados.
IO
Gostaria que o IO fosse bastante flexível. Você pode receber entradas e saídas em formatos razoáveis, mas provavelmente desejará receber as entradas no mesmo formato que os dados brutos de entrada que forneci. Seu formato deve ser consistente em várias execuções.
Cronometragem
Seu programa deve ser executado em um período de tempo razoável (aproximadamente <1 dia) em uma máquina razoável. Eu realmente não vou impor muito isso, mas eu preferiria se todos jogássemos bem.
fonte
Respostas:
Python + Z3 , pontuação = 3647
É executado em 14 segundos no meu sistema de oito núcleos.
Saída total
fonte
+
algumas delas estarem desconectadas da forma principal, mas parece que elas são necessárias para evitar a geração de novas células. Portanto, essas soluções são ótimas?z3.Or
vez de baunilhaa or b
? É puramente desempenho ou tem uma funcionalidade diferente?