Один из самых знаменитых умов философа 17-го века принадлежал французу, чьи идеи до сих пор находят отклик в эпоху настоящего, как и в его собственное время. Его имя Рене Декарт. Известный как искатель уединения, этот человек устанавливает образцовый план идей для мира, для всех умов, которые хотят верить, что абсолютная вера в любую теорию или факт является грехом.
На протяжении многих лет мои уроки истории познакомили меня с большим количеством философов, художников и реформаторов, но история никогда не была моей сильной стороной. Я буквально раскрошил всю информацию в капсуле и открыл ее буквально за минуту до того, как наблюдатель ускорил наше сердцебиение, объявив, что «время вышло». Именно в те последние несколько секунд перед тем, как листы вырвали у нас из рук, у большинства из нас внезапно появилось множество знаний, которые можно было записать.
Экзамены действительно были одним из способов выбросить все до последней крупицы информации, из которой наш разум мог извлечь какую-то пользу.
Однако по прошествии многих лет, когда экзамены по истории нисколько меня не беспокоили, у меня появился слабый интерес к чтению отрывков из книг, которые часто относились к прошедшим дням, демонстрируя миру, что мы никогда не делаем этого по своей воле. то, что нам говорят, но, возможно, влюбиться в ту же задачу, как только наш собственный разум возьмется за нее независимо.
Итак, в один из таких замечательных дней я наткнулся на Рене Декарта и его блестящую работу: «Рассуждение о методе правильного ведения своего разума и поиска истины в науках».
Во время чтения я был очарован тем, как его разум разбивал каждую мысль на молекулярные частицы и наблюдал за поведением каждой новой части головоломки. Не говоря уже о текучести его идей, которая прекрасно отражала ясность, с которой они были задуманы.
Очарование — это одно, но был момент, когда я был ошеломлен одним из предложенных им методов. Цитируя его следующим образом:
«Я немного изучил логику в курсе философии, а также геометрический анализ и алгебру в математике — трех искусствах или областях знаний.
Я подумал, что нужно найти другой метод, который сохранил бы преимущества всех трех, но был бы свободен от их недостатков.
Итак, я подумал, что вместо большого количества правил, из которых состоит логика, мне будет достаточно следующих четырех, при условии, что я приму твердое и непоколебимое решение ни разу не отступать от них.
Первая из них заключалась в том, чтобы никогда не принимать за истину то, о чем я не знал неопровержимо.
Вторая задача заключалась в том, чтобы разделить все исследуемые трудности на как можно большее количество частей, и столько, сколько требовалось для их решения наилучшим образом.
Третье состояло в том, чтобы вести свои мысли в заданном порядке, начиная с самых простых и наиболее понятных предметов и постепенно восходя, как бы шаг за шагом, к познанию самого сложного; и устанавливать порядок даже для тех, которые не имеют естественного порядка старшинства.
Последним пунктом было проведение таких полных подсчетов и таких общих обзоров, чтобы я ничего не упустил.”
Это заставило меня дважды, а затем и трижды взглянуть на эти самые строки. Да, действительно, в каждой щели этих мыслей таилась невероятная красота, и не только потому, что эти мысли возникали независимо, но и благодаря тому мастерству, с которым он мог заставить нас понять, что эту логику можно применить ко всем граням нашей жизни. . Он говорил нам разрушить наши дома и построить замок из руин.
Но что заставило меня широко раскрыть глаза, так это то, что я нашел идеальное совпадение этого метода с одним из самых передовых методов в области компьютерных наук. Это был метод динамического программирования.
Динамическое программирование — это решение множества сложных подходов к огромным проблемам. В конкретной реализации динамического программирования, известной как подход «снизу вверх», он помогает уменьшить эту самую сложность и эффективно разбивает всю проблему на части самой простой проблемы. Каждая из этих проблем решается по отдельности, чтобы потом их объединить.
Комбинации, полученные из самого нижнего уровня проблем, в основном используются как решения проблем следующего уровня. И так далее, и так далее, пока не будет покорен высший уровень, состоящий из проблемы в целом. Это позволяет «убедиться, что ничего не упущено», что означает, что ни одна проблема на любом из уровней не остается нерешенной, поскольку в противном случае было бы невозможно вычислить задачу более высокого уровня.
Поскольку мои познания в философии и алгоритмах ограничены, осмелюсь сказать, что, возможно, тот же метод был предложен еще до начала XVII века.
Даже спустя сотни лет после великого зарождения такой замечательной философии мы используем одни и те же древние методы, чтобы преодолеть сложности современного мира.
Есть, конечно, лазейки, алгоритмы не абсолютны, но, как и предсказывал Рене Декарт, на самом деле ничего нет.