1.2.2. ПРЕДСТАВЛЕНИЕ ДАННЫХ В ВИДЕ ОБЪЕКТНЫХ ВЫРАЖЕНИЙ

Объектные выражения особенно удобны для представления символьных (т.е. не чисто числовых) данных.

Пусть, например, мы хотим выбрать представление в виде объектных выражений для алгебраических формул. Нам нужно уметь представлять константы, переменные и формулы, которые получаются

в результате применения бинарной операции к двум более простым формулам. Обозначим через [p] объектное выражение, которое является представлением формулы p. Тогда мы можем считать, что представлением целых чисел являются соответствующие символы-числа, представлением переменных являются соответствующие символы-слова, а для бинарных операций имеют место соотношения

[p+q] = ("плюс" [p] [q])

[p-q] = ("минус" [p] [q])

[pхq] = ("умн" [p] [q])

[p/q] = ("дел" [p] [q])

   q
[ p  ] = ("степ" [p] [q])

 

Таким образом, формула

    (X+Y?)-512

представляется в виде

("минус" ("плюс" X ("степ" Y 2)) 512)

В качестве другого примера рассмотрим представление шахматной позиции в виде объектного выражения. Первым делом нужно обозначить название и цвет каждой фигуры. Например, ("бел" "Король"), ("черн" "пешка"). Затем нужно указать поле каждой фигуры. Например,("e" 2), ("h" 7). Теперь мы можем представить всю позицию в виде последовательности объектных термов, каждый из которых содержит имя и цвет фигуры, а также ее поле. Например,

(("бел" "Король") ("g" 5))

(("черн" "Король") ("a" 7))

(("бел" "Пешка") ("c" 6))

(("бел" "Конь") ("g" 1))

(("черн" "Конь") ("a" 8))