Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

# hashing algorithm

IP.com Disclosure Number: IPCOM000016244D
Original Publication Date: 2002-Sep-30
Included in the Prior Art Database: 2003-Jun-21
Document File: 2 page(s) / 96K

IBM

## Abstract

Disclosed is a simple way to build hashing algorithm for alphanumeric strings and similar. The procedure is divided into two steps: first of all it transforms each string into an only-numeric array (step1), then it uses whatever hashing algorithm for numeric arrays. It could be useful in inventory processing. Step 1 If A is a set of symbols (here called, for simplicity, an alphabet) and a is a function a: A N 4 {0} which associates to each symbol g c A a positive integer n c N 4 {0}, it is possible to define a correspondence c between an array v c V a Z ...( t times, t c N ... Z (where V is the cartesian product of whatever combination of A and N 4 {0}) and N 4 {0} N 4 {0} ... N 4 {0} a Z ...(m times, m c N, t m m ... Z in this way: c : V N 4 {0} N 4 {0} ... N 4 {0}

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 66% of the total text.

Page 1 of 2

hashing algorithm

Disclosed is a simple way to build hashing algorithm for alphanumeric strings and similar. The procedure is divided into two steps: first of all it transforms each string into an only-numeric array (step1), then it uses whatever hashing algorithm for numeric arrays. It could be useful in inventory processing.

Step 1

If A is a set of symbols (here called, for simplicity, an alphabet) and a is a function a: A -----> N 4 {0} which associates to each symbol gcA a positive integer nc N 4 {0}, it is possible to define a correspondence c between an array v c V a Z %...(t times, tc N) ...% Z (where V is the cartesian product of whatever combination of A and N 4 {0}) and N 4 {0} % N 4 {0} % ... % N 4 {0} a Z %...(m times, mc N, t m m) ...% Z in this way:

c: V -----------> N 4 {0} % N 4 {0} % ... % N 4 {0}

v[i]------------> a(v[i]), if v[i]cA;

v[i]------------>v[i], if v[i]c N 4 {0} and v[i-1],v[i+1]v N 4 {0} (that is

v[i] is the identity on N 4 {0} if v[i] is surrounded by

elements of A);

v[i]------------>v[i]v[i+1]v[i+2]... v[i+k], where v[i],v[i+1],

v[i+2],...,v[i+k] c N 4 {0} and the number is obtained

simply by gluing each number to the other,

(in case) skipping all leading zeroes. c will skip v[i+1],...,

v[i+k].

Since c(v) = w must be an element of Z %...(m times, mc N, m m t) ...% Z, all w components which are not in Img(c(v)) are set to zero. This is needed since c compresses several v components into one component of w , depending on the nature of v.

EXAMPLE:

A = {latin alphabet} h { a,b,c,d,...,z }

a: A -----> N 4 {0} is the application that associates to each letter of A the

corresponding ASCII co...