29 мая 2018 г.

Про точность в науке, или чему действительно нужно учить детей

Довольно часто от адептов разных религий и течений, да и просто от обычных людей можно услышать фразы вроде “Наука не знает всего”, “Теория эволюции - это всего лишь теория”, “Учёные не доказали ...”, “Научное знание не абсолютно точное”, “Учёные не могут претендовать на истину” и тому подобные. Апологеты таких точек зрения пытаются навязать идею, что научные знания и теории стоит рассказывать и преподавать как равноправные к альтернативным знаниям - религиозным, философским и другим. Апофеозом такого восприятия и отношения стала петиция про внедрение в школьную программу креационизма и попытки её пропиарить в различных комьюнити учителей и родителей. Попробую разъяснить некоторые терминологические моменты и высказать в противовес этой петиции и её сторонников свою точку зрения насчёт того, что действительно нужно преподавать детям в школах.

У немалого количества людей немного неправильное восприятие как смысла слов теория, факты, научная истина, так и роли науки для общества в целом.

Обычное, бытовое понимание слова “теория” несёт в себе оттенок смутной догадки, выдвинутого предположения, сомнения, неуверенности. В современной науке же слово “теория” имеет совершенно другой, противоположный бытовому, смысл. Научная теория - это хорошо проверенное знание. То есть непроверенные вещи в современной науке просто не имеют права называться “теориями”, для этого есть слова “гипотеза”, “предположение”, “догадка” и другие.

Недопустимо говорить "теория торсионных полей" если хочешь быть точным в высказываниях. Это просто неправильно, поскольку торсионные поля не имеют экспериментального подтверждения. Это просто неправильная бытовая формулировка, как если бы сказать "теория гомеопатического лечения", "факт наблюдения инопланетян", "факт переезда поездом Анны Карениной" или “теория памяти воды”. Нужно быть честным и точным, и не употреблять слова “теория” или “факт” по отношению к вымышленным или непроверенным вещам.

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

Проблема в том, что мы в принципе не знаем о мире ничего абсолютно "точного" или "правильного". И никогда не узнаем. Начиная с того, что мы познаём мир через органы чувств, через электромагнитное воздействие на рецепторы нашего тела, а наш мозг на основе этой информации строит приближённую модель, интерпретацию внешнего мира. И мозг очень часто ошибается. Вспомните обманы зрения и слуха, игру в испорченный телефон и многочисленные ошибки в рассуждениях и восприятии. Всё, что мы в своей жизни видим, слышим, осмысливаем, переживаем, ... - это приближённые абстрактные модели - продукты жизнедеятельности нашего мозга. Люди издавна хотят узнавать мир, делать правильные предсказания природных явлений, управлять природными явлениями. Проблема в том, что чистое воображение людей мысленно строит ошибочные, неработающие модели мира. Наш мозг просто абсурдно сбоит ошибками восприятия. Да, это могут быть красивые или эмоционально сильные истории и объяснения, но они не позволяют уверенно предсказывать поведение окружающего мира. Воображение людей - это по большей части условный "бред" не имеющий никакого отношения к реальности, а только лишь метафорически её описывающий. Увы, но вот так мыслит наш мозг. Такова природа нашего сознания, что мы даже причинно-следственные связи можем нормально строить только лишь для примитивных визуальных бытовых вещей: когда учимся двигаться и двигать предметы; когда распознаём опасность в условиях дикой природы; в простейших социальных отношениях; к примеру, если типа тигр кого-то скушал, значит, нужно опасаться тигра и рассказать об этом другим. Наше воображение в целом находится на примитивном первобытном уровне и приспособлено под потребности выживания в дикой саванне и потребности простых социальных навыков.

За редкими фрагментарными исключениями практически все творения человеческого ума в истории ранее 16-17 веков - это вот такой метафорический не имеющий отношения к реальности бред. Они совершенно не позволяют, или позволяют крайне плохо, неточно и неуверенно предсказывать поведение явлений природы. Сказки для развлечения наших эмоций, не более чем. И Библия тут не является исключением. Ну невозможно на основе никаких древних текстов построить уверенный прогноз чего-либо - урожая, погоды, течения болезни человека, влияния продукта питания, положений планет на небе, течения беременности, экономического благополучия предприятия... Именно в этом смысле я употребляю слово “бред” - все эти модели и метафоры не работают, не предсказывают объективно и уверенно. Максимум на что способны старые тексты - это вызывать эмоции и переживания у отдельных людей и иногда, при благополучном стечении обстоятельств, давать зачастую субъективно верные прогнозы.

