Referat.me

Название: Экспертная система. Анализ передачи телеметрических данных со спутника

Вид работы: курсовая работа

Рубрика: Информатика и программирование

Размер файла: 372.35 Kb

Скачать файл: referat.me-136579.docx

Краткое описание работы: Роль экспертных систем в бухгалтерском учете и банковском деле. Применение механизма автоматического рассуждения и эвристического поиска решения. Идентификация и ликвидация неполадок в локомотивах, анализ передачи телеметрических данных со спутника.

Экспертная система. Анализ передачи телеметрических данных со спутника

Введение

экспертный эвристический телеметрический спутник

Одним из направлений в области искусственного интеллекта стали экспертные системы, куда входят и системы принятия решений, о которых и пойдет речь в данной статье. "Экспертная система - это компьютерная программа, созданная для выполнения тех видов деятельности, которые под силу только человеку-эксперту, например проектирования, планирования, постановки диагноза, перевода, реферирования, ревизии, выдачи рекомендаций"Марселлус Д. Другим аргументом в пользу экспертных систем является то, что при проведении реинжиниринга (реорганизации) любого предприятия такие системы экономически необходимы, так как они позволяют сократить штат сотрудников, сэкономить время, снизить уровень бюрократии и бумажной волокиты. К тому же большое преимущество экспертных систем заключается в том, что данные, а также правила их вывода, касающиеся той или иной предметной области, хранятся в памяти компьютера и в большинстве своем непредвзяты, застрахованы от чьего-либо влияния, их нельзя потерять или "забыть". Экспертные системы и их элементы в настоящее время эффективно используются в бухгалтерском учете, банковском деле и т.д. Отличительной чертой компьютерных программ экспертных систем является их способность накапливать, модифицировать и использовать знания и опыт наиболее квалифицированных специалистов в какой-либо предметной области для решения практических задач. Экспертные системы используют механизмы автоматического рассуждения (вывода) и так называемые "слабые" методы искусственного интеллекта такие, как эвристический поиск решения.

К числу областей, в которых применяются экспертные системы, относятся следующие:

· Идентификация и ликвидация неполадок в локомотивах;

· Анализ передачи телеметрических данных со спутника


Экспертная система. Анализ передачи телеметрических данных со спутника

В данном курсовом проекте анализируются сигналы полученные со спутника. Проявление их влечет за собой типы сигналов. Можно выделить возможные:

1. Ветер

2. Воздушные массы

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

База знаний представлена в виде записей двух типов – это 1) записи, хранящие типы сигналови 2) записи, характеризующие расшифровку База симптомов представлена в виде полей, имеющих свой номер и название симптома:

signalip(Номер_сигнала, Номер_описания, Название)

Номер является уникальным идентификатором сигнала и база знаний не может иметь двух сигналов с одинаковыми номерами.

Номер_описания хранит ссылку на номер сигнала, которая могла вызвать данный эффект.

Название представляет собой поле, которое содержит текст самого сигнала.

База типов сигнала представляет собой предикат типа:

decodip(Номер_типа сигнала, Название, Метод_расшифровки)


Поля Номер и Название имеют тот же смысл, что и для симптома, а – Метод_расшифровки это указание пользователю, как можно выявить нужную информацию.

Фрагмент базы данных, используемой данной экспертной системой, представлен ниже:

Разработка процедур

Главная процедура Main

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

Процедура вывода информации о программе Zastavka

Очищая первое окно, эта процедура выводит на экран заставку программы в виде титульного листа данного курсового проекта.


Процедура главного меню Start

Эта процедура выводит на экран список следующих режимов, каждый из которых реализован с помощью отдельной процедуры. Меню представляет собой окно, в котором обозначены пункты. Чтобы зайти в нужный пункт, нужно поставить курсор на надпись и нажать Enter. После этого происходит выполнение вспомогательной процедуры Select(Ch), где Ch – целочисленная переменная, которая определяется положением курсора в окне меню. Выбирая один из пунктов меню, пользователь вызывает соответствующую ему процедуру:

Процедуры загрузки и сохранения БД LoadBDFile и SaveBD

Загрузка и сохранение БД осуществляются через стандартные процедуры для работы с БД: consult и save. Доступ к файлам на диске производится через предикат dir, возвращающий в качестве параметра имя файла и путь к нему.

Процедура анализа Diagnostic


