Субъективные вычисления

Субъективные вычисления

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

Десять секунд. Что здесь? Авторучки которые не пишут, остывшие батареи, светодиодная реклама и домофон. Обозначим авторучки как A, батареи как B, светодиоды как C, а домофон как D. Еще есть духовные скрепы, они в последнее время всегда с нами, их обозначим как E. Итого, имеем множество {A,B,C,D,E}, каждый элемент которого является аргументом функции страдания людей. Для формализации, назовем каждый из этих элементов объектом (obj), содержащим разные характеристики и их значения. Например:

obj A = {название: авторучки, материал: пластмасса, производство: Китай, …};

Наверняка существуют характеристики, которые присущи всем объектам без исключения. Например, название, оно же — принадлежность к определенному множеству объектов (Y). Если есть принадлежность к множеству, значит она имеет некоторое значение истинности (μ). Более того, названий и соответствующих им значений истинности может быть сколь угодно много…

Девять секунд. Что еще? Трансфинитное число (Ν), поскольку мы всегда имеем некоторый порядок в натуральном множестве, кардинал (card), факторизация (Φ). Иными словами:

obj A = {{Y1: μ1, Y2: μ2, …, Yn: μn}, Ν: ν, card: κ, Φ: [φ1, φ2, …, φn]};

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

Восемь секунд. Кто здесь? Безрукий инвалид (sub1), активистка ЗОЖ (sub2), урбанист (sub3) и я (sub4). Введем шкалу страдания, как ответ субъекта на объект (sent): ужасно (Ter), плохо (Mal) и безразлично (Nor). Для этого отбросим всякую мораль и будем максимально циничны. Безрукому инвалиду неисправные авторучки и светодиоды не представляют проблемы. Холодные батареи и домофон отвратительны, а скрепы просто плохи. Такие же наблюдения проведем над всей группой, составив таблицу значений всех субъективных функций по аргументу объектов:

Субъект\Объект A (авторучки) B (батареи) C (светодиоды) D (домофоны) E (еще и скрепы)
sub1 (инвалид) Nor Ter Nor Ter Mal
sub2 (активистка ЗОЖ) Nor Ter Nor Ter Mal
sub3 (урбанист) Nor Nor Nor Ter Mal
sub4 (вы) Mal Mal Nor Ter Mal

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

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

sub1(С) = sub2(D) = sub3(Е) = sub4(С) = Nor;

sub1(С) = sub2(D) = sub3(Е) = sub4(С) = Ter;

sub1(С) = sub2(D) = sub3(Е) = sub4(С) = Mal;

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

Шесть секунд. Объекты не приносят выгоды, не принадлежат субъектам, создают неудобства, постоянно на виду и появились относительно недавно. Список можно продолжать бесконечно, но пока остановимся на нем. Необходимо понять, какие из этих множеств, как свойств объекта влияют на функцию страдания, а какие включены сюда ошибочно. Для этого составим таблицу в которой на пересечении результата субъекта по объекту и множества, входящего в объект укажем значение истинности множества по шкале: сильно (For), средне (Med), слабо (Inf). Светодиоды своим светом создают неудобство, иногда они раздражают, но в целом они связаны со значением Nor средне (Med). Иначе это можно выразить так: оба заявления о том, что светодиоды влияют и о том, что не влияют на нормальное состояние скорее ложны. То, что светодиоды создают неудобство это не ложь, но и не истина. Правильно назвать ее полуправдой.

Для остальных множеств повторим аналогичную процедуру оценки истинности:

Множество\Объект Y1 — Не приносят выгоды Y2 — Не принадлежат им Y3 — Создают неудобства Y4 — Постоянно на виду Y5 — Появились недавно
sub(C) = Nor (светодиоды) For For Med For For
sub(E) = Mal (еще и скрепы) For For Inf Inf Med
sub(D) = Ter (домофоны) Med Med For For For

