Главная » Просмотр файлов » В.Н. Пильщиков - Язык Плэнер

В.Н. Пильщиков - Язык Плэнер (1156455), страница 29

Файл №1156455 В.Н. Пильщиков - Язык Плэнер (В.Н. Пильщиков - Язык Плэнер) 29 страницаВ.Н. Пильщиков - Язык Плэнер (1156455) страница 292019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 29)

Если >ке найдено условие еь вычисление которого успешно„ тогда функция 1Р уничтожает все Р-точкн (яо не обратные операторы) внутри этого условия и свою Р-точку и ватем последовательно вычисляет оставшиеся выражения этой 1-й клаузы. В случае их успешного вычисления успешно и вычисление всего. условного выражения, причем его значением объявляется значение последнего выражения из Ьй клаузы. В противном случае вычисление функции 1Р неуспешно, поскольку ее Р-точки уже нет и, следовательно, выработанный при вычислении выражений клаузы неуспех вернет программу к развилке, определенной до иачнла вычислепил функции 1Р. (Подчеркнем, что если найдено успешное условна,' то оставшиеся клауаы никогда не рассматриваются.) Примеры: [1Р ([РА1Ц А) ([РА1Ц В)] — () [1Р ([РА1Ц А) (() В)] — ~- В [1Р (А)] -~- А [1Р (Т [РА1Ь]) (Т В)] — неуспех [1Р ([АЬТ Т [РАЬЬ 1]] [РА1Ь 2])] — неуспех с сообщением 2 Еще один пример.

При вычислении выражения [1Р ( [ЯТТМ (3 8) 205] [ОО А] ) ] будет осуществлен переход по метке А, если из чисел 3 и 8 можно составить вумму 205. В противном случае функция 1Р вы;рабатывает значение (). Следующая функция Р11)П испольауется в тех случаях, когда требуется найти определенное число вариантов успешного вычис- 137 кения какого-то выражения или некоторой последовательности выражений. Например, может потребоваться найти три таких решения задачи о восьми ферзях, в которых один из фераей расположен на 2-й гориаонталл л б-й вертикали. Это, конечно, можно сделать и с помощью ранее рассмотрейиых функций, но применение функции И1)В оказывается более удобна(ьь Функция Р1ХВ относится к классу РВОВ.

Обращение к ней выглядит так: (Иг(В тоде (и, из ... и,) р е, ез ° .. еь), где т ) О, й ) 1. Иг( — блочная функция: список (и, иа ... и ) является описанием ее локальных переменных, а последовательиость е1 ез ... е, обрааует ее тело. Аргументы тоде и р должны.

быть простыми формами. Вычисляется функция следующим образом. Сначала вычисляется аргумент тоде. Его значением должен быть список вида (д т1и тах), где о, т1и, тах — неотрицательные целые числа или атом АЬЬ. Если число а равно нулю, тогда функция Р11)В сразу аавершает свою работу со значением ('). Иначе вводятся локальные переменные а~ (точно так же, как и в функции РКОС) и еще две вспомогательные переменные и и со1 с начальными аначениями О и () соответственно. После' этого вычисляется тело блока.

Если ато вычисление успешно доапло до конца тела (успешно вычислился последний оператор еь), то и увеличивается на 1, вычисляется аргумент р, и его значение заносится в начало списка со1. Затем функция' Р(ЫВ вырабатывает неуспех, возобновляя тем самым вычисление своего тела; ищется новый вариант его успешного вычисления. Если такой вариант нашелся (вычисление снова дошло до конца тела), -тогда и вновь увеличивается на 1, заново вычисляется агрумент р, и его новое значение добавляется к списку со1.

После. етого опять вырабатывается неуспех и т. д. Функция Р1ХВ пытается найти о вариантов успешного вычисления своего тела. Если стольких вариантов нет, количество найденных вариантов (и) должно удовлетворять условию т1и ( и ( тах. В ЛЮбом из этих случаев функция успешно заканчивает свою работу, объявляя своим аначением список со1, н котором собраны значения аргумента р, вычисленные при каждом варианте. Но если д вариантов ие найдено нли если и меньше еми мли больше тах, то вычисление функции неуспешно. С выра4отанным при атом неуспехом связывается как сообщение последнее значение переменной со1.

После того как функция Р11)В вычислила аргумент тоде (счлтаем, что а чьО), еа действие полностью еквивалентно вычис.лепию следующего блока: х38 [БРВОО (щ е» г (в О) (со1 ( ))) [АВТ () [СОХО ([ОЕ т т«а] [ВЕТВВХ .со1]) (Т [РАН .со)])]] е« е» ... е» [РАВВ1 в] [РЯЕТ со) (р Всо1)] [СОХО ([ЕО. 7] [ВЕТВВХ.-)]) ([ОТ .и тах] [РА1БЕХ .со1 ЯРВОО]) (Т [РАН])]] Отметим, что независимо от того, успешно или нет аакончилось вычисление функции Р1ХВ, все Р-точки, появившиеся после вычисления аргумента тоде, уничтожаются; Р-точки же внутри тоде сохраняются. Атом АЫ для д, т«в и в»ах играет роль бесконечности.

