2 차원 피크 찾기 복잡성 (MIT OCW 6.006)


9

43:30MIT OCW 6.006 의 암송 비디오 에서

주어진 m×n 매트릭스 Am 열과 n 피크가 인접한 이웃보다 크거나 같은 임의의 값인 2 차원 피크 발견 알고리즘 인 행을 다음과 같이 설명했습니다.

참고 : 통해 열을 설명하는 데 혼란이있는 경우 n, 사과드립니다. 그러나 이것은 암송 비디오가 그것을 묘사하는 방법이며 비디오와 일치하려고했습니다. 그것은 나를 매우 혼란스럽게했다.

  1. 가운데 열을 선택 n/2// 복잡성이있다Θ(1)

  2. 열의 최대 값을 구합니다 n/2// 복잡성이있다 Θ(m) 있기 때문에 m 열의 행

  3. Horiz를 확인하십시오. 최대 값의 행 이웃, 최대 값보다 크면 피크가 발견되고 그렇지 않으면T(n/2,m)// 복잡성이있다T(n/2,m)

그런 다음 재발을 평가하기 위해 암송 강사는 말합니다.

T(1,m)=Θ(m) 최대 값을 찾기 때문에

(E1)T(n,m)=Θ(1)+Θ(m)+T(n/2,m)

나는 비디오에서 52:09에 다음 부분을 이해합니다. m행 수는 변하지 않기 때문에 상수처럼. 그러나 이것이 어떻게 다음 제품으로 이어지는 지 이해하지 못합니다.

(E2)T(n,m)=Θ(m)Θ(logn)

그렇게 생각합니다 m 상수처럼 취급되므로 이렇게 취급됩니다 Θ(1) 에서 제거 (E1)위. 그러나 나는 점프하기가 힘들다.(E2). 우리가 지금의 경우를 고려하고 있기 때문에 이것은T(n/2) 일정하게 m?

전반적인 아이디어를 "볼"수 있다고 생각합니다. Θ(logn)m 개의 행 수에 대해 최악의 경우 연산이 수행됩니다. 내가 알아 내려고하는 것은 점프를 설명하는 방법입니다.(E1)(E2) 다른 사람에게, 즉 진정한 이해를 얻습니다.

답변:


1

내가 알기로는 Θ(m) 주어진 열의 모든 요소를 ​​평가하고 그 요소 중 어느 것이 전체 최대 값인지 식별 ​​할 시간. 어디Θ(lg(n)) 최악의 시나리오에서는 알고리즘이 평가해야한다는 것입니다 lg(n)피크를 찾기 전에 행렬의 열. 그러면 총 작업은Θ(mlg(n))

예를 들어, 행렬에 32 개의 열과 8 개의 행이 있다고 가정합니다.

  1. 열 16과 같은 중간 열을 가져 와서이를 평가하고 열의 전체 피크가 오른쪽의 요소로 대체됨을 알 수 있습니다. 1-16 열을 삭제하고 17-32 열에 초점을 맞 춥니 다.
  2. 나머지 행렬의 가운데 열 (24 열)을 찾아 전역 피크를 평가합니다 (두 번째 열 평가). 오른쪽으로 이동해야합니다. 열 17-24를 삭제하고 25-32에 초점을 맞 춥니 다.
  3. 중간을 찾으십시오 (열 28)-당신은 평가하고 (제 3 열 평가), 당신은 오른쪽으로 이동해야한다는 것을 알았습니다. 열 25-28을 떨어 뜨리고 29-32에 집중하십시오.
  4. 열 30 (4 번째 평가)을 평가하고 오른쪽으로 이동해야하며 29-30 열을 삭제하십시오.
  5. 나머지 열 중 하나 (5 번째 열 평가)를 평가하면 완료됩니다.

총 5 개의 열 평가를 완료했습니다. 5 =lg(32) = lg(n) 여기서 n은 행렬의 열 수이고 lg는 log base 2입니다.


2

개요 분석이 올바르지 않은 것 같습니다. 올바른 복잡성은O(m) 어디 m행렬의 더 큰 차원 (행 또는 열)입니다. 자세한 내용은이 다른 올바른 분석 을 참조하십시오 . 실수의 일부는 되풀이 관계를 정의하지 않습니다T(n,m) 의 관점에서 T(n,m)(용지에서 올바르게 처리됨). 이 논문은 무한 시리즈를 보여 주거나 사용한다 :

T(n)=T(n2)+cnT(n)=T(1)+cn(1+12+14+18+)=O(n)


1
이 대답은 사실 문제가 아닙니다! OP는 암송 비디오 MIT OCW 6.006 에서 알고리즘에 대해 이야기 하지만이 답변 은 다른 알고리즘 에 대해 이야기 합니다 . 특히 OP로 요약 된 분석은 해당 동영상의 알고리즘과 관련하여 정확합니다.
John L.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.