This chapter deals with the problem of matching biological sequences, especially for regions where the number of differences is relatively small. The search for optimal local or global alignments of different DNA and/or protein sequences is a major research endeavor in molecular biology. As unexpected homologies are often found, an extensive purely syntactical approach, making no a priori assumptions, is required. The existing arsenal of algorithms utilized in molecular biology is quite extensive, and often some modification of an existing packaged program suffices. It is most useful, however, to appeal, in interdisciplinary efforts, to novel, more advanced approaches to this general problem developed by computer scientists. The algorithms presented in this work are fast and address practical problems. Still, a major unresolved difficulty is that of applying various weights to differences. Specifically, a substitution may have to carry a different weight than an insertion or deletion. Another example is that several consecutive differences between DNA or protein fragments may have to be weighed differently than taking the sum of each of the differences separately.