Всю свою историю человечество жило в таком вот неведении и угадывании относительно того, как работает природа. Да, оно методом проб и ошибок на периоде в несколько поколений постепенно училось делать что-то материальное - дома, корабли, механизмы… Но по-прежнему не было уверенности. Никакой человек не мог заранее уверенно сказать, что корабль поплывёт так-то и так-то, что мост простоит минимум столько-то лет, что пациент выздоровеет. Человечество продолжало самоуверенно играть в метафоры, поэзию, философию, чистое воображение и изредка наугад “щупать” природу. Понадобились тысячелетия для того, чтобы некоторые отдельные люди поняли и признали, что наш ум не может самостоятельно, сам по себе, понимать реальность, не может строить работающие модели, что нужен контролируемый эксперимент, постоянная и тщательная проверка на работоспособность вот этих метафорических измышлений из наших голов. Человечество начало усмирять своё эго, начало признавать своё несовершенство, понимать своё невежество и начало не доверять себе, а внимательно всё проверять. Вот так в 16-17 веках начинал развиваться научный метод познания. Зародилась наука.

Так вот, возвращаясь к смыслу слов "точный" или "правильный". "Точная теория" в науке - это модель, для которой выяснена область применимости. То есть, это модель, объясняющая и предсказывающая поведение некоего природного явления с наперёд известным уровнем достоверности, с заранее известной погрешностью или вероятностью. Вот это смысл слова "точный". Считать, что есть какой-либо другой смысл, более "точный", или в мире существует "абсолютная точность" - это тешить своё эго или самолюбие, заниматься самолюбованием и думать о возможностях человека больше, чем есть на самом деле. Только последние 3 века человечество сумело нащупать метод, который позволяет не тупо бредить, а учиться предсказывать с наперёд известной погрешностью. Какого-либо более "точного" метода у человечества просто нет. Точка. Точная ли теория гравитации Ньютона? Да! Это точная теория. Для неё известны границы, где она работает в рамках заранее известной погрешности. Точная ли теория гравитации Эйнштейна? Тоже да! Для неё тоже известны границы, в рамках которых проверено, что она работает. Теория Эйнштейна чуть точнее теории Ньютона. Но и то и другое - точные и работающие теории.

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

Почему меня откровенно бесит позиция "а давайте рассказывать детям и теорию эволюции и прямо рядом с ней какую-то религиозную историю, например, библейскую" да ещё и как “равноправные”? Потому, что это искажает саму суть положения вещей. Саму суть того, что человечество знает об окружающем мире. Это порождает в людях спесь и высокомерное убеждение, что якобы метафорический бред нашего разума сам по себе способен строить адекватные модели природы. Нет. Увы. Не может. К сожалению. И когда ставят в один ряд метод познания мира через метафорический библейский бред и метод познания через контролируемые проверки и эксперименты, то это приводит к тому, что люди потом неспособны отличить одно от другого, что люди мыслят магией, единорогами, гомеопатией и полагаются во всём на личные суждения, а не на тщательный анализ и проверку. И мы получаем мир, блин, сплошных экспертов во всём, начиная от политики, экономики и заканчивая астрономией и квантовой механикой.

Чему же на мой взгляд полезно учить детей? Чему их необходимо учить, принимая во внимание прогресс человечества за последние несколько веков?

Во-первых, нужно давать возможность на собственном опыте прочувствовать насколько наш мозг ненадёжен в своих суждениях. Каждый человек должен получить опыт обманов зрения и слуха, обманов органов чувств, ошибок восприятия и ошибок рассуждений. И нужно относиться к этому не как к очередному “развлечению”, а как к осознанию очень серьёзной вещи - наш мозг крайне плохо добывает информацию об окружающем мире. Люди должны вырастать не со спесью и самоуверенностью, а с отношением интереса и внимательности к своим выводам и воображению. С некоторой долей недоверия своим суждениям. С желанием проверять и перепроверять. С желанием не “бредить”, а действительно узнавать что-либо про мир в котором живут.

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

В третьих, нужно наконец прекратить поощрять уважение к старым текстам. Нужно наконец признать прогресс, не только технологический, но и ментальный, который совершает человечество на своём историческом пути. Знание и текст 17 века априори должны быть ценнее текстов тысячелетней давности. Статьи и учебники 21 века - должны цениться выше, чем более ранние. В “топку” поклонение старым текстам. У детей и вообще людей должно быть стремление к новому, переосмысленному, перестроенному - новые теории всегда лучше объясняют и более точны. В своих суждениях и принятии решений люди должны стараться искать самые свежие взгляды и объяснения, переосмысливать и обдумывать их. Только так происходит движение вперёд и развитие человечества.

22 мая 2018 г.

Программирование как дизайн

Нередко в команде software development проекта рано или поздно наступает момент когда начинают вестись ярые споры и обсуждения вокруг соглашений о кодировании, архитектурных решениях, о том что важно, а что нет. Часто это переходит в формат холиваров или неконструктивной аргументации типа “надо делать так, потому что у ХХХ сделано так” или “надо делать так потому в YYY написано так” или “мне так кажется лучше и удобнее”. Попробую в этой статье немного порассуждать вокруг этих вещей. Как мне кажется лучше думать и рассуждать о коде и архитектуре? На что опираться в своих доводах? Начну издалека и немного в стиле капитана очевидность, но надеюсь, что к концу это прояснит мою мотивацию, поможет участникам диалога лучше понимать друг друга и конструктивнее договариваться.

