This seems like it should be a "textbook"/standard problem but I wasn't able to find anything about it, so I'd like to know if anyone else has seen something like it before or can suggest more keywords I could search for / perspectives I could view it from:
Informal problem statement
Informally, the situation is that we have a bunch of input values and an unknown (to us) mapping we want to determine which maps them to output values. We can gain information on the mapping by calling a fairly expensive query/lookup function with one or multiple input values and it will return the corresponding output values in a random order (so we don't know which given input corresponds to which output unless we called it with only one input). The task is to come up with an algorithm that completely determines the mapping using the least number of calls to the query/lookup function.
Formal problem statement
So, formally, we have an input set $X = \{ x_1, …, x_n \}$ and an output set $Y = \{ y_1, …, y_n \}$. There is an unknown bijective mapping $f: X \rightarrow Y$ between them that we want to determine by making as few calls to a function $q: \mathcal{P}(X) \rightarrow \mathcal{P}(Y); \ \{ x_i, x_j, … \} \mapsto \{ f(x_i), f(x_j), … \}$ as possible, where $\mathcal{P}(S)$ denotes the power set (set of all subsets) of $S$.
Question
I already have a fairly naive algorithm for it based on the idea that we can find out a part of the mapping whenever a single value is shared between two input sets that the query function was called with, because then we can find the corresponding output value by looking at which value appears in both query function results. By developing this a bit further, e.g. a 38-element mapping can be fully determined with only 11 calls.
But as I wrote at the beginning, my question is really if this is some kind of standard problem or if there are any perspectives I could view it from to reduce it to one.