Например, значение (АЬЬ. 3 7) аргумента тоде оаначает, что надо найти все (сколько есть) варианты успешного вычисления тела функции Р1ХВ, и таких вариантов должно быть не меньше трех и не больше семи, иначе вычисление функции будет неуспешным. Значение же (5 2 АЬВ) оэначает, что должно быть найдено пять вариантов; если есть еще варианты, то они уже не рассматриваются, а если пяти вариантов нет, тогда требуется, чтобы существовало хотя бы два варианта.. Для наиболее часто, встречающихся аначений аргумента тоде — для значений (д д д) и (А1Л 0 АЬЬ) — допускается сокращенная форма: 7 и АЬЬ соответственно. Эти эначения интер' претируются так: «найти ровно д вариантов» (не больше и не меньше) и «найти' все варианты» (сколько есть).

Например, аначением выражения [Р1ХВ АУЛ (Х):Х [БЕТ Х [АМОХО (1 — 2 3 4 — 5)]] [СОХВ ([1Т .Х О] [РА1Ц)]] является список (4 3 1). Здесь, когда число Х отрицательно, вычисление не доходит до конца тела функции Р1ХВ, поэтому такие числа не запоминаются. Неотрицательные же числа учитываются все, как того и требует аргумент АЫ . Другой пример: [Р1ХВ 3 (Х),Х [ВХРАВБЕ [Е«] [2 [БЕТ Х [Ф8]]] 6]]! ((2 6 8 3 1 4 7 5) (2 6 1 7 4 8 3 5) (1 6 8 3 7 4 2 5)) Здесь функция Р)ХВ находи] три решения задачи'о восьми ферзях иа числа тех решений, в которых один иэ ферзей расположен на 2-й гориаонтали и 6-й вертикали.

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

Сохраняются лн эти развилки.и обратные операторы? Осуществляется ли возврат по , неуспеху к предыдущему выражению программы, если вычисление очередного выражения оказалось неуспешным? - Ответы на оба вопроса отрицательные. Дело в том, что выражения верхнего уровня программы вычислиются, с точки арения режима возвратов, независимо друт от друга, и вернуться к ранее вычисленному выраженизо нельзя. А раз так, то нет смысла сохранять развилки и обратные операторы внутри выражения, вычисление которого закончено. Таким образом, если мекоторое выражение программы успешно, то по окончании его вычисления все оставшиеся внутри него раввилки и обратные операторы уничтожаются, а если выражение неуспешно, то распространение появившегося прн этом неуспеха блокируется, после чего вместо результата вычисления печатаются слово =НЕУСПЕХ= и сообщение, связанное с этим неуспехом.

В любом случае далеевычисляется следующее выражение программы. Например, вычисление программы ]СВЕТ Р1 ЗЛ4159] ]АМОХС (А В С)] [РА1Ь 7] происходит таким.образом. Вычисляется первое выражение: вводится константа Р1 и ей ирисваивается вначеиие ЗЛ4159; зто "число .печатается как результат вычисления данного выражения; обратный оператор, который запоминался при этом, уничтожается. Затем вычисляется второе выражение, и его аиачение — атом А— выводится на печать; Р-точка функции АМОНО уничтожается. При вычислении третьего выражения программы вырабатывается неуспех, с которым свяаывается сообщение 7; этот неуспех блокируется, т.

