PUNCH: An evolutionary algorithm for optimizing bit set selection. Nearly every nucleotide-based computing problem attempted thus far has involved the prearranged assignment of nucleotide sequences to represent bits. However, no general program is yet available to optimize those bit sequences. Careful selection of bit sequences can promote strong annealing between a bit and its intended complement while at the same time minimizing unintended interactions with other bits. In this paper, we present a program that uses an evolutionary algorithm to generate optimum bit sets using given (changeable) criteria. We also test some properties of the program and discuss future applications