Теперь, необходимо нарисовать простейший график зависимости силы страдания от истинности принадлежности объекта множеству…
График страдания

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

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

Четыре секунды. Противоречивое влияние множеств Y3, Y4 и Y5 на величину страдания говорит нам о том, что они найдены не самым удачным образом. Нам необходимо либо разложить их на подмножества и повторить процедуру, либо найти иные множества для рассмотрения, например множество объектов, которые издают звук. Очевидно, что для светодиодов значение истинности принадлежности к этому множеству будет соответствовать μ = Inf, для духовных скреп μ = Inf, для домофонов μ = Med.

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

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

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

Две секунды.

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

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

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

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

Впрочем, все это уже не имеет значения, потому что вы умерли. Время вышло.

Чем российская власть отличается от террористов с которыми она борется?

Чем российская власть отличается от террористов с которыми она борется?

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

Кто такие террористы? Рассмотрим для примера условного Бен-Ладена в вакууме — бородатый хер, который стремится, по выражению нашего вечного Пу: «укантрапупить» вас в тот момент, когда вы после бани попиваете коньяк напротив памятника Лермонтову. Причины в данном случае неважны. Важно то, что эта ситуация полностью укладывается в аксиоматику теории о смене социально-политического строя в результате смещения баланса издержек обменных операций. Если вы знакомы с этим замечательной работой, то для вас совершенно понятно, что между Гитлером, Чикатилло, Фондом по спасению больных детей, Полпотом, вашей мамой, которая заставляет вас купить новые штаны, потому что «старые с дырками», доктором Менге и местным профи гоп-стопа качественных отличий нет. А если вспомнить, что любое количественное измерение есть суть лишь чуть более пристальная и формализованная качественная оценка, то становиться совершенно очевидно, что различия между названными людьми объясняются исключительно моральными договоренностями, а любая мораль — это извращение и просто говно на палке. Все вышеназванные люди крадут ваши ресурсы, точнее говоря один ресурс, которым можно оценивать все остальные — ваше свободное время. То же самое делают террористы — крадут ваше время, вместо того, что-бы обменять его на свое. В результате времени у вас либо совсем не остается (ну ладно, несколько минут, пока мозг не погибнет), либо становиться существенно меньше, поскольку ваши временные издержки колоссально возрастают: на двух ногах вы поднимались по лестнице за минуту, а на культяпках будете делать это два часа.

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

Примем количество погибших от террористических актов последних семнадцати лет равным 1500 человек (на самом деле меньше, но хуй с ним, дадим фору государству). Ожидаемая продолжительность жизни в России 70 лет. Вычтем из этого значения 20 лет исходя из того, что на момент гибели люди уже успели часть жизни отжить. Итого имеем, что за семнадцать лет террористы напиздили 50 * 1500 = 75 000 лет, по четыре с половиной тысячи лет ежегодно.

Теперь рамки. В России 323 железнодорожных вокзала, 254 аэропорта, 329 станций метрополитена и неисчислимое количество учреждений, вход в которые возможен только после досмотра. Примем для ровного счета последнее за 94 (хотя это меньше действительности на несколько порядков). Итого имеем 1000 мест в которых установлены рамки.

На досмотр уходит 10 секунд, в минуту через рамки проходит три человека. Заметили, как я занижаю числа? При десятичасовом режиме работы за день через рамки проходит 3 * 60 * 10 * 1000 = 1 800 000 человек. Или по другому, ежедневно государство крадет у людей ровно 5 000 часов свободного времени (208 дней). Умножаем это число на триста шестьдесят пять дней в году и получаем 75 920 дней или без умножения 208 лет ежегодно. Переводя на жизни: четыре человека в год — четыре с половиной процента от того, что забирают себе террористы.

