some h ashing techniques

31
Some Hashing Techniques (used to randomize the relative addresses) 1 Prepared by Perla P. Cosme

Upload: edison

Post on 23-Feb-2016

26 views

Category:

Documents


0 download

DESCRIPTION

Some H ashing Techniques. (used to randomize the relative addresses). Some Hashing Techniques. Prime Number Division Remainder Method Digit Extraction Folding Radix Conversion Mid-Square. Some Hashing Techniques. Prime Number Division Remainder Method Digit Extraction Folding - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Some  H ashing Techniques

Prepared by Perla P. Cosme 1

Some Hashing Techniques

(used to randomize the relative addresses)

Page 2: Some  H ashing Techniques

Prepared by Perla P. Cosme 2

Some Hashing Techniques

1. Prime Number Division Remainder Method

2. Digit Extraction3. Folding4. Radix Conversion5. Mid-Square

Page 3: Some  H ashing Techniques

Prepared by Perla P. Cosme 3

Some Hashing Techniques

1. Prime Number Division Remainder Method

2. Digit Extraction3. Folding4. Radix Conversion5. Mid-Square

Page 4: Some  H ashing Techniques

Prepared by Perla P. Cosme 4

Prime Number Division Remainder Method• Similar with % (modulo or mod) function or the integer

division remainder method• The key of the record is used to apply the hash function

where x = primary key of the record % = mod function

PN = prime number

h(x) = x % PN

Page 5: Some  H ashing Techniques

Prepared by Perla P. Cosme 5

Some notes to ponder

1. Why do we use the modulo function when we can choose any user-defined function?

2. Why would we choose a prime number when we can choose any positive integer no.?

3. Is the hash function given as h(x) = x % PN, the only function we can use?

Page 6: Some  H ashing Techniques

Prepared by Perla P. Cosme 6

Prime Number Division Remainder MethodNotes:1. Choose PN such that it is the largest among

the prime numbers based from the relative positions. Why?

2. Relative positions are pre-defined by the operating system (OS). But for purposes of illustration, we shall adopt in our class that our relative position could be any of the form 0..(N-1) positions.

Page 7: Some  H ashing Techniques

Prepared by Perla P. Cosme 7

Just a simple mental exercise ...

Question:If the relative positions are labelled as 1..10, what would be the best choice for a prime number? Justify your answer.

Page 8: Some  H ashing Techniques

Prepared by Perla P. Cosme 8

Another simple mental exercise ...

Question:If the relative positions are labelled as 1..99, what would be the best choice for a prime number? Justify your answer.

Page 9: Some  H ashing Techniques

Prepared by Perla P. Cosme 9

Let’s try this ...Assuming that there are 100 relative positions

labeled as 0..99, and suppose we have the following key values: 24964, 25936, 32179, 39652, 40851, 53455, 53758, 54603, 63388, 81347

Questions:1.Find the relative positions of these records using

the hashing strategy called prime number division remainder method.

2.Determine the number of synonyms, if any.

Page 10: Some  H ashing Techniques

Prepared by Perla P. Cosme 10

AnswerKey Values Relative Positions

24964 3525936 3732179 7239652 7640851 1453455 853758 2054603 8963388 4781347 61

No. of Synonyms 0

Page 11: Some  H ashing Techniques

Prepared by Perla P. Cosme 11

Some Hashing Techniques

1. Prime Number Division Remainder Method

2. Digit Extraction3. Folding4. Radix Conversion5. Mid-Square

Page 12: Some  H ashing Techniques

Prepared by Perla P. Cosme 12

Digit Extraction

This technique is advisable to use if and only if you have a prior knowledge in the distribution or placement of digits within the record’s primary key. Why?

Page 13: Some  H ashing Techniques

Prepared by Perla P. Cosme 13

Digit Extraction

Algorithm:1. Lay all the primary keys of all records to be

placed within the relative positions.2. By cross examination, choose the positions or

columns of digits to be extracted.3. The relative position of the record is the

concatenated digits from the chosen columns.

Page 14: Some  H ashing Techniques

Prepared by Perla P. Cosme 14

Let’s try this ...Assuming that there are 100 relative positions

labeled as 0..99, and suppose we have the following key values: 24964, 25936, 32179, 39652, 40851, 53455, 53758, 54603, 63388, 81347

Questions:1. Find the relative positions of these records using

the hashing strategy called digit extraction. Let us choose the positions of the chosen digits as the 5th and 3rd.

2. Determine the number of synonyms, if any.

Page 15: Some  H ashing Techniques

Prepared by Perla P. Cosme 15

Answer

Key Values Relative Positions24964 4925936 6932179 9139652 2640851 1853455 5453758 8754603 3663388 8381347 73

No. of Synonyms 0

Page 16: Some  H ashing Techniques

Prepared by Perla P. Cosme 16

