Welcome to Sunless-Sea Excavating the past, for a better future.
Google
Entire Web sunless-sea.net
xanadu.net udanax.com
 
WHITEBOARDS
 links into
 revise
 activity
 how to use

SITENAV
 meetings
 what's new?
 whiteboards
 post article
 frontpage
 downloads

ORIENTATION
 legalisms
 history
 glossary
 participants

BACK-ENDS
 udanax-green
 udanax-gold

ALGORITHMS
 coordspaces
 enfilade
 ent

OLD MANUALS
 XIA

HELPING
 puzzles
 needs
 funding
Like the site? Click to donate!

 site-traffic
 admin


Whiteboard: KDTrees last revised by 127.0.0.1 on Aug 17, 2005 3:21 am

(The k-d tree is definitely different from the KTree, which is pretty much a linear address-space enfilade.)

The k-d tree is a data structure for multidimensional sparse data. The basic idea is that at each node in the tree, you split along one dimension. Specifically, if you have "k" dimensions (k-d), then on level n you split based on dimension number n mod k.

(I seem to remember Ents--at least over multi-D spaces--using some combo of k-D and splay trees. With splay trees being as fast and loose with levels as they are, I'd think you'd need a looser policy about what dimension to split along, but further speculations deleted.)

: --SteveWitham?

References for k-d trees

Steve Omohundro has done work with k-d trees and similar structures, so I (sw) asked him for references to papers on the k-d tree. He replied:

Hi Steve,

The original paper introducing them was:

Jerome H. Friedman, Jon Louis Bently, and Raphael Ari Finkel, "An Algorithm for Finding Best Matches in Logarithmic Expected Time," ACM Transactions on Mathematical Software, 3:3 (1977) 209-226.

I don't know if that is online somewhere. ACM has a library of their papers online but I don't know if it goes back that far.

I wrote a long article on how to use the ideas behind kd trees to do various tasks that people were using neural networks for in:

Stephen M. Omohundro, "Efficient Algorithms with Neural Network Behavior", Complex Systems 1:2 (1987) 273-347.

Unfortunately, I don't think that one's online either. I did several shorter tech reports at the International Computer Science Institute which are online and which are related:

http://www.icsi.berkeley.edu//techreports/1989.abstracts/tr-89-041.html

is a short survey of some techniques.

(That paper also describes the Delaunay triangulation. -sw)

http://www.icsi.berkeley.edu//techreports/1989.abstracts/tr-89-063.html

describes "balltrees" a related data structure which has some advantages in some situtations. That tech report has code in Eiffel but should be pretty easy to convert to other languages.

http://www.icsi.berkeley.edu//techreports/1991.abstracts/tr-91-009.html

describes "bumptrees" which are good for dealing with mixtures of Gaussians and related situations.

Hope that helps. What is your application?

--Steve (Stephen M. Omohundro)

(Back to Steve Witham talking:)

Another reference found by David was this: http://filebox.vt.edu/users/jegrant/stuff/kdtrees.html

This one talks about splitting along dimension 0 at level 0 of the tree, dimension 1 at level 1, etc. ----------- Actually, my research has shown that the original paper introducing them was: Jon Louis Bentley, "Multidimensional Binary Search Trees Used for Associative Searching," Communications of the ACM, 18:9 (1975) 509 - 517.

In this paper, Bentley has provided a nearest neighbor query algorithm. Friedman, Bentley, and Finkel then wrote the article referenced above that included an improved nearest negihbor search with a slightly revised k-d tree structure. I've recently (Apr 2002) pulled both from the ACM digital library in .pdf format.

-- G. Mayer -----------

Reading List
As We May Think, 1945 Vannevar Bush
Augmenting Human Intellect:A Conceptual Framework, 1962 Doug Engelbart
Literary Machines, 1981, 87, 93 Ted Nelson
Engines of Creation, Chapter 14 The Network of Knowledge, 1986, 87 K. Eric Drexler
Hypertext Publishing and the Evolution of Knowledge, 1986 K. Eric Drexler
SF:EarthWeb, 1999 Marc Stiegler

Quick Links
www.udanax.com
www.xanadu.com
www.xanadu.com.au
Udanax List Archive
Xanadu® List Archive

All trademarks and copyrights on this page are owned by their respective companies. Comments are owned by the Poster. The Rest ©2001 Jeff Rush.