Курсовая Разработка элементов систем искусственного интеллекта с ис пользованием логической модели предст
Работа добавлена на сайт bukvasha.net: 2015-10-25Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
Уфимский государственный авиационный технический университет
Кафедра АСУ
Курсовая работа
По дисциплине: «Системы искусственного интеллекта»
На тему: «Разработка элементов систем искусственного интеллекта с использованием логической модели представления знаний»
Вариант-16.
Выполнил: ст.гр АСОИ-5
Проверил: Алыпов Ю.Е.
Уфа 2010
Задание 1.
Цель - Знакомство с основами логического программирования (Prolog).
Используя предикаты parent(symbol, symbol), man(symbol), woman (symbol), married(symbol,symbol), записать факты, описывающие Вашу семью. Записать 8 правил вывода для любых родственных отношений в вашей (или вымышленной) семье (например: мать, отец, сестра, брат, племянница, племянник, тетя, дядя, внучка, внук, бабушка, дедушка, двоюродная сестра, двоюродный брат и т.д.).
1.1
Описание родственных связей.
Рис.1. Родственные связи.
1.2
Листинг программы.
1.3
Результаты работы программы.
Рис. 2. Результат работы программы для цели prograndmother(X,Y) - прабабушка.
Рис. 3. Результат работы программы для цели prof (X,Y) - прадедушка.
Рис. 4. Результат работы программы для цели Mother(X,Y) – мама.
Рис. 5. Результат работы программы для цели Uncle(X,Y) – дядя.
Рис. 6. Результат работы программы для цели dvbrat(X,Y) – двоюродный брат.
Задание 2.
Тема задания: Поиск с возвратом и рекурсия.
2.1. Задача: Поменять порядок следования букв в слове на противоположный. Для разделения строки на символы использовать стандартный предикат frontchar (String, Char, StringRest), позволяющий разделять строку String на первый символ Char и остаток строки StringRest.
2.1.1. Листинг программы.
2.1.2. Результаты работы программы.
Рис. 7. Результат работы программы для строки «Мингазов».
Рис.8. Результат работы программы для строки «Искусственный интеллект».
2.2. Задача: Написать программу, реализующую авиасправочник. В справочнике содержится следующая информация о каждом рейсе: номер рейса, пункт назначения, цена билета. Реализовать вывод всей информации из справочника, поиск пункта назначения по номеру рейса. Реализовать поиск по пункту назначения с указанием максимально возможной цены билета (должны быть выведены все рейсы, цена билета на которые ниже указанного значения). Для удобства работы реализовать меню с соответствующими пунктами.
2.2.1. Листинг программы.
2.2.2. Результаты работы программы.
Рис.10. Запрос пользователя о дальнейших действиях.
Рис. 11. Вывод всей информации рейсах.
Рис. 12. Произведен поиск пункта назначения по номеру рейса (номер рейса = 455).
Рис. 15. Поиск с параметром (цена билета не должна превышать 10 000).
Задание 3.
Тема – решение логических задач на соответствие.
Задача: На заводе работают три друга: слесарь, токарь и сварщик. Их фамилии Борисов, Иванов и Семенов. У слесаря нет ни братьев, ни сестер. Он – младший из друзей. Семенов женат на сестре Борисова, он старше токаря. Назвать фамилии слесаря, токаря и сварщика.
3.1. Листинг программы
3.2. Результат работы программы.
Рис. 13. Результат работы программы.
Ответ: Семенов занимает должность сварщика, Борисов токарь, Иванов слесарь.
Вывод: Для решения первого задания был использован поиск с возвратом, который позволяет находить все возможные варианты решения для поставленной задачи. Во втором задании в первой задаче был использован стандартный предикат frontchar (String, Char, StringRest), позволяющий разделять строку String на первый символ Char и остаток строки StringRest. Во второй задаче второго задания были использованы Списки, а так как список это рекурсивная структура данных, то использовалась рекурсия, для обработки элементов данных. В третьем задании использовался поиск с возвратом. Для использования русской раскладки клавиатуры была задействована программа KEYRUS.
Литература
1. Братко И. Программирование на языке Пролог для искусственного интеллекта. – М.: Мир, 1990. – 560 С.
2. Ин Ц., Соломон Д. Использование Турбо-Пролога. – М.: Мир, 1993. – 608 С.
3. Доорс Дж., Рейблейн А.Р., Вадера С. Пролог ‑ язык программирования будущего. – М.: ФиС, 1990. – 144 С.
4. Клоксин У., Меллиш Д. Программирование на языке Пролог. – М.: Мир, 1987. – 336 С.
5. Стобо Дж. Язык программирования Пролог. – М.: Мир, 1993. – 368 С.
6. Янсон А. Турбо-Пролог в сжатом изложении. – М.: Мир, 1991. – 94 С.