Я представлю свою проблему на примере. Скажем, вы разрабатываете экзамен, который состоит из определенного набора независимых вопросов (которые кандидаты могут получить как правильно, так и неправильно). Вы хотите принять решение о балле, который нужно дать для каждого из вопросов, при этом правило состоит в том, что кандидаты с общим баллом выше определенного порога пройдут, а остальные не пройдут.
На самом деле, вы очень внимательно относитесь к этому, и вы предвидели все возможные результаты , и решили для каждого из них, должен ли кандидат с таким показом пройти или не сдать. Таким образом, у вас есть булева функция которая указывает, должен ли кандидат пройти или потерпеть неудачу в зависимости от его точных ответов. Конечно, эта функция должна быть монотонной : если правильный набор вопросов заставляет вас пройти, то и любой правильный набор супернабора также должен вас пропускать.
Можете ли вы принять решение о баллах (положительных действительных числах) для вопросов и о пороге, чтобы ваша функция точно отражалась правилом «кандидат проходит, если сумма баллов за правильные вопросы превышает порог» ? (Конечно, порог можно принять равным 1 без потери общности, вплоть до умножения баллов на константу.)
Формально: существует ли характеристика монотонных булевых функций для которых существуют такие , что для всех , мы имеем тогда и только тогда, когда ? е ( v ) = 1 Е я ш я v I ≥ 1
Нетрудно понять, что не все функции могут быть представлены таким образом. Например, функция не может: поскольку принято, мы должны иметь , поэтому один из должен быть , а также для . Теперь, если это, например, и , у нас есть противоречие, потому что но отклонено; другие случаи аналогичны.
Это выглядит для меня как очень естественная проблема, поэтому мой главный вопрос - узнать, под каким именем это изучалось. Запрашиваемая «характеристика», конечно, неопределенна; Мой вопрос заключается в том, чтобы знать, имеет ли класс функций, которые могут быть представлены таким образом, имя, что известно о сложности проверки, принадлежит ли ему функция ввода (заданная в виде формулы или схемы) и т. д.
Конечно, можно думать о многих вариациях на эту тему. Например, на реальных экзаменах вопросы не являются независимыми, но существует DAG по вопросам, указывающим на зависимость, и кандидаты могут ответить на вопрос, только если были выполнены все предварительные условия. Условие для монотонных функций затем может быть ограничено значениями в которые удовлетворяют зависимостям, и вопрос заключается в том, чтобы определить, можно ли таким образом захватить входную функцию, учитывая входную группу DAG для переменных. Можно также подумать о вариантах, где оценки являются k- кортежами для фиксированного k (суммируются по точкам и сравниваются по точкам с пороговым вектором), которые могут захватывать больше функций, чем k . В качестве альтернативы вы можете использовать более выразительные функции, которые не являются булевыми, а идут в полностью упорядоченном домене с различными пороговыми значениями, которые должны указывать вашу позицию в домене. Наконец, я не уверен, что произойдет, если вы допустите отрицательные оценки (так что вы можете отменить монотонное ограничение для функций).
(Примечание: что заставило меня задуматься об этом, так это раунд выбора Google Code Jam, где кандидаты отбираются, если они достигают определенного порогового значения, и оценки проблем, по-видимому, тщательно продуманы, чтобы отразить, какие наборы проблем считаются достаточными для отбора. Code Jam имеет структуру зависимости от вопросов, с некоторыми вопросами "большого ввода", которые не могут быть решены, если вы сначала не решили вопрос "small input".)