Программирование на языке Пролог для искусственного интеллекта


Рисунок 3 9 Интерпретация терма ~(А & В) <===> ~A v ~В



Рисунок 3. 9.  Интерпретация терма ~(А  &  В)  <===> ~A  v  ~В

fig3_9.gif (1184 bytes)

Подытожим:

  • Наглядность программы часто можно улучшить, использовав операторную нотацию. Операторы бывают инфиксные, префиксные и постфиксные.
  • В принципе, с оператором не связываются никакие действия над данными, за исключением особых случаев. Определение оператора не содержит описания каких-либо действий, оно лишь вводит новый способ записи. Операторы, как и функторы, лишь связывают компоненты в единую структуру.
  • Программист может вводить свои собственные операторы. Каждый оператор определяется своим именем, приоритетом и типом.
  • Номер приоритета - это целое число из некоторого диапазона, скажем, между 1 и 1200. Оператор с самым больший номером приоритета соответствует главному функтору выражения, в котором этот оператор встретился. Операторы с меньшими номерами приоритетов связывают свои аргументы сильнее других операторов.
  • Тип оператора зависит от двух условий:     (1)    его расположения относительно своих аргументов,    (2)     приоритета его аргументов по сравнению с его собственным. В спецификаторах, таких, как xfyх   обозначает аргумент, чей номер приоритета строго меньше номера приоритета оператора;  у   - аргумент с номером приоритета, меньшим или равным номеру приоритета оператора.



Начало Назад Вперед