Здесь представлены несколько функций на JavaScript для работы с массивами как с множествами: пересечение, уникализация элементов, декартово произведение, соответствия Галуа. Как известно, конечные множества в программах можно представлять в виде массивов. Принципиальное отличие конечного множества от массива состоит в том, что оно содержит только различающиеся (уникальные элементы). Бинарное отношение можно представить как двумерный массив, состоящий из двухэлементных одномерных массивов. В каждом таком двухэлементном массиве содержится пара элементов, находящихся в рассматриваемом отношении.
Ниже перечислены функции, коды которых приведены на данной странице:
across(массив1, массив2) — пересечение массивов (массив, содержащий элементы, входящие одновременно в оба массива)
auniq(массив) — возвращает массив уникальных элементов из заданного массива. Очевидно, множества представляются массивами. Однако непустое множество должно содержать различающиеся элементы.
DP(массив1, массив2) — декартово произведение двух массивов
R1(элемент, отношение, направление) — возвращает массив всех элементов, находящихся в отношении с заданным элементом; если направление не указано, то предполагается прямое отношение, иначе — обратное; отношение задается двумерным массивом, элементы которого задаются в виде двухэлементных массивов; данная функция используется в функции Rn() (см. ниже)
Rn(массив, отношение, направление) — возвращает массив всех элементов, находящихся в отношении со всеми элементами из заданного массива ; если направление не указано, то предполагается прямое отношение, иначе — обратное; отношение задается двумерным массивом, элементы которого задаются в виде двухэлементных массивов; данная функция использует функцию R1() (см. выше)
showset(массив, x, y, z) — отображает массив в текстовой области с координатами x, y и z (z-Index)
Функции R1() и Rn() могут использоваться для определения соответствий Галуа между подмножествами множеств, элементы которых находятся в заданном бинарном отношении. Например, пусть задано некоторое бинарное отношение R между множествами A и B (отношение задано в виде двумерного массива). Тогда замыкание Галуа подмножества X множества A есть множество (массив) CX, возвращаемое следующим выражением: CX=Rn(Rn(X, R), R,1)
Ниже приводятся определения функций:
Ниже приведен пример. Чтобы выполнить этот код и посмотреть результат, щелкните на кнопке