Этот коротенький рассказ о том, как родились, развивались и жили первые алгоритмы. О важности последовательности, определенности и воспроизводимости.
Все началось с того, что в пучке нервных клеток вспыхнул самый первый импульс, который можно было бы назвать мыслью.
Возможно, это была плохая мысль. Вроде как "треснуть по голове этого надоедливого питона". Или хорошая - типа "надо-бы отдать костей этому животному". Хотя что я говорю? Это уже из разряда высших мыслей!
Первая мысль была другой: "К свету!". И она побудила жгутик Эвглены зеленой включиться и переместить тельце к источнику света...
Сейчас, произнося "к свету" мы ощущаем в голове множество вариантов, способов и определений. У Эвглены выбор отсутствовал. "К свету" - означало включить жгутик! И все.
Алгоритм этой мысли выглядел так: "Если Есть свет" -> "Включить жгутик" -> "Иначе" -> "Выключить".
Вот так все просто было у первой мысли. Если бы последовательность действий изменилась, то клетка-носитель алгоритма, вероятно, не смогла бы достигнуть своей основной цели - выжить!
Даже у этой маленькой мысли есть очень большая и важная цель (Результативность). Она реализуется за конкретное число (Дискретность) вполне определенных (Определенность) действий раз от раза (Массовость). Это и есть алгоритм!
Но не все так просто. Шла эволюция. Свет разделился на видимый, инфракрасный и ультрафиолетовый. Это принудило мысль научиться выбирать.
Цветы в ультрафиолетовом диапазоне обычно красивее, чем в видимом. Это привлекает насекомых-опылителей. Знаете почему? Потому что алгоритмы научились ветвиться!
Наш маленький импульс научился выбирать, по какому из путей пойти дальше. Этому помогли некоторые признаки на поворотах нервных волокон.
Мысль - это не алгоритм, а лишь искорка, которая бегает по темным коридорам и тоннелям алгоритмов, освещая их. Одна мысль не может пробежать и осветить одновременно несколько коридоров, но это не означает их отсутствие.
Но даже этого ветвления не достаточно для того, чтобы "треснуть по голове этого надоедливого питона". Ведь это целый набор сложный действий.
֎ во-первых, нужно идентифицировать питона и определить степень надоедливости
֎ во-вторых, идентифицировать дубину как подходящий предмет, чтобы ей треснуть
֎ в-третьих, нужно управлять мускулатурой, чтоб взять дубину и замахнуться. Затем рассчитать скорость и направление удара. И после реализовать действо.
А что делать, если с первого раза не получилось? Ответ прост - повторить!
Так мысль изучила еще несколько важных элементов.
Она поняла:
֎ первое - в основном коридоре, по которому она бегает, есть двери в другие комнаты. В них можно заходить (подпрограммы).
֎ второе - она может вернуться на несколько шагов назад, и пробежать часть коридора еще разок (циклы).
Несмотря на долгое развитие процесса мышления большинству современных людей тяжело уследить за своими мыслями. Это происходит только по одной причине. Человек забывает основные правила мысли: результативность, дискретность, определенность и массовость.
Если запомнить и понять эти правила, то мысли перестанут ускользать и начнут приносить вам удовольствие!
P.S. Если вас заинтересовала тема алгоритмов - пожалуйста, озвучивайте свои мысли в комментариях. Если есть вопросы - спрашивайте. Я буду рад обратной связи!