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


Коллекции с ограниченной мощностью


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

Пусть задано следующее ограничение мощности коллекции:

Коллекции с ограниченной мощностью
, где
Коллекции с ограниченной мощностью
. Частный случай
Коллекции с ограниченной мощностью
 соответствует коллекции фиксированной мощности. Если
Коллекции с ограниченной мощностью
 и
Коллекции с ограниченной мощностью
 — соответствующие подмножества операций вставки и удаления исходного представления дельты
Коллекции с ограниченной мощностью
, то должно выполняться следующее дополнительное условие:
Коллекции с ограниченной мощностью
.

Очевидно, что в случае фиксированной мощности

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

В случае конкурентных транзакций

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

Рассмотрим следующий пример. Пусть

Коллекции с ограниченной мощностью
 — базовая и модифицированные версии мультимножества символов с ограниченной мощностью
Коллекции с ограниченной мощностью
:
Коллекции с ограниченной мощностью
,
Коллекции с ограниченной мощностью
,
Коллекции с ограниченной мощностью
.
Тогда дельты, вычисленные путем сравнения модифицированных версий с базовой, представляются как
Коллекции с ограниченной мощностью
,
Коллекции с ограниченной мощностью
. Операции
Коллекции с ограниченной мощностью
 и
Коллекции с ограниченной мощностью
 эквивалентны, поэтому в результирующую дельту следует включить любую из них. Операция
Коллекции с ограниченной мощностью
 не конфликтует ни с одной другой операцией, поэтому переносится в результат без изменений. Наконец, операции
Коллекции с ограниченной мощностью
 и
Коллекции с ограниченной мощностью
 конфликтуют друг с другом. Согласно рассмотренным выше методам согласования изменений для мультимножеств, конфликт можно разрешить выбором кратности вхождения элемента e из интервала [2, 4]. Однако выбор значения кратности, равного 4, приводит к нарушению ограничения мощности результирующего мультимножества, в которое в таком случае войдет 7 элементов. Следовательно, допустимыми значениями кратности вхождения элемента e в итоговую коллекцию являются 2 и 3. В случае принятия второго значения результирующая дельта приобретает вид:
Коллекции с ограниченной мощностью
, а итоговое семантически корректное представление мультимножества —
Коллекции с ограниченной мощностью
.

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