나는 이론적으로 일하지 않지만, 나의 연구는 가끔씩 논문을 읽고 이해해야한다. 일단 (일련의) 결과를 이해하면 나는이 결과를 내가 함께 일하는 사람들과 논의하지만, 대부분 이론적으로는 일하지 않습니다. 그러한 토론 중 하나에서 다음과 같은 질문이 나왔습니다.
주어진 두 알고리즘이 "유사"하다고 언제 말합니까?
"유사"란 무엇을 의미합니까? 리뷰어를 혼란스럽게하거나 성가 시게하지 않고 논문에서 다음 주장 중 하나를 만들 수 있다면 두 알고리즘이 비슷하다고 말할 수 있습니다 (더 나은 정의를 환영합니다).
주장 1. " 알고리즘 와 유사한 알고리즘 도 문제 해결한다 "X
주장 2. "우리의 알고리즘은 알고리즘 와 유사하다 "
좀 더 구체적으로 설명하겠습니다. 그래프 알고리즘을 사용한다고 가정합니다. 먼저 두 알고리즘이 비슷한 조건이 필요합니다.
- 그들은 같은 문제를 해결해야합니다.
- 동일한 수준의 직관적 인 아이디어가 있어야합니다.
예를 들어, 그래프 순회, 폭 우선 및 깊이 우선 순회에 대해 이야기하면 위의 두 가지 조건이 충족됩니다. 최단 경로 계산의 경우, 너비 우선 및 Dijkstra 알고리즘은 위의 두 가지 조건을 충족합니다 (물론 비가 중 그래프). 기타
이것들도 충분한 조건입니까? 보다 구체적으로, 두 알고리즘이 유사한 조건을 충족시키는 것으로 가정하자. 다음과 같은 경우에 실제로 유사하다고 하시겠습니까?
- 그들은 다른 점근 성능을 가지고 있습니까?
- 특수한 그래프 클래스의 경우 하나의 알고리즘에 시간이 필요하고 다른 알고리즘 에는 시간이 필요합니까?
- 서로 다른 종료 조건이 있습니까? (동일한 문제를 해결하고 있음을 기억하십시오)
- 전처리 단계가 두 알고리즘에서 다른가?
- 두 알고리즘에서 메모리 복잡성이 다른가?
편집 : 질문은 분명히 상황에 따라 다르며 주관적입니다. 그러나 위의 5 가지 조건이 제안을 얻을 수 있기를 바랍니다. 답변을 얻는 데 필요한 경우 질문을 더 수정하고 자세한 내용을 알려 드리겠습니다. 감사!