22
1 Jongwuk Lee Dept of Software, Sungkyunkwan University Hyeonseung Im Dept of Computer Science, Kangwon National University Sung-Soo Kim ETRI cient Linear Skyline Algorithm in Two-Dimensional S

Efficient linear skyline algorithm in two dimensional space

  • Upload
    -

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Efficient linear skyline algorithm in two dimensional space

1

Jongwuk LeeDept of Software,Sungkyunkwan

University

Hyeonseung ImDept of Computer Science, Kangwon National University

Sung-Soo KimETRI

Efficient Linear Skyline Algorithm in Two-Dimensional Space

Page 2: Efficient linear skyline algorithm in two dimensional space

계산에 사용되는 개념 정리01

C O N T E N T S

2

Page 3: Efficient linear skyline algorithm in two dimensional space

1. 계산에 사용되는 개념 정리

1.1) 지배 (dominance)

3

1) 정의

2) 예시

튜플 p 가 모든 속성에 대해서 튜플 q 보다 작거나 같고 , 최소한 하나의 속성에 대해서 p 가 q 보다 작을 경우 (), p 는 q 를 지배 (p q)≺ 한다고 한다 .

• p(2,2), q(2,1)• p(1,10), q(11,12)

Page 4: Efficient linear skyline algorithm in two dimensional space

1. 계산에 사용되는 개념 정리

1.2) 스카이라인 (skyline)

4

1) 정의

2) 예시

스카이라인은 전체 집합 S 에서 다른 어떤 튜플에도 지배되지 않은 튜플들의 집합이다 . sky(S) = { p S | q S: p q }∈ ∄ ∈ ≺

• sky(S) = { a(1,10), b(2,8), f(7,7), g(8,2), h(10,1)}

Page 5: Efficient linear skyline algorithm in two dimensional space

1. 계산에 사용되는 개념 정리

1.2) 스카이라인 (skyline)

5

3) 특징

장점 : 단조 증가 형태의 선호도 함수에 대해서 가장 선호되는 후보 집합을 제공 단점 : 속성들이 반상관 관계 이거나 속성의 수가 증가할 경우 스카이라인 질의 결과가 지나치게 증가한다 .

Page 6: Efficient linear skyline algorithm in two dimensional space

1. 계산에 사용되는 개념 정리

1.3) 선형 스카이라인 (linear skyline)

6

1) 정의

2) 예시

2 차원 공간에서의 선형 스카이라인은 임의의 선형 함수 에 대해서 가장 작은 값을 갖는 튜플 들의 집합이다 .∄p∈S:<}

Page 7: Efficient linear skyline algorithm in two dimensional space

02C O N T E N T S

기존 선형 스카이라인 알고리즘

7

Page 8: Efficient linear skyline algorithm in two dimensional space

2. 기존 선형 스카이라인 알고리즘

2.1) 가상 튜플을 이용해 스카이라인 구하기

8

• S = { a(1,10), b(2,8), c(4,8), d(4,10), e(5,9), f(7,7), g(8,2), h(10,1)}

• 1) 먼저 스카이라인을 구한다 .

• 2) x 축에서 최소값 y 축에서 최소값을 가진 tuple 을 기준으로 가상 tuple을 추가한다 . ()

• 3) 컨벡스 헐을 구한다 .

• 4) 컨벡스 헐 내부에 속하는 tuple 을 제외시킨다 .

Page 9: Efficient linear skyline algorithm in two dimensional space

2. 기존 선형 스카이라인 알고리즘

2.2) 컨벡스헐 계산

9

• S = { a(1,10), b(2,8), c(4,8), d(4,10), e(5,9), f(7,7), g(8,2), h(10,1)}

• 1) x 축에서 최소값 y 축에서 최소값을 가진 tuple 을 기준으로 가상 tuple을 추가한다 . ()

• 2) 컨벡스 헐을 구한다 .

• 3) 컨벡스 헐 내부에 속하는 tuple 을 제외시킨다 .

Page 10: Efficient linear skyline algorithm in two dimensional space

2. 기존 선형 스카이라인 알고리즘

2.3) 기존 알고리즘의 문제점

10

가상 튜플을 추가한 뒤 기존 스카이라인 또는 컨벡스 헐 알고리즘을 활용함으로써 불필요한 계산이 발생한다 .

S. Börzsönyi, D. Kossmann, K. Stocker, “The skyline operator,” In IEEE ICDE, 2001, pp. 421–430.

Page 11: Efficient linear skyline algorithm in two dimensional space

03C O N T E N T S

제안 알고리즘 QuickLS

11

Page 12: Efficient linear skyline algorithm in two dimensional space

3. 제안 알고리즘 QuickLS

3.0) 선형 스카이라인 특징

1) 정리

12

다른 튜플에 의해 지배되지 않으면서 속성 에서 가장 큰 값을 갖는 튜플 p 는 속성 에서 최솟값을 가진다 . 즉 , p= 이면 p= 을 만족한다 .

