Главная » Просмотр файлов » Р.У. Себеста - Основные копцепции языков программирования (2001)

Р.У. Себеста - Основные копцепции языков программирования (2001) (1160794), страница 166

Файл №1160794 Р.У. Себеста - Основные копцепции языков программирования (2001) (Р.У. Себеста - Основные копцепции языков программирования (2001)) 166 страницаР.У. Себеста - Основные копцепции языков программирования (2001) (1160794) страница 1662019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

642 Глава 15. Языки логического программирования 15.7.4. Внутренние ограничения Основная цель логического программирования, как указывалось в разделе )5.4,— обеспечить непроцедурное программирование; т.е. систему, с помощью которой программист указывает, что именно программа должна сделать, но не обязан указывать, как именно она должна это делать. Пример, приведенный выше лля сортировки списка, перепишем так: сортировать(о1с( 11вС, пеи 11вС) с переставить(о1б 11яс, ген 11яс) гз отсортированный(пеи 11вс) с ~ФЗ такого, что 1 ь 1 < и, 11яс(з) < 11вк(бь1) Это можно легко записать на языке Рго]од. Например, отсортированную подцель можно выразить следующим образом: в1гсес(( [] ) . вогСес(([х]). вогсес(([х, у ! 11яс]) : — х <= у, яогсес( ([у ( 11ЯС]) Проблема, связанная с процессом сортировки.

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

Означают ли асс эти проблемы. что следует отказаться от логического программирования". Конечно, нет! В действительности, оно способно работать во многих полезных приложениях. Более того, логическое программирование основывается на интригующей концепции и интересно не только своими приложениями, но и само по себе. В заключение отметим, что существует возможность разработки некоей новой техники логического вывода, которая позволит системам языков логического программирования действительно указывать только, что, а не кцл следует делать в спецификациях своих программ. 15.8. Применение логического программирования В этом разделе кратко описаны некоторые более широкие классы существующих и потенциальных приложений логического программирования в общем и языка Рго[ой в частности.

15.8.1. Системы упраяления реляционными базами денных Системы управления реляционными базами данных [СУРБД) хранят данные в виде таблиц. Запросы к таким базам данных часто формулируются в терминах исчисления предикатов, являющегося разновидностью символьной логики. Язык запросов этих систем является непроцедурным в том же смысле, в котором логическое программирование представляет собой непроцедурное программирование. Пользователь описывает не то, 15.8. Применение логического программирования как именно следует искать ответ, а только характеристики этого ответа. Связь между логическим программированием и системами СУРБД должна быть очевидна. Простые таблицы.

содержащие информацию, можно описать с помощью структур языка Рго!ой, а отношения между таблицами можно удобно и просто выразить через правила языка Рго1оя. Операции резолюции присущ процесс поиска. Пели в языке Рго!оя обеспечивают формулирование запросов к системам СУРБД. Таким образом. логическое программирование естественным образом соответствует нуждам реализации систем СУРБД. Одним из преимушеств использования логического программирования для реализации систем СУРБД является то, что прн этом требуется только один язык. В типичной системе СУРБД язык базы данных солержит операторы для определения данных, лля манипуляции с данными и лля запросов. и все они встроены в такой универсальный язык программирования, как СОВО1..

Универсальный язык программирования используется для обработки данных и выполнения функций ввода-вывода. Все эти функции можно реализовать в языке логического программирования. Другое преимушество использования логического программирования для реализации систем СУРБД состоит в том, что в него встроены средства логического вывода. Обычные системы СУРБД на основании информации из базы данных не могут сделать никакого логического вывода, за исключением ответа на вопрос, что именно хранится в этой базе.

Онн содержат только факты, а не факты и правила логического вывода. Основной недостаток использования логического программирования в системах СУРБД, по сравнению с обычными системами СУРБД, состоит в том, что реализация на основе логического программирования является более медленной. Процессы логического вывода просто занимают больше времени.

чем обычные методы просмотра таблиц с помощью техники императивного программирования. 1$.8.2. Экспертные системы Экспертные системы — это компьютерные системы. разработанные лля имитации экспертизы, выполняемой человеком в некоторой конкретной области знаний. Они состоят из базы фактов, процесса логического вывода, некоторых эвристических знаний о предметной области и дружелюбного пользовательского интерфейса. делающего систему похожей на консультанта. В дополнение к их исходноЯ базе знаний, предоставляемой человеком-экспертом, экспертные системы обучаются с помощью используемых процессов логического вывода, так что их базы данных должны иметь возможность динамически увеличивать свои размеры.

Кроме того, экспертная система должна при необходимости запрашивать у пользователя дополнительную информацию. Одна из основных проблем, стоящих перед разработчиком экспертной системы,— это неминуемая противоречивость и неполнота базы данных. Логическое программирование хорошо подходит лля решения этих проблем. Например, правила логического вывода. принятые по умолчанию, могут помочь решить проблему неполноты базы данных. Язык Рго1оя может и лолжен использоваться для созлания экспертных систем. Он легко удовлетворяет основные нужды экспертных систем. При этом для обработки запросов он использует процесс резолюшнк лля обучения — возможность пополнять свои базы данных фактами н правилами. а лля информирования пользователя о процессе решения задачи — срелства трассировки. В языке Рго!оя недостает лишь автоматической способности системы при необходимости запрашивать у пользователя дополнительную информацию.

Глава 15. Языки логического программирования Одним из самых известных приложений логического программирования а области экспертных систем является система конструирования экспертных систем под названием АРЕБ. описанная в работах Бегзог(1983) и Нашпюпс1(1983). Система АРЕЬ обладает очень гибкими средствами сбора информации, полученной от пользователя во время конструирования экспертной системы. Она также имеет второй интерпретатор лля создания пояснений к своим запросам. Система АРЕБ была успешно применена лля создания нескольких экспертных систем, включая систему для выработки правил, используемых в правительственных программах социальной помощи, а также систему. представляющую собой исчерпывающий свод правил получения гражданства Великобритании (Вгй)зй Ха!1опа!1!у Ас!).

15.8.3. Системы обработки естественных языков С помощью логического программирования можно выполнить некоторые вилы обработки текстов на естественных языках. В частности, интерфейс, основанный на естественном языке, для таких систем программного обеспечения, как интеллектуальные базы данных и другие интеллектуальные базы знаний, удобно создавать с помощью логического программирования. Для описания синтаксиса языка были найдены формы логического программирования, эквивалентные контекстно-свободным грамматикам.

Были также разработаны процедуры доказательства в системах логического программирования, эквивалентные определенным стратегиям синтаксического анализа. В действительности, обратный логический вывод в процессе резолюции может непосредственно применяться лля синтаксического анализа предложениЯ, структуры которых описаны контекстно-свободными грамматиками.

Было также обнаружено, что некоторые вилы семантики естественных языков можно пояснить, моделируя эти языки средствами логического программирования. В частности, исследования в области логических семантических сетей показали, что совокупности предложений на естественных языках можно выразить в дизъюнктивной форме (!Зе11уапп1 апд КозчаЫг1, 1979). В работе Котка!за! (1979) также обсуждаются логические семантические сети. 1$.8.4. Образование В области образования были проведены обширные эксперименты по обучению детей в возрасте до семи лет использованию языка логического программирования ш1сгоРго1о8 (Еппа!з, 1980). Исследователи заявляют о наличии большого количества преимушеств в обучении детеЯ использованию языка Рго1о8. Во-первых, с помощью этого подхода можно дать представление о вычислениях.

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

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

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

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

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