문제

내가 듣고 로그에 언급 꽤 많은 프로그래밍다.그들은 해결책이 될 많은 문제가 아직 나는 찾을 수 없는 것이 실제 세상을 만드는 방법을 사용합니다.영 Wikipedia 항목 그리고,매우 솔직하게,나 아무도 없을 현명하게 할 수 있다고한다.

그래서,어디에 대해 배울 수 있습니다 실제 프로그래밍 문제는 로그를 해결하는가? 는 사람이 어떤 문제의 예를 들면 그들이 직면하는 해결을 구현하여 로그?

도움이 되었습니까?

해결책

$ 1000가 있다고 가정 해보면 2.4%의이자가있는 저축 계좌에 있습니다.

새 노트북을 구매하기 위해 2000 달러가있을 때까지 몇 년을 기다려야합니까?

1000 × 1.024엑스 = 2000

1.024엑스 = 2

x = 로그 1.024 2 = 29.23 년

다른 팁

프로그래밍의 로그는 또한 사용 알고리즘의 효율성을 설명하는 데 자주 사용됩니다. 큰 o 표기법.

예를 들어, 이진 검색 알고리즘은 O (log (n)) (정렬 된 세트에서)의 최악의 시나리오를 가질 수 있지만 선형 검색의 최악의 경우는 O (n)입니다.

내 자신의 연구에서 나는 몇 가지 유용한 자료를 얻었습니다.

칸 아카데미 로그 섹션

이것은 로그에 대한 훌륭한 수업입니다. 6 학년생 의이 의견은 그것을 잘 요약합니다.

정말 고맙습니다. 이번 주에 수학 선생님은 나 자신에게 도전하라고 말했기 때문에 로그를 시도했습니다. 처음에 나는 '나는 이것을 할 수 없다. 너무 어렵다'. 그런 다음 비디오를 보았고 이제는 재미 있습니다! 저는 6 학년이고 수학 선생님이 감동합니다. 나는 당신에게 충분히 감사 할 수 없습니다.

루비 퀴즈 #105 : 토너먼트 매치업

이 기사에는 기본 2 로그를 사용하여 주어진 녹아웃 토너먼트를 완료하는 데 필요한 라운드 수를 결정하는 좋은 예가 포함되어 있습니다. 엑스 팀.

지수 함수에 대한 직관적 인 안내서 & e

우수하고 직관적 인 (제목을 감안할 때 예상대로), 가이드 이자형, 자연 로그의 기초. 많은 삽화와 예제는 이것을 기사의 보석으로 만듭니다.

자연 로그 (LN)를 탈수시킵니다.

이것은 기사에 대한 후속 조치입니다. 이자형 그리고 논의합니다 자연 로그 (LN) 기사에 주어진 직관적 인 설명을 사용하여 "특정 수준의 성장에 도달하는 데 필요한 시간을 제공합니다".

실제로 좋은 내용이 많이 있습니다 더 잘 설명되었습니다 대지. 정말, 훌륭한 자원.

내가 실제로 만난 또 다른 도구는 완전히 잊혀진 이후 instacalc. 더 나은 설명 사이트를 저술 한 같은 사람인 Kalid Azad에 의한 것 같습니다. 수학을 해킹 할 때 정말 유용한 도구입니다.

로그 형식의 메타-참조하시기 바랍니다.그것은 방법으로의 생각의 모든 수로(가정)기초로 올려 지 수는 있습니다.작업 수행에 지수 혼자입니다.즉,당신이 할 수 있는 곱고 부를 수행하여 더하기 및 빼기 로그입니다.즉,당신은 데이터를 넣으로 로그 공간을 수행,제품군의 연산,그리고 그것을 당기로 다시 비 로그 공간입니다.부동 소수점 정밀도 손실과 오버헤드의 변화에서의 로그 공간은 저렴하고,그 수 있는 전반적으로 승리는 시간입니다.

하나의 매끄러운 트릭을 할 수 있으로 로그를 계산은 문자 수를 수행할 때 인쇄를 복용하여 로그-base-2 와 숫자의 분리에 의해 로그--기지 10(2),는 일정한 시간과 비교하는 설정의 곱한다.

태그 구름을 표시하는 데 사용되는 로그를 보았습니다. 이 페이지는 다음을 설명하는 페이지입니다.

태그 클라우드 글꼴 분포 알고리즘

시간 소비에 대한 컨텍스트가있는 로그에 대해 들었다고 생각합니다.

