R-Tree

08.Algorithm 2020. 6. 2. 09:19
728x90
반응형

MBR(Minimum Bounding Region)

 

최소 경계

 

[개념] R-Tree에서 공간을 저장하기 위한 단위, 공간을 분할하여 저장하는 영역

[종류] 중간 MBR, 리프노드 MBR, 객체 MBR

[표현] 2차원 공간>시각적 MBR>R-Tree

 


 

R트리

 

다차원 균형 트리

 

[개념]최소사각형(MBR, Minimum Bounding Rectangle)에 기반한 공간정보 탐색 지원 인덱싱 기법

[구성요소]1)Branch Node(영역표현, I:하위레벨 노드의 엔티티에 있는 모든 사각형을 포함하는 사각형, Child Pointer:R트리에서 하위레벨 노드의 주소) 2)Leaf Node(데이터 객체에 대한 포인터를 포함, I:n차원 Rectangle, Tuple-Identifier:데이터 레코드에 대한 유니크한 포인터)

[탐색]

1)교차질의:영역검색질의,재귀함수,경로검색

2)포함질의:위치추적

3)근접이웃질의:K-NN질의, 우선순위 큐, 주변검색

[삽입] 

1)단말노드 선택 : ChooseLeaf 알고리즘

2)단말노드 데이터 선택: 빈공간 => 새로운 엔트리, 없는 경우 => 노드 분할

3)트리 재조정: MBR 조정, 분할노드 삽입/내부노드 분할

4)트리 높이 증가: 분할시 새로운 루트노드 생성

 

 

SAM(Spatial Access Method) 같은 선/면/다각형/다면체의 저장, 검색에 활용

[장점] 다차원 data쿼리 가능, 구현용이

[단점] 임의삽입순서로 성능저하, 겹침현상

[고려사항]1)Overlap:같은 객체를 두번이상 검색 ex)X를 검색:R6-R2-R5를 검색

2)Dead Space:검색은 하지만 데이터가 없음

 -R*트리를 통해 겹침으로 인한 성능저하 해결(같은 레벨의 노드간 겹침 불허)

 


 

R+트리

 

k-d-b트리, MBR중복제거

node간 겹침삭제

disjoint

 

[개념] R트리의 MBR중복제거, k-d-B 트리 특징을 통해 성능 향상된 트리

[특징] 중첩 성능저하 해결, 노드간 중첩 제거, 중복저장

[개선]

1)적어도 1/2 엔트리 채워진다는 보장 없음

2)중간노드 MBR은 중첩되지 않음

3)데이터 객체 분할시 리프노드 중복 저장가능성>공간사용증가

 

[장/단점]

장 - MBR겹침문제 개선, 노드탐색 개선

단 - 노드분할에 따른 하위파급 문제, 중복으로 성능하락

 


 

R*트리

 

노드 클러스터링, 삽입/삭제개선

Update속도 느림, 강제재삽입

 

[개념] R-트리의 삽입,삭제 알고리즘 개선

[특징] 삽입,삭제연산시 부모노드의 MBR 효율적 확장

[개선]

1)분할알고리즘 개선(중첩감소)

2)삽입 오버플로발생시 강제 재삽입>복잡도 증가

3)점,공간데이터 동시 효율지원

 

[장/단점]

장 - 노드 클러스터링 효과증대, 겹침현상 감소

단 - 느린 Update, 삽입시 부적절한 분할로 성능저하 가능성 존재

[성능개선시 고려]

중첩최소화,면적최소화,MBR 정사각형화

 


 

 

N- 차원의 공간 데이터를 효과적으로 저장하고 지리정보와 관련된 질의를 빠르게 수행 할 수 있는 자료구조

 

나. R-tree의 특징

- 저장단위: 공간의 최소경계사각형(MBR: Minimum Bounding Rectangle)들로 분할하여 저장

- 저장구조: MBR들이 서로 겹칠수 있으며 상위레벨 MBR은 하위레벨 MBR들을 포함하는 계층적 트리구조를 가짐

- 관리정보: R-Tree의 각 노드는 미리 정의된 범위내에서 유동적인 개수의 자식노드들의 MBR과 포인터 정보를 가짐

- 동적 인덱스: 삽입과 삭제가 탐색과 함께 서로 사용되고 주기적인 재구성이 필요하지 않음

 

 

. R-Tree 구현 알고리즘

- 교차질의(Intersection): 모든 노드들은 질의입력 MBR과 자식노드들의 MBR을 비교하여 교차되는 영역이 있는 자식노드들에게만 질의를 전달함. 이러한 검색은 재귀함수로 구현 가능함

- 포함질의(Containment): 교차되는 영역이 있는 자식노드가 아닌, 질의를 포함하는 자식노드들만 검색

- 근접이웃질의(Nearest Neighbor): 점좌표와 거리를 입력받아 특정 점좌표로부터 가장 가까운 거리에 위치한 데이터를 찾는 알고리즘

- 이외에도 검색, 삽입, 삭제 알고리즘이 존재함

 

728x90

'08.Algorithm' 카테고리의 다른 글

선택정렬 (Select Sort)  (0) 2020.06.02
비트맵 인덱스  (0) 2020.06.02
큐 (Queue)  (0) 2020.06.02
휴리스틱 함수, 휴리스틱 이론  (0) 2020.06.02
영상 특징점 추출  (0) 2020.06.02
Posted by Mr. Slumber
,