Автор работы: Пользователь скрыл имя, 28 Ноября 2012 в 18:50, курсовая работа
Современный этап развития вычислительной техники характеризуется расширением сфер ее применения. На первый план выдвигаются задачи интеллектуализации процессов машинной обработки информации, моделирования рассуждений человека-эксперта при решении прикладных задач из различных областей человеческого знания. Кроме того, актуальным является также полное и непротиворечивое представление самих знаний.
Введение ……………………………………………………………………………… 4
1 Теоретическая часть ………………………………………………………............... 6
1.1 Краткий обзор языков программирования Visual Prolog и Visual Lisp ……….. 6
1.2 Описание логических возможностей языка Visual Prolog ……………………… 8
1.3 Описание функциональных возможностей языка Visual Lisp ………………...10
2 Практическая часть ……………………………………………………………….. 12
2.1 Постановка задачи логического программирования …………………………. 12
2.2 Описание методов решения и используемых средств языка Visual Prolog …. 12
2.3 Описание листинга программы Visual Prolog …………………………………. 14
2.4 Тестирование программы Visual Prolog…………………………………………16
2.5 Постановка задачи функционального программирования ...…………………. 17
2.6 Описание листинга программы Auto Lisp ...…………………………………. 18
2.7 Тестирование программы Auto Lisp ..………………………………………… 23
Заключение …………………………………………………………………………… 25
Список используемых источников ……………………………………………….... 26
Содержание
Введение ……………………………………………………………………………… 4
1 Теоретическая часть ……………………………………………………….........
1.1 Краткий обзор языков программирования Visual Prolog и Visual Lisp ……….. 6
1.2 Описание логических возможностей языка Visual Prolog ……………………… 8
1.3 Описание функциональных
2 Практическая часть ……………………………………………………………….. 12
2.1 Постановка задачи логического программирования …………………………. 12
2.2 Описание методов решения и используемых средств языка Visual Prolog …. 12
2.3 Описание листинга программы Visual Prolog …………………………………. 14
2.4 Тестирование программы Visual Prolog…………………………………………16
2.5 Постановка задачи функционального программирования ...…………………. 17
2.6 Описание листинга программы Auto Lisp ...…………………………………. 18
2.7 Тестирование программы Auto Lisp ..………………………………………… 23
Заключение ……………………………………………………………………………
Список используемых источников ……………………………………………….... 26
Введение
Современный этап развития вычислительной техники характеризуется расширением сфер ее применения. На первый план выдвигаются задачи интеллектуализации процессов машинной обработки информации, моделирования рассуждений человека-эксперта при решении прикладных задач из различных областей человеческого знания. Кроме того, актуальным является также полное и непротиворечивое представление самих знаний.
Тенденция развития современных языков программирования показывает необходимость разработки предметно-ориентированных языков, максимально приближенных к Естественному Языку (ЕЯ). Интеллектуализация инструментального ПО немыслима без изучения различных аспектов языкового поведения человека, разработки и исследования математических моделей различных сторон языковой деятельности. В этих условиях инженер должен наряду с хорошей технической подготовкой уметь решать сложные научные задачи представления знаний о языке общения (ЕЯ) во взаимосвязи с предметными знаниями человека-эксперта, организации работы со знаниями, обучения интеллектуальных систем. Решение указанных задач немыслимо без привлечения в той или иной мере декларативного подхода в программировании, позволяющего описывать решение задачи на языке соотношений между объектами в заданной предметной области.
В средние века знание латинского и греческого языков являлось существенной частью образования любого ученого. Ученый, владеющий только одним языком, неизбежно чувствовал себя неполноценным, поскольку он был лишен той полноты восприятия, которая возникает благодаря возможности посмотреть на мир сразу с двух точек зрения. Таким же неполноценным ощущает себя сегодняшний исследователь в области искусственного интеллекта, если он не обладает основательным знакомством, как с Лиспом, так и с Прологом - с этими двумя основополагающими языками искусственного интеллекта, без знания которых невозможен более широкий взгляд на предмет исследования.
Common Lisp, имея богатейшие
выразительные возможности,
В данной курсовой работе предполагается решение следующих задач:
1 Теоретическая часть
1.1 Краткий обзор языков программирования Visual Prolog и Visual Lisp
Visual Prolog
Синтаксис Visual Prolog разработан для того, чтобы отображать знания о свойствах и взаимосвязях.
В отличие от других версий Пролога, Visual Prolog — компилятор, контролирующий типы: для каждого предиката объявляются типы объектов, которые он может использовать. Это объявление типов позволяет программам Visual Prolog быть скомпилированными непосредственно в машинные коды, при этом, скорость выполнения сравнима, а в некоторых случаях — и превышает скорости аналогичных программ на языках С и Pascal.
Обычно программа на Visual Prolog состоит из четырех основных программных разделов, к которым относятся:
Раздел clauses — это сердце Visual Prolog-программы; именно в этот раздел записываются факты и правила, которыми будет оперировать Visual Prolog, пытаясь разрешить цель программы. Все предложения для каждого конкретного предиката в разделе clauses должны располагаться вместе. Последовательность предложений, описывающих один предикат, называется процедурой.
Пытаясь разрешить цель, Visual Prolog (начиная с первого предложения раздела clauses) будет просматривать каждый факт и каждое правило, стремясь найти сопоставление. По мере продвижения вниз по разделу clauses, он устанавливает внутренний указатель на первое предложение, являющееся частью пути, ведущего к решению. Если следующее предложение не является частью этого логического пути, то Visual Prolog возвращается к установленному указателю и ищет очередное подходящее сопоставление, перемещая указатель на него (этот процесс называется поиск с возвратом).
Раздел predicates — это тот, в котором объявляются предикаты и домены (типы) их аргументов (вам не нужно объявлять предикаты, встроенные в Visual Prolog). Если в разделе clauses программы на Visual Prolog описан собственный предикат, то его необходимо объявить в разделе predicates (предикатов). В результате объявления предиката сообщается, к каким доменам (типам) принадлежат аргументы этого предиката.
Раздел domains служит для объявления
доменов, не являющихся стандартными доменами
Visual Prolog. Домены позволяют задавать
разные имена различным видам
данных, которые, в противном случае,
будут выглядеть абсолютно
В раздел goal помещается цель Visual Prolog-программы. Если все подцели в разделе goal истинны, — программа завершается успешно. Если же какая-то подцель из раздела goal ложна, то считается, что программа завершается неуспешно.
Visual Lisp
Широкие возможности системы AutoCAD позволяют использовать ее как инструмент создания автоматизированных рабочих мест для специалистов различных направлений. Система является наиболее распространенной у нас и за рубежом и постоянно развивается. Даже те, кто знаком с системой AutoCAD, не многие осознают, что AutoCAD не является конечным продуктом. Прежде всего, AutoCAD - средство создания прикладных программ. И основным, но далеко не единственным, средством создания прикладных систем в AutoCAD является язык программирования AutoLisp.
Язык AutoLisp был создан в 1962 году профессором Стенфордского университета Дж. Маккарти для решения задач искусственного интеллекта и является родоначальником функциональных языков. В настоящее время существует огромное количество версий языка. AutoLisp - это созданный специально для системы AutoCAD диалект Lisp, полученный в результате изменения языка XLISP. Все вычисления, преобразования и управления программы в функциональных языках осуществляются с помощью элементарных встроенных функций или функций, определенных пользователем при написании программ. Программа в целом является суперпозицией некоторых функций и. в свою очередь, может быть использована как функция другими программами. Язык LISP идеально подошел для системы AutoCAD, т.к. имеет удобные средства работы с глубоко структурированной информацией. При этом AutoLisp прост в изучении и весьма гибок.
1.2 Описание
логических возможностей языка
Обычно программа на Прологе не является последовательностью действий, она представляет собой набор фактов с правилами, обеспечивающими получение заключений на основе этих фактов. Поэтому Пролог известен как декларативный язык.
Пролог включает механизм вывода, который основан на сопоставлении образцов. С помощью подбора ответов на запросы он извлекает хранящуюся (известную) информацию. Пролог пытается проверить истинность гипотезы (другими словами, ответить на вопрос), запрашивая для этого информацию, о которой уже известно, что она истинна. Одной из важнейших особенностей Пролога является то, что, в дополнение к логическому поиску ответов на поставленные вопросы, он может иметь дело с альтернативами и находить все возможные решения. Вместо обычной работы от начала программы до ее конца, Пролог может возвращаться назад и просматривать более одного "пути" при решении всех составляющих задачу частей.
Логика предикатов была разработана для наиболее простого преобразования принципов логического мышления в записываемую форму. Пролог использует преимущества синтаксиса логики для разработки программного языка. В логике предикатов, прежде всего, исключаются из предложений все несущественные слова. Затем эти предложения преобразуются, устанавливая в них на первое место отношение, а после него — сгруппированные объекты. В дальнейшем объекты становятся аргументами, между которыми устанавливается это отношение.
Пролог получил практическое применение в целом ряде областей. С его помощью можно:
1.3 Описание
функциональных возможностей
Visual LISP (VLISP) – это интегрированная среда разработки программ на языке программирования AutoLISP в системе AutoCAD 14 (2000), которая значительно облегчает процесс создания программы, ее изменения, тестирования и отладки. Кроме того, Visual LISP обеспечивает эффективное использование автономных приложений Object ARX, написанных на языке AutoLISP. Visual LISP включает следующие функциональные компоненты:
2 Практическая часть
2.1 Постановка задачи логического программирования
Условие задачи. «За круглым столом».
Однажды на отдыхе за круглым столом оказались пятеро ребят родом из Москвы, Санкт-Петербурга, Новгорода, Перми и Томска: Юра, Толя, Алеша, Коля и Витя.
Информация о работе Реализация программ средствами языков Visual Prolog и Visual Lisp