Показаны сообщения с ярлыком Философия. Показать все сообщения
Показаны сообщения с ярлыком Философия. Показать все сообщения

среда, 9 декабря 2015 г.

Солнце вращается вокруг Земли

Думаю, этот факт достоин отдельного сообщения.

Картинка же иллюстрирует массовость явления. Аналогичное видел на таком же русском шоу. (Перевод: «Что вращается вокруг Земли? Ответы: Луна, Солнце, Марс, Венера»)

  • Есть люди, которые получали образование. Но его не получили (в базовом объеме). Они считают, что Солнце вращается вокруг Земли.
  • Есть люди, которые получили образование. Но помнят из него только то, что Земля вращается вокруг Солнца. Про них картинка.
  • Но есть ещё люди (хотя их немного), которые получили образование, и попытались разобраться в рассматриваемых вопросах. Они знают, что Солнце вращается вокруг Земли. Если взять Землю за систему отсчета. А Земля вращается вокруг Солнца если взять Солнце за систему отсчета. И кто вокруг кого вращается не противоречит друг другу, потому что все относительно.

P.S.

Те, кто хорошо понимает небесную механику, знают, что на самом деле, все что есть в Солнечной системе вращается вокруг одного центра масс, который находится вне Солнца.

А те, кто изучал космологию, понимают, что всей Галактикой мы летим куда-то в сторону настоящего созвездия Гидры, и вращаемся мы в этом движении или нет не совсем понятно.

Но это совсем другие люди и совсем другая история.

UPD (18.06.2016): https://youtu.be/IJhgZBn-LHg?list=WL


суббота, 10 января 2015 г.

О том, чего невозможно заставить сделать

Сначала два примера-цитаты для иллюстрации.

Первая цитата из книги «Человеческий фактор». Автор говорит о формировании сильных и устойчивых коллективов, в частности, инженеров-программистов:

Здесь стоило бы поместить небольшую главу под названием «Как способствовать кристаллизации команд». Такая глава включала бы пять-шесть простых рецептов, помогающих формировать команды. Этих рецептов было бы вполне достаточно, чтобы гарантировать кристаллизацию. Планируя эту книгу, мы рассчитывали написать именно такую главу. Мы были уверены в себе. Неужели так сложно добраться до сути вопроса и дать читателю практические средства, способствующие кристаллизации? Мы задействуем все свои способности, весь наш опыт, мы одолеем проблему логикой и чистым вдохновением. Вот так это выглядело на стадии планирования… Между планом и реализацией нам пришлось несколько раз столкнуться с тревожной реальностью. Началось все с того, что мы просто не смогли придумать шесть рецептов для этой главы, застряв на цифре ноль. Мы были готовы немного умерить свои амбиции, но не настолько же. («Ноль способов способствовать кристаллизации команд?») Стало ясно, что в чем-то неправильна сама идея главы. Неверной оказалась мысль о том, что команды можно заставить кристаллизоваться. Это невозможно. Можно надеяться, что они кристаллизуются, можно стучать по дереву в надежде не сглазить, можно как-то стимулировать повышение вероятности кристаллизации, но невозможно найти универсальный катализатор. Процесс слишком хрупок, чтобы им управлять.

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

Вторая цитата из «После трех уже поздно». Здесь речь идет о воспитании в самом раннем возрасте:

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

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

…

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

…

Когда у ребенка возникает желание что-то сделать без всякого принуждения, это и есть идеальный способ обучения. Таким образом, раннее развитие ребенка зависит от вдумчивости и внимания матери и тех, кто его окружает. Автор книги «Великие мира сего» немецкий химик Оствальд считает, что таланты воспитываются книгами и поощрением. Родители великих людей не навязывали им книги — они окружали ими их с детства.

Цитаты взяты как наиболее яркие и находящиеся в достаточно разных областях. Кроме того, их авторы далеко не единственные, которые говорят об этом.

Что общего у этих двух цитат? На свете есть такия понятия, которые невозможно заставить появится, или нельзя форсированно получить. Можно только создать условия в надежде на то, что что-то прорастет. Нельзя заставить человека превратится в ученого, невозможно насильно получить много патриотов, не получится заставить женщин рожать (прямыми директивами), … Наверное, для этого понятия есть какое-нибудь философское (или социологическое/психолгическое) умное слово, но оно мне неизвестно или как-то ускользает, … Но сам факт явления остается.


понедельник, 11 августа 2014 г.

Парижская школа

Где-то год назад у нас в городе была выставка художников Парижской школы. И сейчас пост о том, к чему может привести посещение такой выставки таким человеком как я (далеким от художественного искусства, только по понятиям).

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

Если рассматривать глобально, то длительное время люди стремились изобразить на холсте реальность (мишки в лесу, натюрморты, портреты, …). Были конечно различия (на Западе как можно идеальнее и красивее, на Востоке изобразить как есть и найти там красоту и пр.), но в общем случае генеральный вектор к реальности был одинаков. Однако после какого-то момента ещё больше приближаться к реальности нет особого смысла. Если можно сделать фото, то зачем перерисовывать то же самое, только вручную? Соответственно, если мы фотографигруем мишек в лесу, то то же самое делать руками бессмысленно. Поэтому если хотим изобразить что-то, то лучше найти что-то более со смыслом (чего трудно в реальности), или сменить акцент. Что в свое время и сделала Парижская школа, выйдя из тупика (который был изображен в виде квадрата Малевича, он же символ конца искусства).

Сейчас пришел к такому выводу, что в ряде других областей наблюдается или наблюдалось такое же явление. Например, в научной фантастике, зародившейся где-то на Ж. Верне и Г. Уэллсе, а в дальнейшем был расцвет в виде т.н. классики (Беляев, Саймак, Бредбери, Хайнлайн). Однако, через некоторое время фантастика попала в кризис, рубеж которого находился где-то в районе Суммы Технологий Лема. Данное явление обсуловлено тем, что в фантастике нужно было успешно совмещать несколько вещей. Во-первых, быть достаточно подкаванным в науке, и разбираться в последних достижениях достаточно глубоко. Во-вторых, эту информацию преобразовывать читателю таким образом, чтобы он все это понял. И в-третьих, находить на этой научном гребне что-то новое, делая шаг вперед. Так как научный разрыв постоянно увеличивался от простых людей, то совмещать все это становилось сложнее и сложнее, и в конце концов фантастика свалилась в миры фэнтези. Таким образом, акцент с реальности сместился в фантазирование, оторванное от реальности.

Следующий яркий пример который можно наблюдать прямо сейчас это видеоигры. Длительное время все стремились сделать все реальнее, красивее, детальнее и проч.. Однако со временем из-за развития компьютеров во-первых, качество резальтата стало очень высоким, а во-вторых, для достижения этого качества уже не хватало команды в пару человек, нужна уже была большая студия с опытом работы. И таким образом, как мне кажется, где-то в районе 2007-2010 (в основном из-за уменьшения барьера инди) запустилось отдельным направлением из инди реализация таких видеоигр, которые особо не заморачиваются на качестве графики и прочего, а акцентируют свое внимание на совершенно других вещах, которые чем-то даже напоминают Парижскую Школу.

И последнее из замеченного — это демосцена. Сначала это было стремление сделать уникальные вещи на слабой технике (как аппаратных средствах, так и микропроцессорных), при этом делая это ближе к реальности. Например, сделать так, чтобы компьютер с одним бипером играл как оркестр, или заговорил человеческим голосом. Или сделать так, чтобы на мониторе с 256 цветами изображалось 16 млн цветов. Или изобразить множество полигонов с несколькими отражениями и всеми тенями и туманами, на что техника соответствующего времени неспособна. Однако после нарастания мощностей и совершенствования инструментов высокий реализм стал обыденностью, и поэтому демосцене пришлось перейти в искусство и утратить свою значимость.