Какую роль выполняет язык программирования, соглашения о кодировании, архитектура кода, вот это всё? Они выполняют роль посредника между человеком и компьютером, между программистом и алгоритмом. Это средство выражения и средство отображения мыслей, желаний человека и процессов реального мира в алгоритмы, в архитектуру железа компьютера. На это средство перевода человеческих идей в машину Тьюринга естественным образом налагаются ограничения. Во-первых, налагаются ограничения со стороны компьютера - выполнимость, ресурсы, скорость и алгоритмическая сложность операций. Когда придумываешь программу - нужно беспокоиться о том чтобы она остановилась, о контроле ресурсов и об алгоритмической скорости работы. Это вроде понятно. Но откуда возникла и продолжает возникать вся эта возня с языками высокого уровня, модульностью, декомпозицией, паттернами, стилями, архитектурой кода? Ведь ничего из этого в железе компьютера нет, там просто ячейки памяти и инструкции. Алгоритму ведь абсолютно не нужна архитектура или модульность чтобы выполниться на машине Тьюринга. Зачем разработчики компилятора заморачиваются обнаружением мёртвого кода? Зачем нам средства обнаружения утечек памяти? Зачем счётчики ссылок или сборщики мусора? Зачем каждому языку программирования нужна стандартная библиотека структур данных и функций для работы с ними с гарантиями быстродействия? Зачем вот эта вся странная эволюция языков и средств разработки длящаяся уже более полустолетия? На мой взгляд, это всё нужно из-за ограничений “архитектуры” на другом конце - из-за ограничений человеческого мозга, особенностей нашего мышления, особенностей работы наших органов чувств. Всё вышеперечисленное, языки высокого уровня, стили, паттерны, … - это всё следствия ограничений нашего мозга. Даже некоторые архитектурные решения на уровне кода, казалось бы диктуемые практической целесообразностью, как например декомпозиция функций препятствующая комбинаторному взрыву вариантов тестирования, - это тоже, как мне кажется, следствие взаимных ограничений алгоритмов и мозга. Наш мозг неспособен мысленно проверить сложный алгоритм на корректность и выполнимость, ему сложно обнаруживать мёртвые участки, нам сложно мысленно для большого алгоритма проконтроллировать использование ресурсов, нам сложно отслеживать и гарантировать быстродействие - наш мозг абсолютно не приспособлен мыслить машинами Тьюринга, хотя последние и являются его творением.

У нас мизерная оперативная память - мы способны в один момент времени держать в уме не более 3-5 кусочков информации. Мы с трудом, после лет тренировок, способны мысленно, без подручных средств, отслеживать линейную логическую цепочку заключений и выводов длиной до десятка и более. Лишь малому проценту нормальных людей удаётся в уме отслеживать цепочку логических заключений одновременно по нескольким признакам - это хорошо демонстрирует известная Задача Эйнштейна и её разные вариации. Мы неспособны концентрироваться на нескольких смысловых контекстах одновременно - в этом смысле наш мозг однозадачен. Это из недостатков. Но что наш мозг умеет хорошо? Для чего он приспособлен эволюцией? Мы очень быстро привыкаем к любым однородным, регулярным и повторяющимся вещам, какими бы абсурдными они бы нам в начале не казались. Наш мозг прекрасно, на уровне подсознания, с паралельной обработкой, распознаёт уже знакомые / привычные образы (паттерны) в визуальной и речевой информации - и мы способны на уровне автоматизма реагировать на привычные вещи и нам это как правило приятно. Наш мозг прекрасно выявляет неоднородности, отступления от правил, нарушения в однородных и привычных образах (визуальных и речевых) - вспомните это ощущение, когда само собой внезапно повышается внимание, происходит раздражение или возбуждение - глаз как будто сам цепляется за дисгармонию или исключение не вписывающееся в общую закономерность или привычный фон. Это всё вероятно из-за того, что у нас в мозге есть специализированные “сопроцессоры” для анализа картинки (зрительная кора) и речи (области Брока и Вернике) - мозг людей специализируется на быстрой, бессознательной и эффективной обработке визуальной и речевой информации.

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

Хороший дизайн использует сильные стороны мозга - делает для пользователя привычными и бессознательными анализ ситуации и совершение типичных действий. Или наоборот, использует слабые - может специально вызывать нервозность и сознательное напряжение в ситуациях требущих повышенного внимания. Проектирование интерфейса - это как ориентация на существующие привычки пользователей, так и формирование у них новых. Продуктивный интерфейс должен помогать вырабатывать “полезные” привычки, и препятствовать появлению “вредных”.

