Древо компьютерных наук

Э.М. Пройдаков ДРЕВО КОМПЬЮТЕРНЫХ НАУК

Ключевые слова: науковедение, вычислительная техника, ИКТ, информационные технологии, компьютерные науки, робототехника, классификация компьютерных наук.

Keywords: science of science, computer facilities, ICT, information technology, computer sciences, robotics, classification of computer sciences.

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

Abstract: As a result of development of information-communication technologies (ICT) on the basis of a number mathematical and engineering sciences the powerful scientific field was formed which has in turn generated set of adjacent scientific field and disciplines. In article attempt to designate these directions and their interrelations is made.

Существует утверждение, что все науки можно разделить на компьютерные и некомпьютерные (noncomputer science). Некомпьютерные науки - науки, в которых не изучаются вопросы, связанные с компьютерными дисциплинами. Тенденция такова, что число некомпьютерных наук растет значительно медленнее, чем компьютерных.

Часто говорят о кибернауке (cybescience), подразумевая при этом, что она отличается от традиционной науки (traditional science) тем, что широко использует ИКТ и сетевые сервисы для научных

целей. Аналогично говорят о компьютерном и некомпьютерном образовании. Однако это, скорее, некоторая гиперболизация роли ИКТ в научном познании и предмет спекуляций.

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

Компьютерные науки (computer science, CS) - общее название для совокупности дисциплин, связанных с конструированием компьютеров и их использованием в процессе обработки информации. Компьютерные науки объединяют теоретические и практические аспекты многих наук, таких как электроника, программирование, математика, искусственный интеллект, человеко-машинное взаимодействие, конструирование ЭВМ и др. Сюда входят много направлений, одни из которых ставят во главу угла конкретные результаты (пример - компьютерная графика, computer graphics), другие - свойства вычислительных задач (пример - теория сложности вычислений, complexity theory), а третьи фокусируются на проблемах реализации вычислений. Так, теория языков программирования (programming language theory) изучает подходы к описанию вычислений, а программирование для компьютеров (computer programming) предусматривает применение конкретных языков программирования для решения конкретных задач. В целом компьютерные науки относятся к физическим наукам.

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

В Российской академии наук (РАН) в конце концов было принято, что «компьютерным наукам» соответствует термин «информатика», однако я его не использую из-за того, что ранее он довольно долго толковался иначе, а также из-за его перегруженности другими смыслами.

Базис компьютерных наук

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

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

- численный анализ (numerical analysis) - научное направление, изучающее алгоритмы решения задач непрерывной математики (в отличие от дискретной математики, discrete mathematics). Некоторые из этих задач связаны непосредственно с линейной алгеброй, решением дифференциальных уравнений, а также с физическими науками и инженерными дисциплинами;

- теория вероятностей (probability theory) и математическая статистика;

- теория массового обслуживания (queueing theory, queuing theory) - область прикладной математики, использующая методы теории вероятностей и математической статистики;

- теория игр (game theory);

- исследование операций (operations research, OR) - научная дисциплина, исследующая с помощью методов математического моделирования такие проявления человеческой активности, как, например, военные операции (действия);

- теория множеств (set theory);

- теория квантификации (quantification theory) - формальная система логики, известная также под названием «исчисление предикатов» (predicate calculus); языки логического программирования;

- теория чисел (number theory) и др.

К этому следует добавить сравнительно новые направления, такие как:

- теория информации (information theory) - научная дисциплина, основоположником которой является Клод Шеннон (Claude Shannon), опубликовавший незадолго до Второй мировой войны статью «A mathematical theory of communication». Теория информации задает количество информации, которое может быть переслано от передатчика к приемнику, как функцию уровня шума (noise level) и другие характеристики среды;

- теория автоматов (automata theory) - научная дисциплина, занимающаяся изучением абстрактных вычислительных устройств, или «машин». Зародилась в 1930-е годы с работ А. Тьюринга. На базе теории автоматов начали развиваться теория сложности вычислений (complexity theory) и математическая лингвистика (mathematical linguistics);

- теория алгоритмов (theory of algorithms) - математическая дисциплина, изучающая алгоритмы и их общие свойства;

