Я не работаю в теории, но моя работа требует чтения (и понимания) теоретических работ время от времени. Как только я понимаю (набор) результатов, я обсуждаю эти результаты с людьми, с которыми я работаю, большинство из которых также не работают в теории. Во время одного из таких обсуждений возник следующий вопрос:
Когда говорят, что два приведенных алгоритма «похожи»?
Что я имею в виду под «похожим»? Допустим, два алгоритма называются схожими, если вы можете сделать одно из следующих утверждений в документе, не вводя в заблуждение и не раздражая рецензента (более подходящие определения приветствуются):
Пункт 1. «Алгоритм , аналогичный алгоритму B , также решает проблему X »
Пункт 2. «Наш алгоритм аналогичен алгоритму »
Позвольте мне сделать это немного более конкретным. Предположим, мы работаем с графовыми алгоритмами. Сначала некоторые необходимые условия, чтобы два алгоритма были похожи:
- Они должны решать ту же проблему.
- Они должны иметь ту же интуитивную идею высокого уровня.
Например, разговор о обходе графа, прохождении в ширину и в глубину удовлетворяет двум вышеуказанным условиям; для вычислений по кратчайшему пути алгоритм в ширину и алгоритм Дейкстры удовлетворяют двум вышеуказанным условиям (конечно, на невзвешенных графах); и т.п.
Это также достаточные условия? В частности, предположим, что два алгоритма удовлетворяют необходимым условиям, чтобы быть похожими. Вы бы действительно назвали их похожими, если бы
- у них разные асимптотические показатели?
- для специального класса графов, один алгоритм требует времени , в то время как другие требует O ( п 1 / 3 ) время?
- у них разные условия завершения? (напомним, они решают одну и ту же проблему)
- шаг предварительной обработки отличается в двух алгоритмах?
- сложность памяти отличается в двух алгоритмах?
Редактировать: вопрос явно очень зависит от контекста и субъективно. Я надеялся, что приведенные выше пять условий, однако, позволят получить некоторые предложения. Я с удовольствием внесу дополнительные изменения в вопрос и предоставлю более подробную информацию, если необходимо получить ответ. Благодарность!