На что опираются в рассуждениях когда дискутируют и принимают решения при обычной разработке графического интерфейса? Есть бизнес-функционал и его нужно выразить на экране для взаимодействия. Стараются брать привычные для пользователя элементы управления. Если и возникает желание сделать нетипичный элемент, то оценивают действительно ли он значительно упрощает операции, к примеру позволяет ли достигать результата за меньшее число кликов, действительно ли он значительно лучше отображает информацию - уменьшает ли неопределённость и делает ли восприятие легче. Если выгоды небольшие, то разумно принимать решение в пользу привычных решений, а не заставлять пользователя понимать и привыкать к незнакомому. Также стараются избегать слишком большого количества элементов, ведь каждый элемент - это потенциальный источник неопределённости и когнитивного напряжения при работе с интерфейсом. Стараются использовать визуальное и структурное расстояние - чтобы элементы расположенные близко к друг другу или сгруппированные вместе несли общую смысловую нагрузку, а элементы с разным предзначением были отделены от друга друга пустым пространством или какой-либо структурой. Всё что необходимо для работы с одним объектом или смыслом стараются расположить в рамках одного диалога (экрана, раздела), чтобы мозгу пользователя не приходилось при работе резко переключать восприятие на другое изображение / обстановку. Каждый смысл и каждое действие стараются выразить везде визуально одинаковым образом - недопустимо, чтобы одно и то же в разных местах выглядело или работало по-разному. Стараются в каждой области интерфейса, в каждом элементе, визуально предоставить всю необходимую информацию для принятия решения человеком, максимально уменьшить неопределённость - лишь в случае однозначности и ясности человеку легко анализировать и работать. В конце концов, стараются, чтобы при работе с интерфейсом смена контекста, например переход от одного экрана/диалога к другому, происходила предсказуемым и легко отслеживаемым в уме образом - чтобы граф переходов был не сложнее дерева небольшой глубины, а не напоминал ментальный или реальный лабиринт. Чтобы человек на уровне бессознательной привычки мог ориентироваться где он сейчас находится и куда ему надо “перейти” для достижения цели.

Мне кажется аналогия исходного кода проекта с графическим интерфейсом в обычном понимании может быть очень продуктивной для программиста, если думать о ней сознательно. Убежден, что принципы проектирования тут сильно подобны, поскольку основаны на одном и том же - особенностях человеческого мозга. Изображение кода должно помогать программисту в степени не меньшей, чем изображение графического интерфейса помогает обычному пользователю. Более того, программист - это и пользователь и конструктор интерфейса одновременно, то есть интерфейс должен быть построен так, чтобы его легко было изменять и улучшать.

Пример 1. При работе с кодом нужно быстро понимать предназначение любой именованой сущности (константы, переменной, функции, …). Для этого во-первых придумывают стили именования использующие визуальную информацию - правила смешения больших и маленьких букв, специальных символов. Тогда мозг вырабатывает привычку автоматически и бессознательно трактовать изображения названий на екране. Во-вторых, полезно использовать соглашения для грамматических форм слов - придумать паттерны для использования существительных, глаголов, причастий, суффиксов и префиксов, ... Это эксплуатирует возможности речевого распознавания мозга. Визуальный анализ и чтение названий должны быть осмысленны и однородны. Делать отступления от внедрённых правил - плохо, это будет вызывать когнитивное напряжение и нервозность, аналогично тому как если бы в 90% интерфейса главные кнопки диалогов назывались бы глаголами с большой буквы (“Сохранить”, “Отменить”, ..), но в остальных 10% использовались бы другие визуальные и грамматические формы (“запуск”, “ЗАКРЫТИЕ”).

Пример 2. Что является аргументом в пользу правила, что функции нужно стараться делать не более 40-60 строк? Ограничения мозга. Хорошо, чтобы код функции или алгоритма по возможности помещался на один экран, чтобы была возможность анализировать его изображение охватывая взглядом целиком, на полную мощность задействуя визуальную кору. Что является аргументом в пользу того, что следует ограничивать цикломатическую сложность функции? Тоже особенность мозга - линейность мышления. Цикломатическая сложность - это как раз количество линейных путей через код, то есть количество ментальных путей логического анализа алгоритма.

Пример 3. Перед программистом часто возникает вопрос “А вот стоит ли вот этот повторяющийся кусочек функционала вынести в отдельную функцию или же стоит оставить дублирование кода?”. Много написано о вреде дублирования кода. Но я бы хотел сказать что и чрезмерное увлечение декомпозицией и небольшими функциями - это тоже нехорошо. Легко впасть в крайность и заводить функцию на каждый чих и потом сгинаться под тяжестью их поддержки и понимания. И главное - непонятно на какие чувства или аргументы стоит опираться при решении. Мне кажется, что и тут стоит подумать о работе мозга и полезно представлять аналогии с графическим интерфейсом. Каждая новая функция - это как бы новая кнопка или контрол. И аналогичный вопрос в графическом интерфейсе звучал бы так “Стоит ли вот на это повторяющееся действие завести отдельную кнопку/контрол, со своим дизайном и изображением? Или же стоит оставить выполнение действия через старые, возможно более привычные, контролы?”. Думаю, чтобы принять разумное решение нужно подумать о таких вещах как осмысленность и понятность этого действия для человека - можно ли удачно назвать одним словом или словосочетанием, атомарность действия - могут в процессе возникать ошибки, повторяемость, необходимость модификации… В любом случае впадать в крайность и заводить по умолчанию на каждое действие по отдельной кнопке или функции - на мой вгляд это было бы неразумно.

