depth 구할 때 floor로 처리하면 -1이 사라지는 과정이 잘 모르겠어요.

결국엔 log(2, x) -1 = floor ( log(2,x) ) 라는 것 같아 보이는데.. 이 수식이 잘 이해가 안 가는 것 같아요....
답변 1
0
질문 감사합니다.
오랜만에 강의 내용을 다시 보았는데, 우선 한정된 슬라이드에서 수식을 넣다보니 효과적으로 전달을 못했네요.
두 식이 동일하다는 의미는 아니고, 정수 값만 가지는 depth값만 보았을 때 두 식은 같은 결과를 산출한다는 의미로 봐주시면 감사하겠습니다.
그런데 제가 다시 보면서 중요한 점을 발견했는데, 수식이 잘못되었네요.
예를 들어 16보다 작고 8보다 큰 반지름 10이 들어온다고 가정 했을 때, 이의 목표 깊이 값은 1이 되어야 합니다. 하지만 위 수식으로 진행하면 2가 나오므로 잘못된 수식으로 보여집니다.
잘못된 자료로 인해 불편을 드려 죄송합니다.
해당 슬라이드 내용은 우선 글로 다시 설명드리겠습니다.

L(depth)는 느슨한 트리가 사용하는 해당 뎁스에서의 영역의 크기입니다. 이는 k에 의해 결정되는데 통상 2의 값을 사용합니다. 따라서 루트노드에서는 전체 사각형 변의 두 배인 2W, 첫 번째 뎁스에서는 W의 크기를 가집니다. 이를 통해 해당 뎁스에서 허용가능한 최대 반지름 값 Rmax(depth)가 다음과 같이 결정됩니다.

그리고 주어진 반지름 R에 대한 최적의 깊이 값을 찾아주는 함수를 depth(R)로 정의하겠습니다.
R과 depth(R), Rmax(depth)사이에는 다음과 같은 규칙이 주어집니다.
두 번째 식에 대입하면 결과는 다음과 같습니다.

로그를 취해주면 다음과 같이 정리됩니다.
이 값은 정수만 가지므로 다음과 같이 계산할 수 있습니다.

예제의 LQuadtree.cs 의 GetTargetDepth 함수도 수정해야 될 것으로 보여집니다.
[기존 코드]
int targetDepth = Mathf.FloorToInt(Mathf.Log(width / maxHalfValue, 2.0f));
[수정해야 할 코드]
int targetDepth = Mathf.FloorToInt(Mathf.Log(width / maxHalfValue, 2.0f) - 1);해당 영상은 차후에 수정하겠습니다.
감사합니다!
링크드 리스트 중간 삽입삭제 시간복잡도 질문
0
4
1
재귀함수 종료조건
0
10
1
백준 서비스 종료로 인한 강의 자료 업데이트 요청드립니다.
0
26
1
백준 사이트 준비중이라 문제를 볼 수 가 없어요
0
22
1
수박게임 자료 받았는데 plante05, 06이 없습니다.
0
26
1
어디다가 환불요청해야돼요
0
46
1
해당 차수 영상이 짤려 나갑니다
0
45
1
환불방법알려주세요
0
56
2
주피터 설치되어있는지 어디서 확인해요 도대체
0
47
4
pandas 설치 안되요 짜증나요
0
49
3
명령프롬포트에 파이썬 설치 안되요
0
52
3
윈도우에서 VScode 사용 시 질문입니다.
0
34
2
14강 녹음이 안되어 있습니다
0
38
1
강의에서 나온 알고리즘 외에 추천 하시는 알고리즘이 있을까요?
0
101
2
쿼드트리 옥트리가 활용되는 예시에 대하여 더 여쭤보고싶습니다.
0
266
1
쿼드트리 구현 강의자료에 포함된 LQNode의 GetQuads함수에 궁금한 점이 있습니다.
0
506
2
A* 알고리즘에 대해 질문있습니다!
0
372
1
움직이는 물체에 대한 쿼드, KD트리 효율 질문
0
512
1
BSP트리를 활용한 렌더링 순서 관련 질문
0
448
1
쿼드트리 삽입 프로그램 실행 예시 질문
0
355
1
알고리즘 확인(?) 질문
0
462
2
우선순위큐로 구현시
0
371
1
19:35 리스트와 이진힙의 구조비교
0
245
1
GetQuads가 out of area를 체크 할 수 있는건가요??
0
336
1





