Современный рынок средств искусственного интеллекта
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

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

1) экспертные системы; теперь их часто обозначают еще одним термином - «системы, основанные на знаниях»;

2) нейронные сети и «размытые» (ftizzy) логики;

3) естественно-языковые системы.
Этот рынок можно разделить и иначе:

1) системы искусственного интеллекта (приложения);

2) инструментальные средства, предназначенные для автоматиза­ции всех этапов существования приложения.

Причины, способствовавшие коммерческому успеху СИИ, следующие.

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

2.  Использование языков традиционного программирования и рабочих станций. Переход от систем, основанных на языках искус­ственного интеллекта (Lisp, Prolog и т.п.), к языкам традиционного про­граммирования (С, C++ и т.п.) упростил «интегрированность» и снизил требования приложений к быстродействию и емкости памяти. Исполь­зование рабочих станций вместо ПК резко увеличило круг возможных приложений методов искусственного интеллекта.

3.  Интегрированность. Разработаны инструментальные средства искусственного интеллекта, легко интегрирующиеся с другими инфор­мационными технологиями и средствами (с CASE, СУБД, контрол­лерами, концентраторами данных и т.п.).

4.  Открытость и переносимость. Разработки ведутся с соблюде­нием стандартов, обеспечивающих данные характеристики.

5.  Архитектура клиент/сервер. Разработка распределенной информационной системы в данной архитектуре позволяет снизить стоимость оборудования, используемого в приложении, децентрали­зовать приложения, повысить надежность и общую производитель­ность, поскольку сокращается объем информации, пересылаемой между компьютерами, и каждый модуль приложения выполняется на адекват­ном оборудовании.

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

