Black-box Complexity. Примеры нереалистичных оценок Black-box Complexity — различия между версиями
Строка 21: | Строка 21: | ||
*для <tex>\sigma \in S_n</tex> и <tex>x \in \{0,1\}^n</tex>: | *для <tex>\sigma \in S_n</tex> и <tex>x \in \{0,1\}^n</tex>: | ||
:<tex>\sigma(x) := x_{\sigma(1)} \cdots x_{\sigma(n)}</tex>; | :<tex>\sigma(x) := x_{\sigma(1)} \cdots x_{\sigma(n)}</tex>; | ||
− | |||
*под <tex>log</tex> понимается натуральный логарифм. | *под <tex>log</tex> понимается натуральный логарифм. | ||
Строка 79: | Строка 78: | ||
:<tex>Jump_k(x) = \left\{ \begin{array}{ccc} n, & if & |x|_1=n; \\ |x|_1, & if & k < |x|_1 < n-k; \\ 0, & & otherwise, \end{array}\right.</tex> | :<tex>Jump_k(x) = \left\{ \begin{array}{ccc} n, & if & |x|_1=n; \\ |x|_1, & if & k < |x|_1 < n-k; \\ 0, & & otherwise, \end{array}\right.</tex> | ||
− | :<tex>\forall x \in \{0,1\}^n | + | :<tex>\forall x \in \{0,1\}^n</tex>, где <tex>|\cdot|_1</tex> — количество единиц в битовой строке. |
}} | }} | ||
− | Далее будет показано, что для любого константного <tex>k</tex> можно с высокой вероятностью решить | + | Далее будет показано, что для любого константного <tex>k</tex> можно с высокой вероятностью решить задачу <tex>OneMax</tex> <ref>[http://tracer.lcc.uma.es/problems/onemax/onemax.html OneMax problem]</ref> за малое количество ''black-box'' обращений к <tex>Jump_k</tex>. С помощью этого утверждения можно показать, что для любой константы <tex>k</tex> беспристрастная ''black-box'' сложность для функции <tex>Jump_k</tex> нереалистично мала. |
{{Лемма | {{Лемма | ||
|id=lemma3 | |id=lemma3 | ||
− | |statement=<tex> | + | |statement=Для любых <tex>k</tex> и <tex>c</tex> существует унарная беспристрастная функция <tex>s</tex>, использующая <tex>c+1</tex> запросов к <tex>Jump_k</tex> такая, что для всех битовых строк <tex>x</tex>, <tex>s(x) = OneMax(x)</tex> с вероятностью <tex>1 - O(n^{-c})</tex>. |
|proof=Используется унарный беспристрастный вариативный оператор <tex>flip_k</tex>, который равновероятно выбирает строку из <tex>k</tex>-окрестности для аргумента (битовую строку, которая отличается в <tex>k</tex> позициях). Ниже предлагается функция <tex>s</tex>, которая использует <tex>Jump_k</tex> для аппроксимации <tex>OneMax</tex>. Функция выбирает <tex>c</tex> битовых строк в <tex>k</tex>-окрестности <tex>x</tex>. Если <tex>|x|_1 \geq n-k</tex>, то есть вероятность того, что хотя бы раз в <tex>x</tex> будут заменены только единицы, что приведет к тому, что <tex>Jump_k = |x|_1 - k</tex>. Так как больше никакая строка из выборки не будет иметь меньшее <tex>Jump_k</tex> значение, то добавление <tex>k</tex> к минимальному ненулевому значению <tex>Jump_k</tex> других строк из выборки приведет к нужному результату — функция вернет количество единиц в строке <tex>x</tex>. Случай, когда <tex>|x|_1 \leq k</tex>, аналогичен. | |proof=Используется унарный беспристрастный вариативный оператор <tex>flip_k</tex>, который равновероятно выбирает строку из <tex>k</tex>-окрестности для аргумента (битовую строку, которая отличается в <tex>k</tex> позициях). Ниже предлагается функция <tex>s</tex>, которая использует <tex>Jump_k</tex> для аппроксимации <tex>OneMax</tex>. Функция выбирает <tex>c</tex> битовых строк в <tex>k</tex>-окрестности <tex>x</tex>. Если <tex>|x|_1 \geq n-k</tex>, то есть вероятность того, что хотя бы раз в <tex>x</tex> будут заменены только единицы, что приведет к тому, что <tex>Jump_k = |x|_1 - k</tex>. Так как больше никакая строка из выборки не будет иметь меньшее <tex>Jump_k</tex> значение, то добавление <tex>k</tex> к минимальному ненулевому значению <tex>Jump_k</tex> других строк из выборки приведет к нужному результату — функция вернет количество единиц в строке <tex>x</tex>. Случай, когда <tex>|x|_1 \leq k</tex>, аналогичен. | ||
Версия 12:57, 20 июня 2012
Содержание
Введение в Black-box Complexity
Целью теории сложности является определение вычислительной трудности алгоритмов. Классическая теория сложности предполагает, что алгоритму полностью известна структура решаемой задачи. В случае эволюционных алгоритмов, алгоритм обладает информацией только о качестве (значении функции приспособленности) получаемого им решения, по этой причине утверждения классической теории сложности здесь мало применимы.
Black-box Complexity [1] — попытка построить теорию сложности для эволюционных алгоритмов. Вкратце, black-box сложность алгоритма — количество вычислений функции приспособленности, необходимое для получения решения. Такое определение позволяет получить нереалистично низкие оценки black-box сложности, например, полиномиальную сложность для задачи поиска максимальной клики -полной[1][2].
По этой причине были введены ограничения на исследуемые алгоритмы. Требуется, чтобы для получения новых кандидатов на решение использовались только беспристрастные (позиция элемента в битовой строке и его значение не влияют на выбор битов для изменения) вариативные операторы. Также было введено понятие арности —
-арный беспристрастный black-box алгоритм использует только те операторы, которые принимают не более чем аргументов. Для некоторых классов задач такой подход к опеределению black-box сложности позволяет получить более реалистичные оценки вычислительной трудности. Операторы с арностью называют мутационными. В настоящей статье показано, что даже для алгоритмов, использующих только мутационные операторы, можно получить нереалистично маленькую оценку black-box сложности.Неограниченная и беспристрастная Black-box модели
Обозначения
- — положительные целые числа;
- :
- ;
- ;
- для битовой строки :
- — побитовое дополнение строки ;
- — побитовое исключающее или;
- для любого множества :
- — множество всех подмножеств множества
- для :
- — множество всех перестановок ;
- для и :
- ;
- под понимается натуральный логарифм.
Неограниченная Black-box модель
Рассматривается класс алгоритмов оптимизации, которые получают информацию о решаемой задаче через вычисление функции приспособленности возможных решений. Заданная функция приспособленности вычисляется оракулом, или дается как black-box. Алгоритм может запросить у оракула значение функции для любого решения, однако больше никакой информации о решении получить не может.
В качестве функции приспособленности берется псевдо-булевая функция
.Согласно концепции black-box, алгоритм может включать следующие действия:
- выбор вероятностного распределения над ;
- выбор кандидата cогласно выбранному распределению;
- запрос значения функции приспособленности выбранного кандидата у оракула.
Схема неограниченного black-box алгоритма:
Инициализация: выбратьсогласно некоторому вероятностному распределению над . Запросить . Оптимизация: for until условие остановки do Исходя из , выбрать вероятностное распределение над . Выбрать согласно и запросить .
В качестве времени работы black-box алгоритма берется количество запросов к оракулу, сделанное до первого запроса с оптимальным решением.
Пусть
— класс псевдо-булевых функций. Сложностью алгоритма над называется максимальное предположительное время работы на функции (в худшем случае). Сложностью относительно класса алгоритмов называется минимальная сложность среди всех над . Неограниченной black-box сложностью называется сложность относительно класса неограниченных black-box алгоритмов.Беспристрастная Black-box модель
Класс неограниченных black-box алгоритмов слишком мощный. Например для любого функционального класса
неограниченная black-box сложность равна единице — алгоритм, который просто запрашивает оптимальное решение первым же шагом, удовлетворяет этому условию.Чтобы избежать этих недостатков была введена более строгая модель. В ней алгоритмы могут генерировать новые решения используя только беспристрастные вариативные операторы.
Определение: |
| -арным беспристрастным распределением называется семейство вероятностных распределений над таких, что для любых выполняются следующие условия:
Первое условие называется -инвариантностью, второе — перестановочной инвариантностью. Оператор, выбранный из -арного беспристрастного распределения, называется -арным беспристрастным вариативным оператором.
Схема
-арного беспристрастного black-box алгоритма:Инициализация: выбратьравновероятно из . Запросить . Оптимизация: for until условие остановки do Исходя из , выбрать индексов и -арное беспристрастное распределение . Выбрать согласно и запросить .
Лемма: |
Пусть для задачи существует black-box алгоритм , который с константной вероятностью успеха решает за итераций. Тогда black-box сложность не больше . |
Доказательство: |
Доказательство приведено в работе [1]. |
Jump функция
Определение: |
| функция определяется следующим образом:
Далее будет показано, что для любого константного можно с высокой вероятностью решить задачу [3] за малое количество black-box обращений к . С помощью этого утверждения можно показать, что для любой константы беспристрастная black-box сложность для функции нереалистично мала.
Лемма: |
Для любых и существует унарная беспристрастная функция , использующая запросов к такая, что для всех битовых строк , с вероятностью . |
Доказательство: |
Используется унарный беспристрастный вариативный оператор , который равновероятно выбирает строку из -окрестности для аргумента (битовую строку, которая отличается в позициях). Ниже предлагается функция , которая использует для аппроксимации . Функция выбирает битовых строк в -окрестности . Если , то есть вероятность того, что хотя бы раз в будут заменены только единицы, что приведет к тому, что . Так как больше никакая строка из выборки не будет иметь меньшее значение, то добавление к минимальному ненулевому значению других строк из выборки приведет к нужному результату — функция вернет количество единиц в строке . Случай, когда , аналогичен.Понятно, что функция корректна при всех [4], получается граница на вероятность выбора единиц: , таких, что . Остальные два случая симметричны, поэтому пусть . Очевидно, что результат функции корректен тогда и только тогда, когда хотя бы в одной из строк были заменены только единицы. Требуется вычислить вероятность этого события. Итеративно выбираются бит для замены, поэтому после итераций имеется как минимум позиций с единицей из невыбранных позиций. Отсюда, с использованием неравенства Бернулли
Таким образом:
Функция :ifthen output ; ; if then ; else ; output ; |
Теперь, используя предыдущую лемму, можно найти беспристрастную black-box сложность для функции при константном .
Теорема: |
Для константы беспристрастная black-box сложность :
|
Доказательство: |
Доказательство приведено в работе [1]. |
Функции из предыдущей леммы для работы необходимо знать параметр , но ее можно модифицировать таким образом, что она будет работать без этого знания. Как только функция впервые выберет случайную битовую строку с она определит , затем продолжит работу как было описано выше. Параметр определяется с помощью выбора достаточно большого количества случайных строк в -окрестности от строки с , начиная с и продолжая до тех пор, пока не станет отличным от нуля. Найденная строка будет иметь максимальное значение . Из этого значения и функция может вычислить .
Задача о разбиении
Задача: |
Задача о разбиении [5] ( problem) ставится следующим образом. Дано мультимножество положительных целых чисел (весов). Возможно ли разбить его на два непересекающихся множества таким образом, что ? |
Оптимизационная версия задачи ставит вопрос о минимизации функции .
Задача
является -трудной. Предположительно и не существует полиномиального алгоритма решения этой задачи.Лемма: |
Задача остается -трудной, когда . |
Далее
— подкласс задачи с заданными различными весами.Далее предлагаются две различные функции приспособленности и показывается, что в обоих случаях может быть достигнута полиномиальная беспристрастная black-box сложность. Показывается, что унарная беспристрастная black-box сложность для задачи
равна .Знаковая функция приспособленности
Пусть
— множество всех возможных решений для . Знаковая функция приспособленности определяется следующим образом:- .
Цель заключается в минимизации
.Необходимо ввести нумерацию элементов
— . Для любой битовой строки определены и . Тогда функция приспособленности преобразуется к следующему виду:- .
Теорема: |
Унарная беспристрастная black-box сложность задачи относительно функции приспособленности равна , где . |
Доказательство: |
Для доказательства теоретмы строится алгоритм с применением двух вариативных операторов:
Для краткости полагается .Следующий алгоритм служит доказательством теоремы: 1 Инициализация 2За . Запрос ; 3 ; 4 Определение весов 5 while do 6 ; 7 . Запрос ; 8 ; 9 if then 10 ; 11 else ; 12 Оптимизация 13 В оффлайне перебором вычисляется оптимальное решение и множество — множество элементов, которые необходимо переместить. 14 ; 15 while do 16 . Запрос ; 17 if then 18 , ; итераций определяются веса всех элементов . Зная веса элементов, в оффлайне перебором находится оптимальное решение задачи, после чего это решение необходимо восстановить с помощью вариативного -арного оператора. Для этого построено множество — множество элементов, которые необходимо переместить для получения оптимального решения. В итоге, беспристрастная black-box сложность задачи относительно заданной функции приспособленности равна . Полное доказательство приведено в работе [1]. |
Беззнаковая функция приспособленности
Можно заметить, что при доказательстве предыдущей теоремы происходила минимизация не самой функции , а только ее абсолютной величины. Однако та же асимптотика достигается и для беззнаковой функции приспособленности. Сложность заключается в том, что в этом случае нельзя просто определить вес перемещенного элемента. Этот факт выражается в более сложной процедуре для определения весов элементов.
Теорема: |
Унарная беспристрастная black-box сложность задачи относительно функции приспособленности равна . Где . |
Доказательство: |
Для краткости полагается:
Общая идея алгоритма состоит в следующем:
Следующий алгоритм является доказательством теоремы: 1 Инициализация 2Можно показать, что приведенный алгоритм с большой вероятностью за . Запрос ; 3 Перемещение всех элементов в одну корзину 4 for to do 5 . Запрос ; 6 Пусть ; 7 ; 8 for to do 9 . Запрос ; 10 if then ; 11 Определение весов всех элементов 12 for to do 13 . Запрос ; 14 Оптимизация 15 В оффлайне перебором вычисляется оптимальное решение , такое что . ; 16 for to do 17 . Запрос ; 18 if and then 19 вычислить ; 20 if and then 21 ; 22 for to do 23 . Запрос ; запросов находит оптимальное решение. Полное доказательство приведено в работе [1]. |