четверг, 14 ноября 2013 г.

Защита от Злого гения Декарта

Которой не существует. Но все таки я его нашёл!

Понятие

Регулярно как минимум в инженерной среде при проектировании (а точнее, при валидации) чего-нибудь складывается следующая ситуация. Разработчики придумывают какое-нибудь решение, а критики вокруг начинают придумывать разные идеи по поводу того, «а что будет если …». Изначально предлагаются осмысленные варианты поведения (здравомыслящие и логические), далее идет рассмотрение крайних случаев, потом идут какие-либо безобидные ситуации (как некорректный ввод пользователя), но в дальнейшем начинается нечто более серьезное. Что будет если закончится место на диске? Как разруливать ситуацию, если мы имеем нагрузку X, а нам дадут 10*X? А если задача зависнет? Однако, на этом дело не заканчивается. Идут вопросы о том, что делать если сыпется диск? А что если CPU будет не успевать? А если откажет таймер и часы переведутся? А если выйдет из строя тактовый генератор процессора? … где-то в конце этого списка молния попадает в компьютер, но он все равно должен выжить и выполнить боевую задачу.

В литературе по отказоустойчивым системам (fault-tolerance systems) между строк и сквозь все пронзает мысль о том, что нельзя построить систему, которая была бы оказоустойчивая и безопасная ко всему. Только сейчас в статье Marco Schneider'a нашел понятие того, кто пытается любыми способами сломать систему и с фактом того, что всегда есть возможность ему это сделать. То есть, если мы рассматриваем действующую систему, то мы можем находясь извне всегда придумать такую ситуацию, чтобы эту систему сломать, т.е. сделать так, чтобы она перестала функционировать. В статье такая роль называется malicious adversary или evil demon, последнее из которых — Злой гений Декарта.

Опытные и неопытные разработчики

Уровень 1. Новички в инженерии совершенно лишены тормозов и не знают о том, что вообще этот Злой гений существует. В связи с этим то, что они хотят сделать, они реализуют быстро, как придется и так, чтобы работало (классический Cowboy). У них нет в сознании множества граблей, на которые можно наступить. Нужно отправить e-mail? Где процедура… какие параметры? … сейчас подставим и всё! Готово! (пора рапортавать менеджерам о своей высокоэффективности). Однако то, что SMTP-сервер может быть не доступен, не обрабатывается. Письмо может не влезть в ящик, e-mail совсем не e-mail, пароль захордкожен и в открытом виде, бесконечный запрос отправки вешает всю систему, а ошибки сервера забыты, и это далеко не полный список.

Уровень 2. Более опытные разработчики имеют карту местности с множеством граблей, и отлично понимают, что наступить на новые, или на старые, можно в любой момент. Злой гений Декарта присутствует, но он есть интуитивно: уровень проработанности определяется на глазок, по срокам и ресурсам, а те, кто будет аргументировать методом «а что, если молния в компьютер?», будет мягко говоря, проигнорирован. Но даже для весьма опытных специалистов вопросы Злого гения ставят в тупик. Я несколько раз наблюдал ситуацию, когда в кругу матёрых инженеров (один пример на IT-конференции, второй в обществе специалистов по отказоустойчивым системам, третий в общении программистов со стажем порядка 10 лет) имел место диалог вида:

— Вот вы столько всего рассказали, все так интересно, но все равно ваша система не сможет спасти от всего?

— Да, не сможет.(с виноватым видом без акцента на то, что так вообще-то не сможет любая система)

Такой вот универсальный троллинг 2-го уровня.

Уровень 3. Понимание того, что Злой гений Декарта есть, универсальной защиты от него нет, но с ним можно бороться. А тот, кто предлагает универсальные способы решения — алхимик современности.

А как бы вы решали проблему защиты от Злого гения Декарта?

Мне известны два широкополосных способа, позволяющие эффективно решать данную проблему.

Решение 1: На основе анализа предыдущего опыта

В качестве иллюстрации данного способа решения мне нравится пример Титаника (его же и не только использует Leveson в своих статьях и книгах).

Когда спроектировали и пустили на воду Титаник, он считался непотопляемым. Данный вывод был сделан не а пустом месте. В качестве доказательства в пользу имелся ряд аргументов и фактов. Для упрощения (там было много всего), Титаник был спроектирован в качестве корабля с множеством независимых отсеков, который остается на плаву в случае пробоин и затопления 4-х из них. Исторический опыт того времени говорил о том, что во всех катастрофах было так, что корабли не получали повреждений более, чем на заполнение 4-х отсеков. К сожалению, в результате столкновения у Титаника было затоплено 5 отсеков.

Ключевым в данной истории является то, что для решения проблемы непотопляемости был проанализирован исторический опыт и имеющиеся технические возможности, в соответствии с которыми стало возможно ликвидировать на каком-то уровне все опасности, которые угрожали кораблям-предшественникам. Это так называемый Hazard Analysis, используемый сейчас во всех западных системах, критичных к безопасности. Но подобного рода анализ для всех разрабатываемых систем ещё не пришел (дорогое удовольствие).

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

Решение 2: Вероятностная защита

Как только мы переходим из реальности в чистое математическое поле, мы можем применять математические методы, позволяющие ряд проблем решать на вероятностном уровне. То есть, мы не защищаемся от Злого гения Декарта, а снижаем вероятность его проявления до определенного уровня.

Классическими иллюстрациями для этого могут служить криптостойкость ключа при шифровании и контроль CRC в обычных системах (при передаче данных или например для проверки на сбои в памяти).

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

Если используем простейший CRC, то он позволяет также сделать так, что проявление сбоя будет замечено с высокой вероятностью, и не замечено — с пренебрежимо малой. Мы не защищаемся от всех сбоев, но зато защита идет от абсолютного большинства из них. И, если например CRC32, то следует помнить, что в случае сбоя если один из TCP/IP пакетов или запакованных архивов будет распакован или разобран в битом виде, при этом с вероятностью 2-32 мы этого не заметим и никто нам об этом не скажет.

Здесь Злой гений Декарта есть, и полностью победить его невозможно, но он для победы должен быть достаточно мощен, чтобы перебрать ключ или достаточно удачлив, чтобы пройти через CRC.

Завершение

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

Сами же описанные решения не универсальны. Вероятности работают только там, где работает математика (при наличии системы аксиом), а зачастую может быть и так, что опыта нет и анализ провести не на чем.


пятница, 8 ноября 2013 г.

Фальсифицируемость спецификаций

— Какие могут быть формальности между друзьями! Вася, сделай мне программу сортировки.
— А что такое сортировка?
— Мне надо, чтобы я вводил любые числа, а программа выдавала упорядоченные числа.

(через неделю)

— Ты что, Вася! Я ввожу 5 4 7 6, а твоя программа выдает 1 2 8 9.
— Так бы и сказал, что она должна использовать введенные числа.

(через неделю)

— Ты что, Вася! Я ввожу 5 4 7 6, а она выдает 4 5 6.
— Так бы и сказал, что все числа должны присутствовать.

(через неделю)

— Ты что, Вася! Я ввожу 5 4 7 6, а она выдает 4 5 6 7 и 8 и 9.
— Я выдал все, а от себя добавил, по дружбе, чтобы ты от меня отстал, наконец.

(через неделю)

— Ты что, Вася! Я ввожу 5.4 и 7.6, а она даже два числа отказывается сортировать.
— А откуда я знал, что тебе не только целые надо сортировать? Может тебе завтра взбредет комплексные сортировать?! Последний раз!!!

(через неделю)

— Ты что, Вася! Программа больше девяти чисел не сортирует…

© Конспект лекций для Светы

Фальсифицируемость

Одним из величайших последних изобретений в философии является фальсифицируемость, позволяющая эффективно бороться против любых чайников Рассела. В последнее время все чаще и чаще убеждаюсь в том, что по отношению к инженерии и сферы IT в частности, сторонники чайников живут среди нас и пока что процветают, но их позиции, к счастью, слабеют.

