同じ長さのバイナリ文字列のセット S が与えられた場合、S' の文字列のすべてのペア間のハミング距離が少なくとも d であるという特性を持つ、S の最大サイズのサブセット S' を見つける高速な方法は何ですか?
次の関数は、2 つの文字列間のハミング距離を計算します。
def hamdist(str1, str2):
"""Count the # of differences between equal length strings str1 and str2"""
if (len(str1) != len(str2)):
print str1, str2, "Length mismatch!"
quit()
diffs = 0
for ch1, ch2 in itertools.izip(str1, str2):
if ch1 != ch2:
diffs += 1
return diffs