Производит проверку наличия признаков и описаний в базе данных. Затем с помощью вспомогательной процедуры ResearchNode открывается диалог между пользователем и экспертной системой. Параллельно с помощью процедуры KeySelect на основе ответов пользователя формируется специальный код неисправности с помощью которого производится поиск описания в БД. С помощью предиката FaultFound выводится сообщение о нахождении неисправностей и рекомендации по ее устранению.

Процедура меню правки EditBD

Выводит на экран подменю правки БД. Выбирая один из пунктов меню, пользователь вызывает соответствующую ему процедуру:

Здесь также используются процедуры добавления признаков и описаний AddFault и AddRepair, процедуры просмотра признаков и описаний ShowFault и ShowRepair, процедуры удаления признаков и описаний DeleteFault и DeleteRepair и процедура выхода из программы ExitProg.


Заключение

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

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

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


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

1) Емельянов В.А., Емельянов Б.В. курсовое проектирование: разработка экспертных систем и систем принятия решений. Чебоксары: Чувашский университет, 2006.

2) Л. Стерлинг, Э. Шапиро "Искусство программирования на языке Пролог",1999

3) Бабаев И.О., Герасимов М.А. интеллектуальное программирование. Санкт-Петербург: СПбГУ, 1992.

4) Янсон А. "Турбо-Пролог в сжатом изложении", 2000

5) Соломин Н., Ин Д. Использование Турбо-Пролога. М.: Мир, 1993.

6) Логическое программирование. - М.: Знание, 1988. (Новое в жизни, науке, технике. Сер."Вычислительная техника и ее применение"; N9))


Приложение

Текстпрограммы:

code=3000

include "tdoms.pro"

include "tpreds.pro"

include "menu2.pro"

domains

IDType=integer

TTitle=string

Int=integer

Str=string

predicates

Main

ExitProg

Start

CreateTitle

Zastavka

Select(Int)

Diagnostic

LoadBDFile

EditBD

ResearchNode(IDType)

KeySelect(Char,IDType)

FaultFound(IDType)

EditSelect(Char)

AddFault

ShowFaults

DeleteFault

AddRepair

Showrepairs

DeleteRepair

ShowFault(IDType,Int)

ShowRepair(IDType,Int)

SaveBD

LoadBD(Str)

UnloadBD

ErrorExitProg(String)

database - FaultBD

signalip (IDType,IDType,TTitle)

decodip(IDType,TTitle,TTitle)

goal

Main.

clauses

/*Вывод информации о программе*/

Zastavka:-

makewindow(1,10,31,"",0,0,25,80),

nl,nl,nl,

write(" Курсовая работа: Экспертная система "),nl,nl,

write(" Тема: Анализ передачи телеметрических данных со спутника "),nl,

nl,nl,nl,nl,nl,nl,nl,

write(" Студент: АфанасьевВ.А."),nl,

write(" Руководитель: Пичугин В.Н."),nl,

write(" ГрупаАФТ 61-04"),nl,

write(" АФЧГУ"),nl,

nl,nl,nl,nl,nl,nl,

write(""),nl,nl,

readchar(_),removewindow(1,1).

/*Созданиезаголовка*/

CreateTitle:-

makewindow(1,10,0,"",0,0,25,80),

attribute(113),

write("Анализ передачи телеметрических данных со спутника").

LoadBD(FileName):-

consult(FileName,FaultBD),!,

write(" (База данных загружена- )").

LoadBD(_):-

ErrorExitProg("Ошибка загрузки базы данных").

UnloadBD:-

retractall(_,FaultBD).

/*Вызов главного меню*/

Start:-

menu(5,24,90,95,["Анализ","Загрузка БД", "Сохранение БД", "Редактирование БД", "О программе","Выход"],"Основное меню программы",0,Ch),

Select(Ch),fail.

Start:-

Start.

/*Выбор пункта меню*/

Select(Ch):-

Ch=0,ExitProg;

Ch=1,Diagnostic;

Ch=2,LoadBDFile;

Ch=3,SaveBD;

Ch=4,EditBD;

Ch=5,Zastavka;

CH=6,ExitProg.

/*Диагностика*/

Diagnostic:-

makewindow(20,90,90,"Описание:",1,0,6,80,1,2," "),

makewindow(21,90,95,"Анализ:",7,0,14,80,1,2," "),

makewindow(22,90,90,"Видысигналов",21,0,4,80,1,2," "),

signalip(FirstID,_,_),!,

ResearchNode(FirstID),

removewindow(22,1),

removewindow(21,1),

