Программное обеспечение деятельности таксопарка

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.10.2012
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

ОГЛАВЛЕНИЕ

  • ВВЕДЕНИЕ
  • 1. ОПИСАНИЕ И АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
    • 1.1 АНАЛИЗ ДЕЯТЕЛЬНОСТИ ТАКСОПАРКА
      • 1.1.1 ОПИСАНИЕ ДЕЯТЕЛЬНОСТИ СОТРУДНИКОВ
      • 1.1.2 ОБЗОР СУЩЕСТВУЮЩЕГО ПРОГРАМНОГО ОБЕСПЕЧЕНИЯ
    • 1.2 МУЛЬТИАГЕНТНЫЕ СИСТЕМЫ
      • 1.2.1 ПОНЯТИЕ АГЕНТА
      • 1.2.2 КЛАССИФИКАЦИЯ АГЕНТОВ
      • 1.2.3 КОЛЛЕКТИВНОЕ ПОВЕДЕНИЕ АГЕНТОВ
      • 1.2.4 МОДЕЛИ КОЛЛЕКТИВНОГО ПОВЕДЕНИЯ
      • 1.2.5 АРХИТЕКТУРА МНОГОАГЕНТНЫХ СИСТЕМ
      • 1.2.6 АРХИТЕКТУРА ВЗАИМОДЕЙСТВИЯ СИСТЕМЫ АГЕНТОВ
      • 1.2.7 АРХИТЕКТУРА АГЕНТА
      • 1.2.8 ЯЗЫКИ ПРОГРАММИРОВАНИЯ АГЕНТОВ
  • 2. ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ ИНФОРМАЦИОННОЙ СИСТЕМЫ
    • 2.1МАТЕМАТИЧЕСКАЯ МОДЕЛЬ
    • 2.2 РЕАЛИЗАЦИЯ
    • 2.3 ФИЗИЧЕСКАЯ СТРУКТУРА БД
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ЛИТЕРАТУРЫ
  • Приложение A. Работа с приложением
  • ВВЕДЕНИЕ

таксопарк мультиагентный коллективный информационный

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

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

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

1. изучить существующую информационную систему организации;

2. выбрать программное обеспечение для разработки;

3. разработать структуру программы;

4. оценить экономическую эффективность создаваемого программного продукта;

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

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

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

1. ОПИСАНИЕ И АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

1.1 АНАЛИЗ ДЕЯТЕЛЬНОСТИ ТАКСОПАРКА

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

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

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

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

В случае, когда заказ отменяется, клиент попадает в "Чёрный список", то есть он не имеет право пользоваться услугами данного таксопарка. Диспетчер вносит имя того водителя, который должен был выполнять отмененный заказ в специальный список, который регламентирует по чьей вине заказ сорвался. Например: водитель опоздал на время назначенное клиентом, и вследствие услуги такси стали неактуальными, в таком случае водитель пишет объяснительную записку, но это не спасает его от взысканий. Может быть так, что клиент просто передумал, но не предупредил диспетчера, в таком случае водитель всё равно пишет объяснительную записку, но никаких взысканий к нему не применяется. В этих случаях водитель сам оповещает диспетчера о том, что заказ аннулирован. Еще может быть случай, когда клиент передумал, но предупредил диспетчера, тот связывается с водителем и перенаправляет его на другой заказ. Во всех случаях статус заказа ставится "Отменен".

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

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

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

Еще администратор занимается кадрами. Он формирует дела новых сотрудников, и вносит необходимые поправки в дела уже работающих на этом предприятии. На администраторе лежит ответственность за правильное формирование дел и их сохранность.

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

1. Потеря данных диспетчером, или неправильная их трактовка.

2. Выбор не оптимального маршрута следования таксистов

3. Не корректная форма представления отчетов и т.д.

1.1.1 ОПИСАНИЕ ДЕЯТЕЛЬНОСТИ СОТРУДНИКОВ

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

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

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

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

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

5. Руководитель ведет управленческую деятельность предприятия, выполняет функции отдела кадров.

1.1.2 ОБЗОР СУЩЕСТВУЮЩЕГО ПРОГРАМНОГО ОБЕСПЕЧЕНИЯ

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

Для автоматизации транспортных компаний фирмами ООО «Единая служба такси», ООО «ИнтелТелеком», ООО «Танго Телеком» были разработанны соответственно программы: «Такса», «Infinty taxi»,«2Т-Такси». Указанные программные комплексы схожие, поэтому для примера разобрана была только одна из них, а именно «2Т-Такси». Архитектура изображена на рисунке 1:

Рисунок 1 - Архитектура диспетчерской такси

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

Небезынтересно знать, что организация автоматизированной диспетчерской такси на базе программы такси:

· Сведет к нулю ошибки при внесении данных о номерах телефонов клиентов.

· Уменьшит время приема заявки на 40%.

· Уменьшит время на ручной отзвон клиентам и водителям на 95%.

· Уменьшит время на передачу заказов водителя на 98%.

· Автоматическое распределение заказов по стоянкам уменьшает время подачи такси клиенту на 15%.

· Использование GPRS-сервиса позволяет сократить штат такси диспетчерской в 3 раза.

· Для организации работы диспетчера такси достаточно иметь стандартный компьютер и гарнитуру с микрофоном.

Схема работы

В call-центр такси вызов принимается по любому каналу связи:

· С городских телефонных линий.

· С сотовых телефонов.

· С Интернет сайта.

· По SMS.

· По e-mail.

· По ICQ.

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

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

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

Рисунок 2 - Пример интерфейса диспетчера такси

Диспетчер заполняет поля формы заказа и отправляет заказ на сервер «2Т-Такси» нажатием всего одной клавиши. Программа «2Т-Такси» связывается с водителями в автоматическом режиме, то есть без участия диспетчера, и передает информацию о заказе.

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

Водитель нажимает на клавишу готовности выполнить заказ, если заказ ему интересен, и указывает время подъезда к клиенту. На экране своего мобильного телефона водитель видит информацию представленную на рисунке 3

Рисунок 3 - Экран телефона водителя

Клиент: Иванов Иван Иванович 

Адрес подачи: ул. Ленина 100, кв. 10

Служба такси: 935241 

Дополнительное писание заказа: 2-й подъезд

Для современных телефонов и смартфонов разработан интеллектуальный интерфейс, включающий в себя GPS Таксометр, изображенный на рисунке 4:

Рисунок 4 - Интерфейс для современных телефонов

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

Индивидуальная настройка

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

· Алгоритм обработки звонков.

· Автоматический или ручной дозвон.

· Способ отсылки уведомления водителям

· Тревожную кнопку.

· Автозаказ без участия диспетчера.

· Навигацию, в том числе GPS.

· Электронные карты.

· Правила распределения заказов.

· Запись переговоров.

· Отсылка уведомление водителю и многие другие параметры.

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

Рисунок 5 - Пример алгоритма обработки звонка диспетчерской такси

Функциональные возможности программы «2Т-ТАКСИ»

· Гибкая настройка внешнего вида рабочего места диспетчера, карточки заказа и т.д.

· Настраиваемые правила распределения заказов

o Настраиваемые условия распределения машины в очереди и при отказе от заказа.

o Настраиваемые правила и последовательность действий по клиентам (VIP роутинг).

o Распределение заказов с учетом времени.

· Тревожная кнопка.

· Настраиваемый график работы водителей такси и диспетчеров.

· Передача сообщений от водителей такси в виде шаблонной фразы (не могу найти клиента, стою с торца дома, 1 подъезд и т.д.)

· Функция тарификации и расчета:

o Работа с дисконтными картами.

o Работа с системой скидок.

o Начисления суммы с каждой поездки на личный счет клиента.

o Прием платежей через банкомат и системы оплаты.

o Задание тарифа для каждого клиента (организации) отдельно.

o Учет таксистов и информирование таксистов по балансу его счета.

· Настроенные отчетные формы и статистика.

· Навигационная система с использованием GPS/ ГЛОНАСС:

o Спутниковый таксометр GPS производит подсчет пробега и расчет стоимости поездки.

o Отображает электронные карты, в том числе карты Google, Yandex.

o Отражает расстановку машин в районе.

o Отслеживает перемещения машин к месту вызова и вести учет таксистов.

o Записывает подробный трек с остановками.

o Проигрывает треки движения (анимация).

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

· Управление пользователями (группы пользователей, с возможность индивидуальных настроек):

o Диспетчер (Оператор).

o Водитель такси.

o Администратор.

o Руководитель.

o Кассир.

· Настройка правил работы программы заказа такси (к примеру, на сотовый отправить СМС, а на городской позвонить).

· Функции Администрирования:

o Управление сервером.

o Управление Базой Данных.

o Резервное копирование.

o Обновление версий.

· Интеграция со сторонними приложениями:

o Интерфейс для взаимодействия с Контакт-центром (Call-центром).

