Во вторую точку можно прийти двумя путями A20 = (x0,x2) и A21 = (x0,x1,x2) =
(A1, x2) (см. рис. 5), из которых мы выбираем путь A2 с наименьшей мерой:
(A2) = min( ( x0,x2), (A1, x2) ).
Аналогично, в точку xn ведут n путей из точек :
An0=( x0, xn), An1=(A1, xn), … ,An,(n-1)=(An-1, xn),
причем для каждого из возможных путей, ведущих в промежуточную точку
xi, нам уже известен путь Ai с наилучшей оценкой. Из всех путей An0, An1,
… ,An,(n-1) выберем путь An с наименьшей мерой:
( An) = min((0, xn), min( (Ai, xn)) ), 1i<n. (1)
Таким образом, в каждой точке мы опираемся на уже построенные оптимальные
пути в промежуточные точки предполагаемого пути, этим достигается
построение оптимального пути ведущего из начальной точки зоны разрезания в
6
а) б)
Рис. 7. Пример разрезания с неаддитивной мерой
(2)
а оптимальным - путь с наименьшей мерой. Как было показано, для мер вида (2)
можно применить алгоритм динамического программирования.
Алгоритм динамического программирования является весьма трудоемким.
Очевидно, во всех случаях достаточно рассмотреть n(n-1)/2 сегментов (ai, aj),
0i<jn, чтобы получить оптимальный путь S=( ). В общем
случае оценка n(n-1)/2 не улучшаема. Действительно, рассмотрим задачу
выбора пути, мера которого есть сумма оценок его сегментов
Ясно, что здесь должны быть рассмотрены все возможные сегменты (ai,
aj). Любой из них может иметь оценку сколь угодно высокую или низкую.
Поэтому при фиксированных остальных оценках от оценки сегмента (ai, aj)
зависит, будет ли он принадлежать оптимальному пути. Следовательно, оценка
должна быть получена для любого сегмента (ai, aj).
С другой стороны, в практически значимых для распознавания
конкретных ситуациях вовсе не обязательно должны оцениваться все сегменты
(ai, aj). Пусть, например, минимизируется мера пути S, причем эта мера равна
сумме оценок всех сегментов пути S, то есть снова
Рассмотрим три точки a1, a2, a3 и пусть (a1, a3) = 1 = 1 (a1, a2) = 2 = 2
(см. рис. 8).
Очевидно, что если 1 + 2 = 0, то путь (a1, a3, a5) неулучшаем, так как все
оценки неотрицательны. Но даже если 1 + 2 < , где - маленькая величина,
можно утверждать, что путь наилучший, так как при неправильном разбиении,
то есть если (a1, a3) и (a3, a5) не представляют реальных символов, столь
хорошие оценки (малые штрафы) невозможны. (Особый случай, когда сегменты
(a1, a3) и (a3, a5) являются частями символа, но в то же время выглядят, как
самостоятельные символы, мы рассмотрим в разделе 3.)
Хотя, как мы увидим далее, к таким утверждениям необходимо относиться
с осторожностью, они используются очень широко, так как позволяют сразу
прекратить вычисления, если ответ угадан.
Первый путь отсечений удобно применять, когда мера пути обладает тем
свойством, что если S1 S2 (S1 и S2 – пути), то (S1) (S2). Такие меры
будем называть монотонными. Монотонными являются, например, мера, равная
сумме штрафов сегментов пути, а также мера, равная максимальному штрафу
по всем сегментам.
В случае монотонной меры очевидно утверждение: если существует путь
S0 = ( ) с оценкой p0 = (S0) и все пути S = ( ), tn, с
началом a0 и концом at имеют оценки (S) p0, то точка at не принадлежит
оптимальному пути.
10
а) б)
Рис. 15. Зашумленные образы
6. Выводы
Литература