Из пяти факторов, обеспечивших их успех в передовых странах, в России, пожалуй, полностью не реализованы четыре с половиной (в некоторых отечественных системах осуществлен переход к языкам традиционного программирования, однако они, как правило, ориенти­рованы на среду MS-DOS, а не ОС UNIX или Windows NT. Кроме того, в России в ряде направлений исследования практически не ведутся, следовательно, в этих направлениях (нейронные сети; гибридные систе­мы; рассуждения, основанные на прецедентах; рассуждения, основанные на ограничениях) нельзя ожидать и появления коммерческих продуктов.

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

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

Еще одно направление в области искусственной жизни — генети­ческое программирование (genetic programming) — является попыткой использовать метафору генной инженерии для описания различных алгоритмов. Строки (string) искусственной «генетической» системы аналогичны хромосомам в биологических системах. Законченный набор строк называется структурой (structure). Структуры декодируются в набор параметров, альтернативы решении или точку в пространстве решений. Строки состоят из характеристик, или детекторов, которые могут принимать различные значения. Детекторы могут размещаться на разных позициях в строке. Все это сделано по аналогии с реаль­ным миром. В природных системах полный генетический пакет назы­вается генотипом. Организм, который образуется при взаимодействии генотипа с окружающей средой, носит название фенотипа. Хромосо­мы состоят из генов, которые могут принимать разные значения. (Например, ген цвета для глаза животного может иметь значение «зеле­ный» и позицию 10.)

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

Генетическое программирование вдохнуло новую жизнь в хоро­шенько уже подзабытый язык LISP (List Processing), который создавался группой Д. Маккарти (того самого, кто в 60-е годы ввел в наш обиход термин «искусственный интеллект»), как раз для обработки списков и функционального программирования. Кстати, именно этот язык

в США был и остается одним из наиболее распространенных языков программирования для задач искусственного интеллекта.

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


Компьютерные сети

Локальные сети

 

Для удобства изложения приведем определения базовых терми­нов.

Сеть - два или более компьютера и подключенные к ним устрой­ства, соединенные средствами связи (объединение нескольких компью­теров).

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

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

Одноранговая сеть - сеть, в которой нет выделенных серверов или иерархии среди компьютеров. Все компьютеры считаются равно­правными. Каждый компьютер в такой сети может использоваться как клиент и как сервер.

Простая сеть - количество компьютеров меньше десяти.

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

Локальная сеть - сеть со скоростью передачи данных не менее 10 Мбит/с. Соединяет ПК и другое офисное оборудование, позволяя пользователям обмениваться информацией и совместно использовать ресурсы (принтеры, устройства хранения данных). Оборудование, под­ключенное к локальной сети, может находиться в одном или несколь­ких соседних зданиях. Диаметр сети меньше 1 км. Локальные сети явля­ются частными и не содержат арендованные каналы, однако могут иметь выходы в сети общего пользования.

Глобальная сеть - охватывает большую территорию и исполь­зует коммутированные или выделенные каналы связи, предоставля­емые телефонными компаниями. Может объединять несколько локаль­ных сетей.

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

Топология сети - принцип соединения компьютеров в сеть. Выделяют топологию «звезда», «кольцо» и др.

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

Рабочие станции и серверы соединены некоторой средой переда­чи данных (media), например коаксиальным кабелем.

Для работы со средой передачи данных на каждом компьютере, подключенном к сети, должен быть сетевой адаптер (Network Interface Card). Серверы и рабочие станции связываются в локальные сети адап­терами связи через дополнительное оборудование. Основное назна­чение — ветвление или усиление сигнала. Сетевые адаптеры могут отличаться скоростью передачи, типом используемого кабеля, электри­ческими характеристиками сигнала. На одной линии, которая в локаль­ных сетях обычно называется сегментом, могут быть подключены одно­типные адаптеры. В большей части локальных сетей используют сетевые адаптеры стандарта Ethernet. Адаптеры Ethernet используют множественный доступ с контролем передачи и обнаружением столкно­вений CSMA/CD.

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

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

Основное назначение КС - поддержка взаимодействия пользователей сети за счет сетевых ресурсов — вычислительных и информационных ресурсов, создания сетевых сервисов (услуг), обеспечивающих рост производительности ИС и повышение надежности и качества работы ИС. Основным параметром КС является топология сети (схема информационных потоков в сети): общая шина, кольцо (петля), «звезда», иерархическая структура и др. По масштабу территории охвата принято выделять локальные (охват до нескольких километров) - ЛВС (LAN), региональные (муниципальные, отраслевые, охват до нескольких сотен километров) - РВС (MAN), глобальные вычислительные сети (без ограничения масштаба территории) - ГВС (WAN). По признаку владения (принадлежности) различают: корпоративные (закрытые) КС - владельцами являются сообщества, организации и предприятия, ассоциации пользователей; обще доступные (открытые) КС.

Виды КС определяются в зависимости от однородности сетевых сервисов для узлов сети:

• одноранговые сети (все рабочие станции «равны» между собой по набору сетевых сервисов и телекоммуникационных функций обработки данных);

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

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

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

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

Разновидности клиент-серверной архитектуры:

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

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

• трехуровневый клиент-сервер - на рабочей станции находится только программное обеспечение в виде пользовательского интерфейса, сетевые ресурсы (бизнес-приложения, БД, принтеры) находятся на разных серверах. При этом возможны и трехзвенные конструкции: «клиент» - «сервер приложений» - «сервер ресурсов», основанное на использовании специального программного обеспечения (монитор обработки транзакций, программный интерфейс взаимодействия серверов-приложений с серверами БД - протокол ХА).

Сервис-ориетированная архитектура поддерживает различные Интранет/Интернет технологии: «браузер» - «сервер приложений» - «сервер ресурсов»; «сервер динамических страниц» - «веб-сервер».

Модель взаимодействия открытых сетей (модель OSI) разра­ботана международной организацией по стандартизации.

Проблема взаимодействия двух узлов или двух станций сети раз­делена на семь уровней:

1) уровень приложения - инициализация или прием запроса от прикладной программы;

2) уровень представления - форматирование в пакет (при реализа­ции некоторых стеков протоколов может отсутствовать);

3) сеансовый уровень - добавление информации о трафике (потоке информации) с указанием момента отправки пакета;