К этому можно относиться как к вакцине, если бы не одно но. Помните как я занижал числа? Если вспомнить, что режим работы многих вокзалов круглосуточный и принять средний режим работы за 18 часов, количество рамок увеличить в десять раз (помните мы занижали их на порядок? — настало время вернуть долг), а число досмотров увеличить хотя-бы до четырех человек в минуту (вы же помните очереди перед металлодетекторами), получаем 4 * 60 * 18 * 10000 * 10 / 3600 / 24 = 5 000 дней. На одиннадцать процентов больше чем террористы.

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

Формализованно это выглядит так. Существуют две группы людей, которые решили для себя выбор Достоевского: «мудак ли я или власть имею» в пользу последнего варианта. Но первые менее образованы и знакомы только с теорией вероятности, поэтому добавили в жизнь каждого человека вероятность погибнуть, равную 6 × 10−7. Вторые тоже использовали это значение, но не как вероятность, а как значение характеристической функции, поскольку учились в институтах и слышали про работы Лотфри Заде.

Число 6 × 10−7 у террористов означает, что вы будете жить как и раньше, но есть очень маленький шанс, что вам в этом году на крыльях содержимого пояса шахида прилетит карачун. Это вероятность.

Число 6 × 10−7 у власти означает, что к вам в вагон в этом году не зайдет бородатый хер с пластидом, но качество вашей жизни однозначно ухудшится. Это значение характеристической функции.

Поздравляю. Только что ваши знания теории нечетких множеств выросли на 15 пунктов.

формула

Тегирование универсальных морфодинамических свойств объектов

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

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

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

Ключ Значение Описание
virtuality 1 Реальные объекты, с четкими границами, например, здания
virtuality 2 Реально существующие объекты с неоднородными, размытыми границами провести которые точно невозможно, например, болота
virtuality 3 Объекты, существующие согласно документам, как единое целое, но в реальности имеющие фрагментированную структуру, например некоторые заброшенные дороги
virtuality 4 Объекты, существующие в исключительно в виде документов, но связанные с реально существующими объектами, например, проходящие по рекам административные границы
virtuality 5 Объекты, существующие исключительно в виде документов, никак не связанные с объектами местности, например проектируемая дорога
Ключ Значение Описание
naturalness 1 Объекты, созданные путем кардинальной модификации окружающей среды и эксплуатируемые человеком, например, работающие предприятия
naturalness 2 Объекты, созданные путем кардинальной модификации окружающей среды, но в настоящее время не используемые, что приводит к их возвращению в естественную среду, например, заброшенные населенные пункты
naturalness 3 Объекты, созданные путем значительной модификации окружающей среды, но с сохранением основных природных компонентов, например луга и леса лесохозяйственного значения
naturalness 4 Объекты естественной среды, подвергшиеся заметному человеческому вмешательству, но не используемые в промышленности или лесном/сельском хозяйстве, например, национальные парки
naturalness 5 Объекты естественной среды, не претерпевшие заметного влияния человека, например, заповедники
Ключ Значение Описание
acceleration 1 Объекты, стремительно замедляющие скорость, например реки при впадении в крупный водоем
acceleration 2 Объекты, скорость которых постепенно замедляется
acceleration 3 Неподвижные объекты, либо объекты, передвигающиеся с равномерной скоростью
acceleration 4 Объекты, скорость которых постепенно увеличивается
acceleration 5 Стремительно ускоряющиеся объекты, например, водопады
Ключ Значение Описание
rate 1 Объекты с неизмеримо малыми скоростями, либо неподвижные объекты, например здания
rate 2 Объекты, о движении которых можно сделать ввод только после многодневных наблюдений, например, некоторые ледники
rate 3 Объекты, движение которых заметно только при внимательном рассмотрении или постановке простого опыта, например некоторые реки с очень слабым течением
rate 4 Объекты движение которых заметно с первого взгляда
rate 5 Объекты со стремительным движением, скорость которого может служить отличительным признаком объекта
Ключ Значение Описание
chaotic 1 Объекты с хаотичной динамикой без прослеживаемых закономерностей изменения, например лесные дороги, которые в любой момент могут оказаться непроезжими из-за поваленных деревьев или работы специальной техники
chaotic 2 Объекты динамика которых хаотична, но имеет прослеживаемые в ходе долговременных наблюдений пространственные или временные закономерности, например грунтовые дороги с песчаным покрытием в степной зоне
chaotic 3 Объекты со стабильной и управляемой динамикой, например, водохранилища
chaotic 4 Объекты с управляемой динамикой, изменения на которых происходят в известные сроки, например, ремонтируемые мосты
chaotic 5 Стабильные объекты, не претерпевающие заметные изменения, например здания
Ключ Значение Описание
naming 1 Объекты без собственного имени, для которых указание имени нарицательного нецелесообразно ввиду их редкости либо по иной причине, например, остатки от упавших ступеней космических ракет
naming 2 Объекты без собственного имени, для которых целесообразно указать имя нарицательное, например, ряд вкопанных автомобильных покрышек во дворах или на детских площадках
naming 3 Объекты без собственного имени, для которых однозначно можно выделить имя нарицательное, например, колодцы
naming 4 Объекты с нарицательным именем, собственное имя которых неоднозначно, или недостоверно, например, если получено со слов местных жителей («река Кундрючка«)
naming 5 Объекты имеющие собственное имя
Ключ Значение Описание
decomposition 1 Однородные, чистые по составу объекты
decomposition 2 Однородные объекты с несущественными включениями, не влияющими на свойства объекта
decomposition 3 Объекты с разнородным составом, влияющим на свойства объекта и заметно выраженным главным компонентом
decomposition 4 Объекты с разнородным составом и наличием доминирующей группы из нескольких элементов
decomposition 5 Объекты с разнородным составом, среди которого невозможно выделить доминирующую группу элементов
Ключ Значение Описание
form point Точка — объекты с пренебрежимо малыми размерами
form cloud Облако — группа объектов с пренебрежимо малыми размерами
form line Линия — объект двумя размерами которого можно принебречь
form napkin Салфетка — объект с одним пренебрежимо малым размером и перфорированной структурой
form plane Плоскость — объект с одним пренебрежимо малым размером и цельной структурой
form sponge Губка — кавернозный полноразмерный объект
form volume Объем — цельный полноразмерный объект