o Интерфейс для взаимодействия с 1C.

o Интерфейс для взаимодействия с внешней системой тарификации и расчетов.

o Интерфейс для взаимодействия с внешней системой для приема/передачи заказов

· Обмен заказами с другими службами такси.

· Предоставление услуг Контакт-центра такси другим службам (аутсорсинг).

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

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

1.2 МУЛЬТИАГЕНТНЫЕ СИСТЕМЫ

Разработка технологии искусственных агентов, создание многоагентных систем (МАС) и виртуальных организаций представляет собой одну из наиболее важных и многообещающих областей развития новых информационных и коммуникационных технологий (НИКТ), где сегодня происходит интеграция современных сетевых WWW-технологий, методов и средств искусственного интеллекта (ИИ), включая большие базы данных/ знаний, многокомпонентные решатели, и систем объектно-ориентированного проектирования. У специалистов по НИКТ сформировалось и вошло в широкий научный обиход представление об искусственных агентах как активных, автономных, коммуникабельных, а главное, мотивированных, объектах, «живущих» и «действующих» в сложных, динамических и, чаще всего виртуальных, средах.

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

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

Причины использования Мультиагентных систем:

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

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

3. понятие открытой системы означает, что у нее имеются развитые возможности и средства адаптации к изменениям среды, в том числе путем модификации своей структуры и параметров.

4. Распространение различных сетей порождает распределенный взгляд на мир.

1.2.1 ПОНЯТИЕ АГЕНТА

Наиболее популярное определение понятия «агент» у М.Вулдриджа и Н.Дженнингса. Они считают, что агент - это программно или аппаратно реализованная система, обладающая следующими свойствами:

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

общественное поведение (social ability), т.е. способность взаимодействия с другими агентами (а возможно, людьми), обмениваясь сообщениями с помощью языков коммуникации;

реактивность - способность воспринимать состояние среды (физического мира, пользователя - через пользовательский интерфейс, совокупности других агентов, сети Internet, или сразу все этих компонентов внешней среды);

целенаправленная активность (pro-activity) - способность агентов не просто реагировать на стимулы, поступающие из среды, но и осуществлять целенаправленное поведение, проявляя инициативу.

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

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

1.2.2 КЛАССИФИКАЦИЯ АГЕНТОВ

Можно предложить немало различных оснований для построения классификаций агентов. Наиболее очевидными являются критерии классификации, связанные с полярными шкалами «естественное-искусственное» и «материальное-идеальное». По первому критерию, выделяются натуральные агенты (животные, люди, группы организмов, коллективы людей) и искусственные агенты (роботы, коллективы автоматов, сложные компьютерные программы). По второму критерию, все искусственные агенты подразделяются на:

1. материальных, физически существующих и работающих в реальном пространстве, например, интегральные роботы)

2. виртуальных, существующих лишь в программной среде (виртуальном пространстве); нередко такие «программные роботы» (software robots) называют сокращенно софтботами (softbots)

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

Важным основанием для классификации служит наличие (отсутствие) у агентов характеристик обучаемости или адаптивности. У обучаемых агентов поведение основано на предыдущем опыте.

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

В целом, данная типология агентов тесно связана с классической проблемой взаимодействия «субъект - объект». Уровень субъектности агента непосредственно зависит от того, наделен ли он символьными представлениями, требующимися для организации рассуждений, или в противоположность этому он работает только на уровне образов (субсимвольном), связанных с сенсомоторной регуляцией. Соответствующую классификацию агентов можно построить по следующим двум признакам:

1. степень развития внутреннего представления внешнего мира;

2. способ поведения.

Рисунок 6 - Классификация агентов

Таблица 1 - Сравнительный анализ свойств когнитивных и реактивных агентов

Характеристики

Когнитивные агенты

Реактивные агенты

Внутренняя модель внешнего мира

Развитая

Примитивная

Рассуждения

Сложные и рефлексивные

рассуждения

Простые одношаговые

рассуждения

Мотивация

Развитая система мотивации, включающая убеждения, желания, намерения

Простейшие побуждения,

связанные с выживанием

Память

Есть

Нет

Адаптивность

Малая

Высокая

Модельная архитектура

Есть

Нет

Состав МАС

Небольшое число

автономных агентов

Большое число зависимых друг от друга агентов