Пример 4. Хороший программист при работе с кодом находится в постоянном поиске улучшений и пересмотре концепций и абстракций. А если это ещё это и надо целей для проекта - код с налётом истории, с рядом недостатков, подлежит рефакторингу, то такой постоянный поиск и пересмотр становится непосредственной обязанностью программиста. Для того чтобы оценивать удачность декомпозиции, удачность того или иного архитектурного решения человек при работе с кодом должен ясно понимать и отслеживать зависимости. Какая функция или объект из какого модуля импортированы - это в данном случае важная информация. Значит нужно позаботиться о том, чтобы эта важная информация была доступна на визуальном изображении кода, в локальном контексте, прямо там где она необходима - в самой строчке где используется функция или объект. В разных языках программирования это делается специальным синтаксисом - вызовом через точку или двоеточие, например. Чтобы человек мог охватить взглядом экран, изображение кода и сразу же легко, на уровне подсознания анализировать зависимости, отсеивать валидные и выявлять проблемные. Можно ли не выражать зависимости в коде, а полагаться лишь на возможность IDE - кликнуть на функцию чтобы показало её происхождение? Давайте опять проведу аналогию с графическим интерфейсом. Представьте, что вы делаете интерфейс с инфографикой или табличным отображением данных. И часть данных вы показываете сразу, а другую не менее важную часть вы делаете доступной только в контекстном меню выпадающем по клику - адекватный ли это интерфейс? На мой взгляд, IDE в данном случае играет роль не более чем “костыля” слегка сглаживающего недостатки самого кода, а уж никак не интерфейсного решения.

Итого, архитектура программы с одной стороны определяется ограничениями компьютера - математикой алгоритмов и структур данных. Но она так же определяется и ограничениями мозга, его “математикой” и архитектурой. И люди, программисты, проектируя код, должны помнить об этом.

Что же на мой взгляд есть поучительного в этом всём? Специфика нашего мозга во многом определяет будут ли удачными соглашения о кодировании и архитектура программы. Мне кажется, осознание этого момента может дать опору в рассуждениях и аргументации, способ избежать холиваров, способ эффективного достижения взаимопонимания в команде. Полезно интересоваться не только алгоритмами, но и ограничениями и особенностями работы мозга. А заимствование опыта и способа мышления из дизайна графических интерфейсов может быть полезной аналогией при работе с кодом. Важны не сами мысли и вырабатываемые соглашения, важен способ мышления, важно то, как думать о коде, на что опираться при аргументации и принятии решений. И в этом, по моему мнению, междициплинарные аналогии могут быть крайне полезны. По всей видимости в нейропсихологах, дизайнерах графических интерфесов и архитекторах программ есть больше общего чем кажется на первый взгляд. Такие дела.

6 мая 2018 г.

Дік Свааб. Ми - це наш мозок

Dick Swaab “We are our Brains”.

Книгу всесвітньо відомого нідерландського дослідника мозока Діка Свааба “Ми - це наш мозок” я читав невеличкими шматочками протягом декількох місяців. Це виявилось одне з найдовших некинутих читань у моєму житті. Не знаю через що так сталося, чи то через мій трохи пригнічений настрій цією весною, чи то стиль книжки для мене виявився трохи нетиповим та нелегким - але в будь-якому разі ця книга однозначно заслуговує на те щоб бути прочитаною більшістю людей по всьому світу, і в українському суспільстві також.

Як мозок пов’язаний з абсолютно всіма аспектами життя людини, так і ця книга про мозок чіпляє надзвичайно багато важливих тем, важливих як індивідуально так і суспільно. Як взаємодіє мозок матері з мозоком дитини у вагітності та народженні? Стать, гендерна індентичність та сексуальна орієнтація - на яких етапах розвитку плоду вони формуються? Яка хімія статевого дозрівання, закоханості та сексуального потягу? Агресія, аутизм, шизофренія - що про них відомо сучаним дослідникам? Механізми пам’яті. Яка біологія закладена в основу моральної поведінки? Які особливості розвитку мозоку зумовлюють релігійність людей? Що спричиняє присмертні переживання - бачення “тунелю зі світлом”, згадування “всього життя перед очима” та відчуття виходу зі власного тіла? Наскільки ми вільні у своїх вчинках? Наскільки педофіл, як людина з дуже особливою сексуальною орієнтацією, чи ман’як, як людина з порушенням емпатії та особливою аргесією, відповідальні за те ким вони є? Чи за це може більш відповідальна їхня мати, котра палила тютюн на стадії вагітності чи вживала інші шкідливі речовини? Наскільки люди вільні у виборі того ким вони є чи ким вони стають? Які бувають порушення мозоку та хвороби? Наскільки часто та різноманітно природа “помиляється” у своєму творенні людей з особливостями та порушення розвитку? Хвороба Альцегеймера - як деградує мозок? Про що варто подумати з приводу своєї смерті або смерті близьких заздалегідь? Що відомо про еволюцію мозоку тварин, та людини як одної з тварин? Оце неповний перелік тем з книжки, по більшості яких на мій погляд в суспільстві або майже відсутня сучасна інформація або ця інформація та дискурс є надзвичайно недостатнім.

