Теория алгоритмов, формальных языков, грамматик и автоматов. Бильгаева Н.Ц. - 11 стр.

UptoLike

Составители: 

    Таким образом, минимальное значение переменной z, обращающее предикат в "истину",
дает значение функции в точке (1, 5), и оно равно 4.

          2.5.3. Использование ограниченного оператора минимизации
        Ограниченный оператор минимизации является удобным средством для построения
обратных функций.
        Пример 1. C помощью ограниченного оператора минимизации определить функцию y(x,
        z
z) =   - "целая часть от деления z на x" - как функцию, обратную умножению.
         x
        Решение.
        z / x = y, тогда y ⋅ x = z,
        z / x < y + 1, поэтому z < x(y + 1).
        С использованием ограниченного оператора минимизации запишем исходную функцию
через обратную:
                    z
        y(x, z) =   = µ z ≥ y (P(x, y, z)),
                     x
         предикат P(x, y, z) = z < x(y + 1).
                 z
        Тогда   = µ z ≥ y (z < x( y+1)).
                  x
        Вычислим значение функции при z = 11, x = 2.
        При y = 0: P(2, 11, 0) = 2(0+1) < 11 - "ложь",
              y = 1: P(2, 11, 1) = 2(1+1) < 11 - "ложь",
              ...
              y = 5: P(2, 11, 5) = 2(5+1) > 11 - "истина".
                           z
        Следовательно,   = 5.
                            x
        Пример 2. С помощью ограниченного оператора минимизации определить функцию
        [ ]
f ( x ) = x - "целая часть от корня из х".
        Решение.
               [ ]
        Пусть x = z. Тогда x < z +1, а предикат P равен:
        P(x, z) = x < (z + 1)2.
        С использованием ограниченного оператора минимизации запишем исходную функцию
                      [ ]
через обратную: x = µ z ≤ x (x < (z +1)2).
        Вычислим значение функции при x = 17.
        При z = 0: P(17, 0) = 17 < 1 - "ложь",
              z = 1: P(17, 1) = 17 < 4 - "ложь",
              ...
              z = 4: P(17, 4) = 17 < 25 - "истина".
                            [ ]
    Следовательно, x = 4, что и требовалось доказать.
    Пример 3. С помощью ограниченного оператора минимизации определить функцию f(x,
y) = [log y x ] - "целая часть от log y x".

       Решение.
       Пусть y z = x. Тогда y z+1 > x.
       С использованием ограниченного оператора минимизации запишем исходную функцию
как:
       [log x ] = µ z < x (y z+1 > x).
           y