Matrix Modeling

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

Blacklist Matrix Modeling

Question:

For instance, A, B, C, D are all subscribers.

A has a black list, for instance, which includes

subscribers B, C, D. We call this blacklist is

user width blacklist. It means that user B, C, D

all have no rights to send message to A.

Vice versa, User A also can’t send to B, C, D.

In another words, there is no communication

path available between A and B, C, D.

In following a series of figures, crossing points

of A (line/column) and B, C, D (column/line) will

be marked with X (A). The reason why there is

(A) beside X is in order to correctly set X to O

or not when removing B, C, D from User A’s

blacklist.

Legend:

v S : System width blacklist flag

It means that this subscriber is

Prohibited by system whatever

sender or receiver.

v D : disable flag

It means that this subscriber is

prohibited, probably temporarily.

Scenario:

1. Firstly, constructs a matrix including all

users. The status of all elements in matrix is Ok.

A

B

C

D

E

A

O

O

O

O

O

B

O

O

O

O

O

C

O

O

O

O

O

D

O

O

O

O

O

E

O

O

O

O

O

2. Next, fills system width blacklist into matrix

v D

A

B

C

D(s)

E

A

O

O

O

X

O

B

O

O

O

X

O

C

O

O

O

X

O

D(s)

X

X

X

X

X

E

O

O

O

X

O

3. Next, fills disable users into matrix.

v B

A

B(d)

C

D(s)

E

A

O

X

O

X

O

B(d)

X

X

X

X

X

C

O

X

O

X

O

D(s)

X

X

X

X

X

E

O

X

O

X

O

4. Next, fill in User lever Blacklist Rules

(focus on line and column):

v A: B, C

v B: A, D

v C: -----

v D: A, E

v E: B, D

A

B(d)

C

D(s)

E

A

O

X(A,B)

X(A)

X(D)

O

B(d)

X(A,B)

X

X

X(B)

X(E)

C

X(A)

X

O

X

O

D(s)

X(D)

X(B)

X

X

X(D,E)

E

O

X(E)

O

X(D,E)

O

All Blacklists ‘ importing job is done.

Passable Ways all are marked with O.

A lot of matrix algorithms can be taken to implement

interfaces:

1. Enable/Disable user

2. Insert/Remove user from system width blacklist

3. Add/Remove user B from user A’s blacklist

4. Finding available paths .For example:

E as a sender sends message to B, C, D receivers.

From above figure, it is so easy to draw a conclusion

who E can send MESSAGE to. But detailed operations

can take following steps:

v Firstly, select E’s blacklist.

First parameter is a vector, which is used to record

station of E element.

| 1 0 0 0 1 |

| 0 0 0 0 0 |

{0, 0, 0, 0, 1} | 0 0 1 0 1 | = {1, 0, 1, 0, 1}

| 0 0 0 0 0 | (just last line)

| 1 0 1 0 1 |

v Receivers vector: {0, 1, 1, 1, 0}, blacklist {1, 0, 1, 0, 1},

We can regard them as an integer respectively to

operate bits.

01110 & 10101 = 00100

It is obvious that E can only send to C.

We can only focus on O or X elements.

Then constructs 稀疏矩阵. 采用十字链表实现。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航