Алгебра отношений как модель человеческого мышления

advertisement
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
Алгебра отношений как модель человеческого
мышления Философско-математическое эссе
http://konstkaras.narod.ru/1/sql.html
Во время одной из лекций по философии меня неожиданно посетила
весьма странная мысль: алгебра отношений, на которой построена
теория реляционных баз данных и язык SQL, может быть неплохой
моделью человеческого мышления. Я, конечно, не претендую на
какое-то открытие, но попробую сначала аргументировать эту идею, а
затем проанализировать, как у меня появилась эта мысль.
Итак, в реляционной алгебре, как по-другому называют алгебру
отношений, объектом, хранящим знания, является отношение, по
определению из теории представляющее собой некоторую таблицу. В
математике отношение определяется как подмножество декартова
произведения некоторых множеств, то есть множество "кортежей",
упорядоченных множеств из элементов по одному из каждого
множества, составляющего декартово произведение. Каждый элемент
отношения, таким образом, соответствует записи, строке таблицы,
множества, между которыми устанавливаются отношения - доменам,
типам данных в столбцах и в некотором смысле самим столбцам,
называемым полями. Многие отношения, однако, не представимы в
виде конечных таблиц, и редко в человеческом сознании они
возникают именно как таблицы. Также в алгебре отношений есть
понятия двух операций выбора и соединения. Ниже будет показано,
как они проявляются в мышлении.
Рассмотрим простейшее отношение x+y=z, или "слагаемое1слагаемое2-сумма" над декартовым произведением трёх экземпляров
некоторой абелевой группы. Едва ли, видя данное выражение,
человек представляет себе, что тройка (x,y,z) является строкой
некоторой таблицы. Скорее всего, это выглядит так: если применить
над объектами x и y операцию сложения, по закону, заданному
группой, то результат будет эквивалентен объекту z. Проанализируем
это утверждение, что представляет собой операция? Если закон
сложения в группе применять абстрактно, то он сам представляет
собой само это отношение. При этом операция сложения, в сущности,
есть операция выбора - в таблице ищется строка, первый элемент
которой совпадает с x, а второй - с y. Результатом выборки будет
строка (x,y,z), или x+y=z в принятых обозначениях, но как результат
операции нас интересует только третий столбец таблицы. Пусть
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
теперь имеется какое-то конкретное описание закона умножения в
группе в виде алгоритма, формулы, или группа является
подмножеством множества действительных чисел или какого-либо
другого известного пространства с сохранением операции сложения.
Человек имеет перед собой записи двух объектов и задачу их
сложить. При этом на каком-то шаге может возникнуть необходимость
выбора из нескольких возможных методов вычисления, в зависимости
от свойств объектов. Здесь мы приближаемся к тому, что объектами
отношений могут быть также утверждения, теоремы, даже алгоритмы,
что приближает мышление к математическому. Итак, человек
выбирает из известных ему методов подходящие свойствам объекта.
При этом речь идёт об использовании не самого объекта, а некоторых
содержащихся в нём свойств, кажется, что отношение объекта и
подходящих методов нарушает первую нормальную форму, согласно
которой описания объектов должны быть атомарными. Но свойства
объекта представляются как некоторые функции от объекта, то есть
результат применения операции выбора из отношения "объектсвойство", причём "свойство" логически - это незамкнутая формула,
где объект - свободная переменная. Можно также считать, что объект
уже представляет собой набор свойств, и входит только своими
свойствами, причём как "сам объект" мы рассматриваем
идентификатор, первичный ключ в отношении "объект-свойство1...свойствоN", здесь поля "свойство1"... "свойствоN" принимают
значения да/нет. Но я предпочту рассмотреть первый вариант. Здесь с
помощью отношений "объект-свойство" и "свойство-метод"
вычисляется отношение вида "объект-метод" - "к данному объекту
можно применить данный метод", что является результатом операции
соединения по полю "свойство". Мы свели выбор возможных методов
к операциям алгебры отношений.
В чём же может заключаться сам конкретный метод? Мы можем
каким-то образом группировать символы, входящие в записи объектов
- но это в чистом виде операции алгебры отношений. Мы можем
применять некие элементарные арифметические действия. От
обозначения этих действий не избавлены даже SQL-коды, однако тот
факт, что младшие школьники изучают арифметические действия в
виде таблиц, сводит их также к операции выбора. Человек, возможно,
в большей степени основывается на алгебре отношений, чем
современная реляционная база данных! Наконец, мы можем
использовать для вычислений разнообразные машины, чертёжные и
письменные приборы - но, поскольку их действие описывается как
нечто внешнее к разуму человека, их использование в теории
соответствует взаимодействию базы данных с внешними объектами.
Человек нашёл результат вычисления Z=x+y, осталось выяснить, что
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
значит равенство результата Z и заданного объекта z. Думаю, что
здесь следует признать отношение "эквивалентности" или
"совпадения" объектов не как таблицу, а как некое первичное
отношение, лежащее за пределами моделирования реляционной
алгеброй. Такое отношение просто необходимо, иначе определение
возможных операций выбора невозможно.
Мы рассмотрели некий вычислительный процесс. Существующая
формализация логики может свести логические рассуждения к некому
подобию вычислений, следовательно, их можно свести к операциям
алгебры отношений. Например, правило modus pones можно
представить так: для утверждения А из отношения "посылка следствие" берутся все "следствия" из записей, "посылками" которых
является А. Аксиомы вывода же являются отношениями в явном виде.
Следующим обобщением будет приложение алгебры отношений к
человеческому мышлению вообще, как способности накапливать
факты, обобщать, делать выводы.
Здесь возникают особенности мышления человека по сравнению с
реально возникающими реляционными базами данных. Человек, во
всяком случае, близкого ко мне склада ума, не хранит больших
таблиц, а предпочитает пользоваться сложными системами из многих
отношений, содержащих небольшое число строк. Часто отношения
существуют виртуально, возникая в процессе рассуждения и
впоследствии забываясь; также таблицы заполняются далеко не
полностью и мыслящий субъект зачастую имеет мало представлений
о том, что он знает, а что нет. Наконец, человеческие знания почти
всегда нарушают всяческие "нормальные формы" и существующие
рекомендации для создания баз данных.
Установление общности различных областей математики, о котором
пишет Пуанкаре, является проявлением подобных особенностей.
Видимо, все доступные человеку знания хранятся в огромной и не
обозримой сразу таблице из двух столбцов, выражающей отношение
"как-то связаны". Обычно поиск нужной для решения задачи связи
происходит в "близкой", хорошо известной человеку области;
талантливый же ум, как можно сказать, использует необычные
алгоритмы поиска, зачастую случайные, сравнимые с методом МонтеКарло, применением псевдослучайных последовательностей в
криптографии и так далее; разумеется, здесь также не обходится без
подсознания.
Я попытаюсь вспомнить, как мне пришла эта мысль. На лекции по
философии лектор произнёс, что возможное появление новых
философских или иных теорий, описывающих человеческое
мышление, неизбежно приведёт к появлению новых научных теорий,
подобно тому, как развитие позитивизма в конце XIX - начале ХХ века
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
привело к появлению теории относительности. Я подумал, что сейчас
скорее возникают новые теории относительно искусственного
интеллекта, нежели человеческого, поскольку потребность в первых
несравненно выше, а эпоха возникновения кибернетики, когда на
машины теоретически переносились представления о человеческом
разуме давно прошла. В качестве примера мне вспомнилась
реляционная алгебра, видимо, в связи с презентацией одной фирмы,
на которой я недавно побывал. Вторично идея всплыла при
обсуждении статьи Пуанкаре на семинаре; третий раз я укрепился в
своём мнении на лекции, во время которой преподаватель сказал,
вопреки Кнуту, что программирование, в сущности, едино с
математикой, и любая работающая программа есть доказанная
теорема. Последнее утверждение сблизило для меня
программирование с математикой, причём первое я связывал с
реляционной алгеброй, а математику - с человеческим мышлением.
Могу сказать так: идеи, как идея мышления и идея реляционной
алгебры, находились для меня в отношении "идея-проявление", я
нашёл общие проявления и провёл операцию соединения, получив
пару связанных идей. Видимо, ссылка на реляционную алгебру
лежала у меня в "кэше", области памяти с более быстрым доступом.
Уже при написании этого текста я понял общность отношения как
таблицы и отношения в математике, представляемого как "значок
между объектами".
В наше время человек всё чаще сравнивает себя с компьютером,
подобно тому, как представитель дикого племени с тотемным
животным. В общем, можно представить человека как
программируемое устройство, а разум его - как сложную программу,
написанную Богом. Вмешательства подсознания можно
рассматривать как наличие параллельных процессов, сигналы
естественных потребностей и чувств, часто влияющие на разум - как
особенности оборудования. Наверное, в силу своей идеальности, Бог
программирует человека исключительно на ассемблере (или в самом
машинном коде), однако структура ассемблера для человека далека
от структуры ассемблера для современных процессоров. Здесь я
предполагаю, что этот язык близок к языку SQL, и при этом
использованы передовые методы объектно-ориентированного
программирования, как минимум, объекты хранятся в одном
экземпляре и вместо самих объектов в таблицах хранятся ссылки на
них. Я надеюсь, что данная мысль нисколько не умаляет красоты и
величия человеческого сознания и не звучит унизительно, подобно
некоторым современным психологическим и социологическим
теориям.
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
Download