Some Hashing Techniques

1. Prime Number Division Remainder Method

2. Digit Extraction3. Folding4. Radix Conversion5. Mid-Square

Page 17: Some  H ashing Techniques

Prepared by Perla P. Cosme 17

FoldingAlgo:1. Consider the key values as a sequence of

digits.2. By “folding” the sequence of digits, we end

up as if we divide the digits into 2.3. Add up the digits such that the first half of

the digits becomes the first addend while the second half is composed of the digits belonging to the other half.

Page 18: Some  H ashing Techniques

Prepared by Perla P. Cosme 18

Let’s try this ...Assuming that there are 100 relative positions

labeled as 0..99, and suppose we have the following key values: 24964, 25936, 32179, 39652, 40851, 53455, 53758, 54603, 63388, 81347

Questions:1. Find the relative positions of these records using

the hashing strategies called folding. Let us assume that the demarcation line (or where the folding is made) is after the 3rd digit.

2. Determine the number of synonyms, if any.

Page 19: Some  H ashing Techniques

Prepared by Perla P. Cosme 19

Answer

Key Values Relative Positions24964 1325936 9532179 039652 4840851 5953455 8953758 9554603 4963388 2181347 60

No. of Synonyms 1

Page 20: Some  H ashing Techniques

Prepared by Perla P. Cosme 20

Some Hashing Techniques

1. Prime Number Division Remainder Method

2. Digit Extraction3. Folding4. Radix Conversion5. Mid-Square

Page 21: Some  H ashing Techniques

Prepared by Perla P. Cosme 21

Radix ConversionAlgorithm: (similar with conversion from one

number system to another number system)1. With each digit in the primary key, multiply

each digit by powers of the chosen base number (or radix). The exponent must start from 0, and it increases as the number of digits increases.

2. Take the sum of all the products.3. The last 2 digits of the computed sum is the

relative address.

Page 22: Some  H ashing Techniques

Prepared by Perla P. Cosme 22

Example

Assume that our radix is 8. The octal number 12345, when converted to its base 10 will be computed as follows:

123458 = __________10

Page 23: Some  H ashing Techniques

Prepared by Perla P. Cosme 23

Let’s try this ...Assuming that there are 100 relative positions

labeled as 0..99, and suppose we have the following key values: 24964, 25936, 32179, 39652, 40851, 53455, 53758, 54603, 63388, 81347

Questions:1. Find the relative positions of these records using

the hashing strategies called radix conversion. Let us assume that the radix is base 12.

2. Determine the number of synonyms, if any.

Page 24: Some  H ashing Techniques

Prepared by Perla P. Cosme 24

Answer

Key Values Relative Positions24964 5625936 5032179 139652 8640851 5753455 553758 4054603 5963388 3681347 3

No. of Synonyms 0

Page 25: Some  H ashing Techniques

Prepared by Perla P. Cosme 25

Some Hashing Techniques

1. Prime Number Division Remainder Method

2. Digit Extraction3. Folding4. Radix Conversion5. Mid-Square

Page 26: Some  H ashing Techniques

Prepared by Perla P. Cosme 26

Mid-Square

Algorithm:As the name implies, the randomization is

done by taking the middle digits, then, square the middle values. The result is the relative address of the record.

Page 27: Some  H ashing Techniques

Prepared by Perla P. Cosme 27

Point of OrderIf the relative positions ranges from 0..99, then

take the last 2 digits of the result as the relative address of the record. Questions:1. Why do we take the last 2 digits of the result as the

relative address of the record – why not the first 2 digits or the middle digits, etc.?

2. If the relative positions are labelled as 0..999, which digits of the result (of mid-square operation) is considered as the relative address? Why?

Page 28: Some  H ashing Techniques

Prepared by Perla P. Cosme 28

Notes to Ponder

1. It is not advisable to get only one digit as the middle number. Why?

2. If the number of digits in the key value is even, which digit positions are considered as the middle digits? Why?

Page 29: Some  H ashing Techniques

Prepared by Perla P. Cosme 29

Let’s try this ...Assuming that there are 100 relative positions

labeled as 0..99, and suppose we have the following key values: 24964, 25936, 32179, 39652, 40851, 53455, 53758, 54603, 63388, 81347

Questions:1. Find the relative positions of these records using

the hashing strategies called mid-square. Let us take the 2nd up to 4th digits as our middle values.

2. Determine the number of synonyms, if any.

Page 30: Some  H ashing Techniques

Prepared by Perla P. Cosme 30

Answer

Key Values Relative Positions24964 1625936 4932179 8939652 2540851 2553455 2553758 2554603 063388 4481347 56

No. of Synonyms 3

Page 31: Some  H ashing Techniques

Prepared by Perla P. Cosme 31

That ends our discussion on the different hashing techniques.

Are there questions?????

Coming up next … rehashing techniques