I am not sure whether this is the best place to ask this question. I am in the process of researching the area in data clustering as well as the algorithms that are associated with it and the term Oracle keeps appearing. Can anyone explain what this is in terms of clustering? I cannot seem to find a refined definition for it.

  • 1
    $\begingroup$ In general, an oracle is a convenient abstraction: some "magic blackbox" to which you ask questions (e.g., "are the two points in the same cluster in an optimal clustering?"; the type of questions depends on what type of abstraction you're going for) and which gives you the answer in one time step. This is useful e.g., to abstract out some of the complexity of a problem, see where the true bottleneck lies, and many other things. $\endgroup$
    – Clement C.
    Apr 20 '20 at 20:57
  • $\begingroup$ For instance, a "distance oracle" (in for instance a metric space) would answer questions such as "what is the distance between these two points?" You don't have to worry about how the distance is computed, what the time complexity of doing it is (which in itself could be hard or time-consuming), and so on -- you can just assume you get it, abstract those details away, and focus on the core aspects of the problem you are trying to solve. $\endgroup$
    – Clement C.
    Apr 20 '20 at 20:59
  • $\begingroup$ @ClementC. thank you for your help. I understand now. $\endgroup$
    – Matt.W
    Apr 22 '20 at 7:55
  • $\begingroup$ Glad this helped. You may also want to read some of this Quora thread, which answers a similar question. $\endgroup$
    – Clement C.
    Apr 22 '20 at 16:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.