4) транспортный уровень - добавление информации для обработ­ки ошибок;

5) сетевой уровень - добавление адресной информации и инфор­мации о месте пакета в последовательности передаваемых пакетов;

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

7) физический уровень - передача пакета (кадра) как потока битов.

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

Интерфейс - взаимодействие двух смежных уровней.

В настоящее время широкое распространение получил протокол TCP/IP. Это протоколы стека в версии ОС UNIX. В качестве основного протокола сетевого уровня в стеке используется протокол IP, который изначально проектировался как протокол передачи пакетов в сетях, составляющих из большого количества локальных сетей, объединен­ных как локальными, так и глобальными связями.

ТСР/ IР. Термином «TCP/IP» обычно обозначают все, что связано с протоколами TCP и IP. Он охватывает целое семейство протоколов, прикладные программы и даже саму сеть. В состав семейства входят протоколы UDP, ARP, ICMP, TELNET, FTP и многие другие. ТСР/IР — это технология межсетевого взаимодействия. Модуль IP создает единую логическую сеть.

Архитектура протоколов ТСР/IР предназначена для объединен­ной сети, состоящей из соединенных друг с другом шлюзами отдель­ных разнородных пакетных подсетей, к которым подключаются разно­родные машины. Каждая из подсетей работает в соответствии со своими специфическими требованиями и имеет свою природу средств связи. Однако предполагается, что каждая подсеть может принять пакет информации (данные с соответствующим сетевым заголовком) и доста­вить его по указанному адресу в этой конкретной подсети. Не требуется, чтобы подсеть гарантировала обязательную доставку пакетов и имела надежный протокол передачи. Таким образом, две машины, подклю­ченные к одной подсети, могут обмениваться пакетами. Когда необ­ходимо передать пакет между машинами, подключенными к разным подсетям, то машина-отправитель посылает пакет в соответствующий шлюз (шлюз подключен к подсети так же, как обычный узел). Оттуда пакет направляется по определенному маршруту через систему шлю­зов и подсетей, пока не достигнет шлюза, подключенного к той же под­сети, что и машина-получатель; там пакет направляется к получателю. Проблема доставки пакетов в такой системе решается путем реализа­ции во всех узлах и шлюзах межсетевого протокола IP. Межсетевой уровень является по существу базовым элементом во всей архитектуре протоколов, обеспечивая возможность стандартизации протоколов верхних уровней.

Структура связей протокольных модулей. Логическая струк­тура сетевого программного обеспечения, реализующего протоколы семейства TCP/IP в каждом узле сети Интернет, изображена на рис. 7.11. Прямоугольники обозначают обработку данных, а линии, соединяющие прямоугольники,- пути передачи данных. Горизонтальная линия внизу рисунка обозначает кабель сети Ethernet, которая используется в качест­ве примера физической среды. Понимание этой логической структуры является основой для понимания всей технологии Интернета.

Рис. 7.11. Структура протокольных модулей в узле сети TCP/ IP

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

Драйвер - программа, непосредственно взаимодействующая с сетевым адаптером.

Модуль - программа, взаимодействующая с драйвером, сетевы­ми прикладными программами или другими модулями.

Драйвер сетевого адаптера и, возможно, другие модули, специ­фичные для физической сети передачи данных, предоставляют сетевой интерфейс для протокольных модулей семейства TCP/IP.

Название блока данных, передаваемого по сети, зависит от того, на каком уровне стека протоколов он находится. Блок данных, с которым имеет дело сетевой интерфейс, называется кадром; если блок данных находится между сетевым интерфейсом и модулем IP, то он называется IP-пакетом; если между модулем IP и модулем UDP, то UDP-датаграммой; если между модулем IP и модулем TCP, то TCP-сегментом (или транспортным сообщением); наконец, если блок данных находится на уровне сетевых прикладных процессов, то он называется приклад­ным сообщением.

Эти определения, конечно, несовершенны и неполны. К тому же они меняются от публикации к публикации.

 

Дата: 2019-02-02, просмотров: 248.