- алгоритмика (algorithmics) - научная дисциплина, занимающаяся изучением алгоритмов, их правильности, сложности и эффективности, другое ее название - анализ алгоритмов (algorithm

analysis); у нас эта дисциплина часто также именуется «алгоритмы и структуры данных».

Технические науки:

- автоматика (automation) - научное направление, изучающее принципы построения автоматических систем;

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

В свою очередь, электроника сама делится на множество направлений, например:

- микроэлектроника (microelectronics) - раздел электроники, занимающийся разработкой и применением микросхем;

- молекулярная электроника (molecular electronics) - системы с электронными устройствами, выполненными на молекулярном уровне;

- наноэлектроника (nanoelectronics) - направление нанотех-нологий по созданию новой элементной базы для компьютеров;

- биоэлектроника (bioelectronics) - раздел электроники, посвященный вопросам ее использования в интересах биологии и медицины;

- оптоэлектроника (optoelectronics) - научно-техническое направление, занимающееся созданием оптоэлектронных устройств.

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

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

Основные составляющие компьютерных наук

К основным составляющим следует отнести: программирование (computer programming), конструирование компьютеров (computer engineering), искусственный интеллект (artificial intelligence), компьютерную графику (computer graphics) и робототехнику (robotics). Ниже каждая из этих ветвей рассмотрена подробно.

Программирование. Программирование (computer programming, или software engineering) - у нас эта дисциплина называется программотехника, или инженерия разработки программного обеспечения (ПО). Программотехника - прикладная наука, занимающаяся оптимизацией и повышением эффективности разработки ПО; совокупность научно обоснованных методов проектирования (анализа), разработки, внедрения и сопровождения ПО. Термин появился в середине 1960-х годов и стал широко использоваться в начале 1970-х годов.

Термин «инженерия разработки ПО» (software engineering) -также появился в середине 1960-х годов и уже стал популярным на весьма значимой конференции NATO по программированию в 1968 г. в Германии. В этой дисциплине выделяют:

- программотехнику приложений, инженерию разработки приложений (application engineering) - т.е. методологию создания приложений, состоящую из трех основных этапов: анализ, проектирование и реализация;

- программотехнику предметной области (domain engineering, product line engineering) - методологию применения знаний конкретной предметной области для создания новых программных систем.

Последняя концепция является ключевой для обеспечения возможности систематического повторного использования ПО (software reuse).

Процесс идентификации предметных областей, определения их границ, выявления общностей и различий между системами конкретной предметной области называется анализом [ПО] предметной области (domain analysis). Результатом подобного анализа являются модели, на основе которых можно эффективно и экономично создавать новые системы и приложения этой предметной области. Программотехника предметной области, подобно программотехнике приложений (application engineering), состоит из трех основных этапов: анализ, проектирование и реализация, но ее цель - создание не одного отдельного приложения, а целого семейства систем данной области.

По направлениям разработка ПО делится на множество ветвей, из которых выделим:

- разработку программного обеспечения (computer programming);

- теорию языков программирования (programming language theory);

- параллельные вычисления (parallel computing);

- распределенные вычисления (distributed computing) - сюда входят GRID- и облачные вычисления;

- операционные системы (operating system);

- базы данных (DBMS).

Из новых направлений сюда добавились «интеллектуальный анализ данных» и «хранилища данных».

Интеллектуальный анализ данных, извлечение информации (из данных), добыча данных (data mining, DM) - технология анализа хранилищ данных с целью выявления скрытых правил и закономерностей в наборах данных, базирующаяся на методах ИИ и инструментах поддержки принятия решений. В частности, сюда входит нахождение определенных паттернов, трендов, корреляций и коммерчески полезных зависимостей. Этот анализ может выполняться автоматически (automatic data mining) либо интерактивно. Автоматические, или машинные, методы интеллектуального анализа данных - это методы поиска зависимостей между данными с помощью чисто аналитических подходов с использованием генетических алгоритмов, нейронных сетей и экспертных систем. Интерактивные методы базируются на научном направлении, получившем название «визуальный анализ данных» (visual data mining). Для решения конкретной задачи существует проблема выбора метода, который даст лучшие результаты, а также способа представления их в оптимальной для восприятия пользователем форме.

Хранилища данных (data warehouse, DW) - отдельное направление, занимающееся организацией громадных баз данных для целей их интеллектуального анализа.

