>>  <<  Ркв  Ввд  JfC  LJ  Фрз  Слв  Изм  Рзг  !:  Помощь  Словарь

21. Замыкание

Так же как b imfam cm дает ближайшее окружение b, фраза cm imfam cm производит ближайшее окружение каждой строки cm. Для наглядности возьмем теперь более разреженную матрицу смежности и будем применять к ней степени imfam , производя последовательные поколения ближайшего окружения. Как видим, возводя этот глагол в бесконечную степень, мы получим замыкание матрицы смежности. Тоесть, матрицу смежности всех точек, соединенных путями любой длины:
   cm=: (i. =/ <:@i.) 8
   <"2 cm imfam^:0 1 2 _ cm
+---------------+---------------+---------------+---------------+
|0 1 0 0 0 0 0 0|0 1 1 0 0 0 0 0|0 1 1 1 0 0 0 0|0 1 1 1 1 1 1 1|
|0 0 1 0 0 0 0 0|0 0 1 1 0 0 0 0|0 0 1 1 1 0 0 0|0 0 1 1 1 1 1 1|
|0 0 0 1 0 0 0 0|0 0 0 1 1 0 0 0|0 0 0 1 1 1 0 0|0 0 0 1 1 1 1 1|
|0 0 0 0 1 0 0 0|0 0 0 0 1 1 0 0|0 0 0 0 1 1 1 0|0 0 0 0 1 1 1 1|
|0 0 0 0 0 1 0 0|0 0 0 0 0 1 1 0|0 0 0 0 0 1 1 1|0 0 0 0 0 1 1 1|
|0 0 0 0 0 0 1 0|0 0 0 0 0 0 1 1|0 0 0 0 0 0 1 1|0 0 0 0 0 0 1 1|
|0 0 0 0 0 0 0 1|0 0 0 0 0 0 0 1|0 0 0 0 0 0 0 1|0 0 0 0 0 0 0 1|
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0|
+---------------+---------------+---------------+---------------+
Таким образом, замыкание cm можно выразить как cm imfam^:_ cm, , а осуществляющую его монадную функцию как:
   (closure=: imfam^:_ ~) cm
0 1 1 1 1 1 1 1
0 0 1 1 1 1 1 1
0 0 0 1 1 1 1 1
0 0 0 0 1 1 1 1
0 0 0 0 0 1 1 1
0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0
Фиксируя определение этого глагола, мы увидим полное определение замыкания:
   closure f.
([ +. +./ .*.)^:_~



>>  <<  Ркв  Ввд  JfC  LJ  Фрз  Слв  Изм  Рзг  !:  Помощь  Словарь