Localizando um número de vetores binários maximamente diferentes de um conjunto

Considere o conjunto,S, de todos os vetores binários de comprimenton onde cada um contém exatamentem uns; então existemn-m zeros em cada vetor.
Meu objetivo é construir um número,k, de vetores deS de modo que esses vetores sejam tão diferentes quanto possível um do outro.

Como um exemplo simples, tomen= 4m= 2 ek= 2, uma solução possível é: [1,1,0,0] e [0,0,1,1].

Parece que este é um problema em aberto na literatura da teoria da codificação (?).

Existe alguma maneira (ou seja, algoritmo) de encontrar uma solução abaixo do ideal, mas boa?
A distância de Hamming é a medida de desempenho correta a ser usada neste caso?

Alguns pensamentos:
Noeste papel, os autores propõem alguns algoritmos para encontrar o subconjunto de vetores, de modo que a distância de Hamming em pares seja> = um determinado valor,d.
Eu implementei a abordagem aleatória da seguinte maneira: faça um conjuntoSS, que é inicializado por qualquer vetor deS. Então, considero os vetores restantes emS. Para cada um desses vetores, verifico se esse vetor tem pelo menos uma distânciad em relação a cada vetor emSS. Nesse caso, é adicionado aoSS.
Tomando o máximo possíveld, se o tamanho deSS é> =k, então eu consideroSS como uma solução ideal e escolho qualquer subconjunto dek vetores deSS. Usando essa abordagem, acho que o resultadoSS dependerá da identidade do vetor inicial emSS; ou seja, existem várias soluções (?).
Mas como proceder se o tamanho deSS é <k ?
Dos algoritmos propostos no artigo, só compreendi o aleatório. Estou interessado na pesquisa lexicográfica binária (seção 2.3), mas não sei como implementá-la (?).

questionAnswers(3)

yourAnswerToTheQuestion