Пользователь
0,0
рейтинг
26 июля 2012 в 22:01

Разработка → Ограничение проектирования систем на уровне сознания из песочницы

Я рад приветствовать вас, дорогие читатели.

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

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

Несколько слов для аудитории

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

Занимательный эффект


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

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

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

Однажды я прочитал знаменитую статью Алана Тьюринга «Могут ли машины мыслить?» и столкнулся с утверждением, которое в очередной раз заставило меня подумать над всплесками активности моего сознания:

«Можно сказать, что человек «вставляет» в машину ту или иную идею, и машина, прореагировав на нее некоторым образом, возвращается затем к состоянию покоя, подобно фортепианной струне, по которой ударил молоточек. Другое сравнение: атомный реактор, размеры которого не превышают критических. Идея, вводимая человеком в машину, соответствует здесь нейтрону, влетающему в реактор извне. Каждый такой нейтрон вызывает некоторое возмущение, которое в конце концов замирает. Но если величина реактора превосходит критические размеры, то весьма вероятно, что возмущение, вызванное влетевшим нейтроном, будет нарастать и приведет в конце концов к разрушению реактора. Имеют ли место аналогичные явления в случае человеческого разума и существует ли нечто подобное в случае машин? В первом случае, кажется, следует дать утвердительный ответ. Большинство умов, по-видимому, являются «подкритическими», т.е. соответствуют, если пользоваться приведенным выше сравнением, подкритическим размерам атомного реактора. Идея, ставшая достоянием такого ума, в среднем порождает менее одной идеи в ответ. Несравненно меньшую часть умов составляют умы надкритические. Идея, ставшая достоянием такого ума, может породить целую «теорию», состоящую из вторичных, третичных и еще более отдаленных идей.» (Алан Тьюринг «Могут ли машины мыслить?», VII. Обучающиеся машины)

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

От занимательного эффекта к серьезному изучению


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

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

Иногда у меня возникали странные философские мысли, что тело является тонким клиентом, а все вычисления происходят где-то «в облаке», и мы можем лишь желать, инициировав «поисковый запрос» системе. Ведь по большому счету так оно и было, эмпирически я не мог осознанно найти путь между задачей и ее решением, так как мои попытки решений были локальными и не имели масштабного значения. Иными словами, проектируя отношения в базе между несколькими таблицами, невозможно осознать, какой должна быть структура в целом. Но парадокс существовал и не давал мне покоя, я часто подолгу сидел ночами, выискивая материалы по теме, я хотел разобраться в чем причина. «Может быть я схожу с ума?», — это тоже была одна из рабочих версий =).

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

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

Эксперименты и основные выводы


На основе ряда экспериментов я сделал следующие выводы:

1. Сознание = функциональная логика

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

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

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

2. Разрушение образа

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

3. Восстановление образа

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

4. Ограничение объемов «кеш-памяти»

Размер области сверхоперативной памяти сильно ограничен. Чтобы проверить ограничения собственного «кеша» можно провести простой эксперимент:

Представьте себе маленький шарик, для вас очевидно, что он один. Затем последовательно представляйте хаотично разбросанные (не образующие группы) шарики, не считая их количество, а четко понимая сколько их, например: два, затем три, четыре, пять… до тех пор, пока вы не осознаете, что не можете удержать это количество в воображении и не можете сказать сколько их, опеределяя их количество как «много». Это и есть предел. Бо́льшим количеством элементов сознание не может оперировать, переходя на уровни абстракции.

4.1. Простые следствия ограничения

Чем меньше объектов, тем проще восприятие (ниже порог вхождения).

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

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

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

5. Переход к абстракциям

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

На нашей планете порядка 7 000 000 000 отдельных личностей, но мы воспринимаем их как «человечество».

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

Это означает, что существует физический предел сложности проектирования систем, имеющий в основе ограничение на уровне сознания разработчика.


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

6. Временное увеличение «кеш-памяти»

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

Логическое мышление является механизмом входа в состояние транса. Когда мы многократно обдумываем пути решения, повторяя цепочки причинно-следственных связей в нашем воображении, то мы невольно являемся инициаторами своего рода полиморфизма в механизме ядра и сферхоперативной памяти. Для нашего «Я» такая подмена заметна лишь по косвенным признакам (например, замечая, что работа идет на ура).

Наверняка где-нибудь видели (например, в документальных фильмах), как шаманы произносят повторяющиеся фразы нараспев погружаясь в транс… Наверняка встречали информацию по погружению в гипнотическое состояние… А не тоже самое ли мы делаем, когда в состоянии концентрации раздумываем над алгоритмом, постоянно прокручивая аналогичные логические цепочки в воображении, а затем часто, сменив контекст (вид деятельности) мы в изумлении начинаем «видеть»?

Не зря фраза звучит именно так: «У меня возникла / появилась (мгновенно) идея!», вместо «я долго работал и собрал идею из мыслей».

7. Уровни хранения интерпретируемой информации

Общая схема уровней работы сознания по увеличению латентности доступа:
— Ядро («Я вообразил!»)
— Сверхоперативная память («Я представляю и вижу образ неизменным»)
— Обычная память («Секунду, сейчас вспомню… Да, точно, вспомнил!»)
— Внешняя память («Подождите, не так быстро. Я запишу.»)

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

8. Связи тоже объекты

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

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

9. Переосмысление старых принципов

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

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

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

P.S.

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

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

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

