вторник, 6 июня 2017 г.

Земля - это бублик

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

Хотя, нет. Постойте! Есть наглядные пособия даже:


вторник, 21 марта 2017 г.

Язычок-с

Начал полевые испытания незатейливого языка, навеяного синтаксисом JavaScript.

подлежащее.сказуемое(вопрос:второстепенный член, ...)

https://github.com/mem-memov/cybelang

среда, 11 января 2017 г.

База данных для хранения связей на C

Разработал базу для хранения связей, как планировал в предыдущих постах.

Исходный код на GitHub.

Позволяет:
- создавать узлы
- связывать узлы (направленно)
- получать связи узла
- получать объединение связей нескольких узлов
- получать пересечение связей нескольких узлов
- получать разность связей нескольких узлов
- фильтровать списки отсеивая узлы, не связанные с данным
- фильтровать списки отсеивая узлы, связанные с данным

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

вторник, 13 декабря 2016 г.

Запись и чтение

Минимальная запись состоит из двух чисел - номер своего узла и номер другого узла. Например, узел с номером 5 связан с узлами 1, 234 и 5782. Записи в файле будут выглядеть так:

... 5:5,0 ... 65720:234,5 ... 2387456:5782,5 ...

где первое число - это адрес.

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

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

... 5:5,65720 ... 65720:234,2387456 ... 2387456:5782,0 ...

Благодаря тому, что последовательность задана жёстко, можно "допрочитывать" связи узла в параллельных процессах.

четверг, 8 декабря 2016 г.

Mail.Ru Group: Можно ли автоматизировать работу политика?

Можно ли автоматизировать работу политика? Думаю, что можно, вот только политики, скорее всего, будут дольше всех сопротивляться. В одной из последних серий «Черного зеркала» нарисован дистопичный мир, в котором на смену деньгам пришли оценки, которые люди ставят друг-другу, и на основе которых формируется некий рейтинг, определяющий уровень доступа человека к общественным благам. Хочешь арендовать машину — хорошая машина в аренду только для тех, у кого рейтинг больше 4. Если у тебя рейтинг низкий, то дают развалюху с устаревшим интерфейсом для зарядки.



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

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

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


Представители технической интеллигенции, скептически относящиеся как к компетенции собственников бизнеса, так и к способности широких слоёв населения принимать действительно разумные решения, часто поддерживают идею меритократии. Почему бы не экзаменовать людей на наличие у них знаний, необходимых для принятия квалифицированных решений? Допустим, мы будем считать, что голос необразованного человека имеет при голосовании меньший вес, чем голос образованного. Или же сделаем так, что эксперты в какой-то области будут иметь больший вес при принятии решений в своей области, и так далее. За такими схемами всегда стоят различные опасения, которые достаточно воспитанному человеку нельзя озвучивать вслух, ведь демократия является одной из основополагающих декларируемых ценностей первого мира. На мой взгляд корень проблемы с демократией заключается именно в том, каким образом организован доступ к знаниям, к образованию в мире. Как много тратит наше общество на воспитание и образование подрастающего поколения? Почему вместо школ и институтов мы предпочитаем тратить ресурсы на огромный аппарат военного, полицейского и идеологического подавления, призванный бороться с последствиями голода, темноты и неграмотности? Многие современные исследователи считают, что описанные проблемы вполне можно преодолеть, используя именно ресурсы прямой демократии. Такие исследователи как Пол Кокшотт и Аллин Коттрелл из Университета Глазго ещё в начале 90-х в книге «К новому социализму» («Towards new socialism») рассмотрели возможности изменения нашего общества на базе возможностей, предоставляемых прогрессом новых информационных технологий.


Электроовцы съели людей: возможные последствия от развития ИИ для рынка труда

пятница, 25 ноября 2016 г.

Кант и медузы

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

Кант и медузы

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

четверг, 10 ноября 2016 г.

VPN, виртуальное государство

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

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

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

воскресенье, 6 ноября 2016 г.

Вовлечение в новую валюту

Вовлекаем несколько человек. Объясняем суть предстоящей игры. Даём первому тысячу рублей в долг на месяц и с возможностью вернуть любым способом на выбор:
1) в рублях с процентом (скажем 1100р.);
2) в новой валюте без процента (1000у.е.).
Этот человек выдаёт эту сумму следующему с теми же условиями и так по цепочке. Последний в цепочке выдаёт эту сумму нам с теми же условиями.
Получаем кольцо взаимных обязательств. Любой участник цепочки делает что-либо для любого другого, в результате чего создаётся виртуальный эквивалент в новой валюте, который используется для возврата долга. Кто не успел ничего сделать, возвращает в рублях с процентами. Как?

Электронное государство. Кто не успел, тот опоздал.

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

