Нечеткое сравнение коллекций семантический и алгоритмический аспекты


Сравнение мультимножеств


Перейдем к задаче сравнения мультимножеств

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

Сравнение мультимножеств

В используемых обозначениях Z — множество целых чисел. Положительное значение параметра n в операции изменения кардинальности card(x,n) указывает на добавление элемента в коллекцию соответствующее число раз, отрицательное значение — на удаление элемента из коллекции. Нулевое значение n не содержательно для представления дельты, поскольку означает, что количество экземпляров элемента в коллекции не изменилось. В корректно сформированном представлении дельты

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

Применение базовой операции дельты card(x,n) состоит в кратном добавлении соответствующего элемента x при положительном значении параметра n и в его кратном удалении при отрицательном значении параметра. Это гарантирует выполнение необходимого тождества

Сравнение мультимножеств
.

Две операции

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

Содержание раздела