Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Aleatoriedade no Coração dos Algoritmos do Futuro
Search
Juan Lopes
March 29, 2016
Technology
1
950
Aleatoriedade no Coração dos Algoritmos do Futuro
Juan Lopes
March 29, 2016
Tweet
Share
More Decks by Juan Lopes
See All by Juan Lopes
Estruturas de dados que suportam 300 mil jogadores simultâneos
juanplopes
1
200
ESTRUTURAS DE DADOS PROBABILÍSTICAS PARA REPRESENTAÇÃO DE GRAFOS GIGANTES
juanplopes
0
97
Sketching data structures for massive graph problems
juanplopes
0
530
Big Graph: Big Data aplicado a grafos gigantes e dinâmicos
juanplopes
0
640
Representações implícitas probabilísticas de grafos
juanplopes
0
320
Nubank Machine Learning Meetup
juanplopes
1
260
Lucene Escala? Full-text para Big Data com hardware modesto
juanplopes
2
810
Algoritmos no Fronte de Batalha
juanplopes
1
210
Other Decks in Technology
See All in Technology
データ戦略部門 紹介資料
sansan33
PRO
1
3.2k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.6k
API の仕様から紐解く「MCP 入門」 ~MCP の「コンテキスト」って何だ?~
cdataj
0
140
(新URLに移行しました)FASTと向き合うことで見えた、大規模アジャイルの難しさと楽しさ
wooootack
0
650
やさしい認証認可
minorun365
PRO
29
12k
kotlin-lsp を Emacs で使えるようにしてみた / use kotlin-lsp in Emacs
nabeo
0
130
Amplifyとゼロからはじめた AIコーディング 成果と展望
mkdev10
1
120
上長や社内ステークホルダーに対する解像度を上げて、より良い補完関係を築く方法 / How-to-increase-resolution-and-build-better-complementary-relationships-with-your-bosses-and-internal-stakeholders
madoxten
13
7.4k
vLLM meetup Tokyo
jpishikawa
1
200
現場で役立つAPIデザイン
nagix
1
250
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
2.1k
AI とペアプロしてわかった 3 つのヒューマンエラー
takahiroikegawa
1
660
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
4
130
Bash Introduction
62gerente
614
210k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
The World Runs on Bad Software
bkeepers
PRO
68
11k
GraphQLとの向き合い方2022年版
quramy
46
14k
4 Signs Your Business is Dying
shpigford
183
22k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.8k
A Tale of Four Properties
chriscoyier
159
23k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Transcript
None
MACHINE LEARNING RESOLVE MUITA COISA MAS NÃO É SEMPRE A
MELHOR SOLUÇÃO.
DETECTAR PLÁGIO EM BILHÕES DE TEXTOS
DETECTAR SIMILARIDADE EM BANCOS DE DADOS DE IMAGENS
ESTIMAR INTERSEÇÃO DE CONJUNTOS, SEM PRECISAR TÊ-LOS PRÓXIMOS GEOGRAFICAMENTE.
ALEATORIEDADE NO CORAÇÃO DOS ALGORITMOS DO FUTURO
• PAI DO MIGUEL • BACHAREL E QUASE MESTRE •
PROGRAMADOR • VICIADO EM COMPETIÇÕES QUEM É JUAN LOPES?
SLIDES, LINKS E DEMOS TWITTER E GITHUB
ALGORITMOS RANDOMIZADOS
• HASHTABLES • GERAÇÃO DE PARES DE CHAVES CRIPTOGRÁFICAS •
RANDOMIZED QUICKSORT ALGORITMOS RANDOMIZADOS
None
RANDOMIZED ALGORITHMS
None
INTRODUÇÃO AOS ALGORITMOS RANDOMIZADOS
MINING OF MASSIVE DATASETS
ALGORITMOS RANDOMIZADOS PROBABILÍSTICOS
VAMOS FALAR DE POLÍTICA?
QUAL É A BASE TEÓRICA DE UMA PESQUISA ELEITORAL?
QUAL É A BASE TEÓRICA DE UMA ESTIMATIVA DE PARTICIPANTES?
PROBABILIDADE E ESTATÍSTICA
VARIÁVEL ALEATÓRIA X
VARIÁVEL ALEATÓRIA X ROLAGEM DE DADO DE 6 LADOS
ESTIMADORES NÃO- ENVIESADOS
COMO CRIAR UMA VARIÁVEL ALEATÓRIA QUE ESTIME ALGUM VALOR IMPORTANTE?
A OPINIÃO DE UM INDIVÍDUO ALEATÓRIO EM UMA POPULAÇÃO É
UM ESTIMADOR DA OPINIÃO DA POPULAÇÃO
A QUANTIDADE DE PESSOAS EM UM TRECHO DE UMA MANIFESTAÇÃO
É UM ESTIMADOR DO NÚMERO TOTAL DE PESSOAS
COMPOSIÇÃO DE ESTIMADORES DIMINUI A VARIÂNCIA
• FILTRO DE BLOOM [Blo70] • CM-SKETCH [CM05] • MINHASH
[Bro97] • HYPERLOGLOG [FFGM08] ESTRUTURAS PROBABILÍSTICAS
1970 1990 1980 2000 2010 LINHA DO TEMPO FILTRO DE
BLOOM [Blo70] FM-SKETCH [FM85] MINHASH [Bro97] KMV-SKETCH [BYJK+02] LSH THEORY [IM98] SIMHASH [Cha02] LOGLOG [DF03] AMS PAPER [AMS96] CM-SKETCH [CM05] HYPERLOGLOG [FFGM08] SPECTRAL BLOOM [CM03]
– DONALD KNUTH HASH FUNCTIONS
HASH FUNCTIONS x h(x) 0: 50% 1: 50% 0: 50%
1: 50% 0: 50% 1: 50% …
MINHASH [Bro97] Andrei Z Broder. On the resemblance and containment
of documents. In Compression and Complexity of Sequences 1997. Proceedings, pages 21–29. IEEE, 1997.
MINHASH • VARIÁVEL DE BERNOULLI • ÍNDICE DE JACCARD •
DUAS VARIANTES
MINHASH, COM CALMA A B
A B MINHASH, COM CALMA
A B A B MINHASH, COM CALMA
CALMA!
MINHASH • CADA FUNÇÃO DEFINE UM ESTIMADOR NÃO-ENVIESADO • MÚLTIPLAS
FUNÇÕES DE HASH • COMPARAÇÃO DOS VALORES DE CADA ASSINATURA
MINHASH • ASSINATURA DEFINIDA POR K MENORES VALORES • TAMBÉM
É VARIÁVEL DE BERNOULLI • COMPARAÇÃO DOS VALORES DE CADA ASSINATURA
MINHASH • PODE SER 1 COM PROBABILIDADE p E 0
COM PROBABILIDADE 1-p
MINHASH
MINHASH • 42 OBRAS DE SHAKESPEARE • 84 DOCUMENTOS NO
TOTAL • 0 ≤ K ≤ 1000
MINHASH S 1 S 2 S 3 S 4 S
5 h 1 h 2 h 3 h 4 h 5 h 6 h 7 h 8
MINHASH S 1 S 2 S 3 S 4 S
5 h 1 h 2 h 3 h 4 h 5 h 6 h 7 h 8 r=2 }
MINHASH S 1 S 2 S 3 S 4 S
5 r 1 h 1 h 2 r 2 h 3 h 4 r 3 h 5 h 6 r 4 h 7 h 8 }r=2 { b=4
MINHASH S 1 S 2 S 3 S 4 S
5 r 1 h 1 h 2 r 2 h 3 h 4 r 3 h 5 h 6 r 4 h 7 h 8 S 1 S 4
MINHASH S 1 S 2 S 3 S 4 S
5 r 1 h 1 h 2 r 2 h 3 h 4 r 3 h 5 h 6 r 4 h 7 h 8 S 2 S 5 S 1 S 4
MINHASH S 1 S 2 S 3 S 4 S
5 r 1 h 1 h 2 r 2 h 3 h 4 r 3 h 5 h 6 r 4 h 7 h 8 S 2 S 5 S 2 S 5 S 1 S 4
MINHASH S 1 S 2 S 3 S 4 S
5 r 1 h 1 h 2 r 2 h 3 h 4 r 3 h 5 h 6 r 4 h 7 h 8 S 1 S 4 S 2 S 5 S 2 S 5 S 2 S 5 S 2 S 5 S 2 S 5 S 1 S 4
MINHASH S 1 S 2 S 3 S 4 S
5 r 1 h 1 h 2 r 2 h 3 h 4 r 3 h 5 h 6 r 4 h 7 h 8 S 1 S 4 S 2 S 5 S 2 S 5 S 2 S 5 S 1 S 4 S 2 S 5 S 2 S 5 S 1 S 4
MINHASH • PROBABILIDADE DE UM PAR SER ESCOLHIDO DEPENDE DA
SIMILARIDADE ENTRE OS CONJUNTOS
MINHASH • PROBABILIDADE DE UM PAR SER ESCOLHIDO DEPENDE DA
SIMILARIDADE ENTRE OS CONJUNTOS
MINHASH • 42 OBRAS DE SHAKESPEARE • 84 DOCUMENTOS NO
TOTAL • K = 512
SIMHASH
SIMHASH
SIMHASH r⃗ u⃗ v⃗
SIMHASH • FUNÇÃO DE HASH DEFINIDA POR VETOR ALEATÓRIO •
ESTIMATIVA DO MENOR ÂNGULO ENTRE DOIS VETORES
SIMHASH • REPRESENTAÇÃO COMPACTA • COMPUTAÇÃO EFICIENTE • REPRESENTA MULTICONJUNTOS
FACILMENTE
None
HYPERLOGLOG [FFGM08] Philippe Flajolet, Éric Fusy, Olivier Gandouet, and Frédéric
Meunier. Hyperloglog: the analysis of a near-optimal cardinality estimation algorithm. DMTCS Proceedings, (1), 2008.
É COMO ESTIMAR O NÚMERO DE PESSOAS EM UMA MULTIDÃO
PELA ALTURA DA MAIOR PESSOA
HYPERLOGLOG • BASEIA-SE NA OBSERVAÇÃO DO PADRÃO DE BITS
HYPERLOGLOG 0 0 0 0 0 0 0 0
HYPERLOGLOG A 0 0 0 3 0 0 0 0
01000101
HYPERLOGLOG B 0 0 0 3 0 0 1 0
11010011
HYPERLOGLOG C 0 0 0 5 0 0 1 0
01000001
HYPERLOGLOG C 0 0 0 5 0 0 1 0
01000001 CADA POSIÇÃO NESTE ARRAY DE EXEMPLO USA APENAS 3 BITS
HYPERLOGLOG C 0 0 0 5 0 0 1 0
01000001
HYPERLOGLOG • SE O VALOR ESTIMADO FOR MUITO BAIXO (<2.5M),
USA- SE LINEAR COUNTING NO MESMO VETOR • A ESTIMATIVA TEM UM VIÉS MULTIPLICATIVO CONSTANTE QUE PRECISA SER CORRIGIDO
“LOGLOG” VEM DA QUANTIDADE DE MEMÓRIA NECESSARIA PARA CADA SUBFLUXO.
LOGLOG(2^32) = 5 BITS
HYPERLOGLOG++
HYPERLOGLOG++
COMO ENGENHEIROS RESOLVEM PROBLEMAS: goo.gl/iU8Ig 18 PÁGINAS DE CONSTANTES
HYPERLOGLOG
HYPERLOGLOG • 42 OBRAS DE SHAKESPEARE
OPERAÇÕES SOBRE HYPERLOGLOGS
INTERSEÇÃO DE HYPERLOGLOGS • IDEIA SIMPLES • O PROBLEMA
INTERSEÇÃO DE HYPERLOGLOGS • MINHASH × HYPERLOGLOG • ERRO CONTROLADO
• SÃO MUITO IMPORTANTES QUANDO HÁ RESTRIÇÃO DE RECURSOS •
ÁREA DE PESQUISA RECENTE • ATRAI MUITO INTERESSE DOS BIG PLAYERS • IMPLEMENTAR É MAIS SIMPLES QUE EXPLICAR ESTRUTURAS PROBABILÍSTICAS
SLIDES, LINKS E DEMOS TWITTER E GITHUB PERGUNTAS?
OBRIGADO!