У Клоксин - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ

Тут можно читать онлайн У Клоксин - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    3.7/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

У Клоксин - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ краткое содержание

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ - описание и краткое содержание, автор У Клоксин, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Книга английских специалистов, содержащая описание основ логического программирования и особенностей языка Пролог – базового языка ЭВМ пятого поколения. Области применения этого языка связаны с разработкой экспертных систем, интеллектуальных баз данных, обработкой естественного языка, разработкой компиляторов ЭВМ. Книга полезна для первого ознакомления с языком Пролог.

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ - читать онлайн бесплатно полную версию (весь текст целиком)

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ - читать книгу онлайн бесплатно, автор У Клоксин
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

На приведенном примере можно видеть, что некоторые программы на Прологе, можно понять лишь в терминах, описывающих что и когда может произойти при выполнении программ и каким образом программы сообщают системе о том, что нужно делать. В качестве крайнего случая, можно привести программу для генатом представленную в гл. 7. Вряд ли вообще может быть дана какая-либо декларативная интерпретация этой программы. Имеет ли тогда смысл рассматривать Пролог как язык логического программирования? Можем ли мы реально надеяться на какие-то преимущества логического программирования применительно к нашим программам на Прологе? На оба этих вопроса можно дать положительный ответ и основанием для этого служит то, что приняв соответствующий стиль программирования, мы все же можем получить некоторые преимущества благодаря связи Пролога с логикой. Ключевым моментом является использование разбиения программ на части, ограничивающие использование нелогических операций небольшим множеством утверждений. В качестве примера в гл. 4 было показано, как в некоторых случаях «отсечение» может быть заменено предикатом not.В результате таких замен, программу, содержавшую целый ряд «отсечений» можно свести к программе, в которой «отсечение» используется лишь однажды (в определении not).Использование предиката notдаже если он не совсем точно соответствует логическому '~' позволяет восстановить часть логической основы программы. Аналогично, ограничивая область применения предикатов assertaи retractопределениями небольшого числа предикатов (таких как генатоми найтивсе),можно добиться того, что в целом программа становится более понятной по сравнению с программой, в которой эти предикаты свободно используются где угодно.

Таким образом, с появлением Пролога конечная цель, состоящая в создании языка логического программирования, не была достигнута. Тем не менее, Пролог дал практическую систему программирования, обладающую в некоторой степени свойствами, которыми должен обладать язык логического программирования – ясностью и декларативностью. Между тем ведутся работы по разработке улучшенных версий Пролога, которые более близки к логике чем имеющиеся в настоящее время. К числу наиболее важных работ в этой области относятся работы по созданию практической системы программирования, в которой нет необходимости использовать «отсечение» и которая имеет вариант предиката notточно соответствующий логическому понятию отрицания.

ГЛАВА 11. ПРОГРАММНЫЕ ПРОЕКТЫ НА ПРОЛОГЕ

В этой главе рассматривается перечень программных проектов, которые вы могли бы попытаться осуществить для развития навыков программирования на Прологе. Некоторые из этих проектов довольно просты, зато другие вполне могут быть предложены в качестве «курсовой работы» в рамках учебного курса по Прологу. Более простые проекты следует использовать как дополнение к упражнениям, приведенным в предыдущих главах. В целом при перечислении проектов мы не придерживались какого-то определенного порядка, хотя те из них, что содержатся в разд. 11.2, в большей мере допускают расширения, содержат вызов честолюбию, но и требуют некоторой подготовки или знакомства с литературой по различным вопросам искусственного интеллекта и информатики. Небольшая часть проектов требует знаний из определенных разделов науки, поэтому если вы не специалист в области математической физики, то не отчаивайтесь, если не сможете написать программу дифференцирования трехмерных векторных полей.

Целая подборка Пролог-программ опубликована в отчете Coehlo H., Cotta J. С, Pereira L. M. How to solve it with Prolog, Laboratorio Nacional de Engenharia Civil, Lisbon, Portugal. В нем содержится свыше ста небольших примеров, задач и упражнений из таких областей как вывод умозаключений на основе базы данных, естественный язык, символьное решение уравнений, и т. д. Этот отчет по своему характеру не рассчитан на использование для обучения, поэтому приведенные в нем Пролог-программы снабжены лишь краткими пояснениями.

11.1. Простые проекты

1. Определить предикат линдля «линеаризации» списка путем построения нового списка, не содержащего списков в качестве элементов, но включающего все атомы исходного списка. Например, следующее целевое утверждение будет согласовано с базой данных:

?- лин([а,[b,с],[[d],[],е]], [a,b,c,d,e]).

Существует по меньшей мере шесть различных способов написания этой программы.

2. Составить программу для вычисления интервала (в днях) между двумя датами, заданными в формате День-Месяц, считая что обе они относятся к одному и тому же невисокосному году. Заметим, что '-' это просто инфиксная форма задания 2-х местного функтора. Например, следующее целевое утверждение будет согласовано с базой данных:

интервал(3-март, 7-апрель, 35).

3. В главе 7 приведены сведения, достаточные для составления программ дифференцирования и упрощения арифметических выражений. Усовершенствуйте эти программы так, чтобы они могли обрабатывать выражения с тригонометрическими функциями и, если есть желание, с операциями дифференциальной геометрии, такими как div, grad и rot.

4. Написать программу, осуществляющую символическое отрицание выражения исчисления высказываний. Это выражение строится из атомов, одноместного функтора notи двухместных функторов and(и), or(или) и implies(импликация). Задать соответствующие описания операторов для этих функторов. Выражение, являющееся результатом отрицания, должно быть представлено в простейшей форме, когда notприменяется только к атомам. Например, отрицание выражения

р implies (q and not r)

должно выглядеть следующим образом: р and (not q or r)

5. Частотный словарь – это перечень слов, встречающихся в данном тексте, выписанный в алфавитном порядке с указанием числа вхождений каждого слова в тексте. Написать программу составления частотного словаря по списку слов, представленных в виде строк Пролога. Учтите, что строки – это списки кодов ASCII.

6. Написать программу, воспринимающую простые английские предложения, имеющие следующий формат

На основе ранее введенных предложений программа должна выдавать соответствующий - фото 35

На основе ранее введенных предложений программа должна выдавать соответствующий ответ (yes (да), no (нет), ok (принято), unknown (неизвестно)). Например,

John is a man.

ok

A man is a person.

ok

Is John a person?

yes

Is Mary a person?

unknown

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


У Клоксин читать все книги автора по порядку

У Клоксин - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ отзывы


Отзывы читателей о книге ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ, автор: У Клоксин. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x