Category: компьютеры

Category was added automatically. Read all entries about "компьютеры".

buddha eyes

Приветствие

Здравствуйте.

25.12.2016: Этот журнал переехал на dreamwidth.org.

Не знаю, какой дорогой вы сюда забрели, но раз уж забрели, прочтите сначала это. :)

Мои постинги неравномерны по смысловой нагрузке и тематике, поэтому читать всё подряд не советую - станет скучно, и до действительно интересных постов не доберётесь. Поэтому я маркирую постинги метками. Вот основные:
  • мысль - то, что я считаю на самом деле важным и информативным. Мои мысли об устройстве этого мира (по большей части, нематериальной его составляющей). Таких пока всего семь, наиболее на мой взгляд интересная - Душа и Фейнмановский электрон.
  • подумалось - более мелкие наблюдения о мире и выводы. Таких гораздо больше, они включают в себя и мысли;
  • любопытно - вообще не мои мысли, а то, что я где-то увидел, и что показалось мне интересным;
  • политика - это лучше не читать. :)
  • юмор, афоризм, travels, задачка, дети, лытдыбр - в комментариях не нуждаются.
Для сугубо технических постингов (Cisco, Juniper, unix и пр.) я создал второй аккаунт: gul_tech.
Репосты (показавшиеся мне интересными записи из моей френдленты) кидаю в gul_filtered.


Отдельные постинги, которые мне нравятся и могут вас заинтересовать:
Мне проще общаться на "ты", однако сам я с незнакомыми людьми первым на "ты" не перехожу, т.к. не знаю, как это будет воспринято. Если нормально, можно ко мне смело обращаться сразу на "ты", я отвечу тем же. :)

Комменты к этой записи скринятся.
buddha eyes

Хоткей для отключения микрофона в MAC OS X

Я время от времени общаюсь голосом в скайпе или через sip, и часто хочется на какое-то время отключать микрофон.
Соответственно, хочется для этого иметь hotkey. Наиболее удобно было бы использовать малтимедийные кнопки, тем более, что они есть и на гарнитуре. Но, к сожалению, Apple не сделала действия по ним конфигурируемыми, и при их нажатии запускается iTunes. :-(

Выход есть. Их всё-таки можно переопределить, хотя для этого и нужно затратить несколько больше времени, чем на обычные shortcuts.
Collapse )
buddha eyes

Тени разума

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

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

Теперь, собственно, доказательство невычислимости человеческого разума.
Можно перенумеровать все возможные алгоритмы, и входные данные представить в виде натурального числа. Это сделать не очень трудно, если вспомнить, что в математике натуральное число - это не uint64, а произвольное сколь угодно большое число (программисты вместо "число" могут это воспринимать как "строка" или "произвольный бинарный массив"). В частности, бинарный код программы (или её исходный код - неважно) - это число, и произвольные входные данные произвольного объёма - это тоже число. Таким образом, любому алгоритму (программе) можно поставить в соответствие некое натуральное число N. (Тут есть нюанс в том, что не для любого алгоритма существует реальная компьютерная программа в силу технических ограничений, но с этой проблемой успешно и почти независимо справились Тьюринг, Пост и Черч, вполне формализовав понятие алгоритма с математической точки зрения). Таким образом, произвольный алгоритм мы можем обозначить через Ck, а алгоритм, которому на вход даны некоторые данные - Ck(n).

Теперь представим, что нам нужно решить задачу: глядя на алгоритм, понять, завершится ли он, если его запустить с этими входными данными, или будет работать вечно? Например, мы видим алгоритм поиска минимального простого числа, больше заданного N - мы знаем, что он завершится. Переборный алгоритм поиска минимального нечётного числа, являющегося суммой двух чётных чисел, очевидно, не завершится (сумма двух чётных чисел всегда чётна). Завершится ли алгоритм поиска минимального чётного числа, больше двух, не являющегося суммой двух простых чисел, на сегодняшний день неизвестно (это гипотеза Гольбаха). То есть, задача наша, вообще говоря, не простая, и в полной мере мы её решить не можем. Однако, в некоторых случаях мы можем гарантировать, что данный алгоритм никогда не завершится. Как мы это определяем?

Предположим, что мы для этого используем некий алгоритм A, который, получая на вход два числа k и n, в каких-то случаях может определить, что алгоритм Ck(n) не завершается. В этом случае наш алгоритм A(k,n) завершается. Не обязательно он может определить завершаемость во всех случаях - мы ведь не все задачи можем решить. Достаточно того, что в некоторых случаях он работает.
Теперь рассмотрим алгоритм D(n), который всегда ведёт себя так же, как A(n,n), т.е. который, по сути, проверяет завершаемость алгоритма с номером n, если ему на вход дать данные n. Такой алгоритм, очевидно, существует, и пусть у него будет номер k, т.е. Ck(n) эквивалентно A(n,n), для любого n. Применим его для n = k. В этом случае алгоритм проверки окажется применён к самому себе, т.к. A(k,k) эквивалентно Ck(k), т.е. наш алгоритм A будет проверять завершаемость самого себя на входных данных (k,k). Если он завершится, то он окажется ошибочным, т.к. он тем самым будет утверждать, что он не завершается. Значит, он определённо не завершается, и таким образом не может определить завершаемость самого себя на входных данных (k,k). Однако мы при этом совершенно точно определили, что этот алгоритм на этих входных данных не завершается.
Вспоминая наше предположение о том, что алгоритм A - это и есть тот алгоритм, который мы используем для определения завершимости, мы получили противоречие.
Вывод: способ, которым мы определяем завершаемость алгоритма (а значит, разрешимость математической задачи), не является обоснованным алгоритмом.