P.S. Формула на рисунке не в тему — просто файл этот надоел, вот и решил его куда-нибудь пристроить.

Нечеткое тегирование это просто

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

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

Итак, как говорил Сократ: «Точное логическое определение понятий — условие истинного знания». Тегирование в OpenStreetMap это присвоение набору геоданных некоего смысла и пояснения, которое выражается в виде присвоенного ключа (тега) и его значения. Например, дорога внутри жилых зон обозначается как highway=living_street. Здесь слева от знака равенства в теге прописано отнесение геоданных к классу (класс дорог), а справа дано пояснение (дорога вдоль жилых зон).

Можно ошибочно подумать, что схема тегирования OSM представляет собой примитивный аналог иерархических классификаций, состоящий всего из двух уровней. На самом деле это большое заблуждение, поскольку в верно построенной иерархической классификации два элемента относящиеся к разным надмножествам элементов не могут быть похожи до степени смешения, или говоря более строго, близость элементов различных подмножеств иерархической системы всегда меньше близости содержащих их надмножеств. Практически это выражается в том, что два объекта, относящиеся к разным образцам надклассов не могут быть более близки, чем сами эти надклассы. В OSM такое встречается сплошь и рядом: мой любимый пример natural=wood и landuse=forest. Близкие и часто взаимозаменяемые значения относятся к разным тегам. Такое в иерархической системе невозможно.

Впрочем, в этом нет ничего плохого. Как показывает эмпирический опыт, иерархические классификации подходят для искусственных, либо абстрактных геоданных. Объекты же «чисто конкретные», которые и содержит в себе база OSM в иерархическую систему не укладываются ибо для таких объектов характерен избыточный диатропизм.

