유사 알고리즘 학습

1406 단어 알고리즘
오늘날 점점 더 많은 응용 은 비슷 한 알고리즘 을 사용 해 야 하 며, 세상의 사물 은 여러 가지 원인 으로 인해 변형 되 고 전환 된다.이런 상황 에서 컴퓨터 에서 비슷 한 알고리즘 의 중요성 이 나타난다.
  자주 사용 하 는 알고리즘 은 다음 과 같 습 니 다.
  
   1. levenshtein 은 편집 거리 라 고도 부른다.
     
protected function costLeven(a:Array,b:Array):uint{
			
			// point
			if (a[0]==-1){
				return b.length==0 ? 0 : 100000;
			}
			
			// precalc difangles
			var d:Array=fill2DTable(a.length+1,b.length+1,0);
			var w:Array=d.slice();
			
			for (var x:uint=1;x<=a.length;x++){
				for (var y:uint=1;y<b.length;y++){
					d[x][y]=difAngle(a[x-1],b[y-1]);
				}
			}
			
			// max cost
			for (y=1;y<=b.length;y++)w[0][y]=100000;
			for (x=1;x<=a.length;x++)w[x][0]=100000;
			w[0][0]=0;
			
			// levensthein application
			var cost:uint=0;
			var pa:uint;
			var pb:uint;
			var pc:uint;
			
			for (x=1;x<=a.length;x++){
				for (y=1;y<b.length;y++){
					cost=d[x][y];
					pa=w[x-1][y]+cost;
					pb=w[x][y-1]+cost;
					pc=w[x-1][y-1]+cost;
					w[x][y]=Math.min(Math.min(pa,pb),pc)
				}
			}
			
			return w[x-1][y-1];
		}

    2. Jaro-Winkler Distance
    3. n-gram
그래 픽 알고리즘:
   1. sift 알고리즘
   2. surf 알고리즘

좋은 웹페이지 즐겨찾기