Слово "обоснованным" тут взялось из варианта, когда A(k,k) завершается, тем самым ошибочно определяя незавершаемость Ck(k). В таком случае A(k,n) мы назовём необоснованным, т.е. дающим какие-то результаты, но не всегда верные. Судя по всему, Алан Тьюринг видел выход из этого парадокса именно в этом, он считал наличие ошибок необходимым атрибутом человеческого мышления. Если же предположить, что способность ошибаться не является фундаментальной способностью человеческого разума, то придётся признать, что человеческий разум действует не алгоритмически (т.е. некоторые его проявления невозможно промоделировать алгоритмом).

Это доказательство очень близко к доказательству Гёделя его знаменитой теоремы о неполноте, и фактически является его вариацией. Только применено оно с несколько другими начальными условиями и, соответственно, получены несколько другие выводы. Вместо существования недоказуемых (в рамках теории) утверждений получилась неалгоритмизуемость человеческого сознания.

Collapse )
buddha eyes

Цифровая память

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

Сейчас я наблюдаю противоположную ситуацию, как это ни парадоксально. Хранение информации в цифровом виде уменьшило срок хранения. Мы можем найти (и нередко храним) бумажные довоенные фотографии в семейных альбомах. Можно найти переписку какого-нибудь великого человека, жившего в XVIII веке. Сохранились и папирусы четырёхтысячелетней давности. Но вот наступила цифровая эпоха. Неоцифрованные книги и публикации - всё равно, что несуществующие. Записи, оставшиеся лишь на магнитофонной ленте, можно считать утерянными. Любительские кино- и видеосъёмки - тоже. Никто их не сможет посмотреть/послушать даже через 20-50 лет, не говоря уже о сотнях.

Мало того. Записи, которые были сделаны уже в компьютерную эпоху, точно так же безвозвратно теряются. Много интересного было написано и опубликовано в сети Фидо, но сейчас архивов, насколько я знаю, не осталось ни у кого. Документ, сохранённый пару десятков лет назад, сейчас и открыть-то нечем, изменились форматы хранения. Старую дискету или компакт или жёсткий диск сейчас просто некуда вставить, чтобы прочитать. А даже если вставить, там может оказаться какая-нибудь странная файловая система вроде hpfs. Так что если вы вовремя позаботились о том, чтобы перевести ваши записи с видеомагнитофона в компьютер, не расслабляйтесь: для того, чтобы эта информация осталась доступна, нужно этот архив копировать со старых дисков на новые, и периодически её конвертировать из устаревшего формата в современный.

Некоторые люди почему-то думают, что то, что проиндексировано поисковиками, сохранено навечно. Наверное, нет смысла объяснять, насколько это лишено оснований. У поисковиков нет цели хранить архив, это может быть лишь случайное побочное явление, если на него не требуется много ресурсов. Сервисы вроде web.archive.org хранят, к сожалению, лишь очень малую часть. Информация в сети сохраняется только в том случае, если она интересна многим людям, и только пока этот интерес активен. Да и то не всегда. Отправил что-нибудь в фейсбук, совсем недавно, буквально полгода назад, и помню ключевые слова - а как найти?

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

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

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

Зомби зомби зомби

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

Рискну опровергнуть. Считаю, что люди, придумавшие и сформулировавшие термины "квалиа" и "философский зомби", обладали квалиа и не были философскими зомби. Философский зомби не мог придумать термин "квалиа".

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

Принцип Ландауэра

Давно известно, что обработка информации - это потеря информации. Компьютер, вычисляющий "2+2", на входе имеет больше информации, чем на выходе (на входе два числа, на выходе одно). Программа обычно имеет много входных данных, которые перерабабывает и выдаёт результат (например, "42").

А вот недавно обнаружил Принцип Ландауэра:

В любой вычислительной системе, независимо от ее физической реализации, при потере 1 бита информации выделяется теплота в количестве по крайней мере W Джоулей:
W = k T ln 2
k - константа Больцмана, T - абсолютная температура вычислительной системы.

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

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

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

Копирование души

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

Если меня разберут, а потом соберут - буду ли это я, или это будет лишь моя копия, а я умру? Что будет с моей душой? Для окружающих это буду тот же "я", но как для меня?
Можно представить себе такие гипотетические ситуации:
1. Меня разобрали и потом собрали из тех же атомов.
2. Меня разобрали и собрали из других, таких же атомов.
3. Меня разобрали, а собрали (и оживили) две копии.
4. Меня не разбирали, а просто собрали мою копию и оставили замороженной, в качестве резерва на случай, если со мной что-то случится. А когда случилось, оживили копию.
5. Меня не разбирали, а собрали мою копию (и оживили). А потом оригинал стукнули по голове чем-то тяжёлым.

В каких случаях это буду я, а в каких - моя копия, а я умру? Откуда у моей копии возникнет душа? Может ли отсутствие души препятствовать оживлению копии?

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

Размышление над этими вопросами приводит меня к буддийскому пониманию души и реинкарнации.
buddha eyes

Время

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

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

О Боге-математике

Читал википедию, наткнулся:

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


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

Но применять то же к математической теории и миру вокруг... 8-()
А если ещё задуматься над объективностью понятия непротиворечивости структуры...