2010-07-04 2 views
1

Smith-Waterman 알고리즘을 사용하여 일부 문자열 일치 테스트를 실행 중입니다. 현재 SimMetrics (Java 오픈 소스 프로젝트)를 사용하여 테스트를 실행 중입니다.Smith-Waterman 알고리즘에 관한 질문

누구나 내가 'Bloggs J.' 'Bloggs'에 유사성 값 1.0이 있습니까?

분명히 갭 (예 : 'o'및 '.')이 있지만 페널티를받지 않은 것으로 보입니다.

미리 감사드립니다.

+1

이 질문은 알고리즘 자체에 대한 것입니다. 즉, 구현에 오류가 없지만 알고리즘이이 특정 결과를 출력하는 이유를 이해하지 못했거나 구현에 대해 (예 : 따라서 잘못된 결과가 나옵니까?) – stakx

+0

나는 구현이 정확하다는 것을 100 % 확신하지는 못했지만 그것이 가능할 것이라고 생각한다. 예상되는 결과가 무엇이며, 왜 그런지 설명 할 수 있는지 궁금합니다. – Gia

+3

애플릿을 사용해보십시오. http://baba.sourceforge.net/ – tur1ng

답변

5

Smith-Waterman Algorithm로컬 정렬 알고리즘입니다. 즉, 전체 문자열을 정렬하는 대신 개의 문자열이 잘 정렬되도록을 정렬하도록 설계되었습니다. 당신이 말하는 "갭"은 정렬 된 영역 밖에서 발생한 것으로 간주되기 때문에 간격으로 벌점이 주어지지 않습니다. 'Bloggs'길이의 문자열이 'Bloggs J.'에 더 잘 맞을 수 있습니다. 'Bloggs'보다. 전역 정렬을 원하면 Needleman-Wunsch Algorithm을 사용해야합니다.

+1

수정. Smith-Waterman에 대한 개요와 Needleman-Wunsch와의 구현 방법에 대한 자세한 내용은이 블로그 게시물을 참조하십시오 : http://www.etherealbits.com/2013/04/string-alignment-dynamic-programming-dna/. – Tyson