Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект_лекций_Разработка_ИИ_и_Базы_данных_Ерофеев.pdf
Скачиваний:
1
Добавлен:
13.01.2026
Размер:
4.65 Mб
Скачать

Вкладка 3

Разработка приложений искусственного интеллекта в киберфизических системах

4 (01.10.2025)

Рекурсия и организация циклов в прологе. Типы рекурсии.

Правило в котором тело включается в себя головной предикат называется рекурсивным.

Рекурсия может быть отнесена к нисходящей и восходящей. Если рекурсия в теле правила выполняется вплоть до полного завершения вычислений, она называется нисходящей. Если рекурсивный вызов предиката находится в теле в единственном экземпляре и всегда располагается в теле на последнем месте, то такая организация процесса называется восходящей.Рекурсия с недетерминированным выбором - это рекурсия содержащая несколько правил с рекурсивными вызовами, логика выполнения этих правил может быть как нисходящей, так и восходящей.

Ограничения полного перебора. Отсечение и откат. Игнорирование предупреждений.

Поиск ответа на любой запрос в режиме диалога с пользователем выполняется в режиме полного перебора.

Списки.

Списки это специальный вид сложного или составного терма состоящий из последовательности связанных термов одного доменного типа.

Домен - это область, в которой определяется множество значений с точностью до типа.

Список в прологе является односвязным, то есть каждый элемент списка содержит только один указатель на следующий элемент(указатель как явный или неявный). При работе со списками выделяется первый элемент который называется головой. Элементами списка в прологе могут быть целые числа типа integer, real, строки, структуры и тд.

Работа с файлами в турбопрологе.

​ Файл это минорная область на диске состоящая из классов. Сектор это минимальная единица хранения файловой информации. Кластер состоит из секторов. Кластеры хранятся в виде цепочки кластеров(связанного списка). Файловый указатель - поименованный объект который эквивалентен имени файла.

Токен это те объекты которые мы выделяем в коде между разделителями.