Comments

You must log in or register to comment.

Lawrencelot t1_jbyvfwq wrote

I don't think there is. You could use the term top k or write pseudocode.

4

studpufffin t1_jbyw0ah wrote

Probably by supposing the values are ordered and only taking the values with indices leq to k.

2

Illustrious-Bar5621 t1_jbyxpbh wrote

Could just do something like

$ \argmax_{I \subset [n]: |I| = k } \sum_{i \in I} f(i) $ , where $ [n] = \{1,2,\ldots, n\} $.

10

Philiatrist t1_jbyyqo8 wrote

There’s not a pretty way that I know of. You just could do:

{i | a_i in topk(A, 5)}

where topk is defined

topk(A, 1) = {max(A)}

topk(A, i + 1) = {max(A \ topk(A, i))} U topk(A, i)

You can modify the first expression to deal with duplicates.

−1

bpw1009 t1_jbz4d57 wrote

Here's ChatGPT's take on it for what it's worth 😂:

Yes, the notation you're looking for is "top k argmax". It's a common notation used in machine learning and optimization.

Formally, if you have a function f(x) over a set X, the top k argmax of f(x) is the set of k elements in X that maximize f(x). The notation is usually written as:

argmax_{x\in X} f(x) = {x_1, x_2, ..., x_k}

where x_1, x_2, ..., x_k are the k elements in X that maximize f(x).

Note that if k=1, then the top k argmax reduces to the usual argmax notation.

−7

Zepb t1_jbzdpqf wrote

You could use something like (x_1, i_1), (x_2, i_2), ..., (x_k,i_k), ... (first k tuples of value, index) with x_n >= x_m for every n < m (tuples must be ordered by value)

than use the i index numbers from the tuples

edit: just saw there is a similar approach to this with sets in another comment.

2

GijsB t1_jc0rzga wrote

You could use order statistic notation.

0