Что такое фальсифицируемость подробно есть в википедии, но для моего контекста достаточно того, что. Любое утверждение должно быть проверяемо (тестируемо). Если оно не проверяемо, т.е. его нельзя протестировать, значит оно ничего не стоит и его нужно выбросить на свалку. В крайнем случае, переформулировать или заменить. То, что можно протестировать — фальсифицируемо. То что нельзя — нефальсифицируемо.

Иллюстрация первая: классическая (в качестве введения)

Приходит заказчик и говорит: «Я хочу программу, и чтобы она работала». Переводя с пользовательского на народный это означает: «У меня есть проблема, и я хочу, чтобы её не было. Разберитесь пожалуйста, что это у меня за такая проблема, и решите её, и чтобы у меня её не было. А что за проблема я знать не знаю и знать не желаю.»

Иллюстрация вторая: недавняя

Несколько дней назад, почти дословное сообщение: «Когда внешняя система работает плохо, нашей системе тоже плохо. Сделайте так, чтобы нашей системе было хорошо. Всегда хорошо. При всех обстоятельствах. Она должна приспособиться к любой ситуации.»

WTF?? С каких это пор можно сделать систему, которая решает любую проблему и приспосабливается к любой ситуации?? Для меня вышенаписанное это звучит как: «Мы вас просили спроектировать непотопляемый корабль. А то, что сделали вы, утонуло после первого попадания ядерной боеголовки».

Удобные спецификации

«Так, вам задание. Система должна работать быстро. Отвечать на запросы — как можно быстрее. И не занимать много памяти. И, ещё, это…, проект должен быть готов чем скорее, тем лучше. »

Сделать универсальную систему невозможно, нужно оптимизировать по каким-либо параметрам. Но кроме этого, здесь следующее: такая формулировка очень удобна. Если вдруг окажется, что система тормозит, то всегда можно сказать «Мы же просили сделать так, чтобы система работала быстро! Почему не сделали?». «Медленно отвечает? Мы говорили вам!» …

Но с другой стороны: «Система вообще-то работает быстро. Может не так быстро, как хотелось бы, но это быстро!»

В результате никто ни в чем не виноват и никому ничего не должен.

Исторический пример неточных требований

Даже в больших и серьезных системах не удается всегда избежать подобных проблем. Для примера рассмотрим случай с верификацией программного обеспечения атомной станции в Онтарио, рассматриваемая здесь часть которой подробно расписана в статье автора, проводившего верификацию.

В спецификации было указано следующее:

“Shut off the pumps if the water level remains above 100 meters for more than 4 seconds.”

“Выключите насос в случае, если уровень воды остается выше 100 метров в течение более чем 4-х секунд.”

Как бы вы проверяли программно эту ситуацию? Т.е. какая математическая формула выдавала бы ответ о том, нужно выключать насос или нет.

Особенности верификации ответственных систем таковы, что проверка делается независимой группой, которая выполняет полный цикл обратной разработки. В том числе и интерпретацию требований без заглядывания в исходники. Специалисты по проверке предложили три интерпретации:

  1. Среднее арифметическое за последние 4 секунды больше 100 м.
  2. Среднее между минимумом и максимум за последние 4 секунды больше 100 м.
  3. Среднее квадратическое за последние 4 секунды больше 100 м.

В дальнейшем оказалось, что разработчики использовали 4-ю интерпретацию, отличную от 3-х предложенных: вычисление минимального уровня воды и сравнение его с 100 м. Кроме того, что это неоднозначно, это была самая опасная из 4-х формулировок, так как кратковременный высокий уровень воды может привести к серьезным проблемам на станции, а последняя из формулировок оставит этот факт незамеченным.

Таким образом, чтобы требования были проверяемы, нужна их точная математическая формулировка. Если требования сделаны на естественном языке, то это приводит к множеству различных противоречивых толкований, и в том числе к ошибкам и проблемам.

Необходимость фальсификации

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

В более жестком варианте необходимость фальсификации спецификаций звучит так: если мы не можем проверить требование, то оно считается нефальсифициуемым и подлежит удалению, замене или пересмотру.

Таки образом, для каждой из спецификаций должны быть описаны конкретные условия проверки (что проверяется, условия, обстоятельства и т.д.; полная постановка эксперимента (теста) ). Иначе они трактуются как попало и не работают.

Позитивные сдвиги

К таким сигналам отношу следующее. В последнее время несколько раз встречал из различных источников (внутренние правила компании по качеству; слова умных людей; методологии в IT), что: в разработке необходимо 100%-е покрытие тестами; если вы не можете проверить тестами, то и не реализуйте — практически наверняка есть проблема на предыдущих этапах.

Вывод

Таким образом, фальсифицируемость решает проблему демаркации — отделения реальных требований к системе от бесконтрольных хотелок.

Кроме того, фальсифицируемые требования являются надежным контрактом между заказчиком и разработчиком.


среда, 6 ноября 2013 г.

Истец, судья и адвокат дьявола

Критика и Адвокат дьявола

Давным давно, лет 15 назад, когда вокруг было много идей, я понял, что все разные, и для практического результата пришел к заключению, что та идея более ценна, которая лучше выдерживает критику. Утверждение очень простое и может не совсем очевидное, но внедрение такого критического мировоззрения привело к тому, что любая идея, пытающаяся достучаться до моего сознания (как извне так и снаружи), подвергалась жесткой бомбардировке, и, соответственно, выживали немногие.

Такой подход оказался чрезвычайно полезным не только против внешних апологетов, пытающихся привести весь мир к ихнему общему знаменателю, но и в качестве определенного фильтра своих внутренних замыслов, так как когда мы сами придумываем что-то новое, то это ощущается как «когда в руках молоток, то все вокруг кажется гвоздями».

Особенности человеческой психики таковы, что любые внешние идеи, отличные от наших, нашим подсознанием воспринимаются отрицательно, и это — аппаратное свойство нашей психики. Поэтому автоматически, когда вы идею выпускаете наружу, то все внешние обстоятельства становятся её критиками, зачастую необоснованно. И, если удары внешних критиков сильны, то это может не только накаутировать саму идею, но и любое ваше желание создавать что-то новое. В таких обстоятельствах важно выпускать такие экземпляры идей, которые имеют некоторый иммунитет и запас прочности. Но как его приобрести?

Так как идея никому не нужна, кроме нас самих, то в таких обстоятельствах нам приходится играть особую роль — критика наших собственных идей. Мы не придерживаемся мнения, что идея не работает, но при этом играем за черных. Очень точное название этой роли — Адвокат дьявола.

Таким образом, мы получаем две роли. Тот, кто выдвигает идею — Истец, ищет её положительные стороны, возможность применения и т.д.. Тот, кто критикует — Адвокат дьявола, занимается поиском слабых сторон и всяческим образом пытается разрушить полезность идеи.

Переключение между ролями

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

По моему опыту, хорошо время на переключение делать где-то минимум в 5-6 минут. За это время — очистить эмоциональный фон и оперативную память. Слишком частые переключения череповаты.

Третья роль

В последнее время окончательно вырисовалась третья роль, в корне отличающаяся от двух, описанных выше.

Особенность в том, что Истец и Адвокат дьявола позволяют выяснить конкретные свойства идеи: её область применения, сколько ресурсов на реализацию, какое качество будет на выходе, слабые места, сравнение с другими идеями, точки оптимума и др.. Однако полученный результат не всегда попадает на хорошую почву. То есть, в зависимости от обстоятельств может получиться так, что идея применима и работает, а может получится так, что не работает и здесь она никак.

Таким образом, решение о факте и необходимости применения лежит вне компетенции Истца и Адвоката дьявола, и эту роль по аналогии с судопроизводством, я называю Судьей. Кроме всего этого, так как Судья нейтрален, то он может устанавливать правила.

Суммируя. Истец выдвигает идею и её защищает. Адвокат дьявола критикует. Судья устанавливает правила (обязательно до), и принимает решение (обязательно после).

Роли в дискуссиях

Часто в разных дискуссиях люди присваивают другим определенные роли (например человек A за идею X, B против X). По моему мнению, такое мышление погубно, и уже давно я научился и привык быстро переключатся между ролями Истца и Адвоката дьявола. Что интересно, исторически была уже масса случаев, когда народ откровенно не понимал мою позицию, пытаясь присвоить её к одной или противоположной точке зрения, и все непонимание получалось потому, что фактически моей личной позиции по вопросу попросту не было.

Аналогии

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


понедельник, 4 ноября 2013 г.

Капеллан дьявола

Речь идет об одноименной книге, которую прочитал некоторое время назад.

Книга представляет собой сборником статей Докинза, которые никаким образом не попадали в другие издания. В связи с этим в каждой из них тематика разная и рассматривается под своеобразным фокусом.

Чтобы не писать обо всем или не о чем, здесь три темы, которые показались мне интересными.

Рецепт и чертеж

Имеется два различных типа для создания или развития — рецепт и чертеж.

Если мы имеем чертеж, например для автомобиля, то мы можем детально сказать что из себя представляет эта сущность, разобрать её до винтиков, понять почему она такая, а не другая. Мы можем имея сам автомобиль по большому счету, его скопировать и сделать точно такой же.

Если же мы имеем например торт, то не зная его рецепта, воспроизвести ещё один такой же торт мы не можем. Нам обязательно нужен рецепт приготовления, и не зная ингридиентов и способа готовки, угадать или изобрести рецепт чрезвычайно сложно.

Точные науки (там где больше математики) — занимаются чертежами. Они могут очень досконально описать процессы и воспроизвести их (экспериментально или вывести вездедействующий закон). Неточные науки (социология, психология, экономика, зачастую биология и медицина, …) занимаются рецептами и тортами. Их законы скорее работают чем не работают (т.е. чаще работают, но не всегда), а если человек имеет торт (кого-то вылечил, заработал денег, уладил психологическую проблему, …), то далеко не всегда он имеет рецепт или может объяснить, как он этот торт получил. Т.е. имеет потенциал повторить с большей вероятностью чем в среднем по больнице, но собрать универсальное решение или обучить кого-то этому же — уже затруднительно.

Отдельно думаю стоит отметить, что процесс формализации в науке — это, по большей части, процесс превращения рецептов в чертежи.

Пару своих примеров для иллюстрации.

Естественный интеллект является тортом, а искусственный — чертежом. Мы знаем приблизительно как получается естественный, что из такой-то цепочки ДНК после длительного взаимодействия с окружающей средой возникает естественный интеллект. Однако из-за сложности и длительности этого процесса уровня понимания чертежа у нас нет.

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

Адвокат беспристрастной истины

В этой теме мне прежде всего понравилась формулировка роли. Смысл самой идеи можно было увидеть в разных вариантах и у Платона, и у Гегеля.

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

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

Таким образом, распространение под грифом «фантастика» может происходить какой-угодно информации, однако научные формулировки и описательные свойства продуктов должны нести за собой определенную долю ответственности.

Разрывы в мышлении

Человеческое мышление зачастую дискретно. Мы привыкли классифицировать объекты по определенным категориям, между которыми существуют жесткие границы. Однако на свете есть много вещей, имеющих непрерывный переход из сущности А в сущность B.

О таком типе мышления пару раз писал ранее в других контекстах, но в книге мне понравились две иллюстрации.

Есть такое понятие — «кольцевые виды». В Британии обитают два вида: серебристые чайки и клуши. Внешне они различаются легко (по разному окрашены), и при этом это два вида — они не спариваются в Британии друг с другом. Однако, если двигаться по ареалу их обитания вокруг Северного полюса, (через Европу, Сибирь и Америку), то мы заметим, что серебристые чайки медленно изменяются и превращаются в клуш. На каждом участке они могут спариваться друг с другом, но на концах кольца — уже нет. В Британии нам удобно различать по категориям чаек и клуш, но по факту эти два вида кольцевые, и параллельно с чайками и клушами существуют все переходные формы из одних в другие.

Основываясь на этом примере, мы можем получить следующую иллюстрацию. Если взять современного человека, и сравнить его с кроманьонецем 40 тыс. лет назад, то отличия между ними незначительны (мы можем друг с другом легко спариваться). Если пойти дальше, то можно получить так, что предок человека, живший 200 тыс. лет назад (назовем его X), ещё не ушел от нас настолько далеко, чтобы потерять возможность к спариванию. Однако может получиться так, что мы уже не можем спариваться с предком человека, жившего 400 тыс. лет назад (назовем его Y) из-за того, что различия слишком велики. Особенность всего этого в том, что генетическое расстояние между X и Y меньше, чем между нами и Y, поэтому X и Y могут спариваться. Таким образом, мы и X один вид, X и Y один вид, но мы и Y уже не один вид, и это отличие подобно различиям между клушами и чайками, только с той разницей, что межвидовые формы чаек и клуш ещё не вымерли.

С точки зрения непрерывных понятий можно назвать и другие примеры. Например в настоящее время есть куча переходных форм между планетами и звездами, а также между планетами и астероидами-кометами. То же самое между галактиками, скоплениями и звездными системами. Т.о. такие непрерывные понятия есть очень много где.


понедельник, 16 сентября 2013 г.

Эссенциализм как признак понимания предметной области

Когда-то, при прочтении книги А.Маркова «Эволюция человека», мною уловилось определенное нейробиологическое свойство нашего мозга, речь о котором пойдет ниже. Но прежде чем, небольшой отрывок из книги об этом (доступен онлайн):

Многие люди хотя и признают эволюцию, но при этом имеют весьма превратные представления о ее механизмах. Одной из причин недопонимания является присущий нашему мышлению типологический взгляд на животных: мы склонны видеть в каждой особи не индивидуальное существо, а представителя того или иного вида. Из-за этого мы оказываемся слепы к проявлениям внутривидовой изменчивости («медведь — он и есть медведь»). Данное явление тесно связано с так называемым эссенциализмом — склонностью нашего разума приписывать группам объектов, сходных по каким-то признакам, некую общую для них всех идеальную «сущность». Философы написали о сущностях гигабайты текстов. Я не философ и не считаю это недостатком. Но на одном философском сайте мне попалась мудрая мысль, под которой я с радостью подпишусь. Звучит она так: «У вещей нет сущностей».

Дэниел Неттл из Университета Ньюкасла (Великобритания), специалист по эволюции и генетике поведения, провел со своими студентами ряд экспериментов, которые показали, что понимание эволюции может быть улучшено, если в ходе обучения использовать «человеческие» примеры (Nettle, 2010). Как и другие преподаватели эволюции, Неттл неоднократно замечал, что студенты с трудом понимают основы дарвиновского эволюционного механизма, несмотря на всю его кажущуюся простоту и вопреки всем усилиям учителей. Некоторые типичные заблуждения основаны на недооценке внутривидовой изменчивости. Люди склонны думать о том или ином животном прежде всего как о представителе вида. Речь идет, конечно, не о зоологических видах, а о «народных», то есть о таких группировках организмов, которые имеют общеупотребительное название. Народные виды иногда совпадают с зоологическими («лев»), но могут соответствовать целой группе близких видов («дельфин», «медведь») или внутривидовым группировкам (например, собака и волк — два народных вида, которые, по современным представлениям, относятся к одному и тому же зоологическому виду).

Такое «типологическое» восприятие животных, вероятно, сформировалось у наших предков под действием отбора как полезная адаптация. У людей есть специализированные участки мозга, расположенные в височной доле (а именно в верхней височной борозде и веретеновидной извилине), отвечающие за классификацию животных и растений. Повреждение этих участков может привести к утрате способности отличить льва от мыши и ромашку от березы при сохранении прочих ментальных функций. Современные охотники-собиратели различают многие сотни видов живых существ — в отличие от горожан, у которых соответствующие участки памяти, по-видимому, забиты сортами шампуней, йогуртов и автомобилей (Yoon, 2009).

Если отбросить эволюцию и сосредоточиться на нейробиологии, то приходим к следующему. Мы, разбираясь с внешним миром, каталогизируем большие множества объектов как группы, и приписываем им какие-то свойства. Это полезный навык (прежде всего экономически) — нам не нужно запоминать свойство каждого объекта, а сразу пользуемся некоторым обобщением.

Однако имеется особенность в том, что каждый из нас для каждой из предметных областей имеет свою глубину понимания предмета, а глубина выборки групп разная и зависит от опыта. Достигнув определенной детализации, мы останавливаемся или приостанавливаемся, не копая глубже и не разбивая группы на меньшие подгруппы.

Таким образом, если человек ничего не понимает в автомобилях, то он может сказать только то, о чем он понимает — цвет, количество дверей, … Но в том же цвете человек тоже может разбираться по-разному. Смотря на одни и те же вещи, мы субъективно разбиваем их на разные категории.

Это все теория. Что же может быть из неё полезного?

Признак понимания

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

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

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

Вредные обобщения

При контакте с небольшой выборкой целевой группы можно попасться на то, что могут сформироваться не совсем корректные суждения. Например, «X — поганый народ». Т.е. на основании единичной или малой выборки было сформировано внутреннее обобщение. Хотя известно, что в любой статистически значимой популяции можно найти индивидуумов с любыми чертами, только распределение вероятностей будет немногим различаться.

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


четверг, 12 сентября 2013 г.

Алхимики современности или неразрешимые проблемы

Раньше алхимики искали философский камень и способ превратить что-нибудь простое и подручное в золото. Т.е., каким-то простым действием (например хитрым ударом молотка и словами «крэкс-пэкс-фэкс») сделать из куска глины кусок золота. Закончилось все это тем, что простого способа не нашли (в настоящее время на это нужно потратить огромное количество энергии для ядерных реакций), но попутно было изобретено много чего.

Но алхимики никуда не исчезли. Они до сих пор среди нас, только декорации изменяются.

Здесь хочу выделить отдельный класс т.н. неразрешимых проблем и описать пару их свойств.

Современные примеры

Поиск серебряной пули

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

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

Поиск элексира вечной молодости

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

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

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

Знание языка

Имеется ввиду человеческого языка общения.

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

Легко обратить внимание, что на данном поле многие предлагают легкие пути освоения языка. Но царского пути нет, и использовать надо все доступные способы. Мы быстро учимся говорить когда нужно общаться вживую, быстро пополняем лексику если читаем книги, быстро учимся правильно писать если пишем и наши ошибки исправляют, мы можем научиться слышать язык только прослушав множество его носителей. Для результата надо использовать весь комплекс методов и средств.

General Problem Solver

Это мое прогностическое мнение. Не существует универсального AI, решающего любую проблему. Есть много разных AI с разной эффективностью, и естественный интеллект не исключение.

Было и будет много разных интеллектов. Много предлагателей универсальных интеллектов. Много попыток его построить с провалом, но с косвенными плюшками.

Свойства

Все свойства расписаны выше, но здесь их явная систематизация.

Кроме того, мое контекстное определение. Неразрешимая проблема — такая проблема, которая решается частично, но не может быть решена полностью, либо полное её решение слишком затратно; мы можем решить её частично, и улучшить результат, но полного решения нет.

Полезность и бесполезность попыток

Исторически показано, что подобные попытки зачастую не приводят к решению самой проблемы, но приносят большое количество косвенных плюшек и изобретений. С одной стороны, проблема не нешена, а с другой — плюшки есть.

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

Множество предложений простого способа

Вокруг проблемы расцветает большое количество предлагателей простого способа решения проблемы, как забесплатно, так и втридорога.

Нет простого способа

Нет унивесального способа, но путь есть. Он тяжелый и трудный, но он есть, и нужно использовать весь комплекс методов и средств для решения проблемы.

Оптимизм

Есть вещи, которые не таковы, какими мы хотели бы их видеть. Очень хочется иметь философский камень, универсальный молоток, элексир молодости и пр.. Но реальность не такова.

Заключение

Когда каркас данного сообщения был готов, то перечитал Брукса (его Мифический человеко-месяц, где есть No Silver Bullet с историей 10 и 20 лет спустя). И с восхитительным удивлением нашел там следующую цитату:

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

Turski W. M. And no philosophers’ stone, either // Kugler H. J. (Ed.). Information Processing 86. Amsterdam : Elsevier Science, North Holland, 1986. P. 1077-1080.

суббота, 24 августа 2013 г.

Развитие технических систем — Взрыв и стандартизация (с примером IBM)

Лампочки накаливания появились не сразу, а долгое время изобретались разные варианты решения. В свое время Эдисон перебрал две тысячи лампочек, прежде чем выбрал ту самую, которая победила газовое освещение.

При выходе в новую область наблюдается взрыв разнообразия различных форм. Так было с самолетами в 20-30-х гг., так было в войне Unix'ов, так было с кодировками до ASCII и до UTF-8.

Аналогичный процесс есть в биологических системах, где классическими примерами являются взрывы разнообразия при выходе на сушу и при освоении воздуха, а самым большим выглядит Кеймбрийский взрыв.

После взрыва запускается процесс естественного отбора, когда разнообразие начинает уменьшаться, а видообразование приостанавливается. Отдельные наиболее приспособленные особи выживают и захватывают большие области, другим видам питаться нечем и они отмирают. Так, на сушу в свое время вышли 5-ти, 6-ти и 8-ми пальцевые существа, но выжили только потомки первых, потому мы такие и других больше не наблюдаем.

В технических системах происходит аналогичный процесс, когда остаются в основном 4-хколесные машины шириной в две крупы лошади, мейнстримовые языки программирования, типовые решения для аппаратных устройств (генераторы, трансформаторы), коробочные продукты (one-the-shelf), … Большие выжившие монстры решают большие классы задач, а в маленьких закоулках ютятся отдельные подвиды, зачастую мало кому известные и потенциально отмирающие.

Технические пути отбора

В технических системах с точки зрения отбора можно выделать два механизма.

Первый — насильственный захват и выбивание конкурентов. Например как это делает Windows — разработчики Windows сами себе стандарт, не обращая внимания на других, и способ захвата — выживают те решения, которые выигрывают на рынке, даже если эти решения не являются сильными. Это и сама ОС, и Ctrl-C Ctrl-V (задолго до них был Ctrl+Insert и Shift+Insert), и Win-1251 и др.. С точки зрения разработки — это решения для себя, для полного контроля и для вписывания в внутрикорпоративные стандарты.

Второй — через комитет (comittee). Когда собирается группа экспертов и после обсуждения принимает какое-либо чаще всего консенсусное решение. Решения более сильные, более глобальные, но делаются немногим дольше и не всегда выживают.

Технетика

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

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

Стандартизация вычислений с плавающей точкой

Сейчас ещё один такой случай, который увиделся при чтении Fatal Defect (chapter Wrong Number), где подробно разобрана история становления стандарта по вычислительным арифметическим операциям на компьютерах/калькуляторах с плавающей точкой. Особенность в том, что в 60-х не было единого подхода и решения того, как хранить вещественные числа в компьютере, а также как проводить вычислительные операции. Каждая организация делала свое решение, а зачастую внутри организации разные аппаратные разработки имели разные реализации.

Особенностей разностей несколько. Для примера, первая в том, что для повышения точности можно хранить разное количество дополнительных разрядов (кроме отображаемых на дисплее калькулятора можно хранить 0, 1, 3, … разрядов за краем табло, чтобы потом результат вычисления был более точным; например если не хранить, то 1/3*3 получится 0.99999). Второй является то, что можно использовать разные способы округления, которые также могут отражаться на конечном результате. Третьей являются разные алгоритмы выполнения данных операций, каждый из которых может отличаться точностью, быстродействием и неравномерным распределением ошибок. Четвертой — возможно разные преобразования между отображением и вычислением (например сначала берется то что на дисплее в 10-й системе счисления, переводится в 2 с/c, считается, далее обратно в 10 с/c). Пятой — стоимость системы.

Весь этот зоопарк приводил к тому, что вычисление одной и той же арифметической последовательности операций на разных аппаратных реализациях, имело разный результат. Т.е. считая одно и то же на разных компьютерах или калькуляторах, мы бы получали разные ответы.

Компьютер в любом случае не может обеспечить 100%-й точности для всех математических вычислений (так как числа в памяти есть конечное число единиц и нулей), и, казалось бы, с этим мало чего можно сделать. Однако в 70-х запустился процесс продвижения идеи, согласно которой необходимо было привести зоопарк к общему знаменателю, чтобы мы не всегда получали точный результат, но на разных компьютерах этот неточный результат был бы одинаковым.

В конце 70-х IBM инициировала внутри себя процесс создания подобного стандарта, так как зоопарк был внутри данной организации и руководство уговорили это сделать. После запуска процесса был собран IEEE-комитет из ~70 представителей различных компаний и институтов (не только из IBM). После многочисленных штурмов и споров (потому что каждый эксперт считает свои заблуждения самыми правильными) был выпущен черновой вариант с сомнениями о том, что этому кто-то будет следовать. Однако IBM в 1980-м выпускает первые чипы 8087, которые соответствовали описанным требованиям, и после этого запустился лавинообразный процесс, который охватил всех мировых производителей, хотя официальный чистовой вариант был принят в 1984-м.

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


суббота, 11 мая 2013 г.

Из одной предметной области в другую

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

Один из ярких переходов в IT — это перенос печати текста с печатной машинки на компьютер. Фактически брались специалисты по машинной печати и пробовали сделать то же самое на ЭВМ, со всеми вытекающими, самые наверно явные из которых это клавиатура QWERTY и кодировка символов, адаптация и работа с которыми ведется до сих пор. Исторически хвост тянется как минимум с середины XIX века с формирования принципов печати. При переходе на ЭВМ клавиатура была скопирована, а что касается раскладки символов, то в 1967 году при существующем зоопарке кодировок была принята ASCII, в которой первые 32 символа были управляющими, большую часть которых можно понять, только освоив печатную машинку. Так, например для перевода строки машинистке нужно было выполнить две операции — рычагом прокрутить лист на одну строку вперед (первая), и передвинуть каретку так, чтобы печатающая головка оказалась в начале строки (вторая). В настоящее время это сохранилось в виде операции перевода строки (Line Feed) и возврата каретки (Carriage Return). Из 32 управляющих символов ASCII ушли в прошлое все, кроме описанных LF+CR, а также ещё живет табуляция (HT, Horizontal Tabulation, код 9) [1, с.99-105].

Следующий пример — переход из театра в кино. На заре кинематографа постановка и съемка велись как в театре: создавалась сцена, фиксировалась камера на стационарном месте, на сцену выпускались актеры, которые привыкли играть в сторону фиксированной камеры. Прошло очень много времени, пока догадались снимать с разных ракурсов, делать движущуюся камеру, а также играть не на фиксированную точку.[2, p.217]

Аналогичный процесс имеет место в геймдеве, когда для написания истории нанимают писателей романов. Отличие предметной области — бумажные произведения имеют линейный сюжет, одну единственную концовку, что убивает интерактив новой предметной области, нарушая принцип «Do, don't show.» [2, p.217]

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

Ещё один яркий пример, цитата [3]:

Ежемесячно в нашей стране выпускают около 300 млн штук фаянсовой посуды. После первого обжига изделия делят на три группы, каждую из которых затем вторично обжигают по своей технологии. Сортировку ведут по звуку: работница берет тарелку, ударяет ее металлическим молоточком и в зависимости от тональности звука кладет тарелку на одну из трех позиций. Такая сортировка — труд чрезвычайно монотонный и тяжелый. Естественно, возникла изобретательская задача: надо избавиться от ручного труда. И вот группа изобретателей разрабатывает... «рукастый» автомат. Одна рука автомата хватает тарелку, другая ударяет молоточком: звуковые колебания воспринимаются микрофоном, анализируются... словом, полностью скопированы действия человека. В истории техники есть множество примеров — весельный пароход, шагающий паровоз, «рукастая» швейная машина, иллюстрирующих правило: нельзя механически копировать действия человека. «Рукастая» сортировочная машина была построена, ее попытались внедрить... и обнаружили массу недостатков. Машина резко повысила процент боя посуды; грубые манипуляторы машины были лишь внешней копией человеческой руки, которая на самом деле есть часть системы «рука-мозг». Машину не внедрили; деньги, затраченные на ее создание, оказались чистым убытком.

Часто принципы старой предметной области жестко вбиты в интуицию, из-за чего люди не понимают почему они делают именно так, а не по-другому, и то, что можно сделать по-другому останавливается и блокируется бессознательно.

Ссылки

  1. Чебыкин Р.И., «Разработка и оформление текстового содержания сайтов», 2004.
  2. Richard Rouse III, «Game Design: Theory & Practice Second Edition», 2004.
  3. Альтшуллер Г., «Найти идею. Введение в ТРИЗ.»

вторник, 19 марта 2013 г.

Заполнение пробелов в знаниях

Есть такое свойство человеческой психики — потребность заполнять все возможные пробелы в знаниях (Gap of Knowledge). У каждого человека есть своя картина мира (модель), находящаяся в его голове. Эволюционно сформировалась полезная адаптация, заключающаяся в том, что есть потребность в наличии полной модели, в которой нет пробелов.

Но удивительно то, как многообразно оно влияет на людей.

Несколько примеров

Если мы смотрим фильм, то по мере сюжета формируется интерес к тому, как это все закончится. Контекст формирует среду, в которой имеется Gap of Knowledge, т.е. некоторый пробел, который нам хочется заполнить. И, если он не заполнен, то мы чувствуем себя неловко и стремимся избавиться от этого чувства.

Аналогично, если люди смотрят по телевизору спортивное состязание, то им интересно, как оно закончится (какая команда выиграет, кто победит, какой будет счет).

По этой же причине нам хочется разгадать весь кроссворд и собрать весь паззл. Если разбираемся в происшествии, то интересны ответы на вопросы «Кто это сделал?», «Что на самом деле случалось?».

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

Удивительное

Меня удивила дуальность, которая проявляется в том, как люди делают свою модель в голове полной. В данном случае с определяющим фактором её проверки.

Есть два варианта поведения: дополнить свое представление исходя из собственного опыта и успокоится, или дополнить и проверить то, что дополнено.

Что такое первый вариант? Если человека интересует свое будущее, которое для него не определено, то он может пойти к гадалке/астрологу. Оно ему что-то скажет и тем самым модель будет дополнена. Получается, что в этот момент все становится хорошо и субъект получает удовольствие от целостности картины мира. Здесь и сейчас, невзирая на то, что предсказание не имеет практической ценности или не сбудется в будущем. Здесь важно то, что «здесь и сейчас».

Ещё один пример первого варианта: «почему так произошло?» Можно искать факты, свидетельства, доказательства, а можно сказать «на то воля бога, духов, ктулху, …», «потому что X дурак», …. Утверждения прекрасно объясняющие, но совершенно бесполезные. Хотя польза тут в удовольствии: пробел как-бы закрывается, модель мира целостная, и можно радоваться.