removewindow(20,1).

Diagnostic:-

removewindow(22,1),

removewindow(21,1),

removewindow(20,1).

/*Диалог с пользователем о наличии признаков*/

ResearchNode(NodeID):-

signalip(NodeId,RepID,Title),!,

decodip(RepID,RepStr,_),!,

shiftwindow(20),clearwindow,

attribute(OldAttr),attribute(90),

write(" ",Title,":"),nl,

attribute(OldAttr),

write(" ",RepStr),

shiftwindow(21),%clearwindow,

write("присутствует ли в сводке сигнал ",Title),nl,

attribute(OldAttr),attribute(95),

write("Нажмите Enter-да, Esc-нет ... "),

attribute(OldAttr),

readchar(Key),

KeySelect(Key,NodeID).

/*Поискописания*/

KeySelect(Key,NodeID):-

Key=0,readchar(NewKey);

Key=27,shiftwindow(21),write("-?в"),nl,nl,

ParentID=NodeID div 100,

signalip(NewNode,_,_),

ParentID=NewNode div 100,NewNode > NodeID,!,

ResearchNode(NewNode);

Key=13,shiftwindow(21),write("да"),nl,nl,

signalip(NewNode,_,Title),

shiftwindow(22),write(Title,"; "),

NodeID=NewNode div 100,!,

ResearchNode(NewNode);

Key=13,FaultFound(NodeID).

/*Обнаружение*/

FaultFound(NodeID):-

makewindow(23,31,26,"Сигналрасшифрован",5,10,9,60,1,2," "),nl,

signalip(NodeID,RepID,Title),

decodip(RepID,_,RepText),!,

attribute(OldAttr),attribute(30),

write("Сигнал: "),attribute(OldAttr),write(Title),nl,

attribute(30),

write("Расшифровка: "),attribute(OldAttr),write(RepText),nl,

readchar(_),

removewindow(23,1).

/*СохранениеБД*/

SaveBD:-

makewindow(10,90,91,"СохранениеБД",5,10,10,60,1,2," "),

write("nn Введитеимяфайла:"),

readln(Filename),

save(FileName,FaultBD),

removewindow(31,1).

/*ЗагрузкаБД*/

LoadBDFile:-

makewindow(10,90,91,"",5,10,10,60,1,2," "),

dir("","*.*",FileName),

LoadBD(FileName),

fail.

LoadBDFile:-

removewindow(30,1).

/*Создание меню справки*/

EditBD:-

menu(5,24,90,95,["Добавление сигнала","Типы сигнала","Просмотр сигналов","Просмотр типа сигнала","Удаление сигнала","Удаление типа сигнала","Назад"],"Редактирование базы данных",0,Ch),

EditSelect(Ch).

/*Выборпунктаменю*/

EditSelect(Ch):-

Ch=0;

Ch=7;

Ch=1,AddFault;

Ch=3,ShowFaults;

Ch=5,DeleteFault;

Ch=2,AddRepair;

Ch=4,ShowRepairs;

Ch=6,DeleteRepair.

/*Добавлениесигнала*/

AddFault:-

makewindow(40,90,95,"Добавление сигнала",4,5,14,70,1,2," "),

write("сигналы в БД хранятся в виде:n signalip(Номер_сигнала, Номер_описания, Название)"),nl,

write("Номер сигнала - номер предсигналаn"),

write("Номер_типа сигнала - номер записи типа сигнала n"),

write("Название - краткое описание сигналаn "),

attribute(OldAttr),attribute(95),

write("Новыйсигналn"),

write("Номер_сигнала:"),readint(NewID),

write("Номер_типасигнала:"),readint(NewRep),

write("Название:"),readln(NewTitle),

attribute(OldAttr),

assertz(signalip(NewID,NewRep,NewTitle),FaultBD),

write("Записьдобавлена- "),readchar(_),

removewindow(40,1).

AddFault:-

removewindow(40,1).

/*Вызовпросмотрасигналов*/

ShowFaults:-

makewindow(40,90,95,"Просмотрсигналов:",1,0,24,80,1,2," "),

ShowFault(0,0),!,

removewindow(40,1).

/*Просмотрсигналов*/

ShowFault(_,_):-

signalip(NewID,RepID,Title),

write(" ",NewID,"t|",RepID,"t|",Title),nl,

fail.

ShowFault(_,_):-

attribute(OldAttr),attribute(95),

write("Просмотр закончен. Нажмите любую клавишу"),readchar(_),

