Экспертная система железнодорожных рассписаний

Автор: Пользователь скрыл имя, 24 Октября 2012 в 14:41, курсовая работа

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

Данная курсовая работа разработана в соответствии с требованиями курсового проектирования.

В данной курсовой работе проведено исследование предметной области, определены цели создания системы и ее назначение, описана программа и разработано руководство оператору.

Содержание

Введение………………………………………………………………………….......4
Исследование предметной области ...............................................................5

1.1. Характеристика железнодорожного транспорта…………………………5

1.2. История железных дорог России.....................................................................6

1.3.Информационно–справочная система по пассажирским железнодорожным перевозкам...................................................................9

1.4. Понятие об информационно-справочных системах и их программная

реализация................................................................................................11

1.5. Базы данных и способы их представления..................................................12

2. Логическое программирование.......................................................................14

2.1. Пролог………………………………………………………………………14

2.2. Базовые понятия и термины Пролога.....................................................15

2.3. Структура программы на ТП...................................................................19

2.4. Пролог-программа ................................................................................23

3. Техническое задание .......................................................................................25

3.1. Общие сведения……………………………………………………………..25

3.2. Назначение и цели создания системы…………………………………….25

3.3. Требование к системе………………………………………………………25

4. Описание программы………… …………….....................................................26

4.1. Общие сведения……………………………………………………………..26

4.2. Функциональное назначение………………………………………………26

4.4. Входные данные…………………………………………………………….26

4.5. Выходные данные…………………………………………………………..26

5. Руководство оператора......................................................................................27

5.1. Назначение программы……………………………………………………27

5.2. Выполнение программы…………………………………………………...27

5.3. Сообщения оператору……………………………………………………..27

5.4. Порядок выполнения вызова программы......................................................30

5.5. Обращение к программе.................................................................................30

5.6. Пример работы программы……………………………………………….30

Заключение...……………………………………………………...........................31

Список литературы……………………………………………….........................32

Приложения

Приложение 1. Листинг программы ………...…………………...........................33

Работа содержит 1 файл

Экспертные (1).doc

— 282.00 Кб (Скачать)
  • расписание движения поездов дальнего следования (время в пути, отправления, прибытия);
  • правила проезда в поездах дальнего следования, права и обязанности пассажиров и обслуживающего персонала, услуги в поездах;
  • наличие свободных мест в поездах дальнего следования;
  • стоимость проезда всех категорий пассажиров в поездах дальнего следования всех категорий;
  • стоимость билетов и абонементов по пригородному движению;
  • маршрут проезда поездами дальнего следования и сведения о станциях пересадок;
  • правила и стоимость провоза ручной клади, багажа и грузобагажа;
  • сведения о прибытии, отправлении, фактическом движении (опоздании) поездов дальнего следования; сведения об отмене и назначении пассажирских поездов дальнего следования об услугах, предоставляемых железнодорожное агентство (ЖА) и вокзалами;
  • о правилах возврата билетов.

Система также предоставляет информацию о движении 3331 пригородного поезда, в том числе:

  • о поездах, курсирующих между двумя станциями в определенный период времени;
  • о времени отправления со станции начала поездки;
  • о прибытии поезда на интересующую станцию;
  • о времени в пути; о пунктах пересадки;
  • сведения об отмене и назначении пригородных поездов;
  • о поездах, курсирующих от станции пересадки до станции назначения.

В новой информационно-справочной системе реализовано несколько способов доступа конечных пользователей к информации, в том числе:

  • по телефону через справочное бюро, операторы которого включены в корпоративную информационно-вычислительную сеть (КИВС) дороги;

  • через любой персональный компьютер, включенный в КИВС дороги при наличии разрешения на доступ;

  • через информационные киоски, установленные на вокзалах и других местах;

  • через плазменные панели;

  • через Internet.

Внешний интерфейс ИСС разработан в современном WEB-ориентированном виде. Выходные формы, получаемые по запросам, представляют собой таблицы. При построении пользовательского диалога учитываются уточняющие вопросы пассажира. Технически общение пользователя с системой осуществляется с использованием сенсорного монитора. ИСС необходимы для населения в связи с тем, что они:

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

1.4. Понятие об информационно-справочных системах и их программная реализация

Информационно-справочные системы – это программы-оболочки, служащие для управления массивами и  базами  данных.  В век  всеобщей компьютеризации информационно-справочные системы значительно облегчают труд человека во всех отраслях народного хозяйства. Значительно упростилась  работа справочных служб авиакомпаний после создания в аэропортах компьютерных баз данных рейсов самолетов. Области применения информационно-справочных систем безграничны: это ведение статистики удоя скота на ферме, составление каталогов книг в библиотеках и произведений искусства в музеях,  сбор данных о наличии рабочих вакансий в данном регионе и многие другие. 

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

Информационно-справочные системы предназначены для управления различными информационными и справочными массивами, в число которых входят и базы данных. Эти системы организовывают определенный интерфейс пользователя с функциями обработки информации самой системы. Набор возможностей таких систем обычно включает в себя коррекцию структуры используемого объекта (инкапсулирующего информацию), работа с его составляющими – дополнение, редактирование, удаление (в случае, когда роль такого объекта выполняет база данных, это – записи), простой просмотр, поиск элементов. Также необходимо обеспечить для такой системы и функции постоянного надежного хранения – в простейшем случае, это – запись базы из памяти в файл на диске и считывание его с диска в память. 
Программная реализация мало отличается от подобной концепции, но конкретизирует абстрактные операции в конкретные процедуры и функции (или же объекты) и зависит полностью от возможностей языка и поставленной задачи.

 

1.5. Базы данных и способы их представления

