Wolfram 언어

계산의 복잡성 구하기

알고리즘의 런타임을 이야기할 때 정확한 런타임 함수에 AsymptoticEqual (big )이라는 가장 간단한 함수를 제공하는 것이 일반적입니다. 이 동등성을 설명하는 다른 방법으로 각각의 함수가 다른 함수보다 AsymptoticLessEqual (big )과 AsymptoticGreaterEqual (big )이라는 것이 있습니다. 이 개념은 부분 행렬의 곱셈에 대해 처음 발견된 알고리즘인 슈트라센(Strassen)의 알고리즘에 나타나 있습니다.

이 알고리즘은 4단계로 구성됩니다. 이 4단계란 행렬의 각각을 4개의 부분 행렬로 분할하여 8개의 부분 행렬에서 14개의 선형 결합을 형성하고, 이 중 7개의 쌍을 곱하고 7개의 결과를 합하는 것입니다. 따라서 곱셈을 하는 시간 는 행렬을 분할하는 일정 시간 , 두 번째와 네 번째 단계에서 선형 결합을 형성하는 시간 , 세 번째 단계의 시간 입니다.

재귀 관계를 풉니다.

결과는 과 같이 복잡합니다.

마찬가지로, , 입니다.

이므로 알고리즘은 차수3 이하입니다.

간단한 삼차 알고리즘과 슈트라센 알고리즘의 성장률을 비교합니다.

관련 예제

de en es fr ja pt-br zh