Якщо б мене спросили яку найкориснішу ідею можна здобути з цієї книги, то я б сказав що це наступне. Формування мозоку починається на ранніх стадіях вагітності і завершується приблизно у 20-25 років. Чим раніший етап взяти, тим інтенсивніші біологічні процеси відбуваються і тим більший вплив на розвиток мозоку та особистості людини можна вчинити. Дуже багато речей і аспектів особистості та характеру, навіть тих які проявлються лише в підлітковому віці, закладаються ще до народження. Ще на етапі вагітності недостатнім харчуванням, чи вживанням наркотичних (тютюн, алкоголь та інші) чи просто токсичних (свинець, …) речовин можна спричинити надзвичайно серйозний вплив - від простого відхилення в сексуальній орієнтації чи рівня агресії в характері до багатьох серйозних захворювань та порушень. В ранньому дитинстві на вроджені аспекти накладаються типові паттерни поведінки, сприйняття світу через рідну мову, релігійність - паттерни, які потім залишаться на все життя. Сформованою особистість варто вважати лише з 20-25 років. До цього періоду - все важливо, і чим раніше, тим важливіше.

Отже, зміст цієї книги має важливе суспільне значення. З ним варто знайомити людей. Але є одне “але”. Особисто мені дуже не сподобався стиль в якому ця книжка написана. Якщо коротко - то на мій погляд автор веде розповідь не з позицій обгрунтування та аналізу, не з бажання пояснити читачеві звідки береться те чи інше твердження, а скоріше з позицій простої розповіді кінцевих фактів від авторитетної людини. Тобто я, як читач, не отримав абсолютно ніякого задоволення від дійсно розуміння як науковці дійшли того чи іншого висновку, мені приходилось покладатись на авторитет Діка Свааба і приймати багато речей на віру, а я цього не люблю. Так, автор - дійсно класний науковець, один з провідних дослідників мозоку у світі. І дійсно, в багатьох моментах він дає для своїх тверджень начерки обгрунтувань, трошки розповідає що були проведені такі і такі то досліди, зустрічалися такі патології… Але все одно, на мій погляд, він постійно дозволяє собі надзвичайно багато категоричних необгрунтованих тверджень. Якщо б я не читав ще книжки та наукові статті на цю тему і багато фактів не знав вже заздалегідь, то чесно кажучи в мене, як у інколи доволі прискіпливого читача, виникли б претензії накшалт “автор забагато собі дозволяє у висновках та твердженнях”. Хочу ще раз уточнити, що в мене отакі претензії лише по стилю, я не зустрів в книжці жодної неузгодженої з іншими джерелами інформації. Тобто книжка дійсно, корисна і правдива, але нажаль для впливу на читача мабуть треба певна неабияка довіра до автора. Такі справи.

Але в будь-якому разі зміст, теми та цінності що несе книга “Ми - це наш мозок” варті того щоб познайомитись з ними.

28 декабря 2017 г.

Генрі Марш

Henry Marsh
“Do No Harm: Stories of Life, Death and Brain Surgery”
“Admissions: A life in brain surgery”

Про Генрі Марша, англійського нейрохірурга, я дізнався прочитавши дві його автобіографічні книжки - “Історії про життя, смерть і нейрохірургію” та “Ні сонце, ані смерть. Зі щоденників нейрохірурга”. Також подивився документальний фільм “Англійський хірург”. Чесно кажучи толком не знаю як описати. Просто почитайте і подивіться. В будь-якій діяльності зустрічаються люди, що можуть виступати еталоном чесності, взірцем відвертості та відданості своїй справі. Мені наївно здається щодо лікарняної справи, нейрохірургії, такою людиною є цей англієць. Операції на мозоку - це завжди межа між каліцтвом та видужанням, між повноцінним життям, життям “овоча”, та смертю. Головний принцип медичної допомоги “не зашкодь” в життєписі Марша виступає центральним. Щоб стати досвіченим хірургом, будь-якому лікарю треба пройти крізь успіхи та помилки. Всі люди, всі помиляються. Що мені сподобалося, що ця людина усю свою професійну кар’єру не втрачала чуттєвості, здатності до співчуття та переживання за пацієнтів, залишилася людяною попри подекуди фатальні вироки, що мусила виносити. Також цікаво, що Генрі Марш пов’язаний з Україною, він регулярно приїздив сюди з 1992 року та допомагав досвідом, обладнанням, проводив консультації та операції. В книжках згадуються його враження від України в різні часи. Мені подобаються справжні, невигадані історії. Особисто я їх здатен переживати значно сильніше ніж просто художню літературу. Місцями, читаючи ці книжки та дивлячись фільм, в мене мимоволі норовили стати вологими очі. Рідко так щось настільки зачіпає. Відвертість та чесність, людяність та професійність, життя та смерть. Вартісні речі.

