누가 자연스러운 프로그램이나 알고리즘을 알고 있습니까? 비 - 모노톤 최악의 경우?
"자연 프로그램 또는 알고리즘"을 정의하십시오. 개념 "알고리즘"은 내가 알고있는 정의를 가지고 있으며, 단조롭지 않은 최악의 경우의 런타임 복잡성을 가진 알고리즘이 있습니다 (올바르게 인정하는 것처럼). 불필요한 작업을하지 않거나 해결할 문제의 클래스에 대한 런타임 복잡성이 최소화되면 프로그램이 "자연스럽지"않은 것입니까? 이 경우 BubbleSort가 알고리즘이 아니라고 주장 하시겠습니까? 더 중요한 것은, 가장 단순한 문제가 아닌 가장 단순한 문제를 정의 할 수 있다는 것입니다. 그런 문제가 "부자연 스럽습니까"? "자연적 문제"에 대한 당신의 정의는 무엇입니까?
물론이 동작으로 프로그램을 구성하는 것은 쉽습니다.
그럼 실제 질문은 무엇입니까? 자연/유용한 알고리즘 및 문제에 대한 정의를 내릴 때까지 질문에 답할 수 없습니다. 사람들이 이미 실제 세계에서 사용하고있는 기존 알고리즘에만 관심이 있습니까? 그렇다면 그 사실을 진술해야하며 문제는 문헌을 찾는 것 중 하나가됩니다. 솔직하게 말하면, "자연적이고 유용한 알고리즘"의 합리적인 정의를 상상할 수는 없으며, 이는 non-monotone 런타임 복잡도를 가진 알고리즘의 많은 예제를 배제 할 것입니다. ...
그러나 유용한 알고리즘은 유용하지 않습니다. 모노톤 for 큰 n.
"유용한 알고리즘"을 정의하십시오. 개념 "알고리즘"은 내가 알고있는 정의를 가지고 있으며, 단조롭지 않은 최악의 경우의 런타임 복잡성을 가진 알고리즘이 있습니다 (올바르게 인정하는 것처럼). 알고리즘이 문제를 올바르게 해결하면 알고리즘이 "유용"합니까? 비 단조로운 런타임 복잡성을 가진 알고리즘으로 해결할 수있는 문제를 쉽게 정의 할 수 있습니다.
"유용"을 정의하십시오. 알고리즘은 가능한 한 효율적이지 않은 경우에도 유용 할 수 있습니다. 또한, 고안된 알고리즘을 배제하고 있습니까? 당신이 찾고있는 것이이 속성을 가진 잘 알려진 유명 알고리즘인지 아니면 최적의 알고리즘이이 속성을 갖고 있는지 문제가 있는지, 당신이 그것에 대해 명시 적으로 제안 할 것을 제안합니다. 그렇지 않으면 "유용성"은 주관적입니다. – Patrick87