Еще один тип классификации, где дополнительно к биологическому и психологическому уровням агентообразования вводится социальный, и используются аналогии с триадой «растение - животное - человек», описан П. Браспеннингом. По его мнению, реактивных, интенциональных и социальных агентов можно уподобить компонентам этой триады. Агенты, подобные растениям, характеризуются реактивностью, выполнением стереотипных программ и посылкой сообщений другим агентам и в среду. Агенты, подобные животным, интенциональны, способны выбирать цели, строить планы действий и обеспечивать их выполнение. Они координируют свои действия, обмениваясь информацией об индивидуальных предпочтениях или задачах. Наконец, гуманоидные агенты, обладая внутренними моделями других агентов (и способностью к рефлексии), характеризуются социальным (ролевым) поведением. Сложность внутренних моделей зависит от уровня знаний и опыта гуманоидного агента.

1.2.3 КОЛЛЕКТИВНОЕ ПОВЕДЕНИЕ АГЕНТОВ

Идея многоагентности предполагает кооперацию агентов при коллективном решении задач. В многоагентной системе агент, который не способен решить некоторую задачу самостоятельно, может обратиться к другим агентам. Другой вариант, когда необходима кооперация - это использование коллектива агентов для решения одной общей трудной задачи. При этом агенты могут строить планы действий, основываясь уже не только на своих возможностях, но и “думать” о планах и намерениях других агентов. Известно, что коллективы даже простейших автоматов, в которых каждый автомат преследует только свои примитивные цели, в целом способны решать очень сложные задачи. В качестве иллюстрации можно взять, например, пчелиный улей или муравейник. Можно надеяться, что система, в которой агенты могут учитывать планы и интересы других агентов, будет являться во многих случаях еще более гибкой.

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

1.2.4 МОДЕЛИ КОЛЛЕКТИВНОГО ПОВЕДЕНИЯ

В настоящее время предложено множество различных моделей коллективного поведения агентов. Как правило, каждая из моделей концентрирует внимание на нескольких аспектах такого поведения и рассматривает проблемы в соответствии с выбранной архитектурой (моделью) самого агента. Для знаний, отвечающих за коллективное поведение, в архитектуре агента, обычно, выделяют специальный уровень - уровень кооперации (cooperation layer).

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

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

Теория игр. Аппарат теории игр часто используется для исследования коллективов интеллектуальных агентов. Многие ситуации, возникающие в многоагентной системе, находят подходящие аналоги в теории игр. Исследуются кооперативные игры, различные стратегии ведения торгов (переговоров), игры в размещения и др., которые являются аналогами ряда моделей коллективного поведения агентов.

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

Биологические, экономические и социальные модели.

Рассмотрим кратко различные модели кооперации агентов.

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

В процессе формирования кооперативного решения в рамках рассматриваемой CPS-модели выделяют четыре этапа:

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

Формирование группы агентов. На этой стадии агент, установивший возможность совместного действия, ищет партнеров. При успешном завершении этой стадии образуется группа агентов, имеющих совместные обязательства для коллективных действий.

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

Совместные действия. Здесь агенты действуют согласно выработанному плану, поддерживая взаимодействие согласно принятым на себя обязательствам.

Рассмотрим кратко суть перечисленных этапов.

Распознавание основывается на определении потенциала для кооперации агентов:

По отношению к цели f агента i имеется потенциал для кооперации тогда и только тогда, когда (1) имеется некоторая группа g, такая, что i верит, что g может совместно достичь f, и, либо (2) i не может достичь f в изоляции, либо (3) i верит, что для каждого действия a, которое он мог бы выполнить для достижения цели f, он имеет иную цель, влекущую невыполнение действия a.

Процедура образования группы заключается в том, что агент i (имеющий цель f), у которого имеется потенциал для кооперации с группой g, пытается реализовать в группе g состояние, в котором группа может совместно достичь цели f, и в котором группа g обязуется выполнять действия совместно в соответствии со своими обязательствами.

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

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

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

1.2.5 АРХИТЕКТУРА МНОГОАГЕНТНЫХ СИСТЕМ

При выборе архитектуры многоагентной системы необходимо иметь в виду два ее аспекта:

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

· архитектуру отдельного агента.

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

1.2.6 АРХИТЕКТУРА ВЗАИМОДЕЙСТВИЯ СИСТЕМЫ АГЕНТОВ

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

Одноуровневая архитектура взаимодействия агентов

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

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

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

Иерархическая архитектура взаимодействия агентов

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