Кхм...

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

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

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

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

Кхм...

Принцип выборов изменился. Голосуем на за партию, не за депутата, а за образ жизни, организацию которого берут на себя криптогосударства. Они будут соревноваться за ваше внимание. Вы будете выбирать те, которые позволяют организовать вам свою жизнь в соответствии с вашими взглядами. Но граждане существующих криптогосударств будут предъявлять определённые требования к новым иммигрантам.



среда, 12 октября 2016 г.

Quatro: формат линейного представления графа

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

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


Значения хранятся в отдельных файлах. В качестве имени файла берётся идентификатор соответствующего узла.

Идентификатор узла определяется по хэшу значения.

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





вторник, 4 октября 2016 г.

Гонки

Старт

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

Уверен, что победа достанется мне. Почему я в этом уверен? Кто я такой? Я такой же гонщик, как и ты. Выгляни из окна. Мой жёлтый скоростной болид стоит слева от твоего автомобиля. Смотри, я машу тебе рукой.

Заметил, какой необычный корпус у моей машины? Обтекаемая форма позволяет мне нестись по трассе быстрее пули. Тебе будет трудно меня обогнать. Лучше закрой книгу и иди домой, посмотри мультики.

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

Школа гонщиков

Добро пожаловать в нашу школу. Я твой учитель. Мой предмет называется "подготовить гонщика". Почему тебе это название кажется странным? Название как название.

Я обучу тебя приёмам экстремального вождения автомобиля. Ты спрашиваешь, как меня зовут? Тебе знать этого не положено. Гонщики не должны знать, кто их обучил. Меньше знаешь -- быстрее едешь! Всё равно, когда ты покинешь здание школы, ты сразу забудешь о её существовании.

Главное запомни, что я тебе сейчас скажу: "В игре есть машины и на них можно ехать быстро или медленно." Почему ты говоришь, что это чепуха. Это не чепуха. Лучше запиши себе в тетрадь, чтобы не забыть. Записал? Молодец, что записал. Теперь ты настоящий гонщик и можешь принять участие в соревнованиях.

Не веришь? Хорошо. Вот тебе учебный автомобиль. У него на двери кнопка. Читай, что на ней написано. Да, верно. Написано: "посадить гонщика". Жми, не бойся.

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

Не буду спорить с тобой. Это и правда проще простого. По прямому участку трассы ты едешь быстро. На крутом вираже сбавляешь скорость и едешь медленно.

Ты спрашиваешь, где кнопка с надписью "остановиться"? Её нет. Это же спортивный автомобиль. Не беспокойся, в конце трассы компьютер остановит его автоматически. Ну, прощай! В добрый путь! Пока! Успехов!

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

Ответы на вопросы

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

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

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

Прочитав эту книгу, ты узнаешь из каких частей состоит программа и сможешь сам начать программировать. А начинать нужно с самого интересного. С программирования гоночной машины!

Гоночная машина



суббота, 30 января 2016 г.

Сетевая база в одном файле 2

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

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

четверг, 28 января 2016 г.

Сетевая база в одном файле

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

  1. Записи не удаляются.
  2. Связи могут только добавляться.
  3. Связи имеют направление.
  4. Одному строковому значению соответствует один узел.
  5. У всех узлов есть значение - NULL или хэш строки.
  6. Хранятся только цепочки связей.
  7. Звено ценпи состоит из порядкового номера звена, номера следующего звена и ссылки на звено-узел.
  8. Порядковый номер звена соответствует его расположению в файле.
  9. Узел - это первое звено в цепочке, которое не указывает на другие узлы.
  10. При каждом запросе узла, создаётся новый объект.
Пример: узел 3 связан с узлами 1 и 2.

address    next    link    комментарий
1          0       1       узел 1
2          0       2       узел 2
3          4       5       узел 3 (последнее звено 5)
4          5       1       связь узла 3 с узлом 1
5          0       2       связь узла 3 с узлом 2 (последняя в цепи)
6          0       6       узел 6

Поскольку приложение, использующее базу данных, отслеживает тип узла, нет необходимости помечать узлы, привязанные к значениям. Функция node.hasValue() не нужна.




четверг, 7 января 2016 г.

Компьютерная лингвистика, так сказать...

Попытался между делом написать код на PHP под правила языка, описанные в одной из предыдущих статей.

Работа ещё не завершена, но что-то уже прорисовывается. Можно нащупать проблемные места и сделать доработки. Код выложен на GitHub.

Код разделён на две части: сетевая (графовая) база данных и правила синтаксиса. Называются, соответственно, - graph и syntax.

