Разработка алгоритма работы и реализация интеллектуальной информационной системы

Федеральное агентство по образованию

























ПОЯСНИТЕЛЬНАЯ ЗАПИСКА к курсовому проекту

по курсу «Интеллектуальные информационные системы»

Тема: «Разработка алгоритма работы и реализация интеллектуальной информационной системы»





















Екатеринбург

2007г


Содержание



Введение

Постановка задачи

Сравнение алгоритмов

Описание алгоритмов

Перспективы развития алгоритма

Заключение


Введение



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

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

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

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

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


Постановка задачи



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

В местном представительстве компании «ISIT» имеется ЛВС, в которую связано определенное количество серверов, рабочих станций, при этом известно их состояние работоспособности, выраженное в процентном соотношении. Каждая единица техники требует определенных усилий от администратора для поддержания своей работоспособности (коэффициент надежности). Администратор должен постоянно поддерживать необходимый уровень надежности (т.е. отсутствия сбоев в работе), например, равный 95%. При этом он хочет знать, сколько времени в неделю ему потребуется проводить в офисе компании для выполнения функций технической поддержки (с учетом экстренных выездов) для обеспечения заданного показателя надежности.

Разработать алгоритм, позволяющий оценить время (в неделю), необходимое для осуществления функций технической поддержки в произвольной компании. Разработать ИИС, которая позволит администратору ориентировочно оценивать степень его загруженности.

Исходными параметрами данной задачи будут являться:

количество серверов;

количество рабочих станций;

состояние работоспособности серверов;

состояние работоспособности рабочих станций;

коэффициент надежности (критичности) каждой единицы техники;

необходимый (требуемый) уровень надежности.

В результате мы должны получить:

время, в неделю, необходимое для обслуживания ЛВС.

В местном представительстве компании «ISIT» имеется ЛВС, в которую связано определенное количество серверов, рабочих станций, присоединенная техника (например, принтера, сканеры и т.п.). Каждая единица техники требует определенных усилий от администратора для поддержания своей работоспособности. Администратор должен постоянно поддерживать необходимый уровень надежности (т.е. отсутствия сбоев в работе), например, равный 95%. При этом он хочет знать: сколько времени в неделю ему потребуется проводить в офисе компании для выполнения функций технической поддержки (с учетом экстренных выездов) для обеспечения заданного показателя надежности, необходимое количество системных администраторов. Также учитывается квалифицированность администратора.

Разработать алгоритм, позволяющий оценить время (в неделю), необходимое для осуществления функций технической поддержки в произвольной компании. Разработать ИИС, которая позволит администратору ориентировочно оценивать степень его загруженности в процентах.

Исходными параметрами данной задачи будут являться:

уровень надежности R (число, находящееся в диапазоне от 0 до 1);

количество серверов;

количество рабочих станций;

количество присоединенной техники;

количество единиц активного оборудования;

квалификация пользователей.

В результате мы должны получить:

время, в неделю, необходимое для обслуживания ЛВС; 

необходимое количество системных администраторов;

загруженность одного системного администратора выраженная в процентах.

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



Сравнение алгоритмов



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

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

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

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

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



Описание алгоритмов



Разработка алгоритма включает в себя его описание, в котором мы рассмотрим структурную схему с текстовыми пояснениями.

Начнем описание алгоритма со второй представленной нами формулировки задачи. Особенностью в данной задаче является учет квалификации пользователей с данными показателями: при низкой квалификации пользователей К=0,9, при средней – К=0,6, при высокой – К=0,3. Также в итоге мы получаем не только время в неделю, необходимое для обслуживания ЛВС, но и загруженность одного системного администратора, выраженную в процентах. На рисунке 1 представлена структурная схема:




Ввод необходимого уровня надежности

Количество серверов

Низкий уровень квалификации

Время в неделю, требуемое для обслуживания на необходимом уровне надежности

Количество активного оборудования

Уровень квалификации пользователя

Необходимое количество администраторов

Количество принтеров

Количество рабочих станций



Высокий уровень квалификации

Средний уровень квалификации

Загруженность одного администратора

Рисунок 1 - Структурная схема второй формулировки



