행렬 곱셈 지수


15

구약 적으로, 행렬 곱셈 지수 의 정의 는 알려진 n ω 행렬 곱셈 알고리즘 이 존재하는 가장 작은 값 이다. 이것은 공식적인 수학적 정의로 받아 들일 수 없으므로 기술적 정의는 모든 t에 대한 부정확 한 것으로 추측하여 n t 에 행렬 곱셈 알고리즘이 있습니다.ωnωtnt

이 경우에, 우리는에 매트릭스 곱셈 알고리즘가 말할 수 또는 N ω + O ( 1 ) , 단지 그 모든 ε > 0 의 알고리즘이 존재 N ω + ε이 . 그러나 종종 행렬 곱셈을 사용하는 논문과 결과는 비용을 단순히 O ( n ω ) 로보고 합니다 .nωnω+o(1)ϵ>0nω+ϵO(nω)

이 사용법을 허용 하는 대한 대체 정의가 있습니까? 시간 n ω 또는 n ω + o ( 1 ) 의 알고리즘이 존재해야한다는 결과가 있습니까? 아니면 사용법 O ( n ω )가 단순히 부주의합니까?ωnωnω+o(1)O(nω)


2
그냥 블랙 박스로 행렬 곱셈을 사용하려면, 가장 쉬운 방법은 "하자 말을하는 것입니다 곱하기 우리가 할 수있는 것이어야 N × N 과 -matrices O ( N ω ) 산술 연산". 물론, ω 는 행렬 곱셈의 지수는 아니지만 임의로 닫을 수 있습니다. 최종 실행의 지수를 10 진수 표현으로 나타내려면 현재 어쨌든 반올림해야합니다. 왜냐하면 내가 알고있는 ω 에 대한 모든 사소한 추정치 가 비합리적 숫자 또는 무한 시퀀스 이기 때문 입니다. ωn×nO(nω)ωω
Markus Bläser

2
일반적으로 모든 실수를 통해 상하 한 것으로 정의된다 (K) 에 대한 N 가는 존재하도록 O ( N K ) 시간 알고리즘 곱셈 개의 N × N 시간이있는 가산, 승산 및 분할 수는 행렬 ( 기본 필드). 이것은 또한 기술적으로 항상 n ω + o ( 1 )를 작성해야하지만 지저분 해 지므로 O ( n ω ) 를볼 때 O ( M ( nωknO(nk)n×nnω+o(1)O(nω) 여기서, M은 ( N ) 매트릭스 곱셈 알고리즘의 실행 시간이다. O(M(n))M(n)
virgi

답변:


20

행렬 곱셈 지수 인 시간에서 실행되는 알고리즘이 있다는 것을 보장하지 않는다 O ( N ω는 ) 하지만 각 것만 ε > 0 , 알고리즘이 존재한다는 점에서 실행 O ( N ω + ε ) . 실제로 시간 O ( n 2 p o l y l o g ( n ) ) 에서 실행되는 알고리즘을 찾을 수 있으면 ω = 2 임을 나타냅니다 .ωO(nω)ϵ>0O(nω+ϵ)O(n2polylog(n))ω=2

Peter Bürgisser, Michael Clausen, Amin Shokrollahi의 Algebraic Complexity Theory 책에서 공식적인 정의를 찾을 수 있습니다.


7

댓글이 너무 길지 않은 작은 댓글 :

때때로 ϵ > 0 마다 실행 시간이 인 알고리즘이있는 문제가있을 때 실행 시간이 n k + o ( 1 ) 인 알고리즘이 있습니다.O(nk+ϵ)ϵ>0nk+o(1)

예를 들어, 때로는 빠르게 성장하는 함수 f (예 : 2 2 1 / ϵ )에 대해 같은 알고리즘을 얻을 수 있습니다. 만약 당신이 세트 F ( 1 / ε ) 에 (예를 들어) 로그 N , 다음 ε는 (1) O를 할 것이다. 함께 예에서 F ( 1 / ε )2 2 1 / ε , 선택할 수 1 / εf(1/ϵ)nk+ϵf221/ϵf(1/ϵ)lognϵf(1/ϵ)221/ϵ1/ϵ 이어야하며 , 이는 ϵ = 1 / ( log log log n ) 이며 o (1)입니다. 이 알고리즘의 최종 실행 시간은 수 있도록 N k는 + O ( 1 ) 이후, 로그 NN O를 ( 1 ) .logloglognϵ=1/(logloglogn)nk+o(1)lognno(1)


Coppersmith-Winograd 알고리즘이이 범주에 속한다고 생각합니까?
David Harris

2
@DavidHarris : 몰라요. 아마도 알고리즘을 이해하는 사람이 그것에 대해 약간의 설명을 할 수있을 것입니다. 나는 종종 가보기 만큼 나쁘지 않다고 말하려고했습니다. O(nk+ϵ)
로빈 Kothari의

5

Coppersmith와 Winograd 의 결과 는 단일 알고리즘으로 시간을 실현할 수 없다는 것이 잘 알려져 있습니다. 그러나 Strassen과 같은 쌍 선형 아이덴티티를 기반으로 한 알고리즘으로 제한되었다는 것을 읽었습니다 . 그래서 논문이 페이 월 뒤에 있기 때문에 확실하지 않습니다.O(nω)


3

가 "알려진 n ω 행렬 곱셈 알고리즘 이있는 가장 작은 값"으로 잘 정의되지 않았다는 질문에 대한 귀하의 진술에 동의하지 않습니다 . 사람들이이 상수를 사용하는 경우, 그들의 알고리즘은 행렬 곱셈에 의존하기 때문에 복잡도 n ω 는 "우리 알고리즘의 최적의 복잡성은 행렬 곱셈을위한 최적의 알고리즘에 의해 주어진다"를 의미합니다.ωnωnω

나는 그렇지 않으면 를 정의 할 수 없다고 말하는 것이 아니다 (예를 들어 ω 가 가장 달성 가능한 복잡도 라고 말하는 것 ).ωω

내가 실수하지 않으면 행렬 곱셈에 가장 잘 알려진 Btw가 로 향상되었습니다 . 2.3737


3
나는 인간의 지식은 수학적 정의의 일부가 될 수있는 방법을 볼 수 없습니다
데이비드 해리스

2
현재 ;-) 인류에 의해 알려진 모든 알고리즘을 통해보다 모든 알고리즘을 통해 정량화하기가 훨씬 쉽다는 것을 최근 경험 쇼
마르쿠스 BLASER
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.