Сетевая база предоставлет средства для извлечения и изменения связей узлов, а также позволяет прикреплять к узлам некоторый набор данных. После нескольких мучительных дней терзаний понял, что этот набор данных является значимой сущностью на более высоких слоях абстракции. Представление его в виде объекта с интерфейсом приводило к усложнению кода. Сначала было два варанта строка для хранения слов и строка для хранения ссылок на файл. (Да-да... Члены предложения могут быть и файлами. И кусками кода, если уж на то пошло.) И эти два интерфейса стали расползаться из глубин хранилища наверх до самого ГУЯ. Вобщем, теперь у узла может быть два значения NULL или строка. Интерпретация строки выполняется за пределами хранилища. Файл можно хранить в виде JSON-чика, в котором указан тип данных и ссылка или путь к файлу. Данные привязываются к узлу в момент создания и не могут быть изменены. По хэшу строки всегда можно найти, привязанный к ней узел. Узлы не удаляются. Причина тому в том, что свзи в базе однонаправленные, и для удаления некоторых узлов пришлось бы долго обходить, возможно, миллионы имеющихся узлов. Ради упрощения и ускорения действует принцип - слово не воробей, вылетит не поймаешь. На самом низком уровне связи хранятся в виде папок и ссылок файловой системы. Простенькие штучки на бесплатном сервере Cloud9 занимают где-то 0,1 секунды. Не плохо бы попробовать замерить на SSD и на машинке помощнее. На нижнем уровне хранилища можно будет задействовать Redis или подключиться к другой базе. Была идея выложить эти папочки со связями узлов в открытый доступ, чтобы можно было скармливать внешним системам как статику.

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

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

complimnet
Член предложения (кроме сказуемого). Привязывается через валентность к сказуемому и вопросам от него.

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

predicate
Сказуемое. Связано через валентность с вопросительными словами и всевозможными ответами на них в разных предложениях. Буквы сказуемого хранятся в специализированных узлах - словах.

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

answer
Ответ.

word
Слово. Одно и то же слово может содержать ссылку на сказуемое, вопрос и ответ. В английском, например, одно и тоже слово может обозначать как действие, так и предмет. Или ещё для такого случая: "важно не сколько, а как".

Отсутствуют пока что узлы типа reference, которые позволят в качестве ответов использовать подчинённые предложения.

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

Схема связей такова:


четверг, 27 августа 2015 г.

Private money: подходы

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

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

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


среда, 26 августа 2015 г.

Частные деньги

Российское общество плавно, но неотвратимо погружается в пучины мирового финансового кризиса. Люди остаются без работы и средств к существованию. Как это возможно, мне не удаётся понять уже много лет. Как может существовать безработица? Что на планете Земля уже построен рай? Всё сделано, все потребности удовлетворены? Какая магия заставляет людей бездейстововать?

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

Либо другой вариант. Идём в банк, узнаём, какой с нас хотят получить процент, считаем, уходим из банка недовольные. Есть правда ещё вариант. Банк сразу откажет в кредите, потому что у вас нет работы. Круг замыкается. Работы завтра не будет, потому что её нет сейчас. Разве не логично? Разве вы не готовы так думать постоянно? Дождь не пойдёт завтра, потому что он не идёт сегодня.

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

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

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

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

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

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

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

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

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




воскресенье, 2 августа 2015 г.

Парадокс разработчика ИИ

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

Объяснение простое. Человек начинает с изучения естественного интеллекта. Как минимум, чтобы определить предмет работы.

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

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

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

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

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

воскресенье, 21 июня 2015 г.

Новые правила

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

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

созреть
    что: подход
    в чём: голова

Правда похоже на определение объекта в JavaScript?


Правило 1. Все значимые слова указываются в неопределённой форме.

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

Похоже на именование переменных.

Правило 2. Для обозначения связи слов используются вопросы от названия действия.

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

Похоже на указание типа.

Правило 3. Последовательность действий определяется в явном виде.

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

сделать
    что: дело
    когда: всегда

гулять
    как: смело
    после чего: сделать (ссылка)

Похоже на обработку событий.

Правило 4. Все слова являются именами собственными внутри описываемой ситуации.

Местоимения не используются. Вместо них указываются прямые ссылки на слова, употреблённые рассказчиком ранее.

Похоже на передачу аргумента по ссылке.

Правило 5. Связи носят языковой, а не понятийный характер.

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

Если в список вопросов включить союзы подчинённых предложений, то текст станет более точным: "когда", "если".

Открыт вопрос о порядке слов и определении подлежащего.

везти
    что: машина
    что: поезд

Хотя этот случай решается тестом из двух предложений.

ехать
    что: машина

везти
    что: машина (ссылка)
    что: поезд

Открыт вопрос с использованием существительных внутри вопроса: "в каком случае". Есть ощущение, что они будут мешать.

Требования к разработчику искусственного интеллекта

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