정의

brute : 짐승 같은, 난폭한
force : 힘

즉 브루트 포스는 직역하자면 (정제되지 않은) 난폭한 힘, 폭력이라는 뜻이다.

브루트 포스의 실질적으로 가능한 모든 경우의 수를 시도하여 문제를 해결하는 방식을 칭하는 표현이다. 얼핏 보면 우격다짐 식으로 보여 이러한 명칭이 붙었지만, 컴퓨팅 파워가 충분하다면 가장 단순하면서도 확실한 방법이기도 하다.

원래는 보안 분야에서 유래한 표현이다. 예를 들어, 가능한 모든 경우의 수를 암호에 대입하여 보안 요소를 무력화하는 것을 브루트 포스 공격이라고 한다.

키 전수조사(exhaustive key search), 무차별 대입 공격이라 칭하기도 한다.

단점

브루트 포스 방식은 문제의 복잡도(Complexity)에 매우 민감하다는 단점이 있다.

이 때문에 실제로 브루트 포스는 문제의 규모가 현재의 자원으로 충분히 커버가 가능한 경우에만 쓰이고, 대부분은 동적 계획법 등으로 많이 우회하는 편이다. 정확도를 조금 희생하더라도 어떻게든 ‘이론상 가능한’ 자원으로 해결할 수 있게 알고리즘을 설계하기도 한다.