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


         

Отсечение подавляет перебор. Его применяют


  • Отсечение подавляет перебор. Его применяют как для повышения эффективности программ, так и для повышения выразительности языка.

  • Эффективность повышается путем прямого указания (при помощи отсечения) пролог - системе не проверять альтернативы, про которые нам заранее известно, что они должны потерпеть неудачу.

  • Отсечение дает возможность сформулировать взаимно исключающие утверждения при помощи правил вида:

    если Условие
    то Утверждение1 иначе Утверждение2

  • Отсечение дает возможность ввести отрицание как неуспех: not( Цель) определяется через неуспех цели Цель.

  • Иногда бывают полезными две особые цели true
    и fail. true - всегда успешна и fail
    - всегда терпит неудачу.

  • Существуют ограничения в применении отсечения: его появление может нарушить, соответствие между декларативным и процедурным смыслами программы. Поэтому хороший стиль программирования предполагает осторожное применение отсечений и отказ от их применения без достаточных оснований.

  • Оператор not, определенный через неуспех, не полностью соответствует отрицанию в математической логике. Поэтому not тоже нужно применять с осторожностью.


  • Содержание  Назад  Вперед