구체적인 예는 검색 알고리즘입니다. 정렬 된 데이터 세트 (정렬 된 int의 배열을 생각하십시오) 주어지면 해당 데이터의 값에 대한 색인 키를 찾으려고합니다. 우리는 배열이 정렬되어 있다는 사실로부터 이익을 얻을 수 있습니다 (예 : 예를 들어 1, 2, 6, 192, 404, 9595, 50000). 값 2에 대한 색인을 찾고 싶다고 가정 해 봅시다. 각 단계의 배열의 절반을 컬링 (무시)하여 검색 공간을 최소화 할 수 있습니다. 배열 중간의 값을 테스트 하여이 검색을 시작합니다. 배열에는 7 개의 값이 있으며 인덱스 7/2 = 3.5 = 3을 int로 만듭니다. 배열 [3]은 192입니다. 우리가 찾고있는 값은 2이므로 검색 공간의 하단에서 검색을 계속하고 싶습니다. 우리는 지수 4, 5, 6이 모두 192보다 높기 때문에 완전히 무시하고 2보다 높습니다. 이제 우리는 (1, 2, 6)과 같은 검색 공간이 있습니다. 그런 다음 다시 중간에 색인 (반복 프로세스)을 사용하고 2를 즉시 찾습니다. 검색이 완료되고 인덱스는 2입니다.

이것은 매우 작은 예이지만 이러한 알고리즘이 어떻게 작동하는지 보여줍니다.

16 값의 경우 최대 4 번 검색해야합니다. 32 값의 경우 최대 5 회, 64 값 6 회 등을 검색합니다. 1048576 값은 20 단계로 검색됩니다. 이것은 배열의 각 항목을 별도로 비교 해야하는 것보다 훨씬 빠릅니다. 물론 이것은 정렬 된 데이터 컬렉션에만 작동합니다.

추천합니다 E : 숫자의 이야기 대수의 중요성에 대한 좋은 토대, 자연 현상과의 발견과 관련성.

또 다른 방법을 찾고 그것은 보호의 기반 승니다.나는 당신이 볼 수 있는 방법이 모든 관련이에서 다음과 같은 예입니다.

수(기본 10):

  • log10(1) = 0 , (10^0) = 1
  • log10(10) = 1 , (10^1) = 10
  • log10(100) = 2 , (10^2) = 100
  • log10(1000) = 3 , (10^3) = 1000
  • log10(10000) = 4 , (10^4) = 10000
  • log10(100000) = 5 , (10^5) = 100000

이진(2):

  • log2(1) = 0 , (2^0) = 1
  • log2(2) = 1 , (2^1) = 2
  • log2(4) = 2 , (2^2) = 4
  • log2(8) = 3 , (2^3) = 8
  • log2(16) = 4 , (2^4) = 16
  • log2(32) = 5 , (2^5) = 32
  • log2(64) = 6 , (2^6) = 64
  • log2(128) = 7 , (2^7) = 128

수(기초 16):

  • log16(1) = 0 , (16^0) = 1
  • log16(16) = 1 , (16^1) = 16
  • log16(256) = 2 , (16^2) = 256
  • log16(4096) = 3 , (16^3) = 4096
  • log16(65536) = 4 , (16^4) = 65536

생각하고 싶은 경우에는 변수:

  • 로그인 N (X) = Y
  • (N^Y) = X

현실 세계의 많은 (많은!) 관계는 로그입니다. 예를 들어, 스택 오버플로에서 평판 점수의 분포가 로그 정상. 대다수의 사용자는 평판 점수가 1이며 소수의 사람들은 명성이 높아질 것입니다. 해당 분포에 로그 변환을 적용하면 거의 선형 관계 일 수 있습니다. 빠른 스캔 https://stackoverflow.com/users?page=667 이것이 사실임을 보여줍니다.

당신은 더 친숙 할 것입니다 긴 꼬리 로그 분포의 적용 인 개념.

내가 기억할 수있는 유일한 문제는 SQL에서 열의 제품을 계산해야한다는 것입니다. SQL Server에는 곱 () 집계 함수가 없으므로 각 값의 로그 (log10 () 함수 사용)의 합을 사용하여 이루어졌습니다. 주요 단점은 열의 모든 숫자가 긍정적이고 0이 아닌 것이어야한다는 것입니다 (음수 또는 0에서 로그를 계산할 수는 없습니다).

모든 프로그래밍 예에서 가장 명백한 사용법은 정밀도입니다. 간단히 말해서 서명되지 않은 정수를 저장하는 것을 고려하십시오. x를 보관하려면 몇 비트가 필요합니까? 글쎄, 당신이 n 비트로 저장할 수있는 최대 값은 2^n -1이므로 X를 저장하려면 log_2 x + 1 비트가 필요할 수 있습니다. 이제 짧은, int, 단어, 긴 등을 쉽게 선택할 수 있습니다.

많은 예를 들어, 많은 것 중 하나 : 많은 기간으로 복합 관심사를 매우 작은 속도로 계산합니다.

빠른 지수를 사용하더라도 가장 간단한 방법을 수행 할 수 있지만 플로트가 저장되고 S * r 전력 N을 계산하는 방식으로 인해 정확도가 어려울 수 있습니다.