23 декабря 2017 г.

Джордан Елленберг. Як ніколи не помилятися

Jordan Ellenberg “How Not to Be Wrong”.

Книга Джордана Елленберга “Як ніколи не помилятися” вперше привернула мою увагу десь півтора роки тому, коли я зустрів її на сайті Quora у одній з відповідей на питання “Які декілька книг має прочитати у житті кожна освічена людина?”. Потім подивився відгуки на Амазон і вже тоді закортіло прочитати. А цього року на конференції Brain&Ukraine був стенд видавництва Наш Формат у якому несподівано лежав свіженький переклад українською який я одразу купив.

Книга являє собою збірку історій з життя, з різних історичних періодів, коли перед людьми поставали цілком прикладні задачі і для розв’язку яких застосовували математичні міркування. Якщо ви не досить добре уявляєте як у житті можна використовувати математику - ця книга точно для вас! Як захищали бронею літаки під час другої світової війни? Податки доцільно збільшувати чи зменшувати? “1 - 1 + 1 - 1 + 1 - …” - це скільки? Чи можна спрогнозувати середнє ожиріння населення? Чи можна зрозуміти з кидання монетки як правильніше порівнювати та висвітлювати в пресі наслідки убиств та геноцидів у різних країнах? Чи справді у Торі можна знайти пророцтва? Як легко можна заставити деяких людей повірити у те, що ти здатен передбачати випадкове майбутнє, наприклад поведінку на ринку акцій? Чи дійсно мозок мертвого лосося здатен розпізнавати емоції людей по фотографіям? Що таке доведення від супротивного, доведення від неймовірного та що таке нульова гіпотеза? Яким чином в сучасній науці робляться висновки успішності досліджень (наприклад чи діють певні ліки) та за яких умов ці методи можуть помилятися? Яким чином можна спробувати обчислити імовірність існування Бога чи гіпотези матриці? Як деяки люди в США в 2000х роках заробили мільйони використовуючи математику для гри в лотерею? Випадкові події та очікувана цінність (математичне сподівання), малювання картин та проективна геометрія, пакування куль та коди що виправляють помилки, регресія до середнього та кореляція, а також які парадокси та вади мають існуючи виборчі системи та все ж таки як так мислити щоб ніколи не помилятись.

Цей пречудовий путівник по самим різним застосуванням математики у житті особисто я дійсно радив би почитати абсолютно всім освіченим людям. Особливо би радив вчителям - тут ви знайдете багато прекрасних тем для задач та розмов з учнями. Книга не вимагає ніяких знань що виходять за межі шкільної математики. Якщо у вас в школі із математикою було добре, то на мій погляд книжку буде читати легко та приємно. Якщо ж ви трошки прогулювали шкільну математику, то буде місцями важкувато, але все одно раджу спробувати. Автор на різноманітних прикладах ілюструє як правильне мислення, так і типові помилки які роблять більшість людей, тож якщо ви будете читати трохи обдумуючи написане, не поспішаючи, пробуючи спочатку самим відповісти на питання, а лише потім заглядаючи що там у автора, то думаю ви дійсно навчитесь помилятись трохи менше :) І можливо полюбите оточуючий світ трохи більше. :) І напевно зрозумієте що математика є скрізь навколо нас, лише потрібно вчитись помічати та мислити нею.

1 ноября 2017 г.

Миша Громов. Кольцо тайн: вселенная, математика, мысль

Прочитал книгу Миши Громова “Кольцо тайн: вселенная, математика, мысль”. Никогда бы обратил внимание на книгу с таким названием :) если бы не автор - лауреат премии Абеля, это один из аналогов Нобелевки в математике. Меня всегда привлекало как думают люди такого масштаба и очень классно что некоторые из них делятся своими мыслями на совершенно разные темы посредством книги в более менее популярном стиле.

Книга состоит из двух частей. Где-то треть занимают мысли автора о самых разных аспектах окружающего мира - от чисел и науки до эволюции, жизни и мозге. Это часть пестрит цитатами всяких известных людей, историческими отсылками, и здесь Миша Громов задает кучу интересных ему вопросов про мироздание и “42”. Познаваем ли наш мир и до какой степени? В каких рамках мы знаем что-либо о Вселенной? Почему глазами математика “естественный отбор” - это никакой не закон или явление, а неизбежное следствие законов размножения. Это сборник обрывков мыслей о разном - тут можно возбудить себе любопытство и раздразнить себя на дальнейшие поиски по совершенно различным темам.

