Транзитивный остов — различия между версиями
(Новая страница: «{{Определение |definition= '''Транзитивным остовом''' (''transitive reduction'') [[Определение отношения|отн...») |
|||
| Строка 3: | Строка 3: | ||
'''Транзитивным остовом''' (''transitive reduction'') [[Определение отношения|отношения]] <tex> R </tex> на множестве <tex> X </tex> называется минимальное отношение <tex> R' </tex> на <tex> X </tex> такое, что [[транзитивное замыкание]] <tex> R' </tex> равно транзитивному замыканию <tex> R </tex>. | '''Транзитивным остовом''' (''transitive reduction'') [[Определение отношения|отношения]] <tex> R </tex> на множестве <tex> X </tex> называется минимальное отношение <tex> R' </tex> на <tex> X </tex> такое, что [[транзитивное замыкание]] <tex> R' </tex> равно транзитивному замыканию <tex> R </tex>. | ||
}} | }} | ||
| + | |||
| + | == Алгоритм == | ||
| + | Воспользуемся определениями транзитивного замыкания и [[Транзитивное отношение|транзитивного отношения]]. Изначально <tex> R' = R </tex>. Очевидно, что если для <tex> a, b, c \in X </tex> существуют <tex> aRb, bRc, aRc </tex>, то из <tex> R' </tex> нужно исключить <tex> \left < a, c \right > </tex>. | ||
| + | R' = R | ||
| + | for (each a in X) | ||
| + | for (each b in X) | ||
| + | for (each c in X) | ||
| + | if (aRb and bRc and aRc) | ||
| + | R'.delete(pair(a, c)) | ||
== Источники == | == Источники == | ||
* [http://en.wikipedia.org/wiki/Transitive_reduction Wikipedia: Transitive reduction] | * [http://en.wikipedia.org/wiki/Transitive_reduction Wikipedia: Transitive reduction] | ||
Версия 21:03, 10 апреля 2012
| Определение: |
| Транзитивным остовом (transitive reduction) отношения на множестве называется минимальное отношение на такое, что транзитивное замыкание равно транзитивному замыканию . |
Алгоритм
Воспользуемся определениями транзитивного замыкания и транзитивного отношения. Изначально . Очевидно, что если для существуют , то из нужно исключить .
R' = R
for (each a in X)
for (each b in X)
for (each c in X)
if (aRb and bRc and aRc)
R'.delete(pair(a, c))