Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 13
На сайте нет зарегистрированных пользователей

Пользователей: 13,370
новичок: dogoco6
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Калькулятор на Delphi с переводом в другую систему исчисления + Блок схемы
Лабораторная работа по динамическим спискам на Turbo Pascal (удаление ду...
Программа тестирования (тест) - вступительные экзамены (математика, физи...

11.2. Более сложные проекты


Может показаться, что некоторые проекты данного раздела невозможно выполнить до конца, однако все они были реализованы на Прологе. Некоторые из них просто являются усложнениями программ, которые рассматривались ранее, а другие – совершенно новые и требуют знакомства с литературой по искусственному интеллекту или по информатике.
1. Дана карта, которая описывает дороги, соединяющие города. Написать программу планирования поездки между двумя городами, которая выдает расписание предполагаемой поездки. Данные, описывающие карту, могут включать расстояния, состояние дороги, уклон дороги, возможность заправки топливом вдоль разных дорог.
2. В существующих Пролог-системах встроенные арифметические операции предусмотрены только для целых чисел. Разработайте пакет программ, поддерживающий арифметические операции над рациональными числами, представленными в виде целой и дробной частей или в виде мантиссы и порядка.
3. Написать процедуры обращения и умножения матриц.
4. Компиляцию с языка высокого уровня на язык низкого уровня можно представить себе как последовательное преобразование синтаксических деревьев. Написать такой компилятор сначала для компиляции арифметических выражений. Затем добавить управляющие структуры (типа if - then-else). Точное соблюдение синтаксиса ассемблера в данном случае не столь существенно. Например, арифметическое выражение х +1 может быть «упрощено» до ассемблерной операции inc x , где inc определена как одноместная операция. Проблема распределения регистров может быть отложена на потом за счет предположения, что объектный код предназначен для выполнения на машине с магазинной (стековой) памятью (безадресная машина),
5. Разработать представление для сложной настольной игры, такой как шахматы или го, и разобраться в том, как возможности Пролога в части сопоставления образцов могут быть использованы при реализации стратегий для этих игр.
6. Разработать формализм для описания набора аксиом, например, из теории групп, евклидовой геометрии, денотационной семантики, и исследовать проблему создания программы доказательства теорем для этих областей.
7. Интерпретатор утверждений Пролога может быть написан на самом Прологе. Напишите интерпретатор, реализующий иные семантики выполнения Пролога, такие как более гибкий порядок выполнения (вместо жесткого слева-направо), возможно, с использованием какого-нибудь «расписания» или планировщика.
8. Ознакомиться по литературе по искусственному интеллекту с вопросом построения планов решения задач, и реализовать генератор планов.
9. Решить с помощью средств Пролога задачу интерпретации контурного рисунка в терминах некоторой лежащей в его основе сцены. Характеристики рисунка могут быть помечены переменными, представляющими соответствующие характеристики сцены. Тогда рисунок соответствует набору ограничений, которым должны удовлетворять эти переменные.
10. Написать программу, которая, используя правила грамматики, осуществляет разбор предложений вида;
Fred saw John.
Магу was seen by John.
Fred told Mary to see John.
John was believed to have been seen by Fred.
Was John believed to have told Mary to see Fred?



11. В исследованиях по искусственному интеллекту используется система специальных правил (продукций), которая представляет собой последовательность правил вида « Если ситуация, то действие». Как оказалось, в задачах искусственного интеллекта с помощью таких правил удобно описывать «экспертные знания». Например, для реальных экспертных систем, использующих такие правила, типичны следующие предложения, содержащие «экспертные знания»:
Фармакология: Если агент X есть четырехвалентная соль аммония и противоаритмическое средство, а агент Y есть салицилат, то X и Y будут реагировать, порождая повышенную абсорбцию за счет образования ионной пары.
Игра в шахматы; Если белый король может быть придвинут к черному слону и при этом расстояние от белого короля до этого слона более одной клетки, то тогда этот слон в безопасности.
Медицина: Если культура высевается из крови и граммреакция организма отрицательна и морфологически организм есть палочка, и пациент является «хозяином» организма, то имеется 60% шансов на то, что этот организм есть Pseudomonas aeruqinosa.
Напишите Пролог-программу интерпретации набора продукционных правил. Рассмотрите такие области как определение растений или животных по характерным признакам. Например, подобное правило из ботаники могло бы выглядеть так:
Если растение имеет стебель квадратного сечения, парные листья, двухгубчатые закрытые цветы, а его плод состоит из четырех маленьких орешков, заключенных в кожуру, то это растение принадлежит семейству Labiatae.
Таким образом, если программа спросит нас: «у цветка квадратный стебель?», то ответив «нет» мы тем самым исключаем возможность того, что он принадлежит семейству Labiatae.
12. Написать программу переводящую определенный класс предложений на английском языке на язык исчисления предикатов.
13. Написать программу доказательства теорем в исчислении предикатов.
14. Написать программу-«психиатр», которая выдает ответы, основанные на ключевых словах, имеющихся во вводимой информации. Эта программа напоминает ту, что рассматривалась в гл. 3, и которая заменяла ключевые слова в предложении на другие слова. Типичный диалог такой программы мог выглядеть следующим образом (ответы программы выделены курсивом):
What is your problem? На что жалуетесь?
This is too much work. Очень много работы.
What else do you regard as too much work? Что еще вы имеете в виду, говоря, что очень много работы?
Writing letters. Написание писем.
I see. Please continue.Понятно, продолжайте.
Also washing my mother's car. А также мытье машины моей матери.
Tell me more about your family. Расскажите подробнее о вашей семье.
Why should I? Зачем это?
Why should you what? Что зачем?
Здесь ключевыми словами были this is, mother и why. Недостаток подходящих ключевых слов вызывал ответ  I see. Please continue.
15. Написать программу, разбирающую предложения с сообщениями о событиях в некотором учреждении, такие как «Smith will be in his office at 3 pm for a meeting.» (Смит будет в своем учреждении в 3 часа дня для участия в собрании). Программа должна выдавать на печать «суть» предложения, сообщая кто, где и когда, следующим образом:
who: smith Кто: Смит
where: office Где: контора
when: 3 pm Когда: 3 часа дня
what: meeting Что: собрание
Эта «суть» должна быть занесена в базу данных в виде утверждений, с тем чтобы можно было получить ответ на такие вопросы:
Where is Smith at 3 pm? Где Смит в 3 часа?
where: office Где: контора
what: meeting Что: собрание
16. Написать интерфейс для общения на естественном (английском) языке с файловой системой вашей ЭВМ, чтобы можно было получать ответы на такие вопросы:
How many files David own? Сколько файлов принадлежат Дейвиду?
Does Chris share PROG.MAC with David?  Использует ли Крис файл PROG.MAC совместно с Дейвидом?
When did Bill change file Когда Билл изменил свой VIDEO.C? файл VIDEO.C?
Программа должна уметь опрашивать различные характеристики файловой системы, такие как принадлежность файлов и даты.
Опубликовал Kest July 10 2009 08:36:42 · 0 Комментариев · 7565 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Flud Vkontakte.ru
Дарахвелидзе П., ...
JBlabel3D
INSTANT BOOSTER v...
Создание оригинал...
Иллюстрированный ...
PHP 5 для "чайников"
XPButtons
Dbgridpack
AJAX и PHP. разра...
Mass Photo Upload
Win-Prolog 3.618
WinAmp
IconCut [Исходник...
PHP 5
Усложнённый кальк...
Панель Календарь
DateEdit
C++ : библиотека ...
Работа с матрицами

Топ загрузок
Приложение Клие... 100774
Delphi 7 Enterp... 97836
Converter AMR<-... 20268
GPSS World Stud... 17014
Borland C++Buil... 14191
Borland Delphi ... 10291
Turbo Pascal fo... 7374
Калькулятор [Ис... 5984
Visual Studio 2... 5207
Microsoft SQL S... 3661
Случайные статьи
Элементы управлени...
Планирование глоба...
Операция VOP_LOOKUP
DsAuthors. Компьют...
Сотрудник службы б...
Мобильное приложен...
Настройка окон раб...
Бесплатный игровой...
Подключенные и лок...
Настройка приставк...
Доверяй, но проверяй
Ввод-вывод: заголо...
Блок PRIORITY
Проиложение А. Эво...
Порождение класса ...
Hello World на tur...
14.3. Очереди с пр...
put(X)
Оболочка Каруби
4.3.2. Комбинаци...
Gamepark 32 (GP32)
Как определить раз...
Все типы в С++ дел...
Терминальные устро...
Тестирование, поис...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?