Агент, осуществляющий координацию, может быть привязан к конкретному серверу, и тогда он называется “местом встречи агентов”. Место встречи агентов (AMP - Agent Meeting Place) - это агент, играющий роль брокера между агентами, запрашивающими некоторые ресурсы, которыми обладают другие агенты, и теми агентами, которые эти ресурсы могут предоставить. Архитектура AMP есть архитектура обычного агента (см. далее), дополненная некоторыми вспомогательными компонентами, наличие которых обусловлено ролью этого агента как координатора взаимодействия других агентов. Эти вспомогательные компоненты должны, с одной стороны, содержать унифицированное описание множества доступных через AMP агентов и их возможностей (ресурсов, функций и пр.) и, с другой, организовать унифицированный доступ к ним. Это обеспечивается такими компонентами AMP.

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

2. Связные порты, ответственные за прием и отправку агентов в AMP с помощью соответствующих протоколов.

3. Компонента установления подлинности агента по имени (опознание агента, “авторизация”).

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

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

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

7. Глубинный маршрутизатор, который ассистирует поверхностному при более специальных и сложных запросах.

8. Менеджер ресурсов; он регистрирует агентов на AMP и ассоциированные с ними ресурсы, а также управляет ресурсами AMP.

9. Среда исполнения агента, которая регистрируется в AMP и управляет доступом к компонентам агента; она интерпретирует сценарии, обеспечивает доступ к базовым возможностям и др.

10. Система доставки событий; источниками событий могут быть локальные средства, резидентные агенты AMP и др.; система регистрирует события и выполняет поиск агентов для соответствующего типа событий, сообщений.

В остальном архитектура координирующего агента аналогична архитектуре обычного агента.

1.2.7 АРХИТЕКТУРА АГЕНТА

Общая классификация архитектур

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

-архитектура, которая базируется на принципах и методах искусственного интеллекта, т.е. систем основанных на знаниях (deliberative agent architecture”, “архитектура разумного агента”),

и как альтернатива, так называемая

-архитектура, основанная на поведении (reactive architecture) или “реактивная архитектура” (основанная на реакции системы на события внешнего мира).

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

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

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

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

Архитектуры агентов, основанные на знаниях

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

Сначала идея агента, основанного на знаниях, строилась на чисто логической основе и представлялась весьма перспективной. Однако позднее было обнаружено, что лежащее в основе такого подхода исчисление предикатов первого порядка неразрешимо. Более того, такие ментальные свойства агента, как убеждения, желания, намерения, обязательства по отношению к другим агентам и т.д, невыразимы в терминах исчисления предикатов первого порядка. Были разработаны некоторые специальные варианты расширений модальных логик и подобных модальным, которые оказались с точки зрения реализуемости более удачными. Такие архитектуры были названы Belief-Desire-Intention (BDI) - архитектурами.

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

Архитектура на основе планирования (реактивная архитектура)

Архитектура на основе планирования (“планирующий агент”) рассматривается как альтернатива подходу, рассмотренному в предыдущем подразделе. Вообще говоря, этот подход также развивался внутри сообщества специалистов по искусственному интеллекту еще с начала 1970-х годов, однако той его частью, которая занималась планированием поведения роботов и тому подобными задачами.

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

Многоуровневость

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

· восприятие и исполнение действий,

· реактивное поведение,

· локальное планирование,

· кооперативное поведение,

· моделирование,

· формирование намерений, и

· обучение агента.

Существует два основных класса многоуровневых архитектур в зависимости от того, как организуется взаимодействие уровней:

· горизонтально организованная архитектура и

· вертикально организованная архитектура.

В первой из них - в горизонтально организованной архитектуре, все уровни агента имеют доступ к уровню восприятия и действий (в общем случае все уровни могут общаться между собой в стиле “бродкастинга”). Напротив, в вертикально организованной архитектуре только один из уровней имеет доступ к уровню восприятия и действий, а каждый из остальных уровней общается только с парой непосредственно смежных с ним уровней.

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

Напротив, в вертикально организованной архитектуре проблема управления взаимодействием уровней не является столь сложной, поскольку выходная информация каждого из уровней всегда имеет адресата. В известных вертикально организованных архитектурах распределение функциональных модулей по уровням выполняется по одному из двух принципов. Согласно одному из них, различные уровни отвечают различному уровню абстракции, в основном, одного и того же набора функциональностей (такой принцип используется в уже упоминавшейся InteRRap-архитектуре). Согласно другому принципу каждый уровень отвечает некоторой функциональности или их набору. По такому принципу построена MECCA-архитектура, в которой цикл функционирования агента состоит из четырех фаз: активация цели, планирование, конкретизация плана в набор действий и исполнение. В соответствии с этими фазами архитектура агента состоит из четырех уровней.

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

