Привет, друзья! Меня зовут Алмаз. Я специалист по НСИ (нормативно-справочной информации) в компании Bimeister. Маленький дисклеймер. Данная статья – материал для размышления. В особенности для людей, которые разрабатывают новые алгоритмы и реализуют их.
Наверное, каждый, кто сталкивался с программированием тем или иным образом, слышал об алгоритмах. Алгоритм – это своего рода задумка, «внутренний скелет» программы, которая затем реализуется на каком-то конкретном языке программирования. Карл Маркс, в честь которого названы улицы почти в каждом городе нашей страны (а может и в каждом), говорил: «Самый плохой архитектор от наилучшей пчелы с самого начала отличается тем, что, прежде чем строить ячейку из воска, он уже построил ее в своей голове. В конце процесса труда получается результат, который уже в начале этого процесса имелся в представлении человека».
То есть, Карл Маркс проводит различие между человеком и пчелой в том, что человек сначала придумывает что-то в своем воображении и только потом реализует это. А пчела, видимо, действует инстинктивно. Но что такое инстинкт у пчелы? В современном мире все шире применяются нейронные сети. И, если рассмотреть поведение пчелы, – это своего рода обученная адаптивная нейросеть. Понятно, что пчела не обладает достаточно развитым мозгом, чтобы что-то придумать. Но задумайтесь: у пчелы получаются идеальные шестигранные соты. Без использования каких-либо линеек и штангенциркулей. То есть алгоритм и реализация этого алгоритма просто идеальны. Факт.
Наш преподаватель по программированию в институте был человеком старой закалки. При изучении алгоритмов и языка программирования Pascal, он заставлял нас сначала рисовать алгоритм на листочке. После того, как он проверит алгоритм, разрешал (опять же на листочке) писать код программы. И только после этого подпускал к компьютеру, чтобы внести этот код и запустить его. Конечно, такой подход у многих студентов вызывал недоумение, но для себя я усвоил этот принцип и применяю его в своей жизни. То есть, чтобы программа работала, желательно сначала продумать алгоритм до мелочей, а уже потом реализовывать. В случае с пчелами, очевидно, что алгоритм продуман.
В период пандемии я занялся проращиванием семян и приготовлением полезных блюд из микрозелени. Сначала я купил пшеницу. Наверное, ни для кого не секрет, что зерна пшеницы очень твердые. Но для меня было «открытием», что если положить их в воду, то через некоторое время они становятся мягкими и начинают «проклевываться» маленькие белые проростки. Количество витаминов в этих проростках просто зашкаливает, но по мере изменения цвета ростков на зеленый количество витаминов уменьшается. А теперь информация к размышлению.
Зерна пшеницы в твердом и сухом виде хранятся годами и десятилетиями. Но стоит их намочить, запускается алгоритм прорастания. Факт в том, что алгоритм есть, и он работает. При этом багов, в принципе, нет. Если зерно не повреждено, оно прорастет.
В школе нам говорили о теории Дарвина. Согласно Дарвину, человек произошел от обезьян в ходе долгой эволюции. То есть, постепенно в ходе эволюции за миллионы лет сформировалось такое совершенное устройство, как человек и его человеческий мозг. Но где вы видели, чтобы из чего-то простого создавалось что-то сложное «само по себе»? То есть вы написали программу поиска максимального значения в массиве (довольно простая программа). И если подождать миллион лет, то этот код под влиянием времени и эволюции сам собой превратится в очень сложный код. Но ведь это нелогично.
Еще одно интересное наблюдение. Вы едите что-то вкусное. Вы откусываете, пережевываете, глотаете. А что дальше? Дальше процесс идет без вашего участия. Вы даже не знаете, что там с пищей происходит дальше. Ну и, конечно, стоит опять написать это слово – алгоритм. Запускается алгоритм переваривания пищи. Как он работает? Я не знаю всех подробностей. У меня были проблемы с работой печени, и я изучал алгоритм ее работы. И вот что я выяснил: печень определяет тип пищи – белки, жиры, углеводы – и выделяет соответствующий вид веществ для правильного переваривания. Алгоритм работает.
Теперь обратимся к беременным женщинам. После зачатия ребенка в утробе матери начинается определенный процесс роста и развития эмбриона. Опять же – алгоритм. Если вы спросите у беременной женщины, как она поддерживает жизнь ребенка, и что именно там происходит, то она вам не сможет ответить. Потому что все происходит как будто само собой, но ведь этот процесс уже кто-то продумал и реализовал. Я думаю, многие видели эти картинки со стадиями развития эмбриона.
Кстати, если следовать этой же логике можно найти очень много интересного в нашей повседневной жизни.
Восход и закат солнца. Алгоритм составлен так, что год за годом солнце восходит и заходит в одно и тоже время в определенный день календаря. Таким образом, из-за идеально реализованного алгоритма, мы можем спросить у Google время восхода в нашем городе и получить идеально точный предсказуемый результат. Кто из программистов может придумать алгоритм и затем написать код, который будет работать также идеально и предсказуемо?
Другой пример. Вам говорят – вдыхайте. Вы осознано делаете вдох. Но, если пройдет несколько минут, вы продолжаете дышать, но уже не думаете об этом. А когда вы спите, алгоритм вашего дыхания работает без вашего участия. Но ведь кто-то придумал этот алгоритм, иначе как такие сложные процессы в вашем организме могут действовать, а вы даже о них не думаете.
Вам надо вытянуть руку и взять стакан с соком. Вы каждый раз продумываете алгоритм своих действий? Вот я вытягиваю руку, разгибаю пальцы, хватаю стакан. Мы просто хотим взять стакан, и дальше запускается определенный алгоритм, и все происходит в полуавтоматическом режиме. Понятно, что всем управляет мозг. Но кто-то же создал такой совершенный аппарат, как человеческий мозг?
В завершении о прекрасном. Представьте, что вы художник и вам надо нарисовать розу. Ниже на картинке представлен поэтапный алгоритм.
Но усложним задачу – вам надо сделать трехмерный цветок.
К тому же надо, чтобы этот цветок вкусно пах, вырастал из семени, имел шипы.
Только представьте, как бы выглядел алгоритм и код программы по созданию такого цветка.
Самое чудесное в том, что вокруг нас так много алгоритмов, которые работают настолько совершенным образом, что мы даже не задумываемся об этом. Вместе с тем, алгоритмы и программы придуманные и реализованные человеком периодически дают сбои, и, соответственно, их работу мы видим поневоле. Можете в комментариях привести свои наблюдения подобных явлений. Всем спасибо.
Комментарии (13)
Proscrito
04.04.2024 15:38+4Нападки на дарвинизм, лежащий в основе синтетической теории эволюции и биологии как таковой, при полнейшей абсурдности аргументации? Хабр, куда ты катишься?
Человек, согласно Дарвину, не происходил от обезьяны. Начнем с того, что современный человек, согласно биологической классификации, относится к обезьянам. Мы И ЕСТЬ обезьяны. Обезьяна - собирательное обозначение целой группы приматов, включая человека. Класс млекопитающие, отряд приматы, парвотряд узконосые обезьяны, надсемейство гоминоиды, семейство гоминиды, род люди, вид хомо сапиенс, подвид хомо сапиенс сапиенс.
Общий с другими современными обезьянами предок жил около 9 млн лет назад. Они вымерли. Как и множество других видов людей.
Время идеально сформировано? Земля обращается вокруг Солнца. Люди, не сумев идеально точно подобрать количество периодов полураспада цезия в секунде, разделили период обращения своей планеты вокруг звезды настолько неточно, что каждые 4 года вводят дополнительные сутки в году, чтобы компенсировать погрешность. И кто-то видит в этом божий промысел? Креационизм? Хабр, за что?
AlmazVafin Автор
04.04.2024 15:38Спасибо за комментарий! " Мы И ЕСТЬ обезьяны " . Это ваше право. Я себя обезьяной не считаю. Безусловно волосатость на теле присутствует))
Про Божий промысел или какой-то "-изм" - ваше право, свобода слова.
Посыл данного материала - задуматься о том, что развитие современных технологий вышло на такой уровень, что мы можем( примерно) понять, что за процессами лежащими в событиях вокруг нас тоже есть следы применения разума. Это логика. Тут нет какой-то эзотерики или религии. Вот я вижу алгоритм, вижу программу, к примеру, на Python. Беру какой-то процесс в окружающей природе - вижу алгоритм, но не вижу кода. Но вижу, что есть что-то похожее -определенная последовательность действий в зависимости от условий. Это удивительно. Можно конечно это отрицать. Тут уж я бессилен.Proscrito
04.04.2024 15:38+2Вы можете считать себя кем угодно. Считать себя не теми, кем они являются - неотъемлемое право людей. Но это вопрос биологии, я предоствил современную биологическую классификацию.
Данный материал пестрит как логическими ошибками, так и банальными пробелами в оборазовании, на основании которых строятся выводы. О каком посыле тут может идти речь?
Чем меньше знаний, тем больше вокруг чудес. Земля движется вокруг Солнца с завидной периодичностью и предсказуемостью, но не благодаря кем-то написанному алгоритму, а благодаря гравитации. Все остальные процессы в нашей замечательной Вселенной происходят таким же точно образом, в силу ее устройства. Вводить сюда понятие "алгоритмы" противоречит бритве Оккама, это абсолютно излишняя сущность, от введения которой ничего не меняется. Можно назвать смену сезонов алгоритмом, но зачем? Потому что пропустили школьный курс физики? Ваше бессилие и так очевидно, из самой статьи.AlmazVafin Автор
04.04.2024 15:38Спасибо большое за ваши комментарии! Один только вопрос. Что такое гравитация ?
Proscrito
04.04.2024 15:38+2Вас в гугле забанили? Обратитесь к ГПТ чату.
Или вы собираетесь применить на мне argumentum ad ignorantiam, излюбленный софизм всех любителей чудес? Дойти в объяснениях до большого взрыва, лямбда-цдм модели, до пробела в моих знаниях, или границ известного науке, после чего заявить, что ваши алгоритмы вместе с их создателем прячутся где-то там, в неизвестном мне, или вообще человечеству? Не стоит. Лучше почитайте что-то научное. Вот недавно китайским ученым, возможно, удалось обнаружить частицы со спином 2, это вполне может оказаться гравитоном. Они исследовали квантовые холловские жидкости. Это крайне захватывающе и волшебно. И безо всяких алгоритмов.AlmazVafin Автор
04.04.2024 15:38Спасибо большое еще раз! Вы очень хороший собеседник. Но в начале статьи, я написал, что это мои наблюдения и информация к размышлению. Ваша точка зрения понятно и научно обоснована. Вопрос про осознанность и критическое мышление. Почему я спросил про гравитацию ? Дело в том, что это закон. Чей закон ? Закон природы. Он работает стабильно ? Да. Конечно, есть исключения ( не приведу вам источники). К примеру, таблицу Менделеева сам Менделеев увидел во сне. То есть уже в природе существовал определенный порядок и ученый его зафиксировал на бумаге. Поправьте, если я вас неправильно понял: с вашей точки зрения все в природе научно обоснованно, и есть свои законы. То есть вы принимаете это как данность. Я тоже с этим согласен. Моя же идея в том, чтобы предположить - а вдруг у того, кто все это создал есть разум. Почему эту версию никто не рассматривает. Ведь если я скажу, что приложение в моем телефоне уже было, когда я его купил - означает ли это, что я могу сказать, что разработчиков этого приложения не существует. Та же логика и с гравитацией. Я не утверждаю что-то конкретное, а пытаюсь понять, почему мы не задаемся этими вопросами ? Ведь это странно.
Proscrito
04.04.2024 15:38+1Гравитация - это не закон. И мы знаем когда она отделилась от остальных трех фундаментальных физических взаимодействий - в планковскую эпоху.
Когда-то люди действительно в первую очередь задавались вопросом "кто это сделал", например откуда взялась молния, или почему дует ветер. И т.к. знаний было мало, они придумывали богов, духов и прочих создателей естественных вещей. Однако люди последовательно открывали, что ветер не надо создавать, он возникает из-за разницы давлений в атмосфере, молния - это электрический пробой воздуха, а верхние слои атмосферы ионизируются вследствие космического излучения и тд и тп. Чем больше люди узнавали, тем абсурднее выглядел вопрос "кто это придумал". Никто. Все явления, которые вы наблюдаете вокруг, никто не придумывал. Они естественным образом вытекают из устройства Вселенной.
Почему устройство именно такое, а не другое? Безусловно, мы можем быть симуляцией в Матрице. А быть может большой взрыв произошел вследствие чьего-то эксперимента. Но если что люди и должны были усвоить за историю науки, так это одну простую вещь: если мы чего-то не знаем, не имеем какого-то естественного объяснения тому, или иному явлению, не знаем почему это явление устроено именно так, а не иначе - на этом следует остановиться. Все. Мы НЕ знаем. Выдумывать не надо. Надо ждать пока узнаем. И единственный способ узнать - научный метод. А не фантазия.
Onym
04.04.2024 15:38Биологи состоят из клеток,
Химики - из соединений,
Физики - из атомов,
Программисты состоят из алгоритмов?
По поводу статьи - наблюдение интересное, однако в ней нет обоснований вашему предположению, что всё перечисленное было кем-то (или чем-то) создано.
Если сравнивать с теми же нейронными сетями, то достаточно долго обучавшаяся нейронка может выработать достаточно эффективную последовательность действий. В формулировках статьи - алгоритм. Однако - нельзя сказать, что эта последовательность действий была результатом работы только того, кто создал нейросеть. Очень многое зависит от набора данных, на которых сеть обучали, и других аспектов и условий.
AlmazVafin Автор
04.04.2024 15:38Спасибо за комментарий! В самом начале статьи я написал дисклеймер, что это материал для размышления. Поэтому выводы, пожалуйста, делайте сами. Не было цели с кем-то спорить или установить истину в последней инстанции.
wataru
04.04.2024 15:38Но где вы видели, чтобы из чего-то простого создавалось что-то сложное «само по себе»?
Раз уж вы тут про алгоритмы писать собрались, почитайте про генетические алгоритмы.
Эволюция - это вообще математичская закономерность. Факт, истинный в любой абстрактной системе. Как 2+2=4, так и из изменчивости, наследственности и отбора неизбежно появляется оптимизация целевой функции (по которой ведется отбор). Можно так хоть машинки строить, хоть учить модели ходить, хоть максимум сложной функции искать.
AlenaZe
04.04.2024 15:38очень интересная статья!
есть над чем поразмышлять и на что обратить внимание :)
seregablog
Статья - набор бессмыслицы. Можно заменить слово "алгоритм" в ней на любое другое нейтральное, например, "процесс", и суть ничуть не изменится.
Краткое содержание статьи: в природе происходят процессы. Действительно, очень удивительный факт.
AlmazVafin Автор
Спасибо за комментарий! Да, суть статьи не в слове " алгоритм". Суть в том, что неосознанно приходишь к удивительным наблюдениям. Чтобы создать какой-то "алгоритм" или "процесс", если так угодно, необходимо напрячь мозги, собрать в кучу весь свой опыт. Погуглить, посмотреть видео, зайти на Stackoverflow... То есть это не произойдет само собой. Надо приложить немало усилий, чтобы что-то придумать и затем реализовать. Но похожие вещи мы видим вокруг нас каждый день, и нам кажется, что так и должно быть. А по поводу набора бессмыслицы- задача не преподнести законченную теория ( плоской земли, гипербореи, атлантов, засыпанных городов), с которой кто-то обязательно не согласится. Задача поделиться наблюдениями и побудить читателя задуматься. В современном мире мы привыкли видеть красивый контент, находить готовые решения. Но когда нам дают информацию для самостоятельного анализа и наблюдения - "набор бессмыслицы". То есть мы не хотим думать. Мы не хотим задуматься, а зачем автор написал эту "бессмыслицу". Мы узко мыслим, и когда нас просят оглядеться - нам некогда. Простите, если жестко написал. Но ведь это так ?