Искусственный интеллект. Алгоритмы эвристического поиска (учебное пособие) [Е. И. Большакова] (doc) читать постранично, страница - 15

Книга в формате doc! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

уровня) этого списка. К примеру, значение (length X) равно 2, если переменная X имеет значение (p(q r)).
Значениями аргументов следующих функций должны быть числа, над которыми производятся арифметические операции.
(add1 n)
Функция прибавляет число 1 к числу-аргументу и выдает результат в качестве своего значения.
(sub1 n)
Эта функция вычитает 1 из значения своего аргумента и выдает результат в качестве своего значения.
(+ n1 n2)
Значением функции является сумма значений ее аргументов.
(- n1 n2)
Значением этой функции является разность значений ее аргументов.
(* n1 n2)
Значением этой функции является произведение значений ее аргументов.
(/ n1 n2)
Результат вычисления этой функции – частное, получающееся при делении первого числа на второе.
(rem n1 n2)
Результат вычисления этой функции – остаток от деления первого числа на второе.
​ Предикаты
Предикатом называется форма, значение которой рассматривается как логическое значение «истина» или «ложь». Особенностью языка Лисп является то, что «ложью» считается пустой список, записываемый как () или nil, а «истиной» – произвольное выражение, отличное от () и nil. В частности, в роли «истины» может использоваться атом T.
(null e)
Эта функция проверяет, является ли значение ее аргумента пустым списком; если да, то значение функции равно T, иначе – nil.
(eq e1 e2)
Функция сравнивает значения своих аргументов, которые должны быть атомами-идентификаторами. В случае их равенства (идентичности) значение функции равно T, иначе – nil.
(eql e1 e2)
В отличие от предыдущей функции, данная функция сравнивает значения своих аргументов, которыми могут быть не только атомы-идентификаторы, но и атомы-числа. Если аргументы равны, то значение функции равно T, иначе – nil.
(equal e1 e2)
Функция производит сравнение двух произвольных S-выражений – значений своих аргументов. Если они равны (т.е. представляют собой одно и то же S-выражение), то значение функции равно T, иначе – nil.
(neq e1 e2)
Аналог предыдущей функции, но значения аргументов сравниваются на «не равно».
(member a l)
Значением первого аргумента должен быть атом, а второго – список. Функция производит поиск заданного атома на верхнем уровне заданного списка. В случае успеха поиска в качестве значения функции выдается хвост списка l, начиная с найденного атома, в случае же неуспеха выдается nil.
(= n1 n2) (/= n1 n2)
(> n1 n2) (>= n1 n2)
(< n1 n2) ('">