Здравствуйте!
Допустим, есть множество из n элементов a1, ..., an, на котором введено отношение частичного порядка < , притом у нас есть оракул, который позволяет узнать: верно ли, что ai < aj. Необходимо отсортировать данные элементы, то есть найти такую перестановку b1, ..., bn, что не найдётся i < j таких, что bj < bi.
Хочется минимизировать количество обращений к оракулу. Понятно, что можно сделать O(n2) обращений, используя топологическую сортировку. Но можно ли делать это быстрее? Если нет, то интересно узнать доказательство этого.