Які монотонні булеві функції представлені у вигляді порогових значень на суми?


16

Я познайомлю свою проблему з прикладом. Скажіть, ви розробляєте іспит, який складається з певного набору незалежних питань (що кандидати можуть отримати правильно чи неправильно). Ви хочете визначитися з оцінкою, яку потрібно дати кожному запитуванню, при цьому правилом буде те, що кандидати, які мають загальний бал вище певного порогу, пройдуть, а інші не зможуть.n

Насправді ви дуже ретельно ставитесь до цього, і ви передбачили всі можливі результати, і вирішили для кожного з них, чи повинен кандидат із цією виставою пройти чи провалитись. Таким чином, у вас є булева функція f: \ {0, 1 \} ^ n \ to \ {0, 1 \}, яка вказує, чи повинен кандидат пройти чи провалитись залежно від їх точних відповідей. Звичайно, ця функція повинна бути монотонною : коли правильний набір питань робить вас прохідними, отримання будь-якого права суперсети повинно також змусити вас пройти. f : { 0 , 1 } n{ 0 , 1 }2nf:{0,1}n{0,1}

Чи можете ви визначити бали (позитивні реальні цифри), щоб дати питанням і порогом, щоб ваша функція f була точно захоплена правилом "кандидат передає, якщо сума балів за правильні запитання перевищує поріг" ? (Звичайно, поріг можна вважати рівним 1 без втрати загальності, аж до множення балів на константу.)

Формально: чи є характеристика монотонних булевих функцій f:{0,1}н{0,1} для яких існують ш1,,шнR+ такий, що для всіх v{0,1}н маємо f(v)=1 iff iшivi1 ?

Не так важко зрозуміти, що не всі функції можуть бути таким чином представлені. Наприклад, функція (х1х2)(х3х4) не може: оскільки (1,1,0,0) прийнято, ми повинні мати ш1+ш21 , тому один з ш1,ш2 повинен бути 1/2 , а також для ш3,ш4 . Тепер, якщо це, наприклад, ш1 і ш3 , ми маємо протиріччя, оскільки ш1+ш31 але (1,0,1,0) відхилено; інші випадки є аналогічними.

Це здається мені дуже природною проблемою, тому моє головне питання - знати, під яким ім’ям це вивчалося. Прохання про "характеристику", звичайно, неясне; моє запитання полягає в тому, щоб знати, чи має клас функцій, який може бути представлений таким чином, назву, що відомо про складність тестування, чи належить йому вхідна функція (дана як формула, або як схема) тощо.

Звичайно, можна подумати про багато варіацій на цю тему. Наприклад, на реальних іспитах питання не є незалежними, але існує ДАГ щодо питань, що вказують на залежність, і кандидати можуть відповісти на запитання лише за умови відповіді на всі передумови. Умова щодо монотонних функцій може бути обмежена значеннями в {0,1}н які задовольняють залежності, і питання полягає в тому, щоб визначити, чи може вхідна функція таким чином бути захоплена при введенні DAG на змінні. Можна також придумати варіанти, де бали є к -парами для фіксованого к (підсумовуються по точці та порівнюються по точці до порогового вектора), які можуть захоплювати більше функцій, ніж к=1. Крім того, ви можете захопити більш виразні функції, які не є булевими, але переходять до повністю упорядкованого домену, з різними порогами, які повинні вказувати на ваше положення в домені. Нарешті, я не впевнений у тому, що станеться, якщо ви дозволите негативні оцінки (щоб ви могли скинути монотонне обмеження щодо функцій).

(Примітка. Що змусило мене замислитися в цьому - це раунд вибору Google Code Jam, де кандидатури вибираються, якщо вони досягають певного порогу балів, а кількість проблем, імовірно, ретельно розроблена для відображення того, який набір проблем вважається достатнім для вибору . Code Jam має структуру залежності від запитань, з деякими "великими вхідними" питаннями, які неможливо вирішити, якщо ви не вирішили спочатку "малий вхід").


Вони відомі як порогові функції (хоча цей термін іноді визначається більш обмежено). Я не знаю, чи є принципово інша характеристика. Очевидною необхідною умовою є те, що і опуклі (тобто опуклий корпус перетинається з включено в і аналогічно 0). f1(1)f1(0)f1(1){0,1}nf1(1)
Еміль Йерабек підтримує Моніку

Власне, тепер, коли я думаю про це: булева функція є пороговою функцією, якщо опуклі корпуси і неперервні. f - 1 ( 1 ) f - 1 ( 0 )ff-1(1)f-1(0)
Еміль Йерабек підтримує Моніку

2
Власне, це точніше позитивні порогові функції.
Крістофер Арнсфельт Хансен

@KristofferArnsfeltHansen: Точно, дякую! Насправді це згадується в булевих функціях: теорія, алгоритми та програми . Теорема 9.16 говорить, що, даючи позитивний DNF, ми можемо в PTIME перевірити, чи це порогова функція, і якщо так, побудуємо вектор (який, на мою думку, буде теоремою 9.6). Чи є щось відомо про запропоновані мною варіанти, особливо той, що має DAG на змінних? Якщо ні, ви можете зробити відповідь, яка говорить так (і додає ваш коментар), і я прийму це. :)ш
a3nm

Відповіді:


2

У коментарях було зазначено, що це позитивні порогові функції.

Щодо інших характеристик, мені здалося, що таке цікаве. Припустимо, у нас є позитивна порогова функція зі зменшенням ваги : Тоді, зокрема, набір входів для яких - ідеальний порядок решітки двійкової мажоризації з балами, що вивчається в f ( v 1 , , v n ) = 1ш1ш2шн

f(v1,,vн)=1iшivi1.
(v1,,vн)f(v)=12н

Дональд Кнут, «Мистецтво комп’ютерного програмування», вправа 109 розділу 7.1.1.

Неформально кажучи, - це така функція, коли створення більш ранніх бітів 1 робить швидше 1: наприклад, . Тобто, "деякі біти мають значення більше", і для усунення зайвих ізоморфних випадків ми припускаємо, що більш ранні біти мають значення більше.fff(0,1,1)f(1,0,1)f(1,1,0)

Однак не всі такі функції є позитивними пороговими функціями! Тобто, те, що ви замовили екзаменаційні запитання від найголовнішого до найменшого значення, не означає, що правило проходження / невдачі базується на тому, що ви додаєте кілька балів.

Дійсно, кількість позитивних порогових функцій (зі зменшенням ваги) на змінних задається послідовністю (oeis.org послідовність A000617 ), тоді як числом такий ідеал порядку - (послідовність oeis.org A132183 )н

2,3,5,10,27,119,1113 рік,
2,3,5,10,27,119,1173 рік,

Спасибі! Щойно я подумав, я зазначив, що інші види булевих функцій, згадані у вашій відповіді, ті, що мають загальний порядок впливу змінних, називаються "регулярними" булевими функціями. Про це йдеться в послідовності A132183, і такі функції вивчаються в главі 8 булевих функцій: теорія, алгоритми та програми
a3nm
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.