Феликс Широков

Меня милый не цалует,
Не садится близко:
Я, мол, чистый математик,
А ты – программистка.

ВВЕДЕНИЕ
Вождь понимал, что в движении этих машин таится грозная сила. Если он подчинит ее, он станет Властелином Планеты. Он повелел своим воинам вспрыгивать на движущиеся странные машины и стараться управлять ими. Обычно это кончалось ничем, но иногда воин нажимал какие-то клавиши, и машина вдруг убивала его, не меняя своего хода.
Одна за одной они выползали из туннеля на поверхность Планеты, бесшумно двигались по отрезку шоссе и исчезали в отверстии на другом его конце...
Эта картина, нарисованная братьями Стругацкими в одном из романов, приходит на ум всякий раз, когда я начинаю думать о судьбе вычислительной техники, нет, лучше сказать - вычислительной науки (computer science) в России.
Число научно-исследовательских лабораторий корпорации IBM больше числа ее заводов, а "таинственная работа", идущая в этих лабораториях, порождает нобелевских лауреатов и бесконечную вереницу изделий, которые молчаливым парадом проходят перед нашим взором по "отрезку шоссе" и уходят в небытие. И мы часто не знаем даже тех идей, аппаратных и/или программных, которые лежат в их основе. Мы видим лишь внешнюю сторону рыночного процесса.
Среди воинов нашего племени мало кто знает, что драгоценным хобби Билла Гейтса является молекулярная биология. Он тратит на нее свои личные деньги. Он построил молекулярно-генетические лаборатории и пригласил к себе крупнейших биологов, включая генетика Лероя из Калтеха.
Финансирование этих лабораторий обходится ему дороже, чем содержание Российской академии наук - Минфину РФ. И когда в его лабораториях собираются члены ученого совета, Билл Гейтс на равных обсуждает с ними вопросы молекулярной биологии, хотя сам он не провел ни одной ночи за анализом молекулярных диковинок. Он "чувствует" эту область знания как профессионал.
Объем рынка средств информационных и телекоммуникационных технологий в Соединенных Штатах Америки в 1996 году составил около 500 миллиардов доллларов; из них 140 миллиардов приходилось на аппаратуру компьютеров, а 48 миллиардов – на их программное обеспечение (цифры по 1998 году пока не опубликованы).
Америка потребляет в год около 20 миллионов персональных компьютеров, производимых ее промышленностью: от ширпотреба – домашних компьютеров, которые дарят детям на Рождество, - до "корпоративных" ПК, на которых можно проектировать здания, сооружения, станки... Эта часть рынка не превышает 20 миллиардов долларов.
А на что же Америка тратит еще 292 миллиарда ? Ответ на этот вопрос бесполезно искать в наших компьютерных изданиях. Его там нет! Америка тратит эти деньги на удивительные информационные машины - такие, как машина Ференца Иолеса для хирургических операций. Вы когда-нибудь слышали о CAS - Computer Assisted Surgery, т. е. о хирургии с компьютерной поддержкой?
Эта машина решила "задачу Пирогова". При полостных операциях хирургу приходиться искать пораженное место. Был случай, когда банальный аппендикс был обнаружен под легким. Из-за этого хирург вынужден бывает делать большие разрезы, и Пирогов мечтал научиться видеть мягкие ткани внутренних органов. Тогда еще не было рентгена. И у себя в полтавском имении попавший в опалу Пирогов делал тонкие срезы с замороженных трупов, пытаясь составить трехмерный атлас расположения мягких тканей.
Машина Ференца Иолеса - это операционная внутри ядерно-магнитного томографа. На экране томографа - картина мягких тканей, скрытых наружными слоями тела. Хирург видит зону, подлежащую операции, и делает лазерным скальпелем щадящие разрезы. И пациент чуть ли не с операционного стола может возвратиться к своей семье и работе.
Читатель, возможно, знает, что такое биржевой индекс Доу-Джонса. Это индекс "осчастливленности" держателей акций - общий показатель ценности акций наиболее успешно работающих компаний. Можно ввести общий "фелицитологический индекс" (лат. felicitar - счастье), который позволит оценивать качество жизни.
Сегодняшние информационные технологии (ИТ) увеличивают фелицитологический индекс человечества.
Можем ли мы, дикое племя, состязаться с Америкой в этом грозном марше новых машин? В том-то и дело, что не совсем "дикое". Но мы не знаем своих подлинных героев. Лишь единицы среди наших компьютерных гуру знают имена таких ученых, как А. А. Марков - создатель теории алгорифмов. Наши банкиры охотно берут на работу выпускников МФТИ или университетских факультетов ПМК/ВМК, поскольку выпускники Финансовой академии и различных экономических учебных заведений не получают сегодня должной подготовки в области информационной технологии. Но даже эта компьютерная элита не обращается к таким источникам, как, скажем, книга А.А. Маркова и Н.М. Нагорного "Теория алгорифмов" (издание 2-ое, Москва, Фазис, 1996).
А ведь теория алгорифмов - эквивалент теории машин Тьюринга. Богатая Америка перевела эту книгу на английский язык и издала тиражом, превосходящим тираж издания в России. И, по-видимому, компьютеризированный вариант теории алгорифмов появится в Америке раньше, чем воины очнутся от вековой дремоты.
Знакомясь с подоплекой некоторых западных программных пакетов (в первую очередь - американских, ибо Америка - страна софтвера), мы неоднократно обнаруживали, что в их основе лежат часто весьма изысканные математические построения. А теория сортировки - это попросту математическая дисциплина. Но фирмы-распространители не очень-то оповещают об этом, ибо знание теории дает реальные конкурентные преимущества на рынке.
Настанет ли день, когда цепочка причин и следствий: принципы–теория–приложения–рыночный успех будет осознана нашей молодой компьютерной элитой?
У России есть только один выход из кризиса, в обстановке которого она живет уже около десяти лет. Это - производство изделий высокой технологии (high technology), ибо они являются самыми дорогими на мировом рынке. Их нельзя купить, расплачиваясь дешевым сырьем - нефтью и газом.
У России есть основа для «атаки» на высшую технологию. Нужно лишь малое - осознание того пути, который ведет к успеху. Его начало - в фундаментальной науке.
Многие страны Юго-Восточной Азии хотели бы иметь такую основу, какую имеет Россия. Но им не хватает нашей истории, наших Петра I и Екатерины II, Лобачевского и Менделеева.
Несколько лет назад газета "Неделя" посвятила целую полосу японским промышленным роботам. Рассказывались чудеса о заводе, на котором ночью потухают огни. Роботы не нуждаются в свете, а ночью на заводе остаются только несколько дежурных.
Внизу этой полосы была небольшая врезка. Заголовок гласил: "Целебные свойства зимней спячки".
…У истоков вычислительной науки стоял молодой английский математик Алан М. Тьюринг. Перед Второй Мировой войной он побывал в Америке у тогда уже маститого Джона фон Неймана. Именем фон Неймана называют сегодняшнюю архитектуру вычислительных машин. Тьюринг не принял его любезное предложение остаться в Америке. Он вернулся в Англию и во время войны работал на оборону. Он расшифровал секретный шифр немецкой шифровальной машины, которую англичане называли Enigma - тайна. Ему самому дали эту же кличку. Он в одиночку мог проходить всю цепь «принципы-теория-приложения-высший успех». Он создал теорию вычислимости, показал, что именно можно вычислить, а что вычислить нельзя. Он начал свою научную карьеру статьей "О вычислимых числах...": (Turing A. M., On computable numbers with an application to the Entscheidungs problem, Proc. London. Math. , (2) 1936, 42(3-4) 230-265; Поправка к ней там же (2) 1937, 43 (7), 544-546).
Благодаря Тьюрингу и его последователям мы сегодня знаем, что наш привычный континуум вещественных чисел, наша заезженная числовая прямая, -Ґ<+Ґ, состоит в основном из невычислимых чисел. Вычислимые числа как бы вкраплены в этот массив. К вычислимым относятся, конечно, целые и рациональные числа, алгебраические числа (корни алгебраических уравнений с целыми коэффициентами) и некоторые трансцедентные (т. е. неалгебраические) числа, такие как число Пи и основание натуральных логарифмов - число e. Теория вычислимости - это родник, от которого берет свое начало современная Теория Сложности.
Но Алан М. Тьюринг не только основатель вычислительной науки (сomputer sсienсe), он - предтеча Искусственного Интеллекта (AI - Artificial Intelligence). Его перу принадлежит знаменитая брошюра "Может ли машина мыслить?". Он писал в ней, в частности, что если в процессах мышления играют роль основные парапсихологические явления - телепатия и ясновидение, то мы можем построить мыслящую машину только тогда, когда наука оседлает эти процессы.
Мы хотим познакомить читателя со знаменитым положением научной мысли ХХ века - с Тестом Тьюринга.
Как научная дисциплина, искусственный интеллект был основан в начале 60-х годов уже после смерти Тьюринга.
Тест Тьюринга - это экзамен машины на качество ее искусственного интеллекта, на его полную "естественность". Тест Тьюринга - это процедура, позволяющая судить о наличии "интеллекта" у того или иного "агента".
Нередко он состоит в следующем. Если мы беседуем с кем-то и не можем определить, человек это или машина, а потом выясняется что это на самом деле была машина, то мы должны признать, что эта машина мыслит.
Тест Тьюринга основан на способности человека распознавать. Когда вы на далеком расстоянии видите человеческую фигуру, вы узнаете в ней своего знакомого, хотя вы не можете видеть черты лица или детали одежды. Можно распознать человека по походке, по особенностям жестов и по многим другим признакам.
Распознавание голоса (узнавание диктора) - стандартная способность человека.
Музыканты утверждают, что они могут на слух распознать скрипку Страдивариуса.
Таким задачам распознавания сегодня обучают нейросетевые системы.
Искусственный интеллект - это удивительная область знания, в которой сделано уже так много и не сделано почти ничего. В которой сейчас идет быстрое продвижение вперед благодаря новым подходам с позиций нейроинформатики. В нескольких последующих статьях мы познакомим читателя с нейроинформатикой.
В данном случае мы стремились сделать изложение независимым от общего корпуса знаний и поддающимся компьютерной формализации.

