Разработка элементов систем искусственного интеллекта с ис­пользованием логической модели представления знаний

Автор работы: Пользователь скрыл имя, 08 Февраля 2011 в 23:37, курсовая работа

Описание работы

Цель - Знакомство с основами логического программирования (Prolog).


Используя предикаты parent(symbol, symbol), man(symbol), woman (symbol), married(symbol,symbol), записать факты, описывающие Вашу семью. Записать 8 правил вывода для любых родственных отношений в вашей (или вымышленной) семье (например: мать, отец, сестра, брат, племянница, племянник, тетя, дядя, внучка, внук, бабушка, дедушка, двоюродная сестра, двоюродный брат и т.д.).

Файлы: 1 файл

КР СИИ вариант (16 вариант).doc

— 266.00 Кб (Скачать файл)

Уфимский  государственный авиационный технический  университет 
 
 

Кафедра АСУ 
 
 
 
 
 
 

Курсовая  работа 

По дисциплине: «Системы искусственного интеллекта»

На тему: «Разработка элементов систем искусственного интеллекта с использованием логической модели представления знаний»

Вариант-16.  
 
 
 
 
 
 

                                                                                    Выполнил: ст.гр АСОИ-5

 

                                                                           Проверил: Алыпов Ю.Е.

  
 
 
 
 
 

                                                                                     
 
 
 
 
 

Уфа 2010

  Задание 1. 

    Цель - Знакомство с основами логического программирования (Prolog).  

         Используя предикаты parent(symbol, symbol), man(symbol), woman (symbol), married(symbol,symbol), записать факты, описывающие Вашу семью. Записать 8 правил вывода для любых родственных отношений в вашей (или вымышленной) семье (например: мать, отец, сестра, брат, племянница, племянник, тетя, дядя, внучка, внук, бабушка, дедушка, двоюродная сестра, двоюродный брат и т.д.).  

    1. Описание  родственных связей.

 
 
 

 
 

 
 
 

 
 
 

 
 

Рис.1. Родственные связи. 
 
 

    1. Листинг программы.

 

    1. Результаты  работы программы.
 

 

Рис. 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 С.

Информация о работе Разработка элементов систем искусственного интеллекта с ис­пользованием логической модели представления знаний