attribute(OldAttr).

/*Удалениесигнала*/

DeleteFault:-

makewindow(40,90,95,"Удалениесигнала:",4,5,14,70,1,2," "),

write("Введитеномерудаляемогосигнала:"),readint(DelID),

signalip(DelID,_,_),!,

retractall(signalip(DelID,_,_),FaultBD),!,

attribute(OldAttr),attribute(95),

write("Записьудалена"),readchar(_),

attribute(OldAttr),

removewindow(40,1).

/*Добавлениетипасигнала*/

AddRepair:-

makewindow(40,90,95,"Добавлениетипаасигнала",4,5,14,70,1,2,""),

write("ТипасигналавБДхранятсяввиде:n decodip(Номер_типасигнала, Название, Метод_расшифровки)"),nl,

write("Номер_типа сигнала - Номер записи типа сигналаn"),

write("Название - краткое описание данных расшифровкиn"),

write("Метод_расшифровки - метод расшифровки данныхn"),

attribute(OldAttr),attribute(95),

write("Новоеописаниеn"),

write("Номер_типасигнала:"),readint(NewID),

write("Название:"),readln(NewDescr),

write("Метод_расшифровки:"),readln(NewAdvice),

attribute(OldAttr),

assertz(decodip(NewID,NewDescr,NewAdvice),FaultBD),

write("Записьдобавлена"),readchar(_),

removewindow(40,1).

AddRepair:-

removewindow(40,1).

/*Просмотрописаний*/

Showrepairs:-

makewindow(40,90,95,"Просмотрописаний:",1,0,24,80,1,2," "),

ShowRepair(0,0),!,

removewindow(40,1).

ShowRepair(_,_):-

decodip(NewID,Descr,Advice),

write(" ",NewID,"t|",Descr,"t|",Advice),nl,fail.

ShowRepair(_,_):-

attribute(OldAttr),attribute(30),

write("Нажмителюбуюклавишу"),readchar(_),

attribute(OldAttr).

/*Удалениетипасигнала*/

DeleteRepair:-

makewindow(40,90,95,"Удалениетипасигнала",4,5,14,70,1,2," "),

write("Введитеномерудаляемоготипасигнала:"),readint(DelID),

decodip(DelID,_,_),!,

retractall(decodip(DelID,_,_),FaultBD),!,

attribute(OldAttr),attribute(30),

write("Записьудалена"),readchar(_),

attribute(OldAttr),

removewindow(40,1).

/*Созданиеокнаошибок*/

ErrorExitProg(Msg):-

ExitProg.

/*Выход из программы*/

ExitProg:-

UnLoadBD,

exit(0).

/*Главная функция Main*/

Main:-

Zastavka,

CreateTitle,

LoadBD("valekbd.dat"),

Start,

ExitProg.

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

Загрузка БД:

Добавление:

Анализ:

Сохранение БД:

Похожие работы

  • Бухгалтерский учет и его задачи. Принципы бухгалтерского учета и финансовой отчетности. Финансовая отчетность

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

  • АРМ специалиста

    1С:Предприятие является универсальной системой автоматизации деятельности предприятия. За счёт своей универсальности система 1С:Предприятие может быть использована для автоматизации самых разных участков экономической деятельности предприятия: учёта товарных и материальных средств, взаиморасчётов с контрагентами, расчёта заработной платы, расчёта амортизации основных средств, бухгалтерского учёта и т. д.

  • Одноранговая локальная сеть и сеть с выделенным сервером. Экспертная система

    Понятие одноранговой локальной сети и сети с выделенным сервером. Сущность технологий обработки информации "файл-сервер" и "клиент-сервер". Экспертная система, ее базовая структура, особенности и применение. Технология разработки программного обеспечения.

  • Звездный шкипер

    Глобальная система позиционирования. Типы устройств с GPS-ресиверами. Навигационные карты.

  • Информационные системы будущего

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

  • Обзор Подготовка IT-специалистов в России

    Московский Государственный Университет им. М.В.Ломоносова Реферат на тему «Подготовка ИТ-специалистов в России» Выполнила: Виноградова Е.В. (403)

  • Ликвидация вертикальных конфликтов межсоединений в канале перед трассировкой

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

  • Разработка программы в помощь медикам в постановке диагноза

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

  • Экспертные системы и их использование

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

  • Методика и алгоритмы контроля работоспособности и диагностики сейсмометрических каналов

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