Парадокс изобретателя

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

История

В книге «Как это решить» (стр. 121) венгерский математик Джордж Полиа приводит определение парадокса изобретателя.


Или, другими словами, при решении проблемы, возможно, придётся решить более общую проблему, чтобы получить правильно работающее частное решение[1].

При решении проблемы естественным стремлением обычно является устранение как можно большей излишней изменчивости и ограничение рассматриваемого предмета, насколько это возможно. Это может способствовать появлению непредвиденных и неудобных параметров[2]. Цель состоит в том, чтобы найти элегантные и относительно простые решения более широких проблем, позволяющие сосредоточиться на конкретной части, которая изначально вызывала беспокойство[3].

В этом заключается парадокс изобретателя: часто бывает значительно проще найти общее решение, чем более конкретное, поскольку общее решение, естественно, может иметь более простой алгоритм и более понятный способ и обычно может занимать меньше времени по сравнению с решением конкретной проблемы[2].

Примеры

Математика

Найти сумму чисел последовательно от 1 до 99:

Этот процесс, хотя и не невозможно осуществить в уме, для большинства может оказаться трудным. Однако существует возможность обобщить проблему, в этом случае путём изменения порядка следования слагаемых ряда на:

В таком виде пример может быть решён большинством без использования калькулятора[2]. Если заметить, что сумма наименьшего и наибольшего чисел, участвующих в проблеме, — 1 + 99 — равна 100, и что следующая сумма пары наименьшего и наибольшего чисел 2 + 98 также суммируется до 100, можно также понять, что все 49 чисел являются совпадающими парами, и каждая сумма равна 100, за исключением единственного числа в середине — 50. Изобретательный математик переформулирует задачу в уме как . Поскольку легко вычислить, добавив 2 нуля к разрядам числа 49: . Хотя текстовое описание этого процесса кажется сложным, каждый из шагов, выполняемых в уме, прост и быстр.

Другой пример присутствует в нескольких приложениях, и его проще всего объяснить, проанализировав относительно простую математическую последовательность[4].

и далее в последовательности:

Позволяя последовательности продолжаться до точки, где невозможно быстро найти сумму, мы можем её упростить, обнаружив, что сумма последовательных нечётных чисел выглядит следующим образом[1]:

Программирование

Долго писать программу, решающую задачу с 25-ю конкретными объектами. Проще решить задачу для n объектов, а затем применить её к случаю, когда n = 25[5].

Приложения

Этот парадокс имеет применение при написании эффективных программ. Писать специализированные программы интуитивно понятнее, но на практике может окащаться проще разработать более общие процедуры[6]. По словам Брюса Тейта, некоторые из наиболее успешных фреймворков представляют собой простые обобщения сложных проблем, а плагины веб-серверов Visual Basic, Интернета и Apache являются основными примерами такой практики[3]. При исследовании семантики языка многие логики сталкиваются с этим парадоксом. Пример приложения можно увидеть в присущей логикам заботе об условиях истинности в предложении, а не, фактически, об условиях, при которых предложение может быть истинно[1]. Вдобавок было показано, что парадокс находит применение в промышленности[2].

Примечания

  1. Barwise p. 41.
  2. Tate, et al., p. 110
  3. Tate, et al., p. 111.
  4. Barwise p. 40.
  5. Bentley (2000), p. 29.
  6. Bentley (1982), p. 79.

 

Литература

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.