Home > Math > πŸ’‘[Math] logλž€ λ¬΄μ—‡μΌκΉŒμš”?

πŸ’‘[Math] logλž€ λ¬΄μ—‡μΌκΉŒμš”?
Math

πŸ’‘[Math] logλž€ λ¬΄μ—‡μΌκΉŒμš”?

πŸ“ Intro.

  • 둜그(log)λŠ” μˆ˜ν•™μ μœΌλ‘œλŠ” νŠΉμ • λ°‘(base)을 κ°€μ§„ μ§€μˆ˜μ˜ 역연산을 μ˜λ―Έν•˜κ³ , 컴퓨터 κ³Όν•™μ—μ„œλŠ” 둜그λ₯Ό ν™œμš©ν•œ μ•Œκ³ λ¦¬μ¦˜μ˜ λ³΅μž‘λ„ 뢄석, 데이터 μ €μž₯, μ‹œμŠ€ν…œ λ‘œκΉ…(logging) λ“± λ‹€μ–‘ν•œ μš©λ„λ‘œ μ‚¬μš©λ©λ‹ˆλ‹€.

βœ…1️⃣ μˆ˜ν•™μ—μ„œμ˜ 둜그(Logarithm)

  • 둜그(log)λŠ” κ±°λ“­μ œκ³΅(μ§€μˆ˜, exponent)의 μ—­μ—°μ‚°μž…λ‹ˆλ‹€.

πŸ“Œ 둜그의 μ •μ˜

  • 둜그(log)λŠ” β€œμ–΄λ–€ 수λ₯Ό λ°‘(base)으둜 λͺ‡ 번 κ³±ν•΄μ•Ό μ›ν•˜λŠ” 값이 λ˜λŠ”κ°€β€λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

πŸ“Œ 예제.

  • logβ‚‚(8) = 3 (2λ₯Ό λͺ‡ 번 κ³±ν•΄μ•Ό 8이 λ˜λŠ”κ°€? β†’ 2Β³ = 8)
  • log₁₀(1000) = 3 (10을 λͺ‡ 번 κ³±ν•΄μ•Ό 1000이 λ˜λŠ”κ°€? β†’ 10Β³ = 1000)

πŸ“Œ 일반적인 둜그 곡식

  • $\log_b(x) = y \quad \Rightarrow \quad b^y = x$
    • μ—¬κΈ°μ„œ bλŠ” λ°‘(base)이며, 일반적으둜 2, 10, e(μžμ—°λ‘œκ·Έ) 등을 μ‚¬μš©ν•©λ‹ˆλ‹€.

βœ…2️⃣ 둜그의 μ’…λ₯˜.

1️⃣ 이진 둜그(Binary Log)

  • logβ‚‚(n) : 2λ₯Ό λ°‘μœΌλ‘œ ν•˜λŠ” 둜그
    • 컴퓨터 κ³Όν•™μ—μ„œ κ°€μž₯ 많이 μ‚¬μš©λ¨.
    • λΉ„νŠΈ μ—°μ‚°, μ•Œκ³ λ¦¬μ¦˜ 뢄석, B+ νŠΈλ¦¬μ™€ 같은 데이터 κ΅¬μ‘°μ—μ„œ μ‚¬μš©λ¨.
  • 예제:
    • logβ‚‚(8) = 3 β†’ 2Β³ = 8
    • logβ‚‚(32) = 5 β†’ 2⁡ = 32

2️⃣ μžμ—°λ‘œκ·Έ (Natural Log, In)

  • logβ‚‘(n) : 밑이 e(μ•½ 2.718)인 둜그
    • λ―ΈλΆ„, 톡계, ν™•λ₯  μ΄λ‘ μ—μ„œ 주둜 μ‚¬μš©λ¨.
    • μˆ˜ν•™μ  λͺ¨λΈλ§ 및 λ¨Έμ‹ λŸ¬λ‹μ—μ„œ μ‚¬μš©λ¨.
  • 예제:
    • ln(eΒ²) = 2
    • ln(eΒ³) = 3

3️⃣ μƒμš©λ‘œκ·Έ (Common Log)

  • log₁₀(n) : 10을 λ°‘μœΌλ‘œ ν•˜λŠ” 둜그
    • 일반적인 숫자 μ—°μ‚°μ—μ„œ μ‚¬μš©λ¨.
    • μ§€μˆ˜μ™€ 둜그λ₯Ό μ‰½κ²Œ 계산할 λ•Œ μ‚¬μš©.
  • 예제:
    • log₁₀(1000) = 3
    • log₁₀(100) = 2

