버
버즈빌
February 11, 20161회
Weighted Random Shuffling Algorithms

간단 소개
Buzzvil은 가중치 랜덤 셔플링 알고리즘(WRS)을 사용하여 광고 및 콘텐츠 제공을 최적화하고, 다양한 구현 방법과 최적화 팁을 제시합니다.
AI Summary
가중치 랜덤 셔플링 알고리즘(WRS)
- Buzzvil의 광고 서버 'BuzzAd'에서 최적화된 광고 및 콘텐츠 제공을 위해 사용.
- CTR 기반 정렬의 문제점: 시간에 따른 CTR 변화, 콜드 스타트 문제 발생.
- WRS의 개념: 항목을 가중치에 따라 순열하는 방법. $latex P_i = w_i\ /\ (W_A\ -\ W_S) $ 확률로 항목 선택.
WRS 구현 방법
- Naive 접근 방식: 가중치 배열을 주사위 던지기로 비유, $latex O(n^2)$의 시간 복잡도.
- Binary Search Tree(BST) 활용: 검색 및 업데이트를 $latex O(logN)$으로 최적화, 전체 복잡도를 $latex O(NlogN)$으로 감소.
- 트리 구성: 배열을 사용하여 이진 트리를 표현, 각 노드는 (weight, subtree_weight) 튜플 저장.
- 탐색 및 업데이트: 루트에서 시작, 가중치 비교 후 하위 트리로 이동, 노드 i를 찾으면 가중치를 0으로 업데이트하고 부모 노드 업데이트.
최적화 팁
- 가중치 내림차순으로 정렬하여 큰 가중치 노드를 루트 근처에 배치, 평균 실행 시간 개선.
- 배치 업데이트를 통해 트리 구성 부분을 캐싱.
- '복원 추출'의 경우 선형 시간 전처리 후 상수 시간 탐색/업데이트 알고리즘(alias method) 활용.
Next Feeds

Weighted Random Shuffling Algorithms
Weighted Random Shuffling 알고리즘의 개념, 구현 방법, 최적화 전략을 설명하고, 실제 프로덕션 환경에서의 활용 팁을 제공합니다.
Weighted Random ShufflingWRS가중치이진 탐색 트리최적화
2016. 2. 10.
버즈빌
비트윈의 멀티티어 아키텍처를 위한 프레젠터 이야기
비트윈은 ELB의 한계를 극복하고 채팅 시스템을 개선하기 위해 프레젠터를 도입, 성능 최적화 및 안정성을 확보했다.
프레젠터ELBMultiplexing로드밸런싱AutoScaling
2015. 11. 30.
VCNC

버즈빌 AWS 활용기
버즈빌은 AWS를 적극 활용하여 서비스 운영 효율성을 높이고 있으며, 다양한 AWS 서비스 활용 팁과 경험을 공유합니다.
AWS클라우드인프라DevOps서버 운영
2015. 11. 6.
버즈빌
VCNC가 Hadoop대신 Spark를 선택한 이유
VCNC는 Hadoop의 한계를 극복하고 데이터 분석 효율성을 높이기 위해 Apache Spark와 Zeppelin을 도입, 클라우드 기반 시스템으로 재구축하여 성공적인 결과를 얻었습니다.
HadoopSparkZeppelin빅데이터데이터 분석
2015. 5. 18.
VCNC
Android Wear 개발하기
Android Wear 앱 개발 경험 공유: 비트윈 팀의 개발 과정, 내부 구조, 주의사항을 통해 더 나은 선택을 돕습니다.
Android Wear웨어러블개발NotificationMicro App
2014. 12. 17.
VCNC
비트윈 PC 버전 개발기
비트윈 PC 버전은 웹 기술 기반으로 개발되었으며, CEF를 통해 네이티브 기능 확장, React, ES6 등의 기술을 활용하여 효율성을 높였습니다.
비트윈 PC 버전CEFReactWebSocketECMAScript 6
2014. 11. 10.
VCNC