Свежий номер №37 (366) / Второе пришествие
 
Анатолий Левенчук, ailev@asmp.msk.su 25.10.2000

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

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

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

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

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

Это и понятно: людям хочется меньше программировать. Когда вы посылаете кого-нибудь за пив… хлебом, вам не нужно долго программировать этого кого-нибудь. Когда вы поручаете гораздо менее сложную задачу компьютеру, вам необходимо соответствующее приложение программировать — долго и нудно. Поэтому ленивые программисты весь появляющийся в их распоряжении интеллект направляют не на решение пользовательских задач, а на облегчение собственного труда. Почти весь сегодняшний искусственный интеллект озабочен уменьшением строк моделирующего реальный мир кода. Меньше строк кода — больше интеллекта.

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

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

Более того, появляется все больше языков, которые предназначены не для чтения людьми, а для чтения машинами. XML со всеми его XSL, XLL, RDF и т. д. в этом бравом новом мире является только цветочком, ягодки нас еще ждут.

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

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

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

Это все азбука просто программирования. Причем здесь интеллектуальность? А притом, что в системах ИИ разные уровни абстракции описываются, как правило, единообразно — и чаще всего в терминах семантической сети. Узлы сети — объекты, дуги — отношения. Очень так гипертекстово. Точнее, гиперобъектово. И непроцедурно.

А если данные для таких разных уровней описания представлены на одном языке (я намеренно опускаю языки для программирования вычислений: понятно, что эти языки будут не слишком похожи на приплюснутый C или Java), то возможны операции по сложению (по айтишному — интеграции) вебсайтов. Добавляем к модному журналу бухгалтерскую систему, а затем — систему документооборота, получаем интегрированный интранет. Собственно, весь этот искусственный интеллект и замышлялся, чтобы в одном стиле описывать самые разные аспекты мира. Не нужно ждать второго пришествия, сейчас его быстрее сотворить собственными руками.


Анатолий Левенчук
ailev@asmp.msk.su
 


<< Корпоративный размерчик
Все материалы номера
Стандарты для беспроводных терминалов >>