How Computer, Mother Nature Can Team Up to Find Culprit

A marriage of math and Mother Nature makes it possible for an electronic brain to compare one fingerprint with millions of others and come up with a match in seconds.

The underside of the end segment of a human finger is a pad, with friction ridges on the skin to facilitate picking up smooth objects. The crisscross pattern cut into some tools, such as the handles of pliers, serves a similar function, but while tools are manufactured to be identical, every fingerprint (i.e., the pattern of the friction ridges) is different.

Distinctive Minutiae

The computers bought by the state and the San Francisco police automatically identify each distinctive point on a fingerprint--such as where a ridge ends, or splits into two or three ridges. These points are known as minutiae.


Under the computerized method, fingerprints from known individuals are read by a digital scanner, according to Sgt. Ken Moses of the San Francisco Police Crime Scene Investigation Unit.

“What the computer then does, in effect, is pop up an imaginary periscope at each minutia point,” Moses said. “It divides its field of view into four quadrants, looks for the nearest minutia in each quadrant and then runs lines over to them, counting the number of ridges it has to cross to get there.”

The web of lines connecting between 80 and 120 minutiae points on each finger is then stored in the computer’s memory, along with the visual image of the fingerprint.

Digital Scanning


When police recover a fingerprint from a crime scene, they place it in the digital scanner. If the print is of poor quality, they can enlarge it fivefold and enhance blurred lines.

The computer then compares the latent print to those in its file and prints out a list of those whose prints match it most closely, with the highest score first. The maximum score is 20,000 points, although matches are often made on scores as low as 600 points, Moses said.

A fingerprint technician then manually compares the highest-scoring prints with the actual latent print to determine if there is a match.