Анализ неструктурированных данных (text mining) - практически важное направление исследований, связанное с широким распространением Интернета.

Оперативная обработка транзакций (online transaction processing, OLTP) - вид управления базами данных, связанный с выполнением транзакций в режиме реального времени.

В мире существует более 4000 поисковых систем, и это предмет научных разработок в нескольких областях.

Оперативный анализ данных, онлайновая аналитическая обработка (данных) (OLAP, online analytical processing) - оперативный анализ данных для поддержки принятия важных решений. Исходные данные для анализа представлены в виде многомерного куба, можно получать его нужные разрезы - отчеты. Выполнение операций над данными осуществляется OLAP-машиной. По спо-

собу хранения данных различают MOLAP, ROLAP и HOLAP. По месту размещения OLAP-машины различаются OLAP-клиенты и OLAP-серверы. OLAP-клиент производит построение многомерного куба и вычисления на клиентском ПК, а OLAP-сервер получает запрос, вычисляет и хранит агрегатные данные на сервере, выдавая только результаты. Термин OLAP был предложен Е. Коддом (E.F. Codd) в 1993 г. вместе с 12 правилами для реляционных СУБД.

Конструирование компьютеров. Конструирование компьютеров (вычислительных машин) по-другому называется проектированием ЭВМ. Эта дисциплина занимается вопросами архитектуры и методами разработки компьютеров, вычислительной техники (computer engineering). Составной частью проектирования ЭВМ являются научные дисциплины «архитектура компьютеров», «устройство компьютеров» и «теория параллельных систем».

Архитектура компьютеров (вычислительных систем) (computer architecture) - дисциплина, занимающаяся внутренней организационной структурой компьютеров (вычислительных систем), включая потоки и представление данных, интерфейсы (организацию ввода-вывода), набор команд, системы адресации, регистры, аппаратное и программное обеспечение. Более глубокие уровни детализации данной научной дисциплины относятся к термину «устройство компьютера». Термин введен корпорацией IBM при создании семейства совместимых ЭВМ System/360.

Устройство компьютеров (computer organization) - научная дисциплина, которая рассматривает компьютер как иерархическую совокупность уровней аппаратуры и ПО, каждый из которых реализует некоторую функциональность. Родственное ему понятие «архитектура компьютеров» главным образом касается структуры и взаимодействия его аппаратных и программных частей.

Теория параллельных систем (parallel systems theory) - направление, приобретающее все большую актуальность, по мере того как развитие компьютерных систем направилось в сторону суперкомпьютеров, многоядерности и кластерной организации.

Поскольку за 70 лет существования вычислительной техники накопилось большое разнообразие видов компьютеров, то каждый из них порождает и соответствующую область знаний. Ниже дана краткая классификация видов компьютеров:

- аналоговые компьютеры;

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

мобильные компьютеры, микроконтроллеры, системы на кристалле (SoC));

- гибридные компьютеры (цифро-аналоговые);

- нейрокомпьютеры;

- генетические компьютеры;

- квантовые компьютеры (quantum computing theory).

Искусственный интеллект. Искусственный интеллект (artificial intelligence, AI, ИИ) - междисциплинарное направление научных исследований и понятие, используемое в связи с разработкой интеллектуальных компьютерных систем, таких направлений, как экспертные системы, автоматическое доказательство теорем, распознавание образов, машинное зрение, робототехника, понимание естественных языков и др., т.е. систем, обладающих возможностями, которые мы традиционно приписываем человеческому разуму, - хранить знания и эффективно их применять. Термин ввел разработчик языка «Lisp» Джон Маккарти (John McCarthy) летом 1956 г. на конференции в Дартмутском колледже (шт. Нью-Гемпшир) вместо предложенного в 1950 г. Аланом Тьюрингом термина «computer intelligence» (компьютерный интеллект). Современный ИИ делится на множество различных направлений, из которых два стратегические - прикладной, или слабый, ИИ (applied AI) и сильный ИИ (strong AI).

Прикладной ИИ - изучает использование компьютеров и ПО для исследования возможностей решения (или для решения) конкретных научных задач, которые не выходят за рамки познавательных способностей человека. Большинство современных систем ИИ относятся к этой категории. Синонимами к этому термину являются «узкий» (ограниченный) ИИ (narrow AI) и «слабый» ИИ (weak AI).

