Метод перебора

Материал из Поле цифровой дидактики

Метод перебора (метод равномерного поиска, перебор по сетке) — простейший из методов поиска значений действительно-значных функций по какому-либо из критериев сравнения (на максимум, на минимум, на определённую константу). Применительно к экстремальным задачам является примером прямого метода условной одномерной пассивной оптимизации.


Описание

Проиллюстрируем суть метода равномерного поиска посредством рассмотрения задачи нахождения минимума.

Пусть задана функция [math]\displaystyle{ f(x):\;[a,\;b]\to\mathbb{R} }[/math]. И задача оптимизации выглядит так: [math]\displaystyle{ f(x)\to\min_{x\in [a,\;b]} }[/math]. Пусть также задано число наблюдений [math]\displaystyle{ n }[/math].

Тогда отрезок [math]\displaystyle{ \left[a,b\right] }[/math] разбивают на [math]\displaystyle{ (n+1) }[/math] равных частей точками деления:

[math]\displaystyle{ x_i=a+i\frac{\left(b-a\right)}{(n+1)},\quad i=1,\ldots,n }[/math]

Вычислив значения [math]\displaystyle{ F\left(x\right) }[/math] в точках [math]\displaystyle{ x_i,\;i=1,\ldots,n }[/math], найдем путём сравнения точку [math]\displaystyle{ x_m }[/math], где [math]\displaystyle{ m }[/math] — это число от [math]\displaystyle{ 1 }[/math] до [math]\displaystyle{ n }[/math] такую, что

[math]\displaystyle{ F\left(x_m\right)=\min F\left(x_i\right) }[/math] для всех [math]\displaystyle{ i }[/math] от [math]\displaystyle{ 1 }[/math] до [math]\displaystyle{ n }[/math].

Тогда интервал неопределённости составляет величину [math]\displaystyle{ 2\frac{\left(b-a\right)}{(n+1)} }[/math], а погрешность определения точки минимума [math]\displaystyle{ x_m }[/math] функции [math]\displaystyle{ F\left(x\right) }[/math] соответственно составляет :[math]\displaystyle{ \varepsilon=\frac{\left(b-a\right)}{n+1} }[/math].

Модификация

Если заданное количество измерений чётно ([math]\displaystyle{ n=2k }[/math]), то разбиение можно проводить другим, более изощрённым способом:

[math]\displaystyle{ x_{2i}=a+\frac{(b-a)}{(n/2+1)}2i, \quad i=1,\ldots,n/2 }[/math]
[math]\displaystyle{ x_{2i-1}=x_{2i}-\delta }[/math], где [math]\displaystyle{ \delta }[/math] — некая константа из интервала [math]\displaystyle{ \left(0,\;\frac{(b-a)}{(n/2+1)}\right) }[/math].

Тогда в худшем случае интервал неопределённости имеет длину [math]\displaystyle{ \frac{(b-a)}{(n/2+1)}+\delta }[/math].