Что это значит в переводе на язык бытового жанра? Это значит, что в нотации «ключ»=»значение», знак равенства абсолютно избыточен и выполняет карго-функцию. Это не более чем формализм и ничем необоснованное усложнение нотации. А значит и вся схема тегирования данных проекта OpenStreetMap сводится к присвоению геоданным пояснительного текста, содержащего в себе знак равенства. С таким же успехом можно было подписывать данные в виде «natural_wood», «naturalwood» или просто «wood» (забыл сказать, каждый тег содержит только уникальные значения, а это еще один довод против иерархичности схемы тегирования OSM). Говоря еще проще: никакой схемы тегирования в OSM нет, есть лишь набор странно оформленных подписей для каждого набора геоданных. Если вы сможете переступить через себя настолько, что признаете этот вывод, дальнейшее пояснение будет для вас совсем легким.

Повторюсь: данные OSM не имеют схемы тегирования, это лишь набор геоданных со странно оформленными подписями. но не подумайте, что это недостаток, как раз наоборот, это наиболее сильное преимущество проекта. Проблема в том, что преимущество это используется не до конца. Если-бы каждому объекту был присвоен только один тег, то можно было бы в полной мере говорить о примитивном булевом тегировании, которое безусловно давно устарело. Но тегов можно присвоить огромное количество. Например, не просто указать, что это здание и оно является магазином, но и дополнить информацию о нем часами работы, инженерными параметрами здания и еще чем в голову взбредет. Значит ли это, что объекту можно присвоить любое сочетание тегов (разумеется соответствующее действительности)? Нет. Каждый из тегов, присваиваемых объекту должен однозначно и независимо характеризовать какое-либо из свойств объекта. Есть у улицы свойство в виде ее названия — пожалуйста, тег «name». Есть у той же улицы свойство в виде покрытия дороги — пожалуйста, тег «surface». Для каждого свойства свой тег.

Но вот она, квинтэссенция моей сегодняшней речи. Одно и то-же свойство объекта можно (и нужно) выражать не посредством одного тега, а с помощью любого количества необходимых тегов. Зачем выбирать каким тегом обозначить лес с густым подлеском: natural=wood или natural=scrub, если можно использовать оба этих тега одновременно? А для большей ясности можно присвоить каждому тегу характеристическое значение истинности, от нуля до единицы. Ноль означает, что это свойство отсутствует, единица означает наличие этого свойства (не будем здесь поднимать дискуссию о критерии определений значений характеристических функций нечетких тегов и области значений таких функций). Конечно, придется изменить нотацию, но выглядеть это будет примерно так:
Лес с редким подлеском: wood(0.9),scrub(0.2);
Кустарниковые заросли с редким пологом леса: wood(0.4),scrub(1.0);

Так можно смешивать между собой абсолютно любые теги, что даст осмерам необычайно гибкий инструмент для описания реальной обстановки на местности. Вот несколько реальных примеров:
Юго-Запад Ленинградской области, дорога к базе охотников и рыбаков «Кривая Лука». Пять месяцев назад осмер под ником Sergey Astakhov отрисовал эту дорогу, обозначив ее как highway=track. На большем протяжении так оно и есть, но в паре мест, как бы вам это сказать… в паре мест то, что сейчас иначе кроме как highway=track не назовешь, в системе нечеткого тегирования выглядело бы как track(0.5),water(0.5). Или может вам больше по душе обозначение surface=water?

Другой пример из Кингиссепского района. Нарисованные по космосу тем же осмером дороги являются не чем иным как минерализованными противопожарными полосами и в системе нечеткого тегирования выглядели бы как road(0.2),ditch(1,0),forest(1.0) в том смысле, что это слабо похожая (0.2) на дорогу траншея используемая в лесном хозяйстве:

 