Сильный ИИ - направление в развитии ИИ (AI, artificial intelligence), ставящее своей целью создание искусственного интеллекта, сравнимого с интеллектом человека или превосходящего его; компьютер с сильным ИИ должен быть в состоянии решать любую интеллектуальную задачу, которую способен решить человек. Это тема также оказалась любимой для авторов научно-фантастической литературы и футуристов. Сильный ИИ называют также искусственным общим интеллектом (artificial general intelligence, AGI) или способностью решать любые интеллектуальные задачи (general intelligent action, GIA).

Машинное зрение, техническое зрение (computer vision) -направление ИИ, занимающееся обработкой и распознаванием динамических изображений реальной действительности.

Анализ изображений (image analysis, image understanding) -область научных исследований, находящаяся между обработкой изображений (image processing) и машинным зрением (computer vision). В ней занимаются идентификацией объектов на введенном в компьютер изображении (фотографии или движущемся видео). Эта область исследований требует высокой вычислительной мощности и сложных алгоритмов.

К ИИ традиционно относят распознавание образов и распознавание изображений.

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

Здесь нельзя не упомянуть о научном направлении, которое не является прямой ветвью ИИ, но широко пользуется его методами, - это «искусственная жизнь».

Искусственная жизнь (artificial life, AL, A-life, ALife) - научная дисциплина, которая создает и изучает компьютерные модели живых организмов или синтетических систем, по своему поведению похожих в определенных аспектах на естественные живые биологические системы. Задача такого исследования - найти основные принципы организации живых систем на Земле и в других мирах. Как направление исследований «искусственная жизнь» сформировалась с 1986 г. на базе биологии, физики, химии и математики. Термин ввел Крис Лангтон (Crith Langton). В AL различают два больших направления - жизнь, какой она может быть (Life-As-It-Could-Be), и жизнь, какой мы ее знаем (Live-As-We-Know-It). Жизнь, какой она может быть, AL рассматривает как жизнь, синтезированную в искусственной среде, а также проводит исследования над искусственными моделями биологического феномена. Методы и алгоритмы искусственной жизни могут помочь развитию теоретической биологии, а также находят применение в

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

К другим относятся следующие направления ИИ.

Машинный (автоматизированный) поиск логического вывода (automated reasoning) в ИИ - одно из направлений машинного доказательства теорем (доказательство истинности некоторого утверждения исходя из декларированного множества аксиом).

Обучение машин (machine learning, ML) - направление ИИ, обобщающее результаты и идеи, связанные с нейросетевыми вычислениями, эволюционными и генетическими алгоритмами, нечеткими множествами и др. Термин ввел K. Samuel в 1963 г. Данное направление позволяет автоматически получать набор правил и аксиом на основании входящей информации.

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

Эволюционные вычисления, ЭВ (evolutionary computation, evolutionary computing) в ИИ - класс методов вычислений, использующих для нахождения оптимального решения принципы теории эволюции. К нему, в частности, относятся генетические алгоритмы (genetic algorithm) и генетическое программирование (genetic programming), эволюционное программирование (evolutionary programming), эволюционные стратегии (evolution strategy), автономное и адаптивное поведение компьютерных приложений и робототехни-ческих устройств и др. На развитие направления оказали большое влияние инвестиции в нанотехнологии, так как ЭВ затрагивают практические проблемы самосборки, самоконфигурирования и самовосстановления систем, состоящих из множества одновременно функционирующих устройств.

Генетические алгоритмы (genetic algorithm) - класс эвристических алгоритмов оптимизации и поиска, базирующихся на принципах генетики и естественного отбора (natural selection), являются разновидностью эволюционных вычислений (evolutionary computation). Суть GA заключается в перемешивании (рекомбинации, recombination) наиболее перспективных («выживших») вариантов решений из некоторого первоначального случайного набора. При этом получается следующее поколение вариантов. Периодически для моделирования мутаций (mutation) в наборы случайным образом вносятся изменения, например производится «скрещива-

