전체 글 105

Layer Blended Per Bone

AnimationBlueprint의 Blend Node. Base Pose에 Blend Poses를 블렌드하는데 Blend Weights의 값에 따라 블렌드를 한다. (0이면 Base Poses, 1이면 Blend Poses이 출력 됨) Layer Setup에서 설정한 Bone Name부터 하위의 Bone들에 Blend가 들어가게 됨. ex) thigh_l을 추가하면 하위의 calf_l, foot_l, toe_l에 블렌드가 들어가게 됨. Blend Depth를 설정할 수 있는데, 자연스럽게 블렌드를 넣기 위한 옵션이다. Blend Depth를 설정한 값만큼 Weight 값이 순차적으로 나눠져서 들어간다. ex) spine_01을 추가하고 Blend Depth를 4로 설정하면 spine_01은 블렌드 Po..

Technical/Unreal 2022.06.06

동적 계획법

동적 계획법(Dynamic Programming) 분할 정복 기법과 많은 부분이 비슷함. 같은 부분 문제를 다시 풀지 않도록 하는 것이 핵심 ex)한번 푼 문제의 답을 저장하고 다음에 다시 풀어야 할 때는 그 문제에 대한 해답만 이용하는 방법 메모이제이션(Memoization) 문제를 풀 떄마다 이미 풀린 문제인지를 먼저 확인하는데, 풀린 문제이면 저장된 답을 이용하고 풀리지 않은 문제이면 그 문제를 풀고 답을 저장한다. 하향식(Top-bottom)식으로 문제를 해결 테이블화(Tabulation) 결과를 저장할 테이블을 먼저 만든다. 다음으로 답이 이미 알려진 상황인 기반 상황(Base Case)에 대한 테이블 항목을 먼저 채우고, 이를 바탕으로 테이블을 채워 올라간다. 동적 계획법을 이용한 문제 해결 ..

공간 복잡도를 이용한 시간 복잡도 줄이기

공간 복잡도를 이용한 시간 복잡도 줄이기 많은 메모리를 희생하면 답을 더 빨리 구할 수 있음. 하지만, 대부분의 문제에서는 가능한 모든 입력이 거의 무한하게 많아 미리 답을 계산 할 수 없고, 답을 저장할 공간도 부족함. 현실적으로 가능한 수준에서 공간을 희생해서 시간 복잡도를 줄이는 방법을 선택해야 함. 기수 정렬 기수 정렬의 아이디어 이전까지의 정렬 방법들은 비교 기반의 정렬 방법들이었다면, 분배 방식의 정렬들은 메모리 공간에 나누어 저장하는 방식이다. 분배 방식의 정렬에는 기수 정렬과 카운팅 정렬이 있다. 기수 정렬은 숫자의 자릿수를 의미하는데 자릿수의 값에 따라서 정렬하기 떄문에 기수 정렬이라는 이름을 얻음. 기수 정렬은 다단계 정렬인데, 단계의 수는 데이터의 전체 자릿수와 일치함. 기수 정렬 방..

분할 정복 기법

분할 정복(Divide and Conquer) 하나의 문제를 여러 개의 작은 부분 문제로 나누고, 이 부분 문제들을 각각 해결한 다음 결과를 모아서 원래의 문제를 해결하는 전략 분할 된 부분 문제가 충분히 작지 않으면, 분할 정복을 연속으로 적용하면 되는데 보통 순환 호출을 사용한다 축소 정복은 분할 한 후에 부분문제가 하나만 남는 특별한 경우의 분할 정복이다. ex) 이진 탐색은 분할된 두 부분에서 한쪽은 필요가 없기 때문에 문제의 크기가 절반으로 축소되는 것 분할 정복 기법의 문제 해결 순서 분할(Divide) 주어진 문제를 같은 유형의 부분문제들로 분할 정복(Conquer) 부분문제들을 해결하여 부분 해를 만듦 병합(Combine) 부분적인 결과들을 묶어 최종 해를 만듦 병합 정렬(Merge Sor..

축소 정복 기법

축소 정복(Decrease-and-Conquer) 기법 주어진 문제를 해결하기 위해 이 문제와 좀 더 작은 문제간의 관계를 이용하는 전략 문제 사이의 관계가 구해지면 하향식(Top-Down)이나 상향식(Bottom-Up)으로 적용할 수 있다. 하향식은 보통 순환구조를 이용하고 상향식은 반복구조로 표현하며 점증적(Incremental) 기법이라고도 한다. 축소 정복 기법은 분할 정복 기법의 한가지 유형으로도 볼 수 있음 문제의 크기가 줄어드는 방식에 따른 3가지 유형 고정 크기 축소(Decrease by a constant) 순환이나 반복에 따라 문제의 크기가 일정 수만큼 줄어드는 경우 ex) 팩토리얼 고정 비율 축소(Decrease by a constant factor) 문제의 크기가 일정한 비율로 줄어..

억지 기법과 완전 탐색

선택 정렬 억지 기법에서의 전략 정렬이 안된 리스트에서 최솟값이 선택되면 이 값을 새로운 리스트에 저장하는 것이 아니라 첫 번째 요소와 교환한다. 어떤 정렬 알고리즘이 입력 리스트 이외에 추가적인 메모리를 사용하지 않으면 "제자리(In-place) 정렬"이라고 부른다. 선택 정렬의 장점 알고리즘이 간단하고, 입력자료의 구성과 상관없이 자료 이동 횟수가 결정된다는 장점 입력의 크기가 크지 않은 실제 문제에 충분히 사용 가능 선택 정렬의 단점 다른 정렬 알고리즘에 비해 효율적이지도 않고, 안정성을 만족하지도 않음 Python Code 더보기 data = [5,3,8,4,9,1,6,2,7] def printStep(arr, val): print(" Step %2d = " % val, end='') print(..