Page 13: Efficient linear skyline algorithm in two dimensional space

3. 제안 알고리즘 QuickLS

3.1) < 단계 1>

13

• S = { a(1,10), b(2,8), c(4,8), d(4,10), e(5,9), f(7,7), g(8,2), h(10,1)}

1. x 축에서 최소값 y 축에서 최소값을 가진 tuple 을 이어 선을 긋는다 . 만약 두 점이 같은 경우 skyline 은 1 개 이므로 종료한다 .

2. 다음 단계 함수를 호출한다 .( 이 함수는 재귀적으로 작동한다 .)

Page 14: Efficient linear skyline algorithm in two dimensional space

3. 제안 알고리즘 QuickLS

3.2) < 단계 2>

14

• S = { a(1,10), b(2,8), c(4,8), d(4,10), e(5,9), f(7,7), g(8,2), h(10,1)}

1. 이전 단계에서 추가한 line 의 위쪽 , 즉 dominated 되는 tuple 들을 제거한다 .

2. line 에 속하지 않은 tuple 이 없는 경우 종료한다 .

Page 15: Efficient linear skyline algorithm in two dimensional space

3. 제안 알고리즘 QuickLS

3.3) < 단계 3>

15

• S = { a(1,10), b(2,8), c(4,8), d(4,10), e(5,9), f(7,7), g(8,2), h(10,1)}

1. 남아 있는 tuple 중에서 line 에서 먼 tuple 부터 선택하고 남은 tuple 집합에서 제거한다 .

2. 이전 line 의 2 개의 각 tuple 과 연결하여 2 개의 라인을 만들고 각 라인에 대해서 단계 2-3 을 반복한다 .

Page 16: Efficient linear skyline algorithm in two dimensional space

3. 제안 알고리즘 QuickLS

3.4) < 단계 2> ~ < 단계 3> 재귀적 반복

16

Page 17: Efficient linear skyline algorithm in two dimensional space

04C O N T E N T S

실험

17

Page 18: Efficient linear skyline algorithm in two dimensional space

4. 실험

4.1) 실험 환경

Algorithm

• SSkyline : 스카이라인 알고리즘

• QHULL : 컨벡스 헐 알고리즘

• BSHELL : 기존 스카이라인 알고리즘 1

• BSHELL2 : QHULL 을 이용한 기존 스카이라인 알고리즘 2

• QuickLS : 제안한 알고리즘

HW / SW

• 언어 : C++• 컴파일러 : g++ (-O3

옵션 )• HW : Intel Xeon E5-

2630V3 2.4GHz, 64GB RAM

• OS : Ubuntu 14.04

Data

• 스카이라인 알고리즘의 성능을 측정하는데 주로 사용되는 독립(independent) 또는 반상관 분포를 고려

• 데이터는 1M, 2M, 4M, 8M, 16M 크기의 합성 데이터 (synthetic data) 를 이용

18

Page 19: Efficient linear skyline algorithm in two dimensional space

4. 실험

4.2) 실험 결과

19

1) 제안 알고리즘과 기존 알고리즘간의 효율성 비교

▲ 독립 분포 데이터에서 각 데이터 크기에 따른 계산 속도 ▲ 반상관 분포 데이터에서 각 데이터 크기에 따른 계산 속도

Page 20: Efficient linear skyline algorithm in two dimensional space

4. 실험

4.2) 실험 결과

20

2) 데이터 분포에 따른 스카이라인과 선형 스카이라인의 개수 비교

1M 2M 4M 8M 16M

스카이라인 150 156.3 168.6 174.3 184.3

선형 스카이라인 15.9 15.6 16.1 17.1 19

1M 2M 4M 8M 16M

스카이라인 14.9 16.2 16 16.7 18.6

선형 스카이라인 10 12.1 10.5 12.7 12.4

▲ 반상관 분포 데이터에서 각 데이터 크기에 따른 스카이라인과 선형 스카이라인의 개수▲ 독립 분포 데이터에서 각 데이터 크기에 따른 스카이라인과 선형 스카이라인의 개수

▲ 독립 분포 데이터에서 각 데이터 크기에 따른 계산 속도 ▲ 반상관 분포 데이터에서 각 데이터 크기에 따른 계산 속도

Page 21: Efficient linear skyline algorithm in two dimensional space

05C O N T E N T S

결론

21

Page 22: Efficient linear skyline algorithm in two dimensional space

5. 결론

22

본 논문에서는 선형 스카이라인의 고유한 특징을 이용하여 2 차원 공간에서 선형 스카이라인을 효율적으로 계산하는 알고리즘을 제안하였고 , 제안한 알고리즘은 기존 알고리즘보다 데이터의 분포 및 크기에 상관없이 최대 7 배 이상의 효율성 향상을 보였다 .