1.2.8 ЯЗЫКИ ПРОГРАММИРОВАНИЯ АГЕНТОВ

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

Требования к языкам программирования агентов

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

1. Доступность на многих платформах.

2. Поддержка сетевого взаимодействия.

3. Многопоточная обработка (“Multithreading”).

4. Поддержка символьных вычислений.

5. Безопасность, в частности, наличие системы защиты от несанкционированного доступа и “плохих кодов

6. Истинная объектная ориентированность.

7. Языковая поддержка свойств агента. Эффективность, достаточная для потребностей прикладных программ.

Классификация

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

Универсальные языки программирования (Java)

Языки, "ориентированные на знания":

языки представления знаний (KIF)

языки переговоров и обмена знаниями (KQML, AgentSpeak, April)

языки спецификаций агентов.

3. Специализированные языки программирования агентов (TeleScript)

4 Языки сценариев и scripting languages (Tcl/Tk)

5. Символьные языки и языки логического программирования (Oz)

Сравнительная характеристика языков

Java - вероятно, один из наиболее популярных языков используемых в последнее время для программирования агентов. Java представляет из себя язык программирования, подобный C++ по синтаксису, но более схожий со Smalltalk и Objective C по идеологии. Система программирования на Java включает в себя виртуальную машину Java и транслятор с Java в bytecode.

Язык Java предусматривает создание приложений, переносимых на различные платформы. Программа, написанная на Java, компилируется в специальный машинно-независимый байт-код. Затем этот код может быть исполнен с помощью интерпретатора Java на любом компьютере, где реализована Java Virtual Machine. Тем самым обеспечивается платформо-независимость Java - приложений на уровне байт-кода, который может приходить откуда угодно, включая Web-страницу, в которой содержится ссылка на него. Java Virtual Machine работает в среде вытесняющей мультизадачности и поддерживает облегченные процессы (threads). Средства создания и синхронизации таких процессов включены в Java на уровне языковых конструкций и классов. Средства многозадачности также призваны обеспечить реакцию системы в реальном времени для мультимедийных приложений, критичных ко времени.

Java представляет собой истинно объектно-ориентированный язык программирования с сильной типизацией. Схожесть с C++ делает его простым для изучения программистами. В нем отсутствует предельно ясное распределение памяти и для повышения надежности программ из языка исключена арифметика указателей. Каждый тип данных понимается как класс объектов, любая функция является методом класса. Ее вызов рассматривается с объектно-ориентированных позиций как посылка сообщения объекту. Имеется встроенная расширяемая библиотека классов, включающая Abstract Window Toolkit (AWT) для создания пользовательских интерфейсов, классы поддержки основных типов данных, threads, сетевых возможностей, графики, мультимедиа, и т. д. К средствам повышения надежности следует отнести встроенную в язык обработку исключительных ситуаций (exceptions) и run-time контроль за выполнением программы, такой, как проверка выхода за границы массивов и т.д.


Подобные документы

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

    курсовая работа [1,4 M], добавлен 14.03.2010

  • Анализ программ автоматизации деятельности диспетчера такси. Жизненный цикл автоматизированной информационной системы, язык программирования, система управления базами данных. Создание программы "Автоматизированное рабочее место диспетчера такси".

    курсовая работа [1,6 M], добавлен 19.11.2010

  • Имитационное моделирование деятельности "Центра обслуживания абонентов". Диаграммы потоков данных. Выявление вариантов использования. Моделирование видов деятельности и взаимодействий. Проектирование пользовательского интерфейса и архитектуры приложения.

    дипломная работа [1,3 M], добавлен 24.10.2010

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

    дипломная работа [2,9 M], добавлен 30.06.2017

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

    курсовая работа [3,3 M], добавлен 26.01.2013

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

    контрольная работа [736,9 K], добавлен 06.01.2013

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

    реферат [20,2 K], добавлен 01.04.2010

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

    курсовая работа [404,5 K], добавлен 03.02.2011

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

    дипломная работа [1,6 M], добавлен 19.03.2014

  • Браузер как программное обеспечение для просмотра веб-сайтов, то есть для запроса веб-страниц, их обработки, вывода и перехода от одной страницы к другой. Теги a, img, Script и Style. Используемые технологии Java. Разработка и реализация программы.

    дипломная работа [571,4 K], добавлен 07.07.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.