Require: seq ≔ vector of expected number of neighbors |
Require: liste
≔ vector of criterion values |
(1) for all seq do |
(2) Compute the binary matrix of common neighbors for seq |
(3) Compute the scalar products matrix of |
(4) () (sort the individuals) |
(5) (, ), compute the criterion |
(6) liste(liste, ) |
(7) end for |
(8) arg |
(9) |
(10) |
The PB-Clus algorithm returns the minimum of the criterion , |
the related number of common neighbors and the optimal sorting matrix . |
(1) procedure SORT() |
(2) (, ) |
(3) liste ≔ list of individuals whose common neighbors () is non-zero () |
(4)
≔ the individual for which is maximum |
(5)
≔ 0 (list containing the ranking value of the individuals) |
(6) repeat |
(7) merge(.perm, liste[.col]) |
(8) if length(.cor) ≥ 1 then |
(9) [(.cor, .ind), (.cor, .ind)] |
(10) [(.cor, .ind)] |
(11) if length(.cor) > 1 then |
(12) (1, ) |
(13) end if |
(14) else |
(15) [.ind, .ind] |
(16) liste = liste[.ind] |
(17) if length(.cor) > 1 then |
(18) = arg () |
(19) [.ind, .ind] |
(20) colinear(, ) |
(21) end if |
(22) end if |
(23) until length(liste) > 1 |
(1) procedure COLINEAR(, ) returns 3 different lists |
(2)
≔
th line of |
(3) .col ≔ list of individuals that are colinear with |
(4) .cor ≔ list of individuals that are correlated with |
(5) .ind ≔ list of individuals that are independent of |