βœ…3️⃣ 둜그의 μ„±μ§ˆ

  • λ‘œκ·ΈλŠ” 연산을 λ‹¨μˆœν™”ν•˜λŠ” 데 μœ μš©ν•œ μ„±μ§ˆμ„ κ°€μ§‘λ‹ˆλ‹€.

πŸ“Œ 둜그의 μ£Όμš” 곡식

1️⃣ κ³±μ…ˆ ➞ λ§μ…ˆ λ³€ν™˜

  • $\log_b(A \times B) = \log_b A + \log_b B$

    πŸ“Œ 예제.

  • logβ‚‚(8 Γ— 4) = logβ‚‚(8) + logβ‚‚(4) = 3 + 2 = 5

2️⃣ λ‚˜λˆ—μ…ˆ ➞ λΊ„μ…ˆ λ³€ν™˜

  • $\log_b(A / B) = \log_b A - \log_b B$

    πŸ“Œ 예제.

  • logβ‚‚(16 / 4) = logβ‚‚(16) - logβ‚‚(4) = 4 - 2 = 2

3️⃣ κ±°λ“­μ œκ³± ➞ κ³±μ…ˆ λ³€ν™˜

  • $\log_b(A^C) = C \times \log_b A$

    πŸ“Œ 예제.

  • logβ‚‚(8Β²) = 2 Γ— logβ‚‚(8) = 2 Γ— 3 = 6

4️⃣ λ°‘ λ³€ν™˜ 곡식

  • $\log_a B = \frac{\log_c B}{\log_c A}$

    πŸ“Œ 예제.

  • logβ‚‚(100) = log₁₀(100) / log₁₀(2) β‰ˆ 6.64

βœ…4️⃣ 컴퓨터 κ³Όν•™μ—μ„œ 둜그의 ν™œμš©

1️⃣ μ•Œκ³ λ¦¬μ¦˜ λ³΅μž‘λ„ 뢄석

  • λ‘œκ·ΈλŠ” μ•Œκ³ λ¦¬μ¦˜μ˜ μ‹€ν–‰ 속도λ₯Ό λΆ„μ„ν•˜λŠ” 데 μ€‘μš”ν•©λ‹ˆλ‹€.
  • 예λ₯Ό λ“€μ–΄, 이진 탐색(Binary Search)은 O(log N)의 μ‹œκ°„ λ³΅μž‘λ„λ₯Ό κ°€μ§‘λ‹ˆλ‹€.

    πŸ“Œ 예제: 이진 탐색

    μ •λ ¬λœ λ°°μ—΄μ—μ„œ 1,000개의 데이터 쀑 ν•˜λ‚˜λ₯Ό 찾을 λ•Œ, logβ‚‚(1000) β‰ˆ 10
    즉, μ΅œλŒ€ 10번의 λΉ„κ΅λ‘œ μ›ν•˜λŠ” 값을 찾을 수 있음.
    

πŸ“Œ μ‹œκ°„ λ³΅μž‘λ„ 비ꡐ

μ•Œκ³ λ¦¬μ¦˜ μœ ν˜• μ‹œκ°„ λ³΅μž‘λ„
μ„ ν˜• 탐색 O(N) (느림)
이진 탐색 O(log N) (빠름)
B+ 트리 검색 O(log N) (빠름)