И напоследок: весь смысл в том, что мы можем искать смысл ;)
@Exilibris
карма
42,5
рейтинг 0,0
Пользователь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (95)

  • +4
    Отличная статья, спасибо. Пытаюсь поместить ее в оперативную память, но хватило только на шарики =)
  • –1
    Олег, выдыхай
  • +1
    Тот же Миллер, только длинно (но интересно) :)
  • 0
    Помнится на лекциях по нейронным сетям, преподаватель что-то рассказывал про «предел осознанности мозга» или что-то в этом роде. Или это было «число слоёв абстракции которыми физически способен оперировать мозг». Помню число было то ли 5, то ли 7… Даж интересно стало сейчас поискать.
    Один из выводов — есть вещи, которые мозгу не понять в принципе, исходя из физических ограничений.
  • 0
    Отличную статья!
    Действительно слишком часто меня посещают аналогичные мысли, правда никогда не задумывался писать об этом…
    Но написанный текст хорошо структурирует мышление. Обязательно перечитаю на свежую голову, будет над чем поразмыслить.
  • +1
    Интересно, как интроспекция привела вас к открытию одной из известных в лингвистике истин: при составлении предложений человек не может оперировать более чем семью понятиями, плюс-минус два :) но вот выводы вы сделали заставляющие задуматься.
  • +14
    И как раз хорошо ложится в тематику статьи. Все пункты конечно сам не осилил. Но насчет некоторых на личном опыте могу сказать, что действительно полезно. Особенно для увеличения «объема «кеш-памяти»».

    60 простых советов для улучшения работы мозга:
    1. Решайте загадки и головоломки.
    2. Развивайте амбидекстрию. Используйте свою неведущую руку, чтобы чистить зубы, расчесываться или использовать мышь, сидя за компьютером. Пробуйте писать обеими руками одновременно. Поменяйте местами нож и вилку, когда пользуетесь ими.
    3. Обращайте внимание на неопределенность и двусмысленность. Научитесь любить парадоксы и оптические иллюзии.
    4. Заблокируйте на время одно или несколько чувств. Ешьте с завязанными глазами, заткните уши во время выполнения обычных дел, примите душ с закрытыми глазами.
    5. Находите связь между несвязанными на первый взгляд темами.
    6. Научитесь использовать различные раскладки клавиатуры.
    7. Находите новые способы использования обычных предметов. Например, сколько разных способов применения обычного гвоздя вы сможете придумать?
    8. Опровергайте свои предположения.
    9. Развивайте творческое мышление.
    10. Всегда выходите за рамки первого «правильного» ответа, приходящего на ум.
    11. Транспонируйте реальность. Всегда спрашивайте себя: «А что если?..»
    12. Переверните картинку на рабочем столе компьютера вверх ногами.
    13. Учитесь логике. Решайте логические задачи.
    14. Хорошо ознакомьтесь с каким-нибудь научным методом.
    15. Рисуйте. Что угодно. Вам не нужно быть художником для этого.
    16. Научитесь жонглировать.
    17. Занимайтесь спортом.
    18. Соблюдайте осанку.
    19. Пейте много воды.
    20. Пользуйтесь палочками для еды.
    21. Дышите глубоко.
    22. Слушайте классическую музыку.
    23. Избавьтесь от прокрастинации.
    24. Смените стиль одежды. Ходите босиком.
    25. Упростите свою жизнь.
    26. Играйте в шахматы или другие настольные игры.
    27. Развивайте чувство юмора. Придумывайте свои шутки.
    28. Развивайте наблюдательность. Например, обращайте внимание на красный цвет в течение дня или находите автомобили определенной марки в общем потоке. Придумайте тему и сосредоточьтесь на ней.
    29. Ведите дневник.
    30. Учите иностранный язык.
    31. Ужинайте в разных кафе и ресторанах. Отдавайте предпочтение этническим местам.
    32. Учитесь программировать на компьютере.
    33. Произносите длинные слова наоборот.
    34. Смените окружающую среду. Измените расположение мебели дома.
    35. Пишите. Напишите рассказ, стихотворение или заведите блог.
    36. Учите язык жестов.
    37. Учитесь играть на музыкальном инструменте.
    38. Учитесь скорочтению.
    39. Пробуйте мысленно оценивать течение времени.
    40. Выполняйте арифметические расчеты в уме.
    41. Запоминайте имена людей.
    42. Медитируйте.
    43. Не смотрите телевизор.
    44. Меняйте скорость выполнения привычных дел. Попробуйте делать что-нибудь очень медленно или очень быстро.
    45. Занимайтесь только одним делом одновременно.
    46. Избегайте когнитивных предубеждений.
    47. Поставьте себя на чужое место. Представьте, как другие люди решали бы ваши проблемы.
    48. Найдите время для уединения и отдыха.
    49. Примите обязательство постоянно учиться чему-то новому.
    50. Совершите путешествие за границу. Узнайте о различных стилях жизни.
    51. Знакомьтесь с работами признанных гениев.
    52. Общайтесь с теми, кто вам близок по интересам.
    53. Конкурируйте с кем-нибудь.
    54. Не окружайте себя одними единомышленниками. Выслушивайте людей, которые не согласны с вами.
    55. Устраивайте мозговой штурм.
    56. Коллекционируйте умные цитаты.
    57. Читайте классику.
    58. Развивайте самосознание.
    59. Говорите вслух о своих проблемах.
    60. Опишите какой-нибудь случай из своей жизни в мельчайших подробностях.
    • +7
      Этот комментарий, как пост в какой-нибудь группе вконтакте :)
    • +1
      60 это слишком много для одновременного осознания. Давайте не больше 7
      • 0
        Ну значит пусть каждый выберет себе 7 наиболее понравившихся)
        Программистам обязателен: «Избавьтесь от прокрастинации» )
        • +1
          Чтобы выбрать 7, надо положить в «оперативку» 60, а оно не помещается.
          • 0
            Тогда берите первые семь, логично же
            • 0
              1. Решайте загадки и головоломки.
              2. Развивайте амбидекстрию. Используйте свою неведущую руку, чтобы чистить зубы, расчесываться или использовать мышь, сидя за компьютером. Пробуйте писать обеими руками одновременно. Поменяйте местами нож и вилку, когда пользуетесь ими.
              3. Обращайте внимание на неопределенность и двусмысленность. Научитесь любить парадоксы и оптические иллюзии.
              4. Заблокируйте на время одно или несколько чувств. Ешьте с завязанными глазами, заткните уши во время выполнения обычных дел, примите душ с закрытыми глазами.
              5. Находите связь между несвязанными на первый взгляд темами.
              6. Научитесь использовать различные раскладки клавиатуры.
              7. Находите новые способы использования обычных предметов. Например, сколько разных способов применения обычного гвоздя вы сможете придумать?

              Я вижу здесь парня, с завязаными глазами кушающего кашу посредством обычного гвоздя за компом, и одновременно рисущего левой рукой в фотошопе оптическую иллюзию. Кстати, раскзадка клавиатуры у него — дворак.
      • 0
        как раз примерно по одному совету в неделю. на год хватит, а потом можно начать с начала.
        • 0
          Там некоторые можно выполнять в постоянном режиме. Например, «Не смотрите телевизор».
  • +2
    "Избавьтесь от прокрастинации" :(
    • +1
      Как говорится, легко сказать.
  • +7
    У меня был интересный опыт (временного) увеличения объёма этого самого кеша с помощью игры Dual N-Back (конкретно, вот этой). После 20 игр при N=4, мозг субъективно как трактор перемалывал задачи, казавшиеся не решаемыми ранее. Сама структура игры очень хорошо ложится в ту модель, которую вы описали в статье.
    • –1
      Что-то непонятная штука. Можно про неё поподробнее?
      • 0
        Перевод краткой обучалки можно найти вот здесь. Общий смысл — нужно в памяти хранить и оперировать N простыми объектами (х2 если Dual), которые достаточно быстро меняются. Сначала ты начинаешь с N=1, если свободно получается, переходишь к N=2 и так далее. Таким образом, можно всегда тренироваться на грани своих возможностей и расширять их, продвигаясь за пресловутые 7+-2 объекта.
  • +1
    Вот еще пара мыслей на эту тему. Что бы разрешить какую-то задачку, мы должны выстроить картинку в голове. Беда в том, что на начальном этапе мы не знаем что важно, а что не очень, просто вникаем во все подряд. Пытаться разрешить проблему на этом этапе сложно, так как картинка замыленная из-за лишней детализации. Нам нужно сбросить нашу кратковременную память и построить модельку заново, но уже с учетом опыта построения предыдущего экземпляра, взятого из долговременной памяти. Тут важно использовать свой опыт осторожно, не хватая не важных деталей. Посему есть 2 вопроса:

    1) Как сбросить память? Можно отвлечся на какую-то тему, но она может тоже заполнить всю краткосрочную память. Вообще сложно ни о чем не думать: «не думай о белом медведе» — классика.
    2) Каким подходом пользоваться при построении модели, что бы опять не засорить ее лишними деталями? Понятно, что нужно идти сверху вниз, подмешивая деталей, пока задача не станет разрешимой. Если опять загрузили всю модель, а решения нет, то нужно все повторить заново, используя еще более новый опыт.
    • +3
      Очень интересное замечание.

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

      Сменить образ в сознании просто, но вы попробуйте осознанно забыть то, что ярко помните. Я не знаю, реально ли это в принципе, поэтому склоняюсь к тому, что оперировать сознание может любыми образами, выгружая неактуальные в «своп» (в обычную память).

      2) Я попробую передать мысль в виде метафоры для наглядности:

      Допустим, область сверхоперативной памяти вмещает не ~7 элементов, а 1024 х 768, и вы представляете себе нашу планету попиксельно. Ее образ полностью умещается в вашем сознании в рамках вышеуказанного разрешения «экрана». Но такого разрешения недостаточно, чтобы лицезреть автомобиль на трассе в одном из городов, т.к. на каждый пиксель приходится сразу несколько километров. Иными словами, каждый пиксель в исходном образе — абстракция над теми объектами, из которых он состоит.

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

      — Сколько пикселей занял искомый образ?
      — 1024 х 768

      — А сколько пикселей занимал каждый из промежуточных этапов «зуммирования» от всей планеты до авто?
      — Все те же 1024 х 768

      — Тогда почему я не мог сразу увидеть авто на первичном образе всей планеты?
      — Не позволяла разрешающая способность

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

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

      Задача же обратная куда сложнее:

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

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

      1. Мы берем исходную точку (неважно о чем речь, будь это система или действительно местность, от фантиков вкус конфеты не меняется).

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

      3. Мы рекурсивно повторяем второй шаг до тех пор, пока мы не сможем абстрагировать совокупность объектов на новый еще более абстрактный уровень.

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

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

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

        Я считаю, что до тех пор, пока мы не возвысимся достаточно над конкретикой, не имеет смысла говорить о том, что мы понимаем что-либо. Мы можем отлично разбираться в некоторых модулях системы, но совершенно не иметь представления о том, где могут быть «бутылочные горлышки». И все остальные выводы отсюда следющие.
      • 0
        Я с вами согласен, только вы скорее описали нормальный процесс мышления. Изначальный вопрос: почему иногда мы можем быстро на интуитивном уровне все это проделать, а в основном не особо продуктивно тужимся в поисках решения. То, что вы описали, это метод в лоб. Как читерить :)
        • 0
          Да верно. А вот почему мы иногда можем «интуитивно» найти решение. Я считаю, что иногда мы «поднимаемся над местностью на определенную высоту» и сразу видим местность, без необходимости рисовать карту.

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

          Однозначно могу сказать лишь следующее:

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

          2. Мы должны думать, и думать много, и вовсе не обязательно в этом процессе найти искомое решение, главное размышлениями «входить в определенное состояние». Оно придет само.

          3. Я не определился, что это — «поисковый запрос» и задержка перед получением ответа (о чем я написал в статье) или же наша логика погружается за область нашего сознания, становится «фоновым процессом», при котором мы реально не думаем, но наш мозг все еще занят решением задачи, исходя из необходимых и достаточных сведений. (Прочтите пример с комаром, в одном из моих комментариев. Он хорошо демонстрирует в определенной степени автономность сознания).
          • 0
            О процессе мышления и решения задач писал Роджер Пенроуз в книге «новый ум короля». Глава 10, часть «вдохновение, озарение, оригинальность». Там он очень интересно увязал это с квантовой теорией.
            • 0
              Интересно. Обязательно почитаю на досуге.
    • –1
      1) игра на барабанах, другие люди упоминают гитары и т.п.

      P.S. взято из моей статьи Повышаем производительность программирования

      2) в какой-то степени мне помогает построение аналогий изучаемой системы с другими вещами, каждый раз новыми. Но серьезно об этом не задумывался.
    • +1
      сбрасывайте с помощью бумаги и ручки. Вы закрепите данные в голове, когда будете записывать, т.к. будете видеть их своими же глазами. Т.е. понятия уже существующие в голове будут дополнительно закреплены зрительно. А после этого вы взглянув на картинку, а это все-таки новый объект для сознания, пусть и похожий, вы автоматически переключитесь него
  • 0
    Но как только я усложнял схему, она начинала терять детализацию, становилась запутанной, неясной

    Я полагаю, это из за того, что линейное увеличение числа компонент системы дает экспоненциальное увеличение связей.
    • 0
      В зависимости от конфигурации связей, ведь не все системы строятся по принципу отношения «один-ко-всем». В данном случае, я имел в виду тот факт, что увеличение числа компонент системы и связей в принципе просто переставали умещаться в области «кеш-памяти».
  • +1
    Хочу искренне поблагодарить всех, кому понравилась статья, за положительные отзывы!
  • 0
    Статья понравилась, «добавка» про «спагети» разочаровала.
    > Это просто говорит о том, что количество функциональных элементов и взаимосвязи между ними не умещаются в области сверхоперативной памяти вашего сознания

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

    С этим тоже не согласен:

    >В любой воображаемой вами схеме количество абстрактных сущностей будет стремится к пределу объема сверхоперативной памяти.

    Это верхний предел, логичнее же стремиться к нижниму: Чем проще абстракция (решение) — тем лучше (приминительно к ПО, с поправкой на простоту последующих изменений)

    Что соб-но сами и подтверждаете:

    >На нашей планете порядка 7 000 000 000 отдельных личностей, но мы воспринимаем их как «человечество».

    Один элемент, вовсе не ~7.
  • 0
    >В любой воображаемой вами схеме количество абстрактных сущностей будет стремится к пределу объема сверхоперативной памяти.

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

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

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

    Все равно, спасибо, что подметили. Я постараюсь более конкретно выражать мысли, чтобы не возникало двусмысленности.
    • 0
      P.S. Кстати поправлю, потому что действительно двусмысленно получилось о стремлении к пределу.
    • 0
      > Соглашусь, но не всегда все стремятся писать код для кого-то.

      Давно перечитывали свой код? :) Комфортное чтение спагети кода проходит через 2-4 недели.
      • 0
        Для себя любимого стараюсь писать как можно проще, отчасти не только и даже не столько потому, что так удобнее вникать в свои же разработки, а от того, что в минимализме я вижу красоту =)
        • 0
          Кстати, минимализм достигается наиболее эффективно через абстрагирование.
          • 0
            Увы, но это не всегда верно. Вы забыли, что бывает чрезмерное абстрагирование. Как возможное следствие того, что проектировщик уже не «обозревал» всю систему в целом.
  • 0
    Мысли интересные, но я не совсем согласен.
    Т.е. по мне всплески эффективности появляются когда мозг привык к поступающей информации, после чего поступление информации заканчивается и начинается подсознательная работа мозга.
    Что я хочу сказать — нашему мозгу нужно привыкнуть к информации которая в него поступает, так сказать вместить, после чего начинается последовательная ее обработка. К примеру когда вы разучиваете нотную партию для инструмента, действительно обычно процесс происходит довольно медленно. Но потом когда мозг и пальцы привыкают к этой информации ( специфике партии ) происходит адаптация и следующая часть партии учится на одном дыхании. Так и тут есть некоторая задача, сначала мы вникаем в предметную область, специфику, особенности, после чего оставляем мозг в покое, через некоторое время возвращаемся и уже совершенно на другом уровне мыслим над данной задачей.
    • +1
      > начинается подсознательная работа мозга

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

      У меня были некоторые мысли по этому поводу, схема выглядела примерно так:

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

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

      3. Через время, необходимое и достаточное для очевидности решения мы его получаем в виде мыслеобраза.

      Но я отказался от такой идеи. Я не разделю сознание, подсознание и сверхсознание, т.к. это лишь интерпретация / модель. Я не ощущаю подсознание, я ничего о нем не знаю — это моя попытка абстрагироваться от того, что я не понимаю. И мне кажется эта попытка является допущением и логической ошибкой.
      • 0
        извините, *не разделяю
      • 0
        т.е. вы пока не нашли альтернативной гипотезы поведения мозга при решении новой задачи?
        • +1
          У меня довольно сложное мировоззрение и я бы не связывал напрямую сознание с работой мозга, так как мы интерпретируем работу мозга и связываем ее с сознанием через досадное допущение. Например, вы видите зеленый цвет, вы прекрасно можете понимать то, каким образом на физическом уровне он сформирован, вы можете изучить всю совокупность электро-химических реакций в нервных волокнах, но, задумайтесь, знание процесса не объясняет чувство — вы все равно видите зеленый цвет, без моделирования процесса. В данном случае, объяснение процесса — абстрагирование от нативного ощущения.

          У меня есть гипотеза, несколько более обширная и выходящая за рамки как ресурса, так и объема комментария, она сложная, но если вам действительно интересно, я с удовольствием напишу статью на эту тему, даже если вы будете единственным читателем этого труда.
          • +1
            Обязательно пишите, читатели будут.
          • 0
            Очень интересно, и думаю я буду не один, кто прочтет.
          • 0
            Жаль, что статьи до сих пор нет
            • +3
              Много работы, в скором времени напишу. Спасибо, что до сих пор эта тема привлекает ваше внимание и вы заинтересованы в статье! Сильно мотивирует.
  • 0
    А действительно ли мозг хранит сущности-объекты и (одновременно) сущности-связимеждуэтимиобъектами? :)
    Имхо мозг не хранит и не оперирует с отдельными объектами, а только со связями. И полный набор связей конкретной сущности и представляется сознанию целостным объектом :)
    • 0
      habrahabr.ru/post/64475/#comment_1795529
      > Информация в мозге не хранится в растровом виде, а в виде ассоциаций, связывающих образы. Если копать глубже, то можно докопаться, что образа вообще нет, есть только ассоциации. Цельное восприятие некоего подмножества ассоциаций порождает образ. Образ это миг между переходом от одного активного подмножества ассоциаций к другому.
  • +1
    Оперировать объектами и связями сложно и довольно мучительно. Поэтому я стараюсь их заменять неким объединяющим законом, основанным на непротиворечивых атрибутах объектов, — этот закон проще запомнить. Проблемы проектирования возникают тогда, когда между объектами возникает большая [непредвиденная] [логическая] дистанция, требующая создания дополнительных интерфейсов обмена данными, которых тоже слишком много, которые…

    Когда-то я хорошо усвоил чье-то высказывание «данные определяют код». Хорошо спроектированная система удовлетворяет критериям вынужденности, конструктивности и достаточности. Данные относятся к вынужденным условиям — ведь куда мы без них? И при этом мы уже знаем то, что хотим получить — это и есть потолок: достаточность. Однако проявленная конструктивность часто бьет с недолетом, или перелетом — выбраны не те начальные атрибуты, которые по нашему «закону» бьют не в десяточку. Приходится или менять закон образования абстракции, или часть данных, или, кхм, исходное конечное условие, к которому мы и стремились, типа: «ну да ладно, тут можно написать еще одну функцию, которая на основе этих данных сделает то, что нам надо», или «ок, получилось чуть больше, чем надо — выберем из этого подмножество и конец празднику».

    К чему это я все пишу. Новички часто используют последний вариант, либо потому что ставят не те цели, либо потому что выбирают не те данные, либо потому что «криво стреляют». И так получается спагетти-код. Или энтропийный код. Ведь лишняя функция — лишние данные, лишний объект. Лишняя выборка из подмножества — это тоже своего рода объект.

    И «искусство управления сложностью» выхолащивается в простое правило: принцип неувеличения энтропии.

    То есть основная проблема в том, что внимание объективно. Можно или увеличивать количество воспринимаемых объектов, или… «Чтобы заработать, нужно работать, чтобы разбогатеть, нужно придумать что-то другое».
    • 0
      А что, если данные и есть код?
      • 0
        Все в некотором смысле данные. Даже граница, разделяющая данные и код представима в виде данных, оттого оно и работает. Если данные отвечают на вопрос «как», то это код, если на вопрос «что» — данные.
        • 0
          Я это прекрасно понимаю. Пример с выборкой данных и их обработкой (допустим, скрипт и БД) — это очень контрастный и хороший пример, подчеркивающий справедливость ваших рассуждений. И я с ними полностью соглашусь, но хочу воспользоваться советом из списка, предоставленного, уважаемым AR1ES:

          Воспользуемся правилом № 11: Транспонируйте реальность. Всегда спрашивайте себя: «А что если?..»

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

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

          Если предположить, что программа и наборы данных не статичны, а динамически меняются во времени, что мы можем сказать об алгоритмах и принципах, справедливы ли будут наши суждения, которые мы применяем сейчас для описания простой выборки данных из базы? И стоит ли развиваться от процедур и модулей в направлении самодостаточных агентов?
          • 0
            Я не совсем понимаю к чему вы ведете в последнем абзаце. Попутно я слегка поболтаю :)

            >> Если мое сознание в некотором роде программа, обладающая рефлексией, хороша ли она изначально?
            Если:
            — Я был рожден без памяти
            только с примитивным ядром сознания

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

            >> стало быть мое сознание формируется полностью той информацией, которая поступает извне
            Тут стоит уточнить, что это верно, только если она поступает по принципу «pass through». Но это как-то нехорошо. Поэтому я знаю [помню] только то, что я понял && то, с чем я согласен. Т.е. в оригинальную фразу можно было дописать рефлексию, т.е. сознание у нормальных людей формируется не столько самой информацией, сколько их откликом на нее.

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

            Я как-то размышлял над тем, что я называю «логично». К примеру, мне очень лень получить диплом, который мирно меня ждет где-то в дебрях универа, потому что в обходном листе есть военная кафедра. Но у меня военный билет, а на в.кафедре я ни разу не был. Так зачем мне туда ехать? Это не логично. В этом нет никакой полезной нагрузки, т.е. это неэффективно. Эффективным называется решение с минимальными тратами энергии. Можно сделать вывод, что логичность тождественна эффективности. «Ненависть» к [энергетическим] потерям/бесполезности продиктована на уровне ощущений: никто не любит, когда усилия пропадают даром, это часто попросту больно.

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

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

            >> И стоит ли развиваться от процедур и модулей в направлении самодостаточных агентов?
            Если это упрощает жизнь, т.е. вписывается в вышеобозначенный принцип неувеличения энтропии, то стоит.

            P.S. Я не говорю что я с чем-то не согласен, я просто вышенаписанное вами привел к непротиворечивому для себя состоянию.
            • 0
              >> Я не совсем понимаю к чему вы ведете в последнем абзаце.

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

              — Но, благодаря чему? Люди из года в год совершают все новые трудовые подвиги?
              — Конечно, нет. Дело в развитии средств разработки. От бинарной логики на уровне вентилей до наборов микрокоманд, затем абстрагирование на уровне языка ассемблера, затем абстрагирование до более высоких уровней, в конечном счете, мне плевать как будет работать цикл, как формируется интерфейс, как происходит управление памятью и разделение процессорного времени, мне все равно как синхронизируется кэш между разными процессорами в моих серверах, ведь для этого есть низкоуровневые аппаратные и программные компоненты. Более того, некоторые вещи абсолютно скрыты в реализации, например, физическая адресация на носителях скрыта за слоем абстракции логической адресации контроллером…

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

              Если экстраполировать эту идею, то получается, что мы стремимся создать ИИ во всем, что нас окружает. Это постепенно становится очевидным.

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

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

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

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

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

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

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

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

                Да. Лично я уже и не помню, когда в последний раз обращался к низкоуровневому кодингу. Даже кое-какой драйвер для самокостыльной ФС написал на pyfuse (или fusepy).

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

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

                Стоит также заметить, что экономика, как самостоятельная единица, не осознается в целом за счет замкнутости [процессов] на себя с несчетным количеством взаимовлияний (объектов взаимосвязей). Поэтому подобная ее «самостоятельность» мне не по нраву.

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

                >> Весь мир вокруг нас живет собственной жизнью
                Я бы добавил «по собственной программе».

                >> Просто мало кто задумывается, пребывая игре, о том, что весь уровень свободы был изначально запрограммирован.
                М… Пока демон Лапласа гуляет на свободе, нам свободными не быть? :/
  • 0
    Кстати, закройте глаза и представьте себе летающего комара, как можно более реально.

    — Действительно ли вы полностью контролируете траекторию его полета?
    — Вы подумали над тем с какой частотой он машет крыльями?
    — Но он же машет крыльями? =)

    Получается, что в некоторой степени образ в вашем воображении существует автономно от вашей воли? Удивительно, не так ли ;)
    • 0
      >>Получается, что в некоторой степени образ в вашем воображении существует автономно от вашей воли

      Можно также вспомнить известный прикол «Не думайте о рыжей обезьяне».
  • 0
    Спасибо за статью! Язык, которым написан текст, очень порадовал.
    Да, это превосходный толчок в сторону размышлений, которые я поднимал не раз. Порой просто застываешь во время разговора с друзьями / близкими, достаешь ручку и листок бумаги, и начинаешь что-то чертить, писать, чтобы просто не упустить момент.

    Кстати говоря, тут можно рассматривать объем сверхоперативной памяти как один из критериев гениальности творческой личности, ведь чем она больше, тем более сложные, замысловатые и уникальные системы она способна породить. Ну и не исключено, что уж точно должен быть способ либо расширить свою сверхоперативную память, либо натренировать часто входить в «сверхпродуктивное» состояние.
    • +1
      На мой взгляд, гений будет отличаться от простого человека лишь незначительно увеличенным (постоянно) объемом сверхоперативной памяти.

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

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

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

          Я просто хочу понять пределы собственных возможностей. Мне интересно, смогу ли я создать нечто, зная уровень сложности этого нечто, хотя бы ориентировочно рассчитав количество компонент и максимальное количество связей и пределы собственного объема сверхоперативной памяти, не затрачивая на проект годы труда.
          • 0
            *при определенных ограничениях палитры
  • +1
    С большинством утверждений соглашусь на основании собственного опыта. Рекомендую также хотя бы попытаться отвязать мышление от тела — это даст немного больше свободы в умозаключениях. Если проще — не следует считать нейроны инструментом создания мыслей.
  • 0
    На самом деле все несколько не так. В процессе поиска возможны решений и их анализа мозг устает настолько, что устраняется от решения проблемы. Таким образом, из цепочки исключается блок анализа и информация поступает сразу в сознание и решение просто осознается. Очень правильное сравнение с шаманами и различными восточными техниками. Своими многократными повторениями мантр они добивались устранения мозга из цепочки восприятия.
    Ну а последняя фраза просто в точку. Автору респект!
  • 0
    Отдельное спасибо за стиль рисунков.
    • 0
      Рад, что вам понравились иллюстрации )
  • –1
    Прочитайте ТРИЗ Эта книжка вам откроет целый мир о котором вы сейчас сами интуитивно догадываетесь.
    • 0
      Ну а потом ещё и Щедровицкого с его мыследеятельностью ))
      • 0
        Только нет книжки Щедровицкого или учебника по мыследеятельности. В этом вся проблема. Вступай в их ряды, практикуйся и лет через десять слушателя посетит «дзен».
        • 0
          Просветление наступит у вас тогда, когда вы сами этого захотите. А не тогда, когда вас по плечу похлопают и скажут, что правильно говоришь.

          Я никуда не вступал, но трех книжек (ору, ору2 и биографии ГП) мне для начала хватило, проникся.
  • +3
    Насчет внезапного озарения я всегда был уверен, что дело в подсознательной обработке. Т.е. обдумывая задачу вы скормили её подсознанию. Фоновому процессу который решает задачу независимо от вашей воли. Потом, если подсознание таки осилило задачу, оно выталкивает решение наверх.

    Что касается сверхпродуктивной работы, я обычно это называю «быть в фокусе». Такое название я почерпнул из фантастической серии «Кенг Хо» Вернора Винджа. Там некие злодеи придумали вирус, который фокусирует человека на его профессиональной деятельности, блокирую все прочие интересы. Человек там превращался в суперпродуктивного работника, который даже прием пищи воспринимал с раздражением, т.к. это отвлекает от интересной работы.
  • +1
    Очень интересная статья, спасибо.
    Я молодости тоже достаточно глубоко погружался в вопросы работы своего ума, в последние годы только пользуюсь тем, что тогда наработал.
    Да, 7 — объектов — это примерный предел количества абстракций, которые можно держать в голове. Если это понимать и воплощать в практике, это очень сильно повлияет на код (ООП-шники — читайте Буча). Отсюда, наверное, так любимый и мной минимализм. Кстати, у меня на рабочем месте меньше 7 вещей, нет сумки и когда я передвигаюсь по городу, в карманах менее 7 объектов. Это как-то разгружает мышление. Видимо, ум иногда на мгновение переключается в режим контроля этого аспекта (а все ли вещи на месте, ничего не забыл взять с собой) — и легко справляется с задачей, не впадая в стресс. В программном коде это сплошь и рядом.
    Я, кстати, верю в подсознание, не согласен с тем, что подъём продуктивности — это просто временное расширение кеша. Период подъёма продуктивности — это период получения идей из подсознания, которые оно уже переварило и вытолкнуло к своей поверхности. Период тупления и формальной осады сознанием задачи, который предшествует периоду сверхпродуктивности — это рациональный анализ и загрузка задачи в иррациональное подсознание. Только подсознание может генерировать идеи, сознательно это делать невозможно (привет ТРИЗу) — алгоритмы получения идей слабы и генерируют только копии, некоторый класс идей, заложенный алгоритмом.
    Много лет назад я прочитал технику передачи сложных вопросов на обработку подсознанию, кратко: сначала осада, потом медитация, ещё раз всё обдумываем, представляем подсознание (например — будто мы в тёмной комнате, в которой есть дверь, за которой свет и огонь — там мощная машина, которая многим занята и может поработать с нашей задачей), мы отдаём туда весь груз нашей проблемы и мысленно просим решить), спим. С утра или днём — сверхпродуктивность. После анализа идей цикл можно повторить.
    А гениальность — это умение работать с подсознанием, в том числе умение грамотно загрузить информацией из сознания (гениальные люди могли непрерывно обдумывать, или специфично рассматривать и т.п.), а также умение применить результаты работы (гении записывают, подвисают во время прихода идей и убегают работать и т.п.).
    Ещё много можно писать, не люблю. :) Очень рад видеть здесь людей, находящихся на этой волне.
  • 0
    Скажу так, с точки зрения модели я полностью соглашусь с существованием подсознания.

    С точки зрения эмпирического опыта, я со 100% уверенностью говорю, что я понятия не имею, существует подсознание или нет.

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

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

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

    К сожалению, не могу кратко описать представление, но это уже второй раз подталкивает меня в написании еще одной статьи. Благодарю.
    • 0
      Замечу, что мы никак не определяли подсознание, кроме тех самых признаков как оно работает. Тут надо быть осторожнее, а то сразу найдутся опровергатели его наличия. Не будем указывать место где оно находится и материал, из которого оно состоит :).
      Мы просто можем ввести в нашу модель мира такой условный объект и описать его свойства. Практика и изучение умных/гениальных людей будет подтверждать его наличие, что яркий ум работает именно так.
      Вобщем, не соглашаться в этом смысле с существованием подсознания означает не соглашаться с тем, что ум работает именно так.
      • 0
        >> Мы просто можем ввести в нашу модель мира такой условный объект и описать его свойства

        Бесспорно. Это и есть процесс исследования, через построение моделей.

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

        — Позволит ли модель о подсознании получать сведения, которые априори не могут находиться в области подсознания?
        — Нет.
        — Почему?
        — Потому что их там нет.

        Но если мы ошиблись при моделировании, тогда мы сразу отсекли целый спектр путей исследования свойств сознания, заведомо ограничив себя, чего хотелось бы избежать с целью более полноценного понимания механизмов и практического использования возможностей.
        • 0
          Ну ок. Я не настаиваю, просто забываю везде писать, что имхо. Я противоречий своей модели работы ума просто не встречал. Она ещё немного сложнее чем просто наличие подсознания. Если и пытаюсь что-то навязать, то только из побуждений помочь :).
          Вообще, сложно представить что-то что априори не находится в подсознании. Я вот как-то читал про какого-то гения-инженера (может быть Тесла или Эдисон) — он просто очень пристально рассматривал окружающий мир в моменты простоя — кладку дома, узоры на коре дерева и прочие природные и рукотворные детали, которые могли откладываться в подсознании как какие-то эскизы схем инженерных решений, а потом подсознание могло их вытолкнуть. При этом можно считать, что такого решения не могло быть в подсознании потому что оно вообще новое в конструировании.
          А в наше время говорить о том, что подсознанию недостаточно пищи вообще не приходится.
  • 0
    Мне показалось, что вы немного занимаетесь самообманом. Как Инженер вы прекрасно описали работу осознанного L1 (сознание), но что твориться на неосознанном L2 (подсознание) описать и понят, не дано человеку, так как скрыто от его сознания.

    В одной из глав книги «Парадоксы науки» Сухотина Анатолия говориться, что многие научные мужи перед сном специально загружали сознание информацией об исследуемом объекте, потом ложились спать, предварительно на столике возле кровати клали ручку и блокнот. И пока они спали, их подсознания трудилось и как только подсознание находило ответ, оно подавала сигнал в сознание в виде снов. После просмотренного сна они просыпались и записывали решение на бумагу и снова ложились спать. Просыпаясь с утра, как не странно они не могли вспомнить, как именно нашли решение, ведь решение был найдено подсознанием, но то, что твориться в подсознание, и память подсознания не доступна нашему сознанию. Вот как то так, может эта точка зрения поможет развить ваше исследование.
    • 0
      >> Мне показалось, что вы немного занимаетесь самообманом.

      Мы все немного занимаемся самообманом, таков принцип нашего развития. Мы моделируем, но модель не есть реальность, модель всего лишь проекция исследуемого в нашем воображении, т.к. нативно мы можем лишь чувственно воспринимать.
  • 0
    По предпоследнему абзацу, насчёт «влезаете в дебри кода». У меня (я не программист, я сильно практикующий чтение исходников сисадмин) есть чёткое деление исходного кода на «документацию» и «не документацию». Тот исходный код, который можно засчитать за документацию позволяет посмотреть и понять, как оно работает. Код, который «не документация» полон мелких деталей, которые нельзя разобрать и которые не отвечают на вопрос «что тут на самом деле происходит?».
  • 0
  • 0
    Кроме шуток, нашел в вашей статье объяснение того, почему решение проблем частенько приходит, кхм, в сортире.
    Все просто: я на работе думаю-думаю, думаю-думаю, потом приходит пора отвлечься и сходить в сортир, => меняется тот самый контекст и… возникает ИДЕЯ!!!
    P.S.
    Интересно, какой процент от всех гениальных идей возник там???
    • 0
      А как же Тесла? не открыл бы он свой двигатель — если бы его друган пинками не вытолкал в парк. Динамика — нагрузка разрядка — основа деятельности.
  • +1
    Спасибо за статью!

    Думаю вам будет приятно узнать, что многие ваши утверждения подтверждаются оф. наукой.
    Данная тема раскрывается у А. Маркова: Эволюция Человека том II. Обезъяны, нейроны и душа. Глава 1 «Все дело в объеме рабочей памяти?»
    В целом, весь том будет интересен тем, кто хочет по-больше узнать о работе собственного сознания.

    • 0
      Я всерьез обдумываю написать в ближайшее время вторую часть статьи. Спасибо за информацию, обязательно ознакомлюсь.
  • 0
    Замечательная статья, которая дала ещё немного пищи для ума. Спасибо.
  • 0
    «этого парня звали Альберт Эйнштейн» :)

    Классная статья, спасибо. Обратил внимание — у меня на панели закладок 6 папок + «свободные» закладки (считай, +1 папка треша), в каждой из них — максимум 7 подпапок. Если в самой большой (dev) добавляется новая подструктура — уже объединяю с другой, в новый уровень абстракции (было mysql, добавилось mongoDB — объединил в db).

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

    Еще пример: с ростом проекта вырос контроллер AJAX (думаю, распространенная практика в вебдеве). Боюсь открывать, хочу разделить на разные контроллеры, объединенные в папку ajax.

    Да частных примеров может быть миллион!..

    Спасибо за статью и за коммент о 60 правилах, натолкнули на размышления!
    • 0
      Рад, что вам понравилась статья. Положительные отзывы — хорошая мотивация для будущих работ, благодарю =)

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