Остальные две трети книги более последовательны и связны и посвящены одной теме, по сути одной загадке - загадке Разума. Что такое Разум? Как подступиться к пониманию деятельности нашего мозга и сознания? Как Разум порождает такие удивительные вещи как визуальную модель окружающего мира, язык, поэзию, музыку, математику? Как построить модель Разума? Автор совершенно убежден, что разгадку не стоит искать из биологических предпосылок, изучая поведение нейронов и их связей. По мнению Громова мозг человека - это слишком сложная с одной стороны и слишком универсальная по своим познавательным свойствам система, чтобы ее поведение моделировалось поведением отдельных элементов. Да, конечно, нейроны определяют деятельность мозга, но сам Разум - это некая надсистема над нейронами, со своими законами и процессами, которые еще предстоит разгадать. Какая математика нам нужна чтобы говорить о Разуме? Как задачу максимум для себя Миша Громов ставит целью попытаться придумать набросок подходящего математического языка чтобы рассуждать о разуме. И эта часть книги - это такие себе размышления вслух от него, каким может быть этот язык. Разум удивителен в своей универсальности обучения. Именно в этом, по мнению Миши, стоит искать разгадку. Каким образом можно придумать модель универсальной обучающейся системы, которая автоматически будет искать и извлекать структуры из как поступающих в неё извне, так блуждающих внутри сигналов, так как это делает мозг живого существа, мозг человека, мозг ребёнка?

Это довольно странная книга. И хотя за исключением некоторых мелких фрагментов для общего понимания наверное достаточно школьной программы по математике, ну может местами первого курса универа, и для меня в плане текста было вроде как почти все ясно, но все же не оставляло ощущение непонятой глубины, когда ты чувствуешь что часто за фразой автора скрываются годы размышлений и понимания, которое тебе, сейчас поверхностно читающему эти строки, увы, недоступно. Я наверное буду эту книгу передумывать и обдумывать еще достаточно долго, в самых разных аспектах - начиная от общих подходов к вопросам физики и мироздания :) и заканчивая в самых конкретных вопросах в плане педагогики и преподавания детям. Ведь загадка разума - это по сути загадка ребёнка который учится.

28 июня 2017 г.

Ювал Ной Харарі. Людина Розумна

Yuval Noah Harari. Sapiens: A Brief History of Humankind.

Мені завжди подобається коли заберешся трохи вгору - чи на реальну гору, чи на літаку, чи дивлячись на супутникові фото - є таке собі відчуття ландшафту, відчуття бачення взаємозв’язків і охоплення загальної картини. Так само коли досліджуєш певну тему, інколи, через деякий час та зусилля, з’являється бачення загальної та цілісної картини. Книга Ювала Харарі “Людина Розумна” дає можливість подивитись на історію людства, виду Homo Sapiens, поглядом ніби здалеку, згори, охоплюючи часи від неандертальців до наших днів. За останні десь 5-7 років це напевно другий чи третій текст з історії що мені надзвичайно сподобався.

Ця книга на мій погляд має декілька особливостей. По-перше, тут нема нудних дат та описів у вигляді “поданих та точних фактів”. Розповідь про давні часи ведеться з тим самим ступенем неточності з яким є неточними та неповними наші знання про ті періоди. Автор дуже відвертий та чесний у своєму незнанні - і це приємно. По-друге написано надзвичайно легкою мовою, місцями з відтінками сміху та сарказму. Дуже добре сприймається прочитане. По-третє, мені здається книжка дає та прививає читачеві певний світогляд - сприйняття людства як цілого, без націоналістичних особливостей, сприйняття історичного розвитку як глобального процесу та його етапів - когнітивну революцію, сільськогосподарську революцію, об’єднання людства та наукову революцію. Можна з усмішкою дізнатись чому логічно казати що “пшениця одомашнила людей”, або що імперії - це історично не дуже погано, а навпаки. Також імхо є щось епохальне у думці, що наукову революцію та сучасний прогрес спричинило коли декілька сотень років тому люди нарешті визнали самі перед собою “ми не знаємо природи. давайте дізнаватись”. Нібито очевидно та просто? Але для цього усвідомлення свого невігластва знадобились тисячоліття. І усвідомлення свого незнання виявилось одним з найбільш цінних ментальних звичок.

На мій погляд цю книгу треба вводити в обов’язкову до прочитання програму в старших класах школи. Саме через світогляд. Також її було б корисно почитати абсолютно всім політикам та іншим людям що приймають впливові та масштабні рішення. Я б сказав навіть що якщо б вибирав людей з якими робити спільні справи чи ділити частину життя, то ця книга є однією з таких що можуть відсіяти або зблизити мене з іншими. В общєм всім бігом читати. Буде легко і кльово. Гарантую. :)