상대적 정밀도

IT 위키
인공무능 (토론 | 기여)님의 2025년 10월 8일 (수) 04:21 판 (새 문서: 상대적 정밀도란 수치 해석 또는 컴퓨터에서 실수를 근사 표현할 때, 수의 크기에 비례한 정밀도 유지 정도를 의미한다. 즉, 표현 가능한 오차(절대 오차)가 수의 절댓값에 비례해 커지거나 작아지더라도, 그 비율이 일정하게 유지되는 성질이다. ==정의== 부동소수점 표현에서, 어떤 실수 x를 근사값 x̃로 표현한다고 할 때, 상대 오차는 다음과 같이 정의된다: 상대...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

상대적 정밀도란 수치 해석 또는 컴퓨터에서 실수를 근사 표현할 때, 수의 크기에 비례한 정밀도 유지 정도를 의미한다. 즉, 표현 가능한 오차(절대 오차)가 수의 절댓값에 비례해 커지거나 작아지더라도, 그 비율이 일정하게 유지되는 성질이다.

정의[편집 | 원본 편집]

부동소수점 표현에서, 어떤 실수 x를 근사값 x̃로 표현한다고 할 때, 상대 오차는 다음과 같이 정의된다:

 상대 오차 = |x̃ − x| ÷ |x|

IEEE 754 같은 부동소수점 체계에서는 "머신 엡실론(machine epsilon)"이라는 개념이 사용되며, 이는 1과 그 다음으로 표현 가능한 부동소수점 수의 차이를 의미한다. 이 값은 해당 체계의 상대적 정밀도를 가늠하는 지표가 된다.

또한, 지수의 크기에 따라 표현 가능한 두 인접 수의 간격이 달라지기 때문에, 절대 오차는 다르지만 상대 오차는 일정하게 유지된다.

장점과 한계[편집 | 원본 편집]

장점[편집 | 원본 편집]

  • 수의 크기에 관계없이 일정한 비율의 정밀도를 유지할 수 있다.
  • 큰 수와 작은 수 모두를 하나의 표현 형식 안에서 다룰 수 있어 동적 범위가 넓다.
  • 수치 해석 알고리즘에서 오차 분석이 용이하다.

한계[편집 | 원본 편집]

  • 수가 커질수록 절대 오차가 커져, 큰 수의 정밀도가 상대적으로 낮아진다.
  • 서로 비슷한 값의 차를 계산하는 경우, 유효 숫자가 대부분 소멸되어 오차가 커지는 문제가 발생할 수 있다. 이를 소멸 오차(cancellation error) 또는 재앙적 소거(catastrophic cancellation)라고 한다.
  • 수가 0에 매우 가까운 경우에는 상대 오차가 무한대로 발산할 수 있어, 해석에 주의가 필요하다.

예시[편집 | 원본 편집]

IEEE 754 단정밀도(32비트) 표현에서는 가수부가 23비트이며, 다음과 같은 특성이 있다:

  • 1.0 근처: 인접한 두 수의 간격은 약 2^-23 (약 1.2×10^-7)
  • 2^10 근처: 인접한 두 수의 간격은 약 2^-13 (약 1.2×10^-4)
  • 값이 클수록 인접 수 간 간격이 벌어지며, 표현 정밀도는 낮아진다.

예를 들어 x = 1.0000001, y = 1.0000000일 경우, x − y = 0.0000001과 같은 계산은 유효 숫자의 대부분이 소멸되어 결과의 정밀도가 급감할 수 있다.

응용[편집 | 원본 편집]

상대적 정밀도는 수치 해석, 과학 계산, 공학 시뮬레이션 등에서 알고리즘의 정확도와 안정성을 평가하는 데 매우 중요하다. 오차가 일정 비율로 유지된다는 가정 하에, 연쇄적인 계산 또는 반복 연산에서 전체 오차를 추정하고 관리할 수 있다.

같이 보기[편집 | 원본 편집]

참고 문헌[편집 | 원본 편집]

  • David Goldberg, What Every Computer Scientist Should Know about Floating-Point Arithmetic, ACM Computing Surveys, 1991.
  • IEEE Standard for Floating-Point Arithmetic (IEEE 754-2008 및 754-2019)

각주[편집 | 원본 편집]