— Сначала составляется алгоритм.
— Что составляется? Я такого слова никогда раньше не слышал.
— Оно происходит от algorithmi (алгоризми). Так на латыни писали имя Аль-Хорезми — великого учёного родом из древнего государства Хорезм, которое находилось в Средней Азии. Этот учёный жил в IX веке.
— Ого, как давно! А чем он прославился?
— Научными трудами в самых разных областях знаний: астрономии, географии, истории. Особую известность получили его книги по математике: европейцы перевели их на латынь и несколько столетий учились по ним в университетах, как по учебникам.
— Ничего себе!
— В одном из своих сочинений, «Книге об индийском счёте», Аль-Хорезми изложил правила выполнения арифметических вычислений. Перевод этой книги начинался словами «Алгоризми сказал…». Возможно, поэтому слово «алгоритм» долгое время применялось к счёту. Но в наше время его значение расширилось, и теперь под алгоритмом понимают подробный и точный план действий, необходимых для достижения результата или выполнения задачи.
— А какой задачи?
— Любой.
— Вот это да! Интересно, как составляют такой замечательный план?
— Хочешь узнать? Давай вместе составим алгоритм… ну хотя бы…
— А можно алгоритм того, как поиграть в компьютерную игру?
— Отлично! Алгоритм будет состоять из набора действий, которые нужно пронумеровать по порядку или изобразить в виде схемы, где каждое действие записывается в прямоугольнике и стрелками показано, в каком порядке их выполнять. Если есть стрелки, действия можно не нумеровать. В начале алгоритма принято писать слово «Начало», а в конце — «Конец».
— Действие первое. Начало. Действие второе. Получить разрешение у дяди Кузи.
— Это ты правильно сообразил. В зависимости от результата на этом этапе дальше для алгоритма возможны два варианта.
— Каких?
— Первый — ты не получаешь разрешения.
— Ну, это плохой вариант, потому что на нём алгоритм закончится и я не поиграю.
— Верно, для этого варианта алгоритм закончится. Но есть и второй вариант, получше, — ты получаешь разрешение. Но не забудь: не больше тридцати минут.
— Этот вариант мне нравится. Тогда дальше так:
Третье действие. Включить компьютер.
Четвёртое. Начать игру.
Пятое. Поиграть тридцать минут.
Шестое действие. Сохранить сеанс игры.
Седьмое. Завершить игру.
Восьмое. Выключить компьютер.
И как ты сказал, дядя Кузя, обязательно слово «конец»?
— Правильно, обязательно.
— Тогда действие девять. Конец.
— Да, в этих прямоугольниках содержится настоящая инструкция. И варианты видны: там, где возможны два результата, схема разветвилась.
— Круто! Мне понравилось составлять алгоритм. А что с ним делают дальше?
— Записывают на одном из языков программирования, после чего эту запись переводят на особый, так называемый машинный язык, который понимают и исполняют машины.
— Вот это да! Машины могут понимать?!
— Раньше способности машин этим и ограничивались, но сегодня многие специалисты считают, что робот — это машина, которая воспринимает, мыслит, действует и коммуницирует, то есть взаимодействует, общается.
— Ух ты! Как же роботы этому научились?
— Чевостик, роботы не сами научились. Их научили учёные, инженеры. История таких роботов началась почти сто лет назад, в сороковых годах XX века.
— Почему именно тогда? В то время произошло что-то важное?
— Да, Чевостик. Был создан первый в мире программируемый компьютер. Правда, вычисления он производил очень медленно и был довольно большим: занимал несколько комнат…
— Ничего себе!
— Главное, что он работал. Кроме компьютера для появления «разумных» роботов нужны были исследования работы мозга, которые учёные проводили примерно в это же время.
— Но ведь это совсем разное: компьютер — машина, а мозг… он есть только у живых существ.
— Оказалось, что у них есть нечто общее. Об этом рассказал профессор математики Норберт Винер в своей книге, изданной в 1948 году.
— Правда? И что же рассказал профессор?
— Что у вычислительной машины и мозга общий принцип действия. И это подтвердилось на практике.
«Отдайте же человеку — человеческое, а вычислительной машине — машинное», — сказал Норберт Винер, чтобы подчеркнуть, что, хотя у вычислительной машины и человеческого мозга есть много общего, не стоит недооценивать их различия.
— В самом деле? Интересно, как?
— Чтобы узнать, давай перенесёмся в лабораторию английского учёного Грея Уолтера. Он с 1948 по 1951 год экспериментировал с роботами-черепашками.
— Ну вот, мы попали в обычную комнату. На стене — полка с книгами. За столом — человек в очках, с короткой острой бородкой.
— Это сам Грей Уолтер.
— Дядя Кузя, что он мастерит?
— Собирает электрическую схему робота-черепашки.
— Как интересно! А можно мне подойти поближе, чтобы рассмотреть черепашку?
— На всякий случай ступай осторожнее.
— Ага, тут на полу такой беспорядок, столько всего разбросано… Дядя Кузя, эта штука вовсе не похожа на черепашку. Скорее уж на тележку с тремя колёсиками.
— С тремя? Тогда я знаю имя этого робота: Элмер. У него было три колеса и два электродвигателя, питание к которым подавалось от аккумуляторов.
— А зачем этому роботу сразу два мотора?
— Благодаря одному он мог ехать по прямой, а другой двигатель позволял менять направление движения тележки. Управление двигателями осуществлялось с помощью особых устройств — электромагнитных реле, а впереди у робота был датчик, благодаря которому Элмер распознавал препятствия. Этот робот мог двигаться к свету и обходить различные преграды на пути, то есть Грей Уолтер научил своих черепашек реагировать на изменение окружения.
— А другие роботы этого ещё не умели?
— Нет, Чевостик. Большинство обычных роботов двигалось по заранее установленной схеме.
— Учёный закончил работу и поставил робота на пол. Потом включил лампочку в противоположном углу комнаты, но зачем-то её прикрыл. Робот стал медленно блуждать между… Ага, теперь понятно, почему по полу разбросано столько вещей, — это препятствия, которые робот объезжает. Правда, иногда он натыкается на какой-нибудь предмет, но тут же поворачивает и продолжает движение. Удивительно, как хорошо Элмер с этим справляется!
— Погоди удивляться! Самое интересное дальше.
— Вот учёный снова сделал свет ярким. Элмер сразу стал продвигаться к свету, маневрируя между препятствиями. Как медленно он ползёт! Совсем как чере… Дядя Кузя, я догадался, почему робота прозвали черепашкой, — из-за его медлительности!
— Молодец, Чевостик, правильно сообразил!
— Наконец робот добрался до лампочки и почему-то принялся ползать вокруг.
— Думаю, у него разрядился аккумулятор и он пытается подзарядиться. Так и есть! Элмер подключился к розетке для зарядки аккумуляторов.
— Ну и дела, робот искал своё электропитание, совсем как живой.
— Ты тоже заметил сходство?! О том, что механизмы Уолтера повторяют поведение животных, говорил и Норберт Винер.
— Который написал в своей книге, что работа компьютера и мозга похожи?
— Да! В этой же книге Винер заявил о возникновении новой науки — кибернетики. В ней соединились знания и методы многих наук: математики, логики, биологии, нейробиологии…
— Дядя Кузя, не торопись, объясни, что изучает нейробиология?
— Конечно, Чевостик. Нейробиология — наука о нервной системе человека и животных, её устройстве и работе.
— Теперь с ней всё ясно. А вот что за наука кибернетика, непонятно.
— Кибернетика занимается процессами управления и связями в машинах и живых организмах. Книга Винера так и называлась: «Кибернетика, или Управление и связь в животном и машине». Учёный показал, что процессы управления и в машинах, и у живых организмов подобны и представляют собой процессы сбора, хранения и переработки информации (например, в виде сигналов или сообщений).
— Но ведь информация может быть совсем разной. Например, в одном случае — «я хочу яблоко», а в другом — «на улице дождь».
— Чевостик, Винер понял, что процессы управления не зависят от конкретного содержания информации, благодаря этому их можно представлять в виде схем и моделировать, иначе говоря, воспроизводить в компьютерах.
— Какое полезное и замечательное открытие! Благодаря ему можно делать «разумных» роботов. Жалко, что тогда компьютеры были слишком большими.
— Постепенно и эту проблему решили. Уже в наше время были созданы совсем крохотные, но очень мощные компьютеры. Благодаря им роботы получили возможность обучаться — и обрели интеллект.
— А что такое интеллект?
— Если совсем просто, это способность понимать, обучаться, познавать и решать задачи, используя свой опыт.
— Так вот откуда у нас столько умных машин!
— Современные роботы умеют выполнять задачи, которые раньше были под силу только человеку, например распознавать человеческие лица и голоса, приспосабливаться и принимать решения в зависимости от ситуации.
— Дядя Кузя, а вдруг робот примет неправильное решение и навредит человеку?
— Об этом люди уже давно задумывались. В 1949 году известный писатель-фантаст Айзек Азимов придумал три правила, так называемые три закона робототехники, которые необходимо закладывать в сознание роботов.
— Интересно, какие? Расскажи.
Составь свой алгоритм. Например, запиши на листе бумаги, какие действия нужны, чтобы надеть носки. Проверь, правильный ли алгоритм у тебя получился. Теперь разрежь листок так, чтобы каждое действие оказалось на отдельной полоске. Перемешай полоски и попытайся заново выложить все действия в нужной последовательности. Как думаешь, если твой алгоритм дать роботу, у него получится надеть носки? Если нет, то почему?
— Ого! Думаю, если учёные смогут научить роботов выполнять эти правила, то всё будет в порядке.
— Согласен. Но я хочу показать тебе ещё одного удивительного робота, и для этого мы заглянем в одну из школ в Японии. Включаю времяскок.
— Ой, мы попали прямо на урок. Учительница объясняет что-то у доски, а ученики — мальчики и девочки — слушают её, сидя за партами. Учительница задала вопрос, и ребята сразу опустили глаза, уткнулись носом в книжки. Дядя Кузя, это же обыкновенные дети и обыкновенная учительница! О, звенит звонок на перемену. Ну вот, урок закончился, и никакого робота здесь нет.
В голове у робота-учительницы скрыты датчики, провода, маленькие моторчики, гибкие трубки, называемые воздушными мышцами, которые при подаче воздуха сокращаются, как мышцы на человеческом лице. Благодаря им робот может копировать мимику человека.
— Ошибаешься, ты просто не понял, что это робот.
— Как же так?! Кто же в классе мог быть роботом? Неужели… дядя Кузя, это учительница?!
— Молодец, сообразил. Думаю, создателей этого робота можно поздравить, потому что у него есть шанс пройти тест Тьюринга.
— Это что такое?
— В 1950 году английский учёный Алан Тьюринг описал, как определить, является ли машина разумной.
— И как это сделать?
— Если человек, общаясь с машиной, но не видя её, не догадается, что говорит с машиной, значит, она разумна.
— Этот робот точно пройдёт тест. Я его видел и всё равно не сразу понял, что к чему. Наверное, это лучший андроид в мире, — учительница так похожа на человека! Она даже улыбалась как человек.
— И ничего удивительного. Уже есть роботы, которые умеют смеяться, хмуриться или плакать, правда, в большинстве случаев это лишь имитация.
— Мне это слово непонятно, расскажи, что это такое.
— Слово «имитация» происходит от латинского imitatio и означает «подражание». Я употребил его, потому что роботы пока не испытывают чувств, а лишь изображают их, чтобы людям было с ними комфортнее, то есть удобнее. Чевостик, куда ты?
— Я сейчас! Я хочу поближе… Ну вот, напрасно ты волновался: я уже вернулся. Дядя Кузя, я потрогал руку робота-учительницы: с виду она совсем как человеческая, но на ощупь холодная и… неживая.
— Естественно, ведь это искусственная кожа. Она сделана из современного материала, который называется силиконом.
— А что под ней?
— Такие же стержни, трубки, моторчики, как и у роботов, которых мы видели раньше.
— Дядя Кузя, а лицо? Как учительница улыбалась?
— Под силиконовой кожей робота-андроида находятся гибкие трубки с воздухом, которые имитируют работу мышц на лице человека. В зависимости от давления воздуха такие мышцы укорачиваются или удлиняются, и уголки рта приподнимаются или, наоборот, губы строго сжимаются.
— А как двигались её глаза?
— Благодаря двум моторчикам: они управляли движениями.
— Ух ты! А волосы?
— Это парик, Чевостик.
— Дядя Кузя, а как учительница-робот разговаривала с учениками?
— За речь андроида отвечает особое устройство — голосовой синтезатор. А слышит робот с помощью датчиков, похожих на чувствительные микрофоны. Ещё этот андроид может распознавать выражения лиц и делает многое другое, совсем как человек.
— И как же у него это получается?
— Всем управляет компьютерный блок. Постараюсь объяснить попроще. Компьютерный блок робота получает сигналы от самых разных датчиков, камер, производит моментальные вычисления и по их результатам посылает команды всем устройствам и механизмам.
— Наверное, такого робота очень сложно сконструировать?
— Такого — да. Над его созданием трудилась целая группа инженеров и учёных. Но есть роботы, которых делают обыкновенные школьники.
— Школьники? Правда?!
— Сейчас ты сам убедишься. Для этого мы отправимся на соревнования роботов в московский клуб спортивной робототехники. Приготовься, включаю времяскок.