blooming trees for minimal perfect hashing
DESCRIPTION
Blooming Trees for Minimal Perfect Hashing. Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci Publisher: GLOBECOM 2008 Presenter: Yu-Ping Chiang Date: 2009/07/21. Outline. Related work Huffman spectral bloom filter Blooming tree - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Blooming Trees for Minimal Perfect Hashing](https://reader033.vdocuments.mx/reader033/viewer/2022051821/568158ce550346895dc619c3/html5/thumbnails/1.jpg)
1
Blooming Trees for Minimal Perfect Hashing
Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio VitucciPublisher: GLOBECOM 2008Presenter: Yu-Ping ChiangDate: 2009/07/21
![Page 2: Blooming Trees for Minimal Perfect Hashing](https://reader033.vdocuments.mx/reader033/viewer/2022051821/568158ce550346895dc619c3/html5/thumbnails/2.jpg)
2
Outline
Related workHuffman spectral bloom filterBlooming tree
Minimal Perfect Hash FunctionUsing naïve blooming treeUsing optimized blooming tree and HSBF
Experimental result
![Page 3: Blooming Trees for Minimal Perfect Hashing](https://reader033.vdocuments.mx/reader033/viewer/2022051821/568158ce550346895dc619c3/html5/thumbnails/3.jpg)
3
Related work – Huffman Spectral Bloom Filter
Using Huffman code encode Counting Bloom Filter (CBF)Encode value δ with (δ+1) bits
3 0 0 1 0 010
0111010 0 00 10 0
CBF
HSBF
δ”1s”, and a trailing 0
![Page 4: Blooming Trees for Minimal Perfect Hashing](https://reader033.vdocuments.mx/reader033/viewer/2022051821/568158ce550346895dc619c3/html5/thumbnails/4.jpg)
4
B0
B1
B2
B3
0
1 1 1 10 0 0 0
1 2 1 1 1 1
1 1 1 10 0 0 0
1 1 1 1 1 10 0
0 0 0
0 0
1
1 1 1
3 items 2 items1 itemitem
Bit string
HASH FUNCTION
3 bits 1 bit 1 bitindex
index
index
Related work – blooming tree
![Page 5: Blooming Trees for Minimal Perfect Hashing](https://reader033.vdocuments.mx/reader033/viewer/2022051821/568158ce550346895dc619c3/html5/thumbnails/5.jpg)
5
Outline
Related workHuffman spectral bloom filterBlooming tree
Minimal Perfect Hash FunctionUsing naïve blooming treeUsing optimized blooming tree and HSBF
Experimental result
![Page 6: Blooming Trees for Minimal Perfect Hashing](https://reader033.vdocuments.mx/reader033/viewer/2022051821/568158ce550346895dc619c3/html5/thumbnails/6.jpg)
6
MPHF – using NBT
B0
B1
B2
B3
0
1 1 0 10 0 0 0
1 1 1 1
1 1 10 0 0
1 0 1 1 10
0 0
0 0
1
1
1 item 2 items1 itemitem
Bit string
HASH FUNCTION
3 bits 1 bit 1 bitindex
index
index
Popcount is final hash number
![Page 7: Blooming Trees for Minimal Perfect Hashing](https://reader033.vdocuments.mx/reader033/viewer/2022051821/568158ce550346895dc619c3/html5/thumbnails/7.jpg)
7
MPHF – using NBT
B0
B1
B2
0
1 1 0 10 0 0 0
1 1 10 0 0
1 0 1 1 10
0 0
0 0
1
1
1 item 2 items1 item
Step1:
Step2: final hash number = popcount
item1
item2
item4
item3
hash
001 00
010 10
111 00
111 01
item1
item2
item4
item3
popcount
00
01
10
11item1 item2 item3 item4
B3 1 1 1 1
![Page 8: Blooming Trees for Minimal Perfect Hashing](https://reader033.vdocuments.mx/reader033/viewer/2022051821/568158ce550346895dc619c3/html5/thumbnails/8.jpg)
8
MPHF – using OBT and HSBT
0
1 1 0 10 0 0 0
0 10 00 0
0 01
1
1 item 2 items1 item
00 00
B0
B1
B2
0
1 1 0 10 0 0 0
1 1 10 0 0
1 0 1 1 10
0 0
0 0
1
1
1 item 2 items1 item
NBT OBT
![Page 9: Blooming Trees for Minimal Perfect Hashing](https://reader033.vdocuments.mx/reader033/viewer/2022051821/568158ce550346895dc619c3/html5/thumbnails/9.jpg)
9
MPHF – using OBT and HSBT
0
1 1 0 10 0 0 0
0 10 00 0
0 01
1
1 item 2 items1 item
00 00
0
0 10 00 0
0 01
1
1 item 2 items1 item
00 00
110100 010 0 0 0
OBT OBT with HSBF
![Page 10: Blooming Trees for Minimal Perfect Hashing](https://reader033.vdocuments.mx/reader033/viewer/2022051821/568158ce550346895dc619c3/html5/thumbnails/10.jpg)
10
MPHF – using OBT and HSBTStep1:
Step2: final hash number = zero blocks
item1
item2
item4
item3
Zero blocks
00
01
10
11
item1
item2
item4
item3
hash
001 000
010 100
111 000
111 010……
0
0 10 00 0
0 01
1
1 item 2 items1 item
00 00
110100 010 0 0 0
![Page 11: Blooming Trees for Minimal Perfect Hashing](https://reader033.vdocuments.mx/reader033/viewer/2022051821/568158ce550346895dc619c3/html5/thumbnails/11.jpg)
11
MPHF – using OBT and HSBTStep1:
Step2: final hash number = zero blocks
item1
item2
item4
item3
Zero blocks
00
01
10
11
item1
item2
item4
item3
hash
001 000
010 100
111 000
111 010……
0
0 10 00 0
0 01
1
1 item 2 items1 item
00 00
110100 010 0 0 0
Start addr.
Prev. elements Prev. “10”s
Y1 0 0
Y2 2 2
Lookup table :
Y1 Y2
![Page 12: Blooming Trees for Minimal Perfect Hashing](https://reader033.vdocuments.mx/reader033/viewer/2022051821/568158ce550346895dc619c3/html5/thumbnails/12.jpg)
12
MPHF – using OBT and HSBTStep1:
Step2: final hash number = zero blocks
item1
item2
item4
item3
Zero blocks
00
01
10
11
item1
item2
item4
item3
hash
001 000
010 100
111 000
111 010……
0
0 10 00 0
0 01
1
1 item 2 items1 item
00 00
110100 010 0 0 0
Start addr.
Prev. elements Prev. “10”s
Y1 0 0
Y2 2 2
Lookup table :
Y1 Y2
0
![Page 13: Blooming Trees for Minimal Perfect Hashing](https://reader033.vdocuments.mx/reader033/viewer/2022051821/568158ce550346895dc619c3/html5/thumbnails/13.jpg)
13
Outline
Related workHuffman spectral bloom filterBlooming tree
Minimal Perfect Hash FunctionUsing naïve blooming treeUsing optimized blooming tree and HSBF
Experimental result
![Page 14: Blooming Trees for Minimal Perfect Hashing](https://reader033.vdocuments.mx/reader033/viewer/2022051821/568158ce550346895dc619c3/html5/thumbnails/14.jpg)
14
Experimental result
Our Intel 2.4Ghz Pentium 4 Core 2 Duo processor,
4GB RAM, Linux OS 2.6
![Page 15: Blooming Trees for Minimal Perfect Hashing](https://reader033.vdocuments.mx/reader033/viewer/2022051821/568158ce550346895dc619c3/html5/thumbnails/15.jpg)
15
Experimental result BPZ
3.2 Ghz XEON, 1G RAM, Linux 2.6 BL
Pentium 4
![Page 16: Blooming Trees for Minimal Perfect Hashing](https://reader033.vdocuments.mx/reader033/viewer/2022051821/568158ce550346895dc619c3/html5/thumbnails/16.jpg)
16
![Page 17: Blooming Trees for Minimal Perfect Hashing](https://reader033.vdocuments.mx/reader033/viewer/2022051821/568158ce550346895dc619c3/html5/thumbnails/17.jpg)
UU
Bloom Filter
17
UU
item1item1
item2item2
item3
item3
If present item in U as xxxItem1 can be 001Item2 can be 010Item3 can be 110
SS
item1item1 ite
m3
item3
There can be at most three items each present with three bits in set S.S can be present as 001 110 000
![Page 18: Blooming Trees for Minimal Perfect Hashing](https://reader033.vdocuments.mx/reader033/viewer/2022051821/568158ce550346895dc619c3/html5/thumbnails/18.jpg)
Bloom Filter
18
UU
item1
item1
item2
item2
item3
item3
Assume hash function H(x) :H(item1) = 0H(item2) = 1H(item3) = 2U can be present in three bits, No.H(itemi) bit present i
S can be present as 101
UU
SS
item1item1 ite
m3
item3