Date post: | 03-Jan-2016 |
Category: |
Documents |
Upload: | wakanda-diaz |
View: | 23 times |
Download: | 5 times |
1
Comparing the Comparing the performance performance
of Ganter’s algorithm and of Ganter’s algorithm and ELL’s one for Galois Lattices ELL’s one for Galois Lattices
Building Building Fatma BAKLOUTIFatma BAKLOUTI
Gérard LEVYGérard LEVY
Richard EMILIONRichard EMILION
Workshop On Symbolic Data Analysis 6/05/2004
2
Plan Galois Lattices
Two algorithms :
Ganter
ELL
Experimental performance analysis
Conclusion and perspectives
3
Galois Lattices Using Galois Lattice (mathematical structure) for solving Data
Mining problems.
References :
Birkhoff’s Lattice Theory: 1940, 1973
Barbut & Monjardet : 1970
Wille : 1982
Chein, Norris, Ganter, Bordat, …
Diday, Duquenne, …
Emilion, Lévy, Diday, Lambert
Basic Concepts :
Context, Galois connection, Concept.
4
Context = (O, A, I) : O : finite set of examples A : finite set of attributes I : binary relationbinary relation between O and A, (I O x A)
Example :
A a b c
1 1 1 1
2 1 1
3 1 1
O
Galois Lattices - Definition
5
Galois connection
Oi O and Ai A, we define f et g like this :
f : P(O) P(A) f(Oi) = {a A / (o,a) I, o Oi} intent
g: P(A) P(O) g(Ai) = {o O / (o,a) I, a Ai} extent
f et g are decreasing applications
h =g · f and k = f · g, are :
Increasing O1 O2 h (O1) h (O2)
Extensive O1 h (O1)
Idempotent h (O1) = h · h (O1)
h and k are closure operators.
(f,g) = Galois connection between P(O) and P(A)
Galois Lattices - Definition
6
Concept
Oi O et Ai A,
(Oi, Ai) is a concept iff Oi is the extent of Ai and Ai is the intent of Oi
Oi = g (Ai) and Ai = f(Oi)
L ={(Oi, Ai) P(O)P(A) / Oi= g(Ai) et Ai = f(Oi)} : concepts set.
L: ordered set by the relationship ≤
(O1, A1) ≤ (O2, A2) iff O1 O2 (or A2 A1).
Galois Lattice
T=(L, ≤) an ordered set of concepts.
Galois Lattices - Definition
7
Concept: Example
O1 = {6,7} f(O1)= {a,c} intent
A1 = {a,c} g(A1)= {1,2,3,4,6,7} extent
Remark: h(O1)= g · f(O1)= g(A1) ≠ O1
({6,7} , {a,c}) L
({1,2,3,4,6,7}, {a,c}) L
Because:
h({1,2,3,4,6,7}) = g · f({1,2,3,4,6,7})
= g ({a,c})
= {1,2,3,4,6,7}
Galois Lattices - Definition
a b c d e f g h1 1 1 1 1 1 1 12 1 1 1 1 1 1 13 1 1 1 1 1 1 14 1 1 1 1 15 1 1 1 1 16 1 1 1 17 1 1 1
8
1234567, a
123456, ab123467, ac
12345, abd 12346, abc 12356, abe
1236, abce1235, abde1234, abcd
236, abceh123, abcde135, abdeg
1247, acf
124, abcdf
12, abcdef 13, abcdeg 23, abcdeh
3, abcdegh1, abcdefg 2, abcdefh
Ø, abcdefgh
9
Ganter AlgorithmLexicographic order
1111
0
x1
x2
x3
x4
0 1
0
0
0
11
1 1 1 1
1 1 1 1 11
0
0 0
01 00 0 0
0000 0001 0010 0011 0111 1000
a (a1, …, ai-1, ai, bi+1, …, bn)
a+ (a1, …, ai-1, 1+ai, 0, …, 0 )
a* (a1, …, ai-1, bi, bi+1,…, bn)
k (a+) = f (g (a+)) = y
If a+ y a* y closest closed of a
a = a*
aa ( 0 1 1 1 )
a+
a+ ( 1 0 0 0 )
a*
a* ( 1 1 1 1 )
10
Ganter Algorithma (a1, …, ai-1, ai, bi+1, …, bn)
a+ (a1, …, ai-1, 1+ai ,0, … ,0 )
a* (a1, …, ai-1, bi, bi+1,…, bn)
a+( 1, 2, 0, 0, 0 )
a*( 1, 3, 5, 2, 1 )
a ( 1, 1, 5, 2, 1 ) 0 x5 10 x4 20 x3 5 0 x2 30 x1 3
k (a+) = f (g (a+)) = ?
Example :
11
Context : < I, F, d >
T = <F, , , ≤>
Tj= <Fj, j, j, ≤j> for all j de J, J = [1,n]
d: I F
di = (di1,…, dij,…, din) : description of the individual i relatively to the attributes j of J.
di1 dij din
dk1 dkj dkn
1
i
kInd
ivid
uals
I
1 2 j n
x I
f (x) = d(i) i x Intent
z F
g (z) = { i I | z ≤ d(i) } Extent
Generalized Galois Lattices
12
ELL Algorithm For two disjoint subsets X0 and K of I, ELL lists all the closed sets
of I obtained by extending X0 with some elements of K. Let X0 and K Ø and i0 K.
1) h (X0 U {i0}) = { i I : f (X0) f (i0) ≤ f (i) }
= X0 U A (X0 h (X0) h (X0 U {i0}) )
where
A = { i I \ X0: f (X0) f (i0) ≤ f (i) }2) If a closed set contains X0 and i0, then it also contains A.
Hence, if A K then (X0 U A) is the smallest closed set containing X0 and i0
and contained within X0 U K.
X = X0 U A, K = K / A3) If a closed set contains X0 and does not contain i0, then it also does not
contain any element of the set.
R = { i K: f (X0) f (i) ≤ f (i0) }, K = K / R
13
ELL AlgorithmGL = Ø.
Procedure: Closed (X0, K)
Var i0: element of I, z, z0: elements of F; X, A, R: subsets of I; begin
z0 = f (X0);if K ≠ Ø then
begin
choose an element i 0 of K;
z = z0 f (i0); A = {i I \ X0: z ≤ f (i)};if A K thenbegin
X = X0 U A; insert node (X, z) in ELL;Closed (X, K\A);
end;
R = {i K: z0 f (i) ≤ f (i0)}; Closed (X0, K \ R);end;
end;
14
Example X0 = Ø and K = I = {1, 2, 3, 4, 5}
We choose the element i0 = 1 of K; f (X0) = z = 1F = (3, 2, 3) z = z0 f (i0) = (3, 2, 3) (0, 1, 1) = (0, 1, 1) h (X) = { i I : f (X0) f (i0) ≤ f (i) } = {1, 4} A = { i I \ X0: z ≤ f (i)}= {1, 4} A K X = {1, 4} and z = (0, 1, 1), (X, z) Closed item pair X = X0 A = Ø {1, 4}
X0 = {1, 4} and K = {2, 3, 5} We choose the element i0 = 2 of K; f (X0) = z = (0, 1, 1) z = z0 f (i0) = (0, 1, 1) (2, 0, 1) = (0, 0, 1) A = {i I - X0: z ≤ f (i)}= {2, 3} K X = X0 A = {1, 4, 2, 3} X = {1, 4, 2, 3} and z = (0, 0, 1), (X, z) Closed item
pair ….
1 2 3
1 0 1 1
2 2 0 1
3 3 0 3
4 1 2 3
5 2 1 0
15
Total number of closed pairs (X, z) of lattice T =GL (C) =14. pair (1)= x = {1,4,} z = {0,1,1,} pair (2)= x = {1,4,3,2,} z = {0,0,1,} pair (3)= x = {1,4,3,2,5,} z = {0,0,0,} pair (4)= x = {1,4,5,} z = {0,1,0,} pair (5)= x = {2,3,} z = {2,0,1,} pair (6)= x = {2,3,5,} z = {2,0,0,} pair (7)= x = {2,3,5,4,} z = {1,0,0,} pair (8)= x = {2,3,4,} z = {1,0,1,} pair (9)= x = {5,} z = {2,1,0,} pair (10)= x = {5,4,} z = {1,1,0,} pair (11)= x = {3,} z = {3,0,3,} pair (12)= x = {3,4,} z = {1,0,3,} pair (13)= x = {4,} z = {1,2,3,} pair (14)= x = {} z = {3,2,3,}
The case X0 = Ø isn’t treated by the algorithm so the test must be added. In this example:
X = Ø f (X) = z = 1F = (3, 2, 3) g (z) = {i I/ z ≤ d (i)} = Ø X = Ø and z = 1F = (3, 2, 3), (X, z): Closed item pair
16
Experimental Performance Analysis
M N Time ELL Time Ganter CN
20 40 2640,6 36573,50 367261
20 50 4222,00 88149,90 541192
20 60 5575,00 170220,30 670195
20 70 8384,60 324807,60 881592
20 80 9581,40 499229,50 845229
20 90 11007,90 714281,20 940133
20 100 12525,10 1018060,80 983606
30 10 143,90 223,30 17222
30 20 7953,20 22231,10 1243216
30 30 76332,90 415517,1 8899601
30 40 276812,7 2369779,5 19891269
• Time in ms M: number of individuals
• CN : Closed Number N : number of attributes
17
Experimental Performance Analysis
0.00
500000.00
1000000.00
1500000.00
2000000.00
2500000.00
40 50 60 70 80 90 100 10 20 30 40
20 20 20 20 20 20 20 30 30 30 30
Data context (M, N)
Tim
e (m
s) ELL
Ganter
18
Other Data types …x y
1 [1,1] [3,4]
2 [1,1] [0,2]
3 [1,3] [0,4]
4 [0,1] [0,2]
5 [0,0] [3,3]
b1 [0,1] [0,4]
Intent:
f (x) = d(i) i x
x = {1,3}
x1 x3 = [1,1] [1,3] = [1,1]
y1 y3 = [3,4] [0,4] = [3,4]
Extent :
g (z) = {i I | z d(i)}
z = [1,1] [3,4]
g (z) = {1,3}
19
x z1 z2
1 [0,1] [0,4]
2 {1,3} [1,1] [3,4]
3 {1,2,3,4} [1,1] 4 {1,2,3,4,5} 5 {1,3,5} [3,3]
6 {2,3,4} [1,1] [0,2]
7 {3} [1,1] [0,4]
8 {4} [0,1] [0,2]
9 {4,5} [0,0] 10 {5} [0,0] [3,3]
Closed pairs :
20
; ([0,1] [0,4])
{3}; ([1,1] [0,4]) {4} ; ([0,1] [0,2]) {5} ; ([0,0] [3,3])
{1,3} ; ([1,1] [3,4]) {4,5} ; ([0,0] )
{1,3,5} ; ( [3,3]) {2,3,4} ; ([1,1] [0,2])
{1,2,3,4} ; ([1,1] )
{1,2,3,4,5} ; ( )
1
7 108
2 9
5 6
3
4
21
Problems Large data volume:Large data volume:
Partition data on different server nodes
Process in parallel locally
Group results on one (client) node
Post-process
Our tool:
SDDS (Scalable Distributed Data Structures )
Conclusion and perspectives
22
Solutions Column-sharing Row-sharing
«Parallel Algorithms for General Galois lattices building»
Fatma BAKLOUTI and Gérard LEVY
4th Int. Workshop on Distributed Structures (WDAS 2003)
Conclusion and perspectives
23
Conclusion and perspectives
Generalized Galois Lattices.
Problem of large data base can be perhaps
resolved in our way.
Sharing context into two subsets.
Possibility of building different architectures
for station’s networks.
24
Thank you for Your Attention