본문 바로가기

공부/IT 알고리즘

룩업 테이블(LUT, LookUp Table)이란? LUT 개념을 정리해보자

 

오늘은 룩업 테이블(LUT, Lookup Table)이 무엇인지 개념을 정리해보자.

 

 

룩업 테이블(Lookup Table) 이란? 

룩업테이블은 별도의 계산을 하지 않고 기존에 저장된 값을 빠르게 가져올 수 있도록 키와 값으로 구성된 데이터 구조를 말한다. 한 마디로 입력 값을 출력 값에 매핑해준다고 생각하면 된다.

 

수식적으로 계산되는 방식은 어떤 입력이 들어왔으면, 수학적 계산 식을 통해 연산 후 결과 값을 출력해준다.
반면에 룩업테이블을 이용하면 입력에 대한 출력 값이 이미 테이블로 만들어져 있기 때문에, 별도의 연산을 하지 않고 결과 값을 출력해준다.

 

 

간단한 예제

간단한 예제를 통해 룩업 테이블을 이해해보자.
입력이 두 개, 출력이 하나인 시스템이 있다고 하자.
입력은 각각 $x, y$ 라고 하고 출력은 $z$라고 하고, 시스템은 다음과 같이 구성되어 있다고 하자.

$$z = x + y$$

아래 그림에서 왼쪽 그림은 수학적 수식으로 구성되어 있을 때, $x$와 $y$가 입력으로 들어오게 되면 연산을 통해 $z$ 값을 출력해주는 반면, 오른쪽 그림은 룩업 테이블로 미리 수학적 수식이 구성되어 있기 때문에 입력 받은 받은 값에 출력 값을 매핑하면 결과 값을 출력해준다.

 

 

예를 들어, 수학적 수식으로 계산을 한다면 입력으로 $x=4, y=7$이 주어졌을 경우 다음의 수식을 통해 

$$z=x+y$$

$z$는 11로 계산이 된다.

$$z=4+7=11$$


하지만, LUT는 다음 그림과 같이 입력에 대한 출력이 테이블로 구성되어 있기때문에, 입력에 대한 출력 값을 찾아 바로 매핑하여 결과값을 출력하게 된다. $x$를 input 1, $y$를 input 2라고 할 경우에 각각에 해당하는 값인 $x=4, y=7$에 해당하는 값인 11이 바로 출력 값이 된다.