Чи існує структура даних для напіврешіток, схожа на структуру даних дерева?


13

Якщо ми розглядаємо дерево як часткову впорядковану множину, воно стає особливим випадком стику-напіврешітки. Для приєднання-напіврешітки ми хочемо мати можливість обчислити (унікальну) найменшу верхню межу двох елементів (більш-менш). У випадку з деревом структура даних, яка б це дозволила, буде зберігати для кожного елемента у відповідному вузлі вказівник на батьківське і мірку відстані до кореня. (Власне, маркування на основі топологічного сортування, яке зазвичай використовується для "міри відстані до кореня", фактично все, що потрібно, - сумісний частковий порядок, який можна оцінити ефективно).

Кожна кінцева приєднана напіврешітка може бути представлена ​​у вигляді набору підмножин скінченного набору з обмеженням у порядку, таким, що найменша верхня межа задається об'єднанням множин. Отже, представлення кожного елемента обмеженою кількістю тегів та обчислення найменшої верхньої межі об'єднанням відповідних тегів було б однією можливою структурою даних. (Дивлячись на доповнення, видно, що визначити найменшу верхню межу як перетину відповідних тегів також було б можливо.) Набагато більш поширеною структурою даних є просто використання матриці для зберігання всіх результатів "a <= b "або навіть усі результати" join (a, b) ".

Однак використання такої структури даних для зображення дерева було б дивним. Чи є більше подібних до дерев структур даних для приєднання-напіврешіток, які все ще дозволяють (більш-менш) ефективно обчислити (унікальну) найменшу верхню межу двох елементів? (Можливо, якийсь спрямований ациклічний графік з додатковою інформацією у вузлах, подібний мірі відстані до кореня для дерева?)


2
Теорема 2.2 з math.hawaii.edu/~jb/math618/os2uh.pdf показує, що напіврешітка може бути представлена ​​у вигляді набору підмножин (порівняно тривіально), як передбачалося вище.
Томас Клімпель

Відповіді:


9

Цей поштовий блог з теорії грат має корисний довідковий розділ, який містить серед інших "Теорію ґратки з додатками" Віджая К. Гарга. Глава 2 "Представлення наборів" описує деякі структури даних для представлення постів, а також розглядає, як обчислити об'єднання (x, y), використовуючи таку структуру даних.

Перші дві структури даних, що обговорюються, являють собою представлення списку суміжності графіка перехідного скорочення (= діаграма Хассе / відношення кришки) та графіка перехідного закриття (= відношення позета). Зауваження про переваги використання топологічного сортування для позначення вузлів передує цій дискусії. Зауважте, що мітки топологічного сортування були б досить хорошими як "міра відстані до кореня", яка була однією з частин структури даних для дерева у питанні.

Інші обговорювані уявлення - це "Скелетне уявлення", "Матричне представлення" та "Представлення на основі розмірів". "Скелетна репрезентація" цікава і корисна, але заснована на (= будь-якій) ланцюговій декомпозиції групи. "Матричне представлення" може здатися тривіальним, але воно, мабуть, є найкращим представленням для більшості практичних проблем. "Представлення на основі розмірів" являє собою порис як підмножину декартового добутку лінійних порядків, але обчислення мінімального представлення такого роду є важким для NP.

На закінчення, найбільш деревоподібне їх представлення - це представлення списку суміжності перехідного скорочення разом з міткою вузлів топологічним родом (замість "міри відстані до кореня"). Це фактично одне із уявлень, якими користується Сейдж (інше - "Матричне представлення").

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.