이산 대수 문제의 복잡성을 측정하는 방법은 무엇입니까?


9

Crypto Stack Exchange 의이 질문에 대한 대답은 기본적으로 로그 문제의 복잡성을 측정하려면 그룹의 크기를 나타내는 숫자의 길이를 고려해야한다고 말합니다. 임의적 인 것 같습니다. 그룹의 크기를 인수로 선택하지 않겠습니까? 어떤 주장을 선택해야하는지에 대한 기준이 있습니까? 사실, 그룹 규모에 따라 복잡성이 크게 변하기 때문에 중요한 것을 간과했습니다.


2
재미있는 질문! 계산 방법에 대한 답이 ¯ \ _ (ツ) _ / ¯이므로 "계산"보다는 "복잡성 측정"이라고 말하도록 편집했습니다. :-)
David Richerby

나는 그렇게하는 것이 낫다고 생각합니다. :)
Nassim HADDAM

답변:


5

그룹의 크기를 선택하는지는 중요하지 않습니다 || 또는 그것을 나타내는 정수의 크기 매개 변수로서 로그||. 일반적으로 복잡성이 다음과 같은 관점에서 설명되는 두 가지 이유가 있습니다. 오히려 ||:

  1. 입력의 길이입니다 (더 정확하게 말하면 입력의 길이는 Θ()), 일반적으로 입력 길이의 함수로 알고리즘의 복잡성을 측정합니다.

  2. 보통 같은 작은 숫자입니다 1024반면에 || (거의)와 같은 엄청난 수입니다 21024.


요점을 알지만 그룹의 크기를 매개 변수로 선택하면 P에서 문제가되지 않습니까?
Nassim HADDAM

1
이 경우 매개 변수를 선택할 수 없습니다. 매개 변수는 항상 입력 길이입니다.
Yuval Filmus

답변 주셔서 감사합니다. 다른 경우를 고려하면 발생할 수있는 문제에 문제가있었습니다 (P의 문제는 NP로 바뀌고 다른 방법은 문제가됩니다). 나는 지금 분명히 볼 수 있습니다 :).
Nassim HADDAM

1
우리는 목표가 일부 숫자를 고려하거나 이산 로그를 계산하는 것이기 때문에 단항으로 계산을 수행하지 않으며 숫자가 어떻게 표현되는지는 신경 쓰지 않습니다. 이진 또는 단항으로 입력으로 제공하는 것은 문제를 해결하는 데 필요한 "벽 시간"에 영향을 미치지 않으며 입력 크기 측면에서의 복잡성 (입력 크기를 변경하기 때문에)에만 영향을 미칩니다.
Yuval Filmus

1
게다가 실제 알고리즘에 대한 단항 입력으로 128 비트 정수를 가질 수는 없습니다. 우주에는 원자가 충분하지 않습니다.
Yuval Filmus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.