Но с другой стороны, данная адаптация становится полезной для исследователей мира, для тех, кто хочет свои знания использовать для получения плюшек.


пятница, 24 августа 2012 г.

Буриданов осёл

Есть такая зверушка, даже присутствует в викпузии. Ранее изучали в философии, но в её контексте все это смотрелось историческим, философским (в худшем смысле этого слова) и в некоторой степени прикольным.

Буриданов осёл — это такой осёл, который одинаково хочет пить и есть. В сотне метров от него находится вода, а в другой стороне тоже в сотне метров находится еда. Как ему решить, куда пойти сначала? Так как он хочет одинаково, то он не может решиться и умирает от голода и жажды. Но достаточно одного небольшого случайного отклонения, чтобы он сначала напился, а потом наелся, или наобормот.

Сейчас философии совсем мало и занимаемся более приземленным делами. И например надо решить задачу X. На ум приходит два способа, каждый из которых оценивается например, в 3 часа. Но какой лучше? Начинается способ определения… Проходит час. И в такой момент понимаешь, что за этот час можно было бы уже сделать треть, и ещё больше чувствуешь себя этим самым… ослом…

Один из способов разрешения дилеммы — подбрасывание монеты и беспрекословное подчинение результату (орлу или решке). Или как это было в ТБВ (2 сезон, 5 серия):

— Пенни отвезёт тебя в автоуправление. А я иду спать.

— Но почему Пенни?

— Потому что камень бьёт ножницы.


вторник, 29 мая 2012 г.

Субъективная и динамическая технологическая сингулярность

Этот пост о технологической сингулярности. О том, что скорее всего, её не будет. Или если будет, то только для тех кто не H+.

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

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

В этом определении мне не нравятся две вещи. Во-первых, то, что этот момент фиксирован (всегда указывается конкретная дата). А во-вторых, то, что он произойдет для всех людей на Земле сразу. И футурологи пытаются определить именно этот самый момент Х.

Динамическая сингулярность

Сначала хочу показать, что этот момент — не фиксирован. Это скорее горизонт событий, за которым мы не можем делать предсказания, а сам горизонт всегда находится в движении.

Лемма: обобщение технологической сингулярности на все время

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

Далее концепция лавинообразного роста была обобщена на более большие промежутки времени (где-то в недрах философии — синергетике и системного подхода). Две картинки, показывающие данное обобщение:

Другими словами, можно утверждать, что лавинообразное развитие жизненных форм и сложности происходило практически все историческое время.

Рассмотрение сингулярности для различных существ

Если взять современного человека, то скорее можно утверждать, что сингулярность для него наступит где-то в 2030 плюс минус годах. Если же мы рассмотрим человека раннего палеолита, то насколько далеко во времени он сможет понять и предсказать события? В это время он уже умеет пользоваться огнем, занимается охотой и собирательством, но сможет ли он понять логику и поведение людей, занимающихся земледелием или скотоводством? Сможет ли он понять и предсказать то, как ведут себя люди в большом обществе-государстве? Не говоря уже о колесе, порохе, книгопечатании и полете в космос. То есть, можно сказать, что для этого человека горизонт событий находится где-то после верхнепалеолитической революции и например, до эпохи великих географических открытий:

Если пойти дальше вглубь веков и рассматреть австралопитека и архантропа, то для них картина будет приблизительно следующая (тут границы ранний палеолит и начало земледелия):

Очевидно, что если рассматривать людей различного уровня развития, то для них горизонт событий окажется разным.

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

Свойство экспоненциального роста

Это описание больше относится к некоторым заявлениям сторонников технологической сингулярности, звучащих как «ТС — это когда скорость прогресса станет такой, что станет вертикальной прямой».

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

Если же рассмотреть экспоненциальную функцию, то легко показать, что

для f(x) = ex выполняется f(x) = f(x-1)*e;

Другими словами, если из представленной картинки мы вырежем одну 1/e-ю часть и уменьшим, то график по прежнему останется таким же. Например так:

 

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

Аналогично если бы улитка, жившая в кембрийском периоде, открывшая закон Мура в развитии биологических систем (типа число нейронов на единицу площади каждые 50 миллионов лет удваивается), могла бы увидеть сингулярность где-то в районе кайнозоя.

Факторы расстояния до горизонта событий

Самым очевидным фактором является ум. То, что человек, обладающий более сильными когнитивными способностями, может лучше предсказывать будущее и понимать происходящие события. Если мы перенесем в наше время австралопитека, то практически наверняка понять что-то он не сможет, и соответственно не сможет даже усвоить то, что мы знаем, в готовом виде.

Таким образом, чем мы умнее — тем дальше для нас становится горизонт событий.

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

Резюме по динамической сингулярности

Горизонт событий — динамичен. Чем мы умнее, и обладаем более современной информацией — тем дальше мы его отодвигаем. Основная задача — делать так, чтобы горизонт событий на накрыл нас и мы всегда могли его отодвигать дальше.

Субъективная сингулярность

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

Аналогично, если рассмотреть братьев наших меньших, то большинство из них очевидно находятся за горизонтом событий сингулярности. Собаки вряд ли могут предсказать и понять поведение хозяина-человека, хищники в лесу — охотников, растения — агрономов. Им приходится находится в симбиозе и выступать средством и кормом для более высокоразвитых существ…

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


пятница, 24 февраля 2012 г.

Гуманитарные и технические науки

В каждой естественной науке заключено столько истины, сколько в ней математики.

(И. Кант)

Всё, что нельзя выразить в цифрах — это не наука, это — мнение.

(Роберт Хайнлайн)

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

Необходимое условие точных наук

Оно же — необходимое условие для технических наук, для математики и для работы технического мышления.

Все технические науки (а некоторые говорят, что это якобы вся наука) опираются на теорию первого порядка. То есть, все, что работает с точными символами, формулами и значками, может быть описано логикой первого порядка. Здесь о теории первого порядка можно не задумываться, а основной смысл в том, что все технические науки имеют одно логическое (математическое) основание. Отличаются теории только набором аксиом. Ну и набором инструментов, чтобы часто встречаемые логические конструкции записывать покороче.

Ключевое здесь то, что любая техническая теория работает только тогда, когда имеется набор железобетонных утверждений. То есть, аксиом, которые выполняются всегда. Например, только если свет распространяется по прямой, то только тогда мы получим геометрию Евклида. Только если числа 1,2,3,4,… упорядочены друг за другом — получим арифметику. Аксиомой может быть постулат или закон (непреодолимость скорости света, закон Ома, …), т.е. что-то, обладающее свойством железобетонности.

Если таких аксиом нет, то нет никакой технической науки. Нет ни математики, ни матмоделей, ни формул, ни цифр, … Но, тем не менее, есть науки, которые не содержат в себе аксиом. Например лингвистика (смысл слова в которой у каждого человека может отличаться от другого и меняться с течением времени; все, что касается правил — работает с исключениями, поправками, натяжками и «авторским стилем»). Кроме того, есть науки, в которых часть изучаемой области аксиоматике не поддается. Например в биологии молекула ДНК это не постоянный носитель информации, а такой носитель, который может в любой момент изменится, быть исправленным другим носителем, стать активным устройством и др..

Постоянный процесс формализации в технических науках

Изначально если брать какую либо предметную область, на сейчас покрытую технической наукой, то в ней не было аксиом. Была предметная область, в которой было все непонятно. Звезды непонятно двигались по небу, тела непонятно как взаимодействовали в природе, свет и тепло непонятно как распространялись и пр.. С течением времени начали замечать, что есть что-то, что повторяется. Есть какие-то свойства, которые закономерны. То есть, в непонятной области выполнялась процедура классификации: выбирались некоторые классы явлений, для которых описывались закономерные свойства. Свет распространялся по прямой, тепло передавалось от горячего к холодному, тела чаще падали на землю, нежели оставались в воздухе и т.д..

