Гомоморфные и изоморфные отображения

Отображение сопоставляет каждому элементу один элемент .

  • инъекция: разные элементы не склеиваются;
  • сюръекция: каждый элемент имеет прообраз;
  • биекция: одновременно инъекция и сюръекция, поэтому существует однозначное обратное отображение.

Для моделирования важны не только элементы, но и сохранение операций и отношений.

Гомоморфизм

Гомоморфизм сохраняет выбранную структуру. Для операции :

Например, модель графа сервисов может объединить несколько экземпляров в один узел «сервис», но сохранить отношение «вызывает». Детали потеряны, а нужная для анализа связь осталась.

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

Изоморфизм

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

Оригинал: A -> B -> C
Модель:   1 -> 2 -> 3

Если соответствие взаимно однозначно и других значимых связей нет, графы изоморфны.

Что это даёт при моделировании

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

  • достижимость состояний;
  • порядок событий;
  • пропускную способность;
  • зависимость компонентов;
  • инварианты данных.

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

Самопроверка

  • Какие детали теряются при гомоморфном отображении?
  • Почему изоморфизм зависит от выбранной структуры?
  • Должна ли полезная модель быть изоморфной оригиналу?