로그에서는 다소 정확합니다.

a = ln (s * r power n) = ln (s) + n * ln (r)
로그 데이터베이스의 두 개의 조회는 LN (R)과 함께 LN (S) 및 LN (R)을 제공하며 LN (R)은 매우 작게 시작하며 Float는 0 result = exp (a) 근처에서 최상의 정확도로 작동합니다.

예를 들어 입방 뿌리를 추출하기 위해 비 integer 지수를 사용하는 경우 유일한 효율적인 방법입니다.

MIT의 Open Courseware를 확인하십시오. 알고리즘 소개. 무료 교육. 대박.

내가 찾은 로그의 가장 "멋진"응용 프로그램 중 하나는 나선형 저장. 테이블이 자라면서 한 번에 하나의 버킷을 분할하여 해당 버킷의 레코드의 절반 미만을 동일한 새 버킷으로 이전 할 수있는 해시 테이블입니다. 성능이 주기적으로 변하고 모든 버킷이 거의 동시에 분할되는 선형 해싱과 달리, 나선형 해싱은 테이블의 훌륭하고 부드러운 성장을 허용합니다.

약 30 년 전에 GNN Martin에 의해 출판되었는데, 그는 또한 그가 발명했다는 사실 외에도 많이 배울 수 없었습니다. 범위 인코딩. 똑똑한 사람처럼 보인다! 나는 그의 원래 논문의 사본을 얻을 수 없었지만 Larson Per-Åke Larson의 논문 "다이나믹 해시 테이블" 매우 명확한 설명이 있습니다.

로그는 하나 또는 두 축이 넓은 범위의 값을 커버 할 때 차트와 그래프에서 자주 사용됩니다.

일부 자연 현상은 로그 규모로 가장 잘 표현됩니다. 일부 예는 음압 수준입니다 (SPL DB) 및 지진 크기 (리히터 규모).

무엇의 예로서 크리스 값의 비트 수에 따라 복잡성을 변화시키는 알고리즘은 (아마도) O (log (n))에 의해 기술 된 효율을 가질 것입니다.

지수 (및 로그)의 또 다른 일상적인 예는 다음과 같은 형식입니다. IEEE 부동 소수점 번호.

로그 함수는 단순히 지수 함수의 역수이며, 뺄셈이 첨가의 역수라는 것과 같은 의미에서. 이 방정식과 마찬가지로 :

a = b + c

이 방정식과 동일한 사실을 나타냅니다.

a - c = b

이 방정식 :

b ** p = x

(어디 ** 권력을 높이고 있습니다)이 방정식과 동일한 사실을 나타냅니다.

log [base b] (x) = p

하지만 b 숫자가 될 수 있습니다 (예 : log [base 10] (10,000) = 4) 수학의 "자연"기반은입니다 e (2.718281828 ...) 어느 것에 대해 여기를 봐.

"공통"로그는 엔지니어링에 더 많이 사용되며 10의 기본을 사용합니다. 일부 숫자의 일반 (기본 10) 로그의 빠르고 더러워진 (더러운) 해석 x 크기의 숫자를 표현하는 데 필요한 소수점 숫자 수보다 1보다 적습니다. x.

자연 로그 (LN)를 탈수시킵니다. 내가 찾은 것이 가장 좋을 것입니다. 기본의 개념을 지우고 근본적인 개념을 이해하는 데 도움이됩니다. 그 후 모든 것이 케이크 워크처럼 보입니다.

다음은 내가 사용한 사이트입니다.

나는 집에서 매년 감사를 계산하기 위해 로그를 사용하여 판매자가 공정한지 여부를 결정했습니다.

집 감사 방정식

기본 방정식은 다음과 같습니다.

  • 이전 가격 = p
  • 새로운 가격 = n
  • 감사 속도 = r
  • 수년간의 감사 = y

p * (1 + r)^y = n

따라서 6 년 전 가격이 $ 191,000 (Couty Auditor의 사이트를 확인함으로써)이고 요청 가격은 $ 284,000 인 경우 감사율은 얼마입니까 (일회성 개선 비용을 고려하지 않음).

191,000 * (1 + r)^6 = 284,000

(1 + r)^6 = 284,000 / 191,000 = 1.486

Using a property of exponents and logarithms…

6 ( log (1 + r) ) = log 1.486
log (1 + r) = (log 1.486) / 6 = 0.02866

Using another property of exponents and logarithms…

10 0.02866 = 1 + r
1.068 = 1 + r
r = 1.068 – 1 = 0.068 = 6.8%  (kind of high!)

합리적인 가격을 결정하려면…

191,000 * (1 + 0.04)^6 = n
n = 241,675 + reasonable cost of improvement 
which of course will depreciate over time 
and should not represent 100% of the 
cost of the improvement
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top