Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

[Alekseev_A.P.]_Informatika_2015(z-lib.org)

.pdf
Скачиваний:
220
Добавлен:
26.01.2020
Размер:
8.07 Mб
Скачать

Базы данных

221

__________________________________________________________________________________

запросов» или «Мастера запросов». Например, на вкладке «Создание» можно выбрать пункт «Конструктор запросов» и с помощью диалогового окна «Добавить таблицы» выбрать нужные таблицы и заполнить бланк запроса.

На следующем рисунке показана форма (бланк) запроса-выборки, предназначенного для отбора из созданной БД оценок по математике у студентов группы БТ-61, а на следующем рисунке — результаты сделанной выборки.

222 Базы данных

__________________________________________________________________________________

Запрос можно формировать с использованием логических (булевых) операций И (AND), ИЛИ (OR), НЕ (NOT). Например, если требуется выбрать из БД сведения о результатах сдачи математики студентами групп БТ-61 и БТ-62, то необходимо запрос изменить следующим образом:

В этом случае из БД будут отобраны данные с помощью логической операции ИЛИ и на экране появятся сведения о студентах двух групп — БТ-

61 и БТ-62.

Логическая операция И используется для решения следующей задачи. Пусть требуется выбрать из БД фамилии студентов группы БТ-63, сдавших математику с оценкой 5. На следующем рисунке показано,

как формируется запрос с использованием логической операции И.

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

Базы данных

223

__________________________________________________________________________________

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

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

Чтобы осуществить отбор записей из базы данных по фамилии (или по имени), нужно в качестве условия отбора использовать запись типа: Like(“Фамилия”):

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

Формы используются не только для вывода данных из БД, но также (и, пожалуй, чаще) и для ввода данных. На рисунке представлена форма, позволяющая установить средний балл каждого студента (см. поле «Результат»). Содержание формы изменяется пользователем в зависимости от стоящей перед ним задачи.

Отчёт содержит ту информацию из БД, которая должна быть представлена в виде итогового документа. Обычно отчет представляется в напе-

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

224 Искусственный интеллект

__________________________________________________________________________________

6.8. Искусственный интеллект

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

С. Лец

Искусственный интеллект (Artificial Intelligence) имеет давнюю историю. Платон, Аристотель, Сократ, Р. Декарт, Г. Лейбниц, Дж. Буль, затем Н. Винер и многие другие исследователи стремились описать мышление как совокупность некоторых элементарных операций, правил и процедур.

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

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

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

2.ИИ — способность робота или компьютера к имитации челове-

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

3.ИИ — научное направление, связанное с разработкой алгоритмов и программ для автоматизации деятельности, требующей человеческого интеллекта.

4.ИИ — одно из направлений информатики, цель которого — раз-

работка аппаратно-программных средств, позволяющих пользователю-

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

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

Вопределениях встречается термин «интел-

лектуальный». Интеллект — это способность мыслить, рационально познавать. Слово «ум» тождественно по смыслу слову «интеллект».

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

Искусственный интеллект

225

__________________________________________________________________________________

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

Системы ИИ разделяются на два научных направления: нейрокибернетику (или искусственный разум) и кибернетику «черного ящика» (или машинный интеллект).

Напомним, что кибернетика — это наука об управлении, связи и переработке информации. Кибернетика исследует объекты независимо от их материальной природы (живые и неживые системы). Чтобы легче запомнить значение этого термина, нужно помнить, что слова «кибернетика» и «губернатор» родственные.

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

Системы искусственного интеллекта, которые моделируют работу головного мозга, называют нейронными сетями (или нейросетями). Первые нейросети были созданы в конце 50-х годов ХХ столетия американскими учеными Г. Розенблаттом и П. Мак-Каллоком.

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

Для второго направления ИИ — кибернетики «черного ящика» — не имеет значения, какова конструкция «мыслящего» устройства. Главное, чтобы на заданные входные воздействия оно реагировало так же, как человеческий мозг.

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

226 Искусственный интеллект

__________________________________________________________________________________

Конечно, современные системы ИИ еще далеки от совершенства и поэтому могут встречаться ошибки и курьезы. Так, если при работе с текстовым редактором MS Word вместо слова «пунктов» написать слово «пунков», то редактор предложит заменить неправильно написанное слово словами «пуп-

ков», «пинков» и др.

Программа Punto Switcher по-

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

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

Артур Самуэль разработал программу для демонстрации возможностей искусственного интеллекта. Проверку работоспособности про-

граммы он осуществил на игре в шашки.

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

В апреле 2007 года доктор Джонатан Шэффер (Jonathan Schaeffer) со своими коллегами создал компьютерную программу, играющую в шашки, которую невозможно обыграть. Программа Chinook может довести партию до ничьей, но никогда не проиграет.

Над разработкой программы для игры в шахматы работал Алан Тьюринг (1948 г.). Клод Шеннон рассматривал вопросы программирования для игры в шахматы (1951 г.).

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

С помощью ИИ решают задачу синтеза речи и обратную задачу — анализа и распознавания речи.

Искусственный интеллект

227

__________________________________________________________________________________

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

К сфере ИИ относят задачи распознавания образов (оптических и акустических). Идентификация отпечатков пальцев, сравнение человеческих лиц — это задачи распознавания образов. Системы компьютерного зрения дают возможность автоматически управлять движением автомобиля. Автоматическое выявление лица террориста в толпе людей – это одна из типичных задач ИИ. Определение телефонного террориста возможно по его голосу.

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

Чаще всего программы ИИ составляют на языках программирования

PROLOG, LISP или Smalltalk.

Одна из самых первых программ искусственного интеллекта GPS (General Problem Solver) создана А. Ньюэллом, Дж. Шоу и Г. Саймом в конце 50-х годов ХХ столетия. Она способна однотипным способом решать такие непохожие задачи, как расчет интегралов, разгадывание логических головоломок, доказательство теорем, грамматический анализ фраз.

Яркими представителями ИИ являются электронные переводчики и словари. Считается, что история машинного перевода началась с эксперимента, проведенного в Джорджтаунском университете в 1954 г. Впервые текст, написанный на русском языке, был переведен на английский язык с помощью ЭВМ.

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

Японский робот-андроид ASIMO имеет рост 130 см, весит 54 кг и напоминает космонавта в белом скафандре. ASIMO точно копирует человеческую походку. Он развивает скорость до 6 км/ч при ходьбе, и - до 9 км/ч при беге.

ASIMO определяет расстояние до движущегося объекта, его скорость и на-

228 Искусственный интеллект

__________________________________________________________________________________

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

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

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

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

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

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

Экспертные системы

229

__________________________________________________________________________________

6.9. Экспертные системы

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

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

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

Заметим, что ударение в слове «эксперт» следует делать на второй

слог.

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

Ниже приведена структурная схема экспертной системы.

С помощью редактора базы знаний эксперт (специалист в данной предметной области) наполняет базу знаний полезными сведениями (как бы передает ей свои знания, умения, навыки). При создании ЭС наиболее тру-

230 Экспертные системы

__________________________________________________________________________________

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

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

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

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

Решатель — это «мозг» ЭС. С помощью решателя обрабатываются введенные данные и делаются соответствующие выводы.

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

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

Примером подобной ЭС (оболочки) является EMYCIN (Empty MYCIN — пустой MYCIN).

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

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