2️⃣ λ°μ΄ν„°λ² μ΄μŠ€(B+ 트리)

  • B+ νŠΈλ¦¬μ—μ„œ λ…Έλ“œκ°€ κ°€μ§ˆ 수 μžˆλŠ” μ΅œλŒ€ μžμ‹ 수λ₯Ό d라고 ν•˜λ©΄, 검색 μ‹œκ°„μ€ $O(log_d(N))$μž…λ‹ˆλ‹€.
  • μ°¨μˆ˜κ°€ 컀질수둝(즉, 더 λ§Žμ€ μžμ‹μ„ κ°€μ§ˆμˆ˜λ‘) 트리의 높이가 쀄어듀어 검색 μ„±λŠ₯이 ν–₯μƒλ©λ‹ˆλ‹€.

    πŸ“Œ μ™œ $O(log_d(N))$인가?

  • B+ νŠΈλ¦¬μ—μ„œ 차수 dλž€ ν•œ λ…Έλ“œκ°€ κ°€μ§ˆ 수 μžˆλŠ” μ΅œλŒ€ μžμ‹μ˜ μˆ˜μž…λ‹ˆλ‹€.
  • 데이터 개수λ₯Ό N이라 ν•˜λ©΄, 트리의 높이(h)λŠ” 각 λ…Έλ“œμ˜ μžμ‹ 수(d)와 λ°μ΄ν„°μ˜ 총 개수(N)둜 κ²°μ •λ©λ‹ˆλ‹€.
  • 트리의 높이 계산은 λ°‘(base)이 d인 λ‘œκ·Έμ™€ κ΄€λ ¨ μžˆμŠ΅λ‹ˆλ‹€.
    • 즉, 트리의 λ†’μ΄λŠ” λ°‘(base)이 d인 λ‘œκ·Έμ™€ κ΄€λ ¨ μžˆμŠ΅λ‹ˆλ‹€.
  • 검색 연산은 트리의 λ†’μ΄λ§ŒνΌμ˜ λ ˆλ²¨μ„ 따라 λ‚΄λ €κ°€μ•Ό ν•˜λ―€λ‘œ μ‹œκ°„ λ³΅μž‘λ„λŠ” $O(log_d(N))$

🌟 비ꡐ

  • 이진 트리(Binary tree) : λ°‘(base)이 2 ➞ $O(log_2(N))$
  • B+ 트리 : λ°‘(base)이 d(λ…Έλ“œλ‹Ή μ΅œλŒ€ μžμ‹ 수) ➞ $O(log_d(N))$

3️⃣ 파일 μ‹œμŠ€ν…œ 및 데이터 ꡬ쑰

  • 파일 μ‹œμŠ€ν…œμ—μ„œ 디렉토리 검색, 인덱싱 등에 둜그 기반 데이터 ꡬ쑰(예: B+ 트리)λ₯Ό μ‚¬μš©ν•˜μ—¬ μ„±λŠ₯을 μ΅œμ ν™”ν•©λ‹ˆλ‹€.

4️⃣ λ¨Έμ‹ λŸ¬λ‹κ³Ό AI

  • λ¨Έμ‹ λŸ¬λ‹μ—μ„œλŠ” 둜그 ν•¨μˆ˜κ°€ 데이터 μ •κ·œν™”, ν™•λ₯  λͺ¨λΈλ§, 손싀 ν•¨μˆ˜(log-likelihood) 등에 ν™œμš©λ©λ‹ˆλ‹€.

🎯5️⃣ 정리.

  • βœ…1️⃣ 둜그(log)λŠ” μ§€μˆ˜ μ—°μ‚°μ˜ 역연산이며, β€œμ–΄λ–€ 수λ₯Ό λͺ‡ 번 κ³±ν•΄μ•Ό μ›ν•˜λŠ” 값이 λ˜λŠ”κ°€?”λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.
  • βœ…2️⃣ 컴퓨터 κ³Όν•™μ—μ„œ λ‘œκ·ΈλŠ” μ•Œκ³ λ¦¬μ¦˜ 뢄석, 데이터 ꡬ쑰, λ°μ΄ν„°λ² μ΄μŠ€, λ¨Έμ‹ λŸ¬λ‹ λ“± λ‹€μ–‘ν•œ λΆ„μ•Όμ—μ„œ ν™œμš©λ©λ‹ˆλ‹€.
  • βœ…3️⃣ 이진 탐색, B+ 트리, 파일 μ‹œμŠ€ν…œ, 인곡지λŠ₯ λ“± λ§Žμ€ λΆ„μ•Όμ• μ„œ O(log N) μ„±λŠ₯ μ΅œμ ν™”λ₯Ό μœ„ν•΄ μ‚¬μš©λ©λ‹ˆλ‹€.

πŸš€ κ²°λ‘ 

  • λ‘œκ·ΈλŠ” 컴퓨터 κ³Όν•™κ³Ό μˆ˜ν•™μ—μ„œ 맀우 μ€‘μš”ν•œ κ°œλ…μœΌλ‘œ, 효율적인 데이터 μ²˜λ¦¬μ™€ μ„±λŠ₯ μ΅œμ ν™”μ— ν•„μˆ˜μ μΈ κ°œλ…μž…λ‹ˆλ‹€!