ВУЗ:
Составители:
Рубрика:
- 14 -
рате по несогласованию следующего предиката). Детерминированные
предикаты при возврате пропускаются (не пересогласовываются с ба-
зой данных).
б). Проверка на согласование подцелей (отмена бектрекинга).
Пример: G:-G1,!,G2,G3.
G:-G4,G5.
Если цель G2 не согласуется с базой данных, то объявить цель
G неудачно согласованной в целом без повторного согласования G1
при возврате по бектрекингу. При этом не происходит даже перехода
на вторую ветвь определения цели G.
в). Использование комбинации "отсечение - fail".
Fail - это встроенный предикат, выполнение которого всегда
заканчивается неудачей, т .е. его можно рассматривать, как команду
включить механизм бектрекинга и использовать для организации цик-
лов. Появление о тсечения непосредственно перед fail изменит нор-
мальное выполнение обратного поиска.
Пример: G:-G1,G2,G3,!,fail.
В любом случае цель G никогда не будет согласована с базой
данных и всегда будет принимать значение "ложно".
1.6. Рекурсия
РЕКУРСИЯ - механизм, который позволяет перевызывать на сог-
ласование с базой данных предикат, который в качестве предика-
та-подцели ссылается на самого себя.
Обычная стратегия решения задач состоит в том, чтобы разбить
исходную задачу на более мелкие подзадачи, решить их, а затем
объединить подзадачи с тем, чтобы получить решение исходной зада-
чи. Может потребоваться разбиение подзадачи на еще более мелкие и
решение их по частям.
Если подзадача есть уменьшенный вариант исходной задачи, то
способ ее разбиения и решения идентичен примененному в исходной
задаче.
Такой процесс называется рекурсией. Для того чтобы описанный
метод решения был результативным, он должен в конце концов приво-
дить к задаче, решаемой непосредственно. Решить ее позволяют ут-
верждения, называемые граничными условиями.
Страницы
- « первая
- ‹ предыдущая
- …
- 12
- 13
- 14
- 15
- 16
- …
- следующая ›
- последняя »