где 	 - это дополнительный коэффициент для каждого типа единиц техники, который мы принимаем на основании опытных данных - для обслуживания одного сервера администратору необходимо затратить в неделю 2 часа, одной рабочей станции – 1 час, одного принтера – 0,5 часа, одной единицы активного оборудования – 0,5 часа.

Ввод необходимого уровня надежности находится в числовом диапазоне, который ограничен от 0% до 100%. Количество серверов, рабочих станций и принтеров вводится произвольным целым числом, после получаем количество единиц активного оборудования. Уровень квалификации указывается в зависимости от самооценки пользователя своего уровня квалификации, выше приведены примерные значения коэффициента каждого уровня. В результате:

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



,



где

nc, nр.ст., nпр, nакт.об – количество серверов, рабочих станций, принтеров, единиц активного оборудования;

Р – необходимый уровень надежности;

k – коэффициент уровня квалификации пользователя.

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



,



где

N – количество системных администраторов;

t – время необходимое для осуществления технической поддержки ЛВС;

40 – количество рабочих часов в неделю, допустимое по Трудовому кодексу;

0,5 – коэффициент, необходимый для корректного округления результата.

чтобы подсчитать степень загруженности системного администратора, получаем формулу


,



где

L – степень загруженности системного администратора;

t, N, 40– смотри выше пояснения. 

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

При вводе количества какого-либо вида единиц техники, предлагается указать состояние работоспособности каждой единицы. Под состоянием работоспособности понимается классификация количества техники по таким группам как от 40% до 65% - техника, почти выработавшая свой ресурс; от 66% до 80% - в удовлетворительном состоянии; от 81% до 100% - в идеальном состоянии (недавно приобретенная). Но эта классификация примерная, можно вводить свое значение состояния, причем у каждой единицы только целое число в диапазоне от 0% до 100%. 

Необходимый уровень надежности должен соответствовать запросу начальства или отличной работе администратора, а точнее отсутствия вообще сбоев в работе – на все 100%.

В завершение, получение времени, затраченного на поддержание отсутствия сбоев в работе мы получаем по формуле:







где 

t – время, необходимое для обеспечения заданной надежности для данного вида оборудования;

p – заданная надежность всей ЛВС;

pi – исходная надежность единицы оборудования;

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

По Трудовому кодексу РФ количество часов в рабочей неделе равняется 40 часам. Если же полученное время превышает 40 часов, то можно рассчитать количество недель, которые потребуется потратить, чтобы довести работу ЛВС до заданного вами уровня надежности:







где 

40 – количество часов в рабочей неделе по ТК РФ;

Tобщ – количество рабочих недель администратора для поддержания заданного уровня надежности ЛВС.

Краткое описание ИИС

Главное окно программы

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

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

2. Нажав кнопку «> подробно» можно задать конкретные значения надежности для каждой единицы техники в появившемся окне.

В поле «Требуемый уровень надежности» вводится значение надежности ЛВС, для которого необходимо рассчитать время работы системного администратора. 

При нажатии кнопки «Подсчитать» производятся расчеты. Если полученное значение времени превышает 40 часов, то выводится количество недель работы администратора необходимое для поддержания требуемого уровня надежности ЛВС.



Перспективы развития алгоритма



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

Рассмотрим примеры:

1. В случае с параллельным соединением рабочих станций и последовательным серверов.

Выход из строя одной рабочей станции не повлечет за собой выход из строя всей системы, а выход из строя одного из серверов приведет к выходу ЛВС из строя. Для расчета надежности всей системы необходимо вычислить надежность каждой их ее подсистем – в нашем случае надежность системы рабочих станций и надежность системы серверов. Такая ситуация может возникнуть при выполнении каждым сервером определенной функции, при выходе его из строя данная функция становится недоступна. Если эта функция критичная для работы всей ЛВС, то ее недоступность может выражаться в «падении» ЛВС. Например – контроллер домена Windows.

2. В случае с параллельным соединением рабочих станций и серверов. 

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

Также можно реализовать следующие функции:

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

выводить полученные параметры не сухими числами, а связным текстом, это повысит интеллектуальность системы

реализовать вывод результатов на печать


Заключение



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

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