База данных в простейшем случае – упорядоченная структура  данных в  виде  таблицы, имеющей определенный идентификатор (имя), каждая  запись которой может объединять разнотипные данные,  причем все записи одной базы имеют одинаковую структуру. Каждая таблица состоит из n-го количества записей (величина n зависит от возможностей конкретной системы), каждая из которых имеет одну и ту же структуру (в рамках одной таблицы) и может объединять в себе несколько разнородных объектов (их количество также зависит целиком и полностью от возможностей системы). 
Работа с базой данных предполагает в себе возможность работать с записями (либо изменять структуру таблиц).

В языке программирования Пролог база данных описывается в отдельном разделе, именуемом database. Таких разделов может быть несколько в одной программе и каждый из них, если они действительно представляют собой разные БД, должны иметь разные имена. В случае отсутствия имени у базы данных, ей дается имя по умолчанию – dbasedom.

Работу с загружаемыми базами данных в Прологе реализуют следующие стандартные предикаты: assert – добавить запись в БД, retract – удалить  указанную запись, save – сохранить указанную БД в файле, consult – загрузить  БД из файла в память. Существуют три модели представления баз данных: иерархическая, сетевая и реляционная. В силу особенностей языка Пролог, с его помощью реализуется  реляционная модель.  Каждая строка в базе данных называется элементом отношения,  каждая колонка – атрибутом отношения,  количество колонок арностью,  а количество строк - мощностью. В языке программирования Пролог атрибуту отношения соответствует аргумент  предиката, арности – количество аргументов в предикате, отношению – предикат, элементу – факт, и мощности – число фактов.

Исходя из  выше перечисленных соответствий Пролог был выбран для реализации работы.

 

 

  1. Логическое программирование

 

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

1. Все они используют символьное представление информации и символьные вычисления в широком смысле, включая не только операции обработки цепочки символов, но и достаточно сложные структуры вроде графов. Такого рода работа обеспечивается следующими средствами Пролога:

  • сопоставлением с образцом, позволяющим идентифицировать элементы структуры с определенными (синтаксическими) свойствами;
  • рекурсией, позволяющей лаконично описывать операции на структурах в терминах операций на подструктурах;
  • синтаксисом, позволяющим описывать структуры данных в удобной форме выражений.

2. Это задачи, в которых требуется некоторый вид поиска.  Пролог идеально подходит для создания баз данных и баз знаний, а также экспертных систем, основанных на базах знаний.

2.1. Пролог

Пролог (РROLOG, PROgramming in LOGic - программирование в терминах логики) -  один из наиболее широко используемых языков логического программирования.

Пролог может быть использован в различных приложениях, относящихся к искусственному интеллекту:

         – общение с ЭВМ на естественном языке;

         – символьные вычисления;

         – написание компиляторов;

         – базы данных;

         – экспертные системы и т.д.

 

2.2. Базовые понятия и термины Пролога

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

Любой класс объектов определяется набором составляющих его подъобъектов и структурой. Элементарные классы объектов не имеют структуры и описываются одним из встроенных типов данных, которые называются еще встроенными доменами.

  1. Домен - имя простого или составного терма, которое, в свою очередь, может замещать этот терм в определении другого сложного терма.

domains

...............................

dom1=functor1(integer,string)

dom2=functor2(symbol,real,dom1)

...............................

Конкретный экземпляр элементарного класса называется атомом. Это - числовые, символьные и строчные константы.

  1. Термы - объекты данных в Прологе. Терм может быть константой, переменной или составным термом (структурой). Константами являются целые и действительные числа, например:

0, -l, 123.4, 0.23E-5,

К константам относятся также атомы, такие, как:

голди, а, атом, +, :, 'Фред Блогс', [ ]

  1. Атом - любая последовательность символов, заключенная в одинарные кавычки. Кавычки опускаются, если и без них атом можно отличить от символов, используемых для обозначения переменных. Приведем еще несколько примеров атомов:

abcd, фред, ':', Джо

Допустимы случаи, когда атом не содержит ни одного символа (так называемый 'нулевой атом') или содержит непечатаемые символы.

Как и в других языках программирования, константы обозначают конкретные элементарные объекты, а все другие типы данных в Прологе составлены из сочетаний констант и переменных. Имена переменных начинаются с заглавных букв или с символа подчеркивания "_". Примеры переменных:

X, Переменная, _3, _переменная

Если переменная используется только один раз, необязательно называть ее. Она может быть записана как анонимная переменная, состоящая из одного символа подчеркивания "_". Переменные, подобно атомам, являются элементарными объектами языка Пролог.

Завершает список синтаксических единиц сложный терм, или структура. Все, что не может быть отнесено к переменной или константе, называется сложным термом. Следовательно, сложный терм состоит из констант и переменных. Теперь перейдем к более детальному описанию термов.

  1. Константы в Прологе константа может быть атомом или числом.
  2. Числа - большинство реализации Пролога поддерживают целые и действительные числа. Для того чтобы выяснить, каковы диапазоны и точность, чисел следует обратиться к руководству по конкретной реализации.
  3. Переменная - понятие переменной в Прологе отличается от принятого во многих языках программирования. Переменная не рассматривается как выделенный участок памяти. Она служит для обозначения объекта, на который нельзя сослаться по имени. Переменную можно считать локальным именем для некоторого объекта.

Синтаксис переменной довольно прост. Она должна начинаться с прописной буквы или символа подчеркивания и содержать только символы букв, цифр и подчеркивания.

Переменная, состоящая только из символа подчеркивания, называется анонимной и используется в том случае, если имя переменной несущественно.

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

Информация о работе Экспертная система железнодорожных рассписаний