Другой похожий пример из Любанского района. На карте он не обозначен и честно говоря, не уверен, что есть отдельные теги для лесных волоков. Это один из главных недостатков привычной булевой классификации объектов по сравнению с нечетким тегированием. Пока старообрядцы будут выдвигать пропозалы с миллионами новых тегов, новое поколение картографов, владеющих знанием о нечетком тегировании легко опишет любой ранее невиданный объект. Например так: road(0.3),log(1,0),forest(1.0) — подобие дороги (0.3), устланное бревнами для целей лесного хозяйства.DSCN9054

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

Недосягаемый космос

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

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

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

Хорошо, что зима не длится вечно. Я был самый трезвый из кочегаров и все-равно пил так, что написал монографию, философский трактат, программу на С++ для ввода и анализа геоботанических данных и обошел в Морровинде вокруг Красной горы. Фактически, вся теория живых систем, методы расчета важности информации, понимание красоты как строгой (в математическом смысле) функции системы и диатропический подход к классификации объектов возникли во время безделья между подброской в печь дров и угля.

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

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

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

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

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

Мы рисуем контур конкретного объекта с редкостоящими дервьями, после чего решаем: отнести его к лесу, скверу или вообще к газону? Мы рисуем линию и решаем: отнести ее к ручью или ограждению (ров вокруг замка это ограждение или водоем?). Мы рисуем точку и думаем, обозначать ли этот канализационный люк как преграда на дороге, если с него раз в два месяца какие-то пидарасы снимают крышку? Возьмите OSM-мовские natural=wood и landuse=forest. Всегда ли легко установить разницу, особенно если речь идет о стране в которой лесное хозяйство официально отменено с 2007 года? А ведь это разные классы, объекты в них должны быть отличимы между собой как тротуар и ручей. Но что делать, если по тротуару уже второй год течет ручей водопроводного порыва, не мешая гулять пешеходам? Что это за объект-то такой?

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

Примитивная классификация данных OpenStreetMap позволяет отображать на карте огромное количество нюансов. Новый объект? — не вопрос, вот новое значение тега. Что-то совсем странное? — не вопрос, вот новый тег. Выбери в свое время Кост многоуровневую классификацию, мы получили бы сейчас головную боль в виде действия закона Ципфа: имели бы пять-шесть верхних классов, включающих 80-90 процентов всех объектов и овердохуя классов, содержащих по одному-два объекта. А в таком виде, классификация OSM сродни низкоуровневому языку или безработному без долгов: постоянно требуется вникать во множество деталей, зато никаких ограничений для творчества.

Лучше нынешней классификации OSM может быть только полный отказ от иерархии. Объединяем существующие теги и их значения в единые свойства и указываем наличие этих свойств у любого объекта. А поскольку свойства выражены в разной степени, добавляем значение истинности. Так для густого леса, вместо natural=wood мы получаем naturalwood=0.9, а для редкостойного, вместо natural=wood мы получаем naturalwood=0.3.

— Эй, бля! С твоей классификацией, мы получим таких монстров, что хер кто их распознает! Вот что это например за хуйня такая:  natural_wood=0.3, natural_scrub=0.2, natural_wetland=0.2, highway_construction=0.5,  highway_path=0.9,  barrier_ditch=1.0, landuse_construction=0.5, landuse_fill=0.7?

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

Я тут не буду намекать о том, что допуск отображения значения тегов через другие теги дает вообще космические возможности. Например, этот же объект можно в упрощенном виде записать как barrier: {natural_wood=0.3, natural_wetland=0.2, barrier_ditch=1.0}. Хотите увековечить на карте топиарное искусство? -говно вопрос: historic_memorial:{natural_scrub=1.0}. Обратите внимание, что в данном случае, natural_scrub относится именно к памятнику, то есть является его неотделимой частью. Если бы мы хотели обозначить могилу в кустах, то поступили бы по другому: historic_memorial=1.0, natural_scrub=0.4.

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