Таким образом, в предметной области выделялись аксиомы, на основании которых можно было делать выводы о будущем. С течением времени количество аксиом росло, плюс для каждой из них появлялись граничные условия (когда они выполнялись). Непонятная область становилась все более понятной, и этот процесс (формализации) идет до сих пор. Задачей же технических наук является поиск наиболее эффективных в применении аксиом и установки их границ применения.

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

Отсутствие аксиом

Что же делать, если аксиом нет? Неужели тут наук нет?

Этим делом как раз таки занимаются гуманитарные науки (в данном контексте).

Такое может произойти в случае, если предметная область малоизучена. Или например она настолько быстро меняется, что нельзя успеть установить аксиомы.

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

Даже если выбрать какой-то более оптимальный вариант (возможно привлекая некие технические инструменты), то далеко не всякая система поддастся изменению. Например когда-то пытались все привести к десятичной системе (например время), но это сделать не удалось (так и пользуемся 24 часа, 60 минут и секунд). Мер счисления несмотря на СИ до сих пор много в мире. Таким образом, если уже что-то возникло, и люди к этому привыкли, то изменить это очень сложно. Фактически получается, что больше предыдущий опыт управляет нами, нежели мы оптимизируем его, используя стандарты.

Гуманитарные задачи

Гуманитарными задачами являются: быстрое определение закономерностей; классификация неизвестной предметной области; сопровождение созданных больших систем; создание таких методик и систем, которые способны изменятся под новые факты. Здесь нет аксиом. Здесь все в любое время может изменится. Может появится что-то новое, а что-то уйти в небытие. Система обязана быть полной (описать нужно все, если что потребуется; а если не получается, то ввести новое понятие), но не обязана быть непротиворечивой (одна и та же фраза может быть понята по-разному, но если надо, то можно уточнить; в математике не может быть противоречивых утверждений, иначе она перестает работать на них).

Если мы организуем работу нашего рабочего места — то это гуманитарная проблема. Тут нет по большому счету аксиом. Стул может сломаться. В любое время может появится новая вещь, которую нужно куда-то положить. Вещи нужно быстро находить при необходимости. Постоянно формировать новые привычки и забывать те, которые вышли из употребления.

Инженерная деятельность

Существует мнение, что для инженерной деятельности (и программирования в том числе) важны технические навыки и мышление. Есть другое мнение, которое говорит о том, что гуманитарная подготовка более важна. Как всегда — истина где-то рядом.

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

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

Но. Как только мы определяем утвержденные истины (данные там-то не пропадут; питание не пропадет в течение 10 минут после сигнала тревоги; если записано x=1, то после операции x будет равен 1; на диске есть свободное место в несколько килобайт всегда, …), и начинаем делать выводы от них, то мы решаем задачу технически (математически). У нас есть аксиомы, на основании которых можно делать выводы и писать надежные программы. Или создавать на их основе аппаратные или механические комплексы.

Создание языка (в т.ч. для программирования) — также по большей части гуманитарная задача. Нам нужно вводить новые термины, прибивать старые ненужные структуры, поддерживать нововведения, общаться с пользователями и пр..


среда, 30 ноября 2011 г.

Скачкообразная эволюция и двигатель прогресса

Мнение

Несколько раз в сети наблюдал картину и мнение того, что якобы войны и катастрофы являются двигателем прогресса. В классическом варианте такая позиция звучит так: «войны как правило серьезный стимулятор прогресса», или как «наибольшие скачки в технологиях происходят во время войн, когда приходится в условиях жуткого цейтнота и невообразимого стресса находятся решения сложных проблем».

Основание может быть и другим. Например, для ускорения эволюции нужно чтобы произошло массовое вымирание видов. Тогда господствующие виды потеряют доминирование, а более сильные виды разовьются. Или таким: для решения проблемы человека надо поместить в экстремальную ситуацию выживания. Тогда он найдет решение задачи очень быстро.

Отсюда почему-то делаются выводы: «война — несчастье, но для человечества в целом — уроки, технологии, опыт и выживаемость», «для ускорения эволюции нужно чаще делать катастрофы, и чем больше, тем лучше», …

Другое мнение

У меня по этому поводу другое мнение. Но не люблю мнений без обоснований или хотя бы утверждений в пользу.

Оно приблизительно таково: «Эволюция/совершенствование/обучение/развитие происходят в мирное время постоянно (при наличии стимула и вектора развития), практически линейно. В катастрофное время накопленные знания/способности/технологии резко активизируются для использования. И только.»

В пользу такой позиции говорят как рассмотрение прямых фактов накоплений и взрывов, так и результаты аналогичных исследований.

Рассмотрение фактов

Первое — это например если рассмотреть 2-ю мировую, в которой «появились» ракеты, компьютеры, самолеты, ядерное оружие, …, то тут можно заметить, например что ракеты были давно, а сама теория ракетной техники развивалась последовательно серией итераций (первые ракеты в Древнем Китае, теория ракетной техники Циолковского, фон Брауна и др. до войны). Для ядерного оружия было много-много шагов — начиная от открытия радиоактивности Кюри и Бекерреля (1896) (история подробно и интересно смотрится в фильме "Братство бомбы"). Компьютер как прообраз был придуман Бэббиджем ещё в 1833-м году.

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

Исследования

В качестве второго рассмотрим два исследования на тему эволюции.

Скрытая изменчивость помогает приспосабливаться к новым условиям

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

Эволюционная революция, или Новое объяснение загадки кембрийского взрыва

Здесь рассматривается Кембрийский Взрыв (для понимания небиологам и вообще рекомендую недавно вышедший фильм "BBC — David Attenborough — First Life" про первую многоклеточную жизнь и Кембрийский врзыв) — оч интересно и популярно смотрится.

Сейчас исследователи приходят к выводу, что одной из основных причин взрыва разнообразия в Кембрии является накопленное генетическое и биологическое разнообразие (мирное время). И при этом появление универсального хищника послужило катализатором (военное время) для взрыва.

Update 14.02.2012: третье исследование: массовые вымирания тормозят эволюцию.

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

Резюме

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

Легкие и простые решения быстро появляются и захватывают свою нишу. Но более сильные, но отточенные решения могут долго развиваться в каком-то конечном пространстве, чтобы потом выстрелить.


пятница, 29 апреля 2011 г.

Философско-гуманитарный стиль изложения

После знакомства с книгой «Конец человеческой исключительности» (уже есть в сети в e-виде) сложилось общее впечатление от философско-гуманитарного стиля изложения. Может у него есть другое название, но сейчас видится именно так.

Книга конечно умная и по-своему стоящая, но… полезную информацию приходится выдирать клещами, а потом ещё и преобразовывать в удобоваримую форму.

Пример текста из глосаррия:

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

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

Прежде всего текст представляет собой поток сознания. Это не системное изложение, не логически и иерархически построенная структура представления материала, а именно поток ассоциаций, которые возникли у автора при произношении слова «Гносеоцентризм». Да, это естественный и приятный способ работы мозга, когда идет перепрыгивание по возникающим ассоциациям («рыбка значит щука, если щука значит с зубами, если с зубами значит собака…»). Такой способ изложения хорош для кухонного разговора, характерен для общения на большинстве форумов, но зачем его напрямую изливать в работе?? Это же потом люди читать будут. Почему так трудно о них подумать? Они же хотят получить какую-то полезную информацию, а не набор как-то связанных по аналогиям друг с другом слов.

Кстати о людях. Если читатель заходит в глоссарий, то что он желает увидеть? Определение, исключительные случаи, контекст и примеры использования, связанные с ним понятия и т.д.. Но никак не поток мыслей от автора.


пятница, 1 октября 2010 г.

Лекция Анохина — Коды мозга

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

Если кто-то её не видел, то очень всем советую.