е. он не вызывает никакого возврата программы назад, н печатаются слово =НЕУСПЕХ= и атом 7. Теперь рассмотрим, как связаны между собой режим возвратов и механизм сопоставлений. Прежде всего отметим, что, несмотря на внешнее сходство, выбор подходящих сегментов для сегментных образцов и неудачи 140 получает значение ()и попутно запоминается обратный оператор [БЕТ Х А]. Далее вычисляется функция АЬШ: значение переменной У увеличивается на 1 и аапоминается обратный оператор [ЯЕТ У 6], после чего значение функции — число,7 — сравнивается с первым элементом анализируемого списка.

Они не равны, поэтому происходит возврат к образцу )еХ и изменяется сопоставляемый с ним сегмент. При этом возврате выполняются все .обратные операторы, появившиеся после того, как для данного сегментного образца был выбран пустой сегмент. Следовательно, у переменной г' будет 'восстановлено аначение 6, а у переменкой Х вЂ” значение А. Теперь' образцу (еХ ставится в соответствие сегмент из одного элемента 4; переменная Х получает значение (4), и вновь вапомииается обратный оператор [БЕТ Х А]. Далее вновь вычисляется функция АППП переменной У присваивается значение 7 и запоминается обратный оператор [БЕТ г 6]. На этот раэ значение функции разно очередному элементу (числу 7) анализируемого списка, поэтому сопоставление списков удачно завершается. Таким образом, функция )Я заканчивает свою работу со значением Т; появившиеся нри ее вычислении обратные операторы [ЯЕТ Х А] и [ЯЕТ У 6] сохраняются.

Если затем в программе будет выработан неуспех, то при его распространении эти обратные операторы восстановят начальные эиаченик переменных Х. и У, т. е. значения А и 6. Итак, побочные аффекты сопоставления уничтожаются только благодаря выполнению обратных операторов, появившихся во время сопоставления. Поэтому если обратный оператор не запоминался, то не будет и отмены соответствующего побочного аффекта, Например, сопоставление [!Я [ЕТ еХ [ВЕ [РВЕТ У .Х]] [НПМ]] А] неудачно, однако значение А„ полученное переменном Т в процессе сопоставления, сохранится.

ГЛАВА 4 БАЗА ДАННЫХ 4.(. Основные понятия Многие системы искусственного интеллекта, получив на входе описание некоторой задачи, должны найти ее решение. Например, системе может быть предложен набор аксиом и правил вывода, а она должна найти докааательство некоторой теоремы. Или, скажем, системе может быть предложено сформировать план действий робота для достижения поставленной цели в ааданпой обстановке. В связи с зтим в языке программирования, предназначенном для реализации подобных систем, должны быть предусмотрены удобные средства для описания всех компонентов аадачи (исходной ситуации, допустимых правил решения, цели), и для реализации процедур поиска решения задач. Язык пленер учитывает зти требования и предоставляет своим пользователям соответствующие средства.

К ним, в частности, относится база даи ныл, преднааначенная для описания исходной ситуации и тех ситуаций, которые возникают при поиске решения рассматриваемой задачи. Бааой данных в пленере называется набор утверждений. Утверждением может быть любой список в круглых скобках; список называется утверждением, если ои включен в базу данных. С важдыы утверждением может быть свяаан список свойств, Между утверждениями базы данных не устанавливается никаких отношений, в частности не определено понятие места (адреса, индекса) утверждения в базе данных. Доступ к утверждениям осуществляется только по ассоциативному принципу — по описанию признаков искомых утверждений.

В каждой плзнерской программе используется своя база данных, которая в начале выполнения программы пуста (поэтому заполнять ее обязана сама программа), а по окончании выполнения программы уничтожается*). «) Таким образом, плзнерскую баау данных не следует рассматривать как совокупность данных, хранимых во внешней памяти ЭВМ и доступных из разных программ, что обычно подразумевается в программировании под термином «бава данныхю, 143 Для работы с базой данных используются следующие операции: запись новых утверждений в базу данвых, вычеркивание утверждений из базы данных, поиск утверждений по,обраацу.' Выполнение операций ааписи и вычеркивания, иаменяющих содержимое базы даииых, может сопровождаться вызовом особых процедур — так называемых ааписывающих и вычеркивающих теорем, назначение которых — контролировать 'измеиения базы данных.

Характеристики

Тип файла
DJVU-файл
Размер
3,34 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее