К вопросу о простых решениях

После нескольких лет работы в области прикладных исследований у меня появилось интересное ощущение, касающееся придумывания алгоритмов, их последующего использования и опубликования.

Сам со временем стал все больше ценить простые решения возникающих задач. Сразу оговорюсь - простые не значит очевидные. Простое решение придумать совсем нелегко. Очевидным часто является неэлегантное нагромождение существующих методов (или того, что пришло в голову автору в первую очередь), практически не поддающееся расширению и настройке для работы на реальных примерах. Такое в машинном зрении встречается сплошь и рядом.  

Простым и хорошим решением, с моей точки зрения, является лаконичный алгоритм, использующий минимум средств (в том числе и забубенных мат. методов) и минимум настроек, но тем не менее качественно решающий поставленную задачу. Определение нестрогое, конечно, но как-то так я это ощущаю.

В качестве примеров таких алгоритмов (которые просты и даже, может, примитивны внутри) но решают сложную задачу на новом уровне я могу привести несколько наших - GrowCut, Головамышь-2 и реконструкцию тел вращения. Есть и еще, но эти первые пришли в голову.

Что хорошего в простых решениях? Они обычно очень стабильны к изменениям входных данных и шуму. Чем сложнее алгоритм - тем проще его сломать (по моему опыту). Простые решения (обычно) легче расширять, и, разумеется, писать и отлаживать. 

Что плохого? У меня последнее время создается впечатление что их сложнее опубликовать. То есть статья, в которой описан простой (внутри) алгоритм, выглядит не очень внушительно и провоцирует более критическое отношение - нужно упорнее доказывать что он работает действительно хорошо, превосходит аналоги и вообще интересен научному сообществу. 

Вопросы к самому себе:

  1. Прав ли я? Есть ли такое отношение или это только так кажется?
  2. Если оно есть - может оно и правильно, научное сообщество (возможно) заинтересовано в первую очередь не в работающих решениях, а в новых и "интересных", которые, скажем, открывают "новые горизонты"?
Ответов пока не знаю. Посмотрим, подумаем...

Комментарии

Не всегда простые на первый

Не всегда простые на первый взгляд решения эффективны. Порой лучше использовать сложное, но достаточно надежное решение. Хотя ваше стремление похвально.
---
auto verzekeringen

Вообще, считается, что простые решения давно уже все были попробованы и исхожены вдоль и поперек. Поверить, что за много лет что-то упущено, и вправду сложно. Легче предположить, что не было найдено автором - так многие и думают.

Поэтому, думаю, дело не в том, что нужны перспективные решения, а банально в том, что люди не верят, что осталось что-то работающее и простое.