ние» (crossover) вариантов. Многократное повторение этого процесса в сочетании с процессом отбора (selection) лучших вариантов рассматривается как имитация процесса эволюции, что в ряде случаев позволяет найти эффективное решение задачи. Теоретические основы GA разработал Джон Холланд (John Holland) в 1975 г.

Генетическое программирование (genetic programming, GP) -программирование с использованием генетических алгоритмов и генетических операторов, таких как скрещивание, мутация и отбор. Понятие GP сформулировал Джон Коза (J.R. Koza) в своих работах 1992-1994 гг. Направление изучает в том числе и гибридные генетические алгоритмы (hybrid genetic algorithm) - генетические алгоритмы (genetic algorithm), объединенные с другими методами оптимизации.

Эволюционное программирование (evolutionary programming) в ИИ - попытка разработки ПО с применением принципов теории эволюции.

Компьютерная графика. Компьютерная графика (computer graphics, CG, КГ, устаревшее название - машинная графика) - общий термин, обозначающий одно из трех направлений обработки изображений с помощью компьютеров. Два других направления: собственно обработка изображений (image processing) и распознавание изображений (image recognition). Задача КГ - применение компьютеров для синтеза видимых изображений, т. е. для визуализации, а также для интеграции и/или обработки визуальной и пространственной информации, собранной с объектов реального мира. Саму КГ можно подразделить на несколько направлений: трехмерная визуализация реального времени (часто используется в компьютерных играх), анимация, визуализация вводимых или генерируемых видеоизображений, создание специальных эффектов (используется для кино- и телефильмов), визуальное моделирование (используется для научных, инженерных и медицинских целей).

Обработка изображений (image processing) - изучает любые комплексные программные и/или аппаратные операции по компьютерной обработке (преобразованию) изображений, например повышение четкости, коррекция цветов, сглаживание, уменьшение шумов и т. д.

Распознавание изображений (image recognition) - дисциплина, занимающаяся идентификацией объектов на введенном в компьютер изображении. Этот процесс начинается с обработки изображения, выделения линий, контуров и областей текстур. Он является частью более общей дисциплины «распознавание образов».

Компьютерная мультипликация, или компьютерная анимация, - наука, технология и искусство создания движущихся видеоизображений при помощи компьютеров, раздел компьютерной графики и анимации (КГА). Обычно при этом используется трехмерная графика (3D graphics). Синоним - computer generated imagery (CGI).

Робототехника. Робототехника как наука состоит из следующих направлений.

Робототехника (robotics) - междисциплинарное направление научных исследований и инженерных разработок, направленное на создание и изучение различных классов роботов. Термин ввел в 1950 г. американский писатель и ученый Айзек Азимов (Isaac Asi-mov) в небольшом рассказе, опубликованном в 1942 г. Более известен его научно-фантастический роман «I, Robot» (Я, робот) (1950 г.), в котором он сформулировал три знаменитых закона робототехники.

Микроробототехника (microrobotics) - занимается разработкой сверхминиатюрных робототехнических устройств.

Наноробототехника (nanorobotics) - направление исследований, ставящее целью создание нанороботов - устройств размером в единицы и десятки нанометров, которые смогут самостоятельно манипулировать отдельными атомами вещества. Переставляя атомы, нанороботы смогут самовоспроизводиться, создавать из произвольного материала любые предметы или существа. Нанороботов условно разделяют на два вида: ассемблеры (сборщики) - способные конструировать что-либо, в том числе и новых нанороботов, и дизассемблеры - способные разбирать молекулярные структуры. Отмечу, что с другой стороны наноробототехника входит в нано-науки, науки о наномире (nanoscience).

Персональная робототехника (personal robotics) - ставит своей целью создание персональных небольших, недорогих, простых и удобных в использовании роботов. Это может быть, например, специальный вибротактильный костюм, с помощью которого можно обучить человека двигательным навыкам или ускорить выздоровление пациентов, которые проходят реабилитацию после различных неврологических травм, либо универсальный личный слуга-гуманоид (humanoid robot, personal robot).

Бытовая робототехника (home robotics) - направление робототехники, целью которого является создание домашних роботов.

Медицинская робототехника (medical robotics) - направление робототехники, целью которого является создание медицинских роботов.

Планетарная робототехника (planet exploration robotics) -создание роботов для исследования планет.