Понятие KGU
В теории тестирования электронных модулей используется понятие KGU - Known Good Unit - заведомо Хороший Блок. Оно легко переносится на общекибернетическую ситуацию. Рассмотрим черный ящик - устройство с n-образными входами и m-бинарными выходами


Бинарный, или двоичный вход - это вход, на который могут подаваться двоичные системы, т. е. системы, принимающие два значения. В теории эти значения Q и 1. (Реже - 1 и +1).
Внутри ящика находится некая схема, структура которой может быть известной лишь частично или вообще неизвестной.
При подаче на вход черного ящика бинарного кортежа (кадана)

образует бинарный кортеж (кадан)

Иначе говоря, черный ящик действует как функция
Y = f(x),
отображающая кортеж х в кортеж y.
Мы считаем время дискретным
T = 1, 2, ..., k...
На формирование реакции у черного ящика может уходить много тактов времени, прежде чем она устанавливается. Такт времени мы будем иногда называть тиком. Число тиков, после которого происходит стабилизация выхода, может быть неизвестным, но так или иначе определяемым эмпирически или на основе тех или иных соображений.
При работе с черным ящиком ему дают «устояться», т. е. ждут какое-то время, после которого выход y становится определенным. Впрочем, выход черного ящика может зацикливаться. Этого случая мы не касаемся.
Пример. Пусть имеется небольшой англо-русский словарик. Он ограничен входным лексиконом L английских слов. Каждому английскому слову W из l словарик сопоставляет (единственное!) русское слово S. В записи

где значок (перевернутое А) читается как "любой", "всякий":
blanket - одеяло
blue - голубой
go - идти
herring - селедка
red - красный
squirrel - белка и т. д.
Английские слова записываются, конечно, английским алфавитом, русские - русским.
Мы можем построить черный ящик, отвечающий нашему словарю. Достаточно посадить в ящик человека-оператора и снабдить его текстом этого словаря. Человек по английскому слову W на входе будет подыскивать отвечающее ему русское слово S и подавать его на выход.

Но ведь ящик должен иметь бинарный выход ах, а здесь он - словарный W. Мы считаем, что читатель знаком с понятием цифрового кода и с тем, как преобразовывать буквы английского или русского алфавита в восьмибитовые кодоны и обратно. Мы считаем, что он где-то прочел описания кодовASCII и ERCDIC и знаком с их расширениями на русский алфавит.
Каждое английское слово из К букв A может быть записано как бинарный кортеж (кодон) длины 8К.

А если кому-то не нравятся наши значки

то пусть он знает, что это - буквы греческого алфавита "кси" и "эта". И пусть он выучит этот алфавит. Когда-то монахи-просветители Кирилл и Мефодий создали славянский алфавит "кириллицу" на основе греческого. Памятник этим просветителям стоит в Москве на Славянской площади.
Итак, оператор будет брать английское слово, скажем, herring, и выдавать его русский эквивалент - селедка:
herring - селедка
Оператор приискивает русский перевод, перелистывая словарь и определяя, содержится ли данное английское слово на очередной странице. Когда страница найдена, производится последовательный просмотр каждого английского слова по этой странице, пока не будет найдено нужное.
Можно считать, что перелистывание одной страницы требует одного тика, и просмотр одного слова на странице также требует одного тика.
Конечно, за шестьдесят лет развития вычислительной техники люди научились автоматизировать эту деятельность, и сегодня англо-русские словари широко распространены в компьютерной практике.
Если на вход подается слово, которого нет в данном словарике – tintinnabulation, например, – то черный ящик выдает особый русский кортеж, например, "ктожегознает" или, элегантней, "нефурычит".
Подаваемое слово может быть как осмысленным - tintinnabulation, так и бессмысленным. Хорошо бы читателю выполнить функцию черного ящика и попытаться найти по словарю это редкое словечко.
В каком из знаменитых английских стихотворений оно встречается?
Англичанину оно также знакомо, как русскому слово "багрец": "В багрец и золото одетые леса".

Коротко об авторе:
Феликс Владимирович Широков – Вице-президент Союза "Электроника России"