로그 알고리즘
2978 단어 algorithmslogarithm
로그의 주요 대중적인 사용은 인간이 이해할 수 있는 방식으로 지수 함수를 차트로 작성하는 것입니다.
Bitcoin stock-to-flow 가격 모델에서 이것을 볼 수 있습니다.
코로나 사례:
데시벨 척도:
일상적인 개념을 사용자에게 전달할 때 이 강력한 도구를 사용하지 않겠습니까?
예를 들어, 팔로워가 많은 사람은 아무도 없는 사람에 비해 도달 범위가 훨씬 넓기 때문에 절대적 좋아요 수 대신 게시물의 10점 만점을 표시하도록 Twitter를 재설계할 수 있습니다. 즉, 당신이 누구인지에 따라 상대적으로 트윗이 좋아요 한두 개 또는 수만 개를 얻습니다. 경기장을 약간 평준화하는 방법이 있다면 어떨까요?
트윗의 이론적 최대 좋아요 수가 100만이라고 가정해 보겠습니다. 좋아요가 100만 이상인 트윗의 점수는 10입니다. 선형 척도에서 100만 좋아요의 10분의 1이 있어야 1점을 받을 수 있지만 분명히 그렇지 않습니다.
그러나 우리는 공식
log base likes of max score = exponent
을 사용하여 로그 스케일로 유사한 숫자를 그릴 수 있습니다. 최대 좋아요 수와 최대 점수를 공식에 대입하면 지수가 1/6이 됩니다. 따라서 주어진 사용자의 점수를 계산하려면 좋아요 수를 1/6의 제곱 또는 const getScore = likes => Math.min(10**6, likes) ** (1/6)
으로 올리면 됩니다. 분포는 다음과 같습니다.1 like = score of 1
10 likes = score of 1.47
100 likes = score of 2.15
1000 likes = score of 3.16
10000 likes = score of 4.64
100000 likes = score of 6.81
1000000 likes = score of 10
이것은 여전히 나에게 약간 무거운 느낌입니다. 약간 미세 조정합시다. 이를 수행하는 한 가지 방법은 더 낮은 값을 추가 점수로 채우는 것입니다.
const getScore = likes =>
(Math.min(10**5, likes) ** (1/5) + Math.min(10**6, likes) ** (1/6)) / 2
이것은 우리에게 훨씬 좋은 분포를 제공합니다:
1 like = score of 1
10 likes = score of 1.53
100 likes = score of 2.33
1000 likes = score of 3.57
10000 likes = score of 5.48
100000 likes = score of 8.41
1000000 likes = score of 10
Twitter의 UI에 적용하면 다음과 같이 바뀔 수 있습니다.
이것으로:
작은 변화(반드시 개선은 아님)이지만 아이디어를 잘 보여줍니다.
사용자 인터페이스 디자인의 로그에 대한 다른 응용 프로그램에는 다음이 포함될 수 있습니다.
나는 이것이 매우 흥미로운 기술이라고 생각하고 내 디자인 작업에서 더 자주 대수 및 지수 함수에 도달할 것입니다.
Reference
이 문제에 관하여(로그 알고리즘), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/staab/logaralgorithms-11e9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)