Военная робототехника (military robotics) - занимается развитием БПЛА (UAV), НМР (UGV) и морских роботов (UMS) военного назначения.

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

БПЛА - беспилотный летательный аппарат (UAV, unmanned aerial vehicle) - класс роботов, активно развивающийся в настоящее время, в основном для военных применений. Среди военных БПЛА могут быть выделены тактические БПЛА (tactical unmanned aerial vehicle, TUAV), малые БПЛА (small unmanned aircraft system, SUAS), малые тактические БПЛА (small tactical unmanned aircraft system, STUAS) и сверхмалые БПЛА (MAV).

НМР - наземный мобильный робот (unmanned ground vehicle, UGV) - автоматически управляемое (роботизированное) наземное транспортное средство. Среди военных НМР различают тактические НМР (tactical unmanned ground vehicle, TUGV) и малые НМР (small unmanned ground vehicle, SUGV), а также роботизированные транспортные средства для эвакуации раненых (robotic evacuation vehicle, REV).

Морской робот (unmanned maritime system, UMS) - автоматически управляемое (роботизированное) морское транспортное средство; роботы этого класса (в основном военного назначения) делятся на надводные и подводные (UUV).

Телеробототехника (telerobotics) - направление робототехники, целью которого является создание телероботов (роботов, дистанционно управляемых телеоператором). Применяется в работе МЧС, МО и др.

Промышленная робототехника (industry robotics) - направление робототехники, целью которого является создание промышленных роботов, разновидностей которых очень много (industrial robot). Для того чтобы можно было представить это многообразие, достаточно посмотреть список признаков, по которым классифицируются промышленные роботы (табл. 1).

Эволюционная робототехника (evolutionary robotics) изучает методы эволюционных вычислений (evolutionary computation) для разработки искусственных нервных систем роботов.

Полевая робототехника (field robotics) занимается исследованиями и созданием автономных подвижных роботов для выпол-

нения тех или иных работ в естественных, иногда (часто) экстремальных условиях.

Биометрическая робототехника (biometric robotics) занимается исследованиями и созданием роботов с биометрическими возможностями, например с реакцией на прикосновения.

Таблица 1

Классификация промышленных роботов1

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

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

По системе координат руки манипулятора прямоугольная, цилиндрическая, сферическая, сферическая угловая

По числу подвижностей манипулятора

По грузоподъемности сверхлегкие

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

По подвижности основания мобильные, стационарные

По виду программы с жесткой программой, перепрограммируемые, адаптивные, с элементами искусственного интеллекта

По характеру программирования позиционное, контурное, комбинированное

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

1 Список признаков взят на сайте: http://www.hi-robotics.ru/poleznoe/klas-sifikaziya_promishlennih_robotov.html

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

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

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

Взаимодействие человека с роботом (людей с роботами) (human-robot interaction, HRI) - многодисциплинарная область современных научных исследований, включающая методы и средства таких направлений, как человеко-машинное взаимодействие (HCI), искусственный интеллект (artificial intelligence), робототехника (robotics), понимание естественных языков (natural language understanding) и социология (social science). Так как данное направление активно развивается, то его новые ветви возникают ежегодно.

Межднсцнплннарные науки, связанные с ИКТ

Человеко-машинное взаимодействие (HCI, human-computer interaction) - научная дисциплина, изучающая мотивацию человеческого поведения при работе с компьютерными системами. Она объединяет в себе работы в области компьютерных наук (computer science), антропологии, социологии, эргономики и психологии; служит основой для проектирования интерфейсов пользователя.

Символьная математика, символьные вычисления (symbolic mathematics, symbolic computing, symbolic computation). К ним относятся как решение на компьютере математических задач в символьном (аналитическом), а не в числовом виде (компьютерная

алгебра), так и работа программ из области ИИ с нечисловыми данными.

Обратная инженерия (reverse engineering, reversing) - анализ, разбор (расшифровка) конструкции, структуры, построения программного или аппаратного изделия, восстановление структурной схемы и алгоритма работы, проектирование по готовому образцу, воспроизведение недокументированного изделия - разработка методов и инструментов для систематического разбора программы (восстановления ее исходного текста и структуры) или микросхемы для изучения алгоритмов ее работы с целью имитации или повторения некоторых или всех ее функций в другой форме или на более высоком уровне абстракции, снятия защиты, изучения алгоритмов, целей информационной безопасности, добавления новых возможностей, восстановления протоколов или исправления ошибок и др. Чаще всего термин используется применительно к ПО (software reverse engineering). Здесь различают обратную инженерию по двоичным кодам (binary) и по данным (data). Широко используется в современной индустрии в виде чистого и скрытого копирования.

Информационная безопасность (information security) - научное направление, объединяющее в себе все виды защиты данных в системах, основанных на компьютерных технологиях. В значительной степени она базируется на криптологии и биометрии.

Криптология (cryptology) - наука о создании и анализе систем безопасного хранения и передачи информации по открытым каналам. Термин используется для обозначения всей области секретной связи, происходит от слов «cryptos» - тайный и «logos» -сообщение. Дисциплина делится на три направления: криптографию (cryptography), стеганографию (steganography) и криптоанализ (cryptoanalysis).

Биометрия (biometrics, biometry) - прикладная область знаний, занимающаяся разработкой совокупности способов автоматической верификации и идентификации пользователя (для защиты от несанкционированного доступа) при входе в компьютерную систему по биологическим свойствам (признакам) тела человека. Идентификационными биологическими признаками являются его индивидуальные особенности, называемые биометрическими характеристиками. Биометрическая идентификация и аутентификация заключается в считывании одного или нескольких биометрических признаков пользователя и их сравнении с предварительно полученными шаблонами. Осуществляется по отпечаткам пальцев (fingerprints), сетчатке или радужной оболочке глаз (iris recognition),

геометрии руки (hand geometry), подписи (signature verification), внешнему виду (face recognition) или голосу (voice verification), термограмме лица (схеме кровеносных сосудов), фрагменту генетического кода (genetic code) и т.д. либо по поведению (behavioral characteristics), например по форме и способу выполнения подписи. В зависимости от вида используемых биологических признаков биометрические системы делятся на статические и динамические: первые используют данные, получаемые при измерении анатомических особенностей человека, а вторые осуществляют анализ совершаемых человеком действий.

Широкое внедрение вычислительных методов породило множество синтетических научных дисциплин под общим названием научные вычисления (scientific computing). Сюда относятся следующие дисциплины.

Биоинформатика (bioinformatics) - научная дисциплина, объединяющая молекулярную биологию (molecular biology), клиническую медицину (clinical medicine), биохимию, компьютерные науки (computer science), математику и другие имеющие влияние на все области биологии науки с целью изучения живых систем. В строгом смысле биоинформатика - это изучение того, как информация представлена и передается в биологических системах, начиная с молекулярного уровня. Поскольку биоинформатика - это наука, требующая сбора, обработки, анализа и пересылки громадных объемов данных, она на практике часто отождествляется с вычислительной биоинформатикой (computational bioinformatics). С ростом объемов накопленных биологических данных значимость данного направления постоянно растет. Следует также перечислить здесь вычислительную биологию (computational biology), вычислительную нейробиологию (computational neuroscience, моделирование работы мозга), вычислительную химию (computational chemistry), вычислительную биохимию (computational biochemistry), вычислительную лингвистику (computational linguistics, частично относится к ИИ), вычислительную психологию (computational psychology), вычислительную (компьютерную) геометрию (computational geometry, наука, занимающаяся разработкой алгоритмов преобразования геометрических объектов), вычислительную физику (computational physics, изучает компьютерные методы решения задач физики, возникающих в различных ее областях, в том числе таких современных, стремительно развивающихся областях, как биофизика, теория открытых систем, нелинейная динамика).

Среди вопросов, связанных с построением древа компьютерных наук, нельзя обойти стороной вопрос: «Как быть с кибернетикой (cybernetics)?». Исторически возникло разное понимание содержания этой дисциплины в СССР и на Западе. К кибернетике в СССР всячески пытались причислить вычислительную технику (в лучшем случае это называлось «техническая кибернетика») и все с нею связанное. Чтобы избежать спекуляций, считаю, что следует принять западное понимание кибернетики как науки об управлении в сложных системах. В этом случае кибернетика не будет считаться компьютерной наукой.

Заключение

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