Преобразование сложных структур данных можно рассматривать
как процесс, состоящий из предварительного распознавания некоторых
свойств объектов с последующим применением соответствующего преобразования,
т.е. как применение пары распознаватель - преобразователь.
При достаточно эффективных распознающих средствах, можно
организовать преобразование информационных объектов, в частности,
аналитических выражений, с помощью соотношений (продукций). Такой
подход выбран в АНАЛИТИКе, принадлежащем к языкам, которые ориентированы
на распознавание образцов (pattern directed).
В АНАЛИТИКЕ для преобразования выражений в качестве
пары распознаватель - преобразователь используется соотношение (продукция)
F1=F2, где F1 и F2 - математические формы или образцы. F1 используется
для распознавания свойств выражений, F2 - для формирования нового
выражения.
Распознавание свойств основывается на процедуре сопоставления
с формой, цель которой выяснить сравнимы ли выражение и форма (подобны
ли по своей структуре). Форма в АНАЛИТИКе представляет собой произвольное
выражение языка, в котором некоторые переменные, исходя из потребностей
задачи, объявляются свободными переменными или параметрами. Подставляя
в форму вместо параметров произвольные выражения языка, получаем
множество выражений, порожденных этой формой [17,18,23,24].
Типичным примером преобразования с помощью применения
системы соотношений является дифференцирование. Сущность любой программы
дифференцирования состоит в применении известных правил дифференцирования.
Например, применение правила дифференцирования [22]:
d/dx(F1+F2) = d/dx(F1)+d/dx(F2)
которое кратко звучит как "производная суммы равна
сумме производных", означает следующее: распознать, если дифференцируемое
выражение представляет собой сумму двух функций, то производную
следует построить как сумму производных этих функций.
Т.А.Гринченко
|