<p>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.</p>

CC BY-SA 4.0
2020-04-20T20:57:14.990Z
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.
Clement C.
CC BY-SA 4.0
2020-04-20T20:59:54.023Z
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.
Clement C.
CC BY-SA 4.0
2020-04-22T07:55:31.857Z
@ClementC. thank you for your help. I understand now.
Matt.W
CC BY-SA 4.0
2020-04-22T16:27:50.093Z
Glad this helped. You may also want to read some of this [Quora thread](https://www.quora.com/How-do-I-understand-Oracle-in-computational-complexity-Sometimes-Oracle-seems-to-know-the-answer), which answers a similar question.
Clement C.
<oracles><clustering><data-mining>
What is the meaning of an Oracle in data clustering?
Matt.W
# What is the meaning of an Oracle in data clustering?

(Asked by: username_0 on 2020-04-20)

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.

**Tags:** oracles, clustering, data-mining

> **Comments:**
> **username_1**: 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.  
> **username_1**: 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.  
> **username_0**: @ClementC. thank you for your help. I understand now.  
> **username_1**: Glad this helped. You may also want to read some of this [Quora thread](https://www.quora.com/How-do-I-understand-Oracle-in-computational-complexity-Sometimes-Oracle-seems-to-know-the-answer), which answers a similar question.  

---

## 0 answers

