Процесс создания искусственного интеллекта сложен. Разные проекты требуют различных уровней знаний: от глубоких познаний в области ИИ до знания лишь языка программирования. Главный вопрос для программиста – выбор языка для программирования ИИ.
Языки программирования для ИИ
Lisp: Первый язык, применяемый для создания ИИ. Гибкий и расширяемый, быстрое прототипирование и макросы очень полезны при разработке ИИ. Превращает сложные задачи в простые, обладает мощной объектно-ориентированной системой.
Java: Многофункциональный язык, преимуществами которого являются прозрачность, переносимость и удобство сопровождения. Универсальность Java привлекательна для новичков благодаря обилию обучающих материалов. Отличается лёгкой отладкой, хорошим взаимодействием с пользователем, простотой работы с большими проектами и привлекательным интерфейсом.
Prolog: Интерактивный символический язык, популярный для проектов, требующих логики. Его мощная и гибкая основа широко применяется для численного программирования, доказательства теорем, обработки естественного языка, создания экспертных систем и ИИ в целом. Является декларативным языком с формальной логикой, ценным за высокий уровень абстракции, встроенный механизм поиска и детерминизм.
Python: Популярен благодаря чистой грамматике и синтаксису, приятному дизайну, различным структурам данных, множеству фреймворков, удобству тестирования и хорошему соотношению высокого и низкого уровней программирования.
История языков в ИИ
В 1961 году был создан Unimate – первый серийный промышленный робот, использовавшийся General Motors. Для его создания применялся язык VAL, состоящий из простых фраз, команд монитора и инструкций.
Система ИИ DENDRAL (1965 год), помогавшая определять молекулярную структуру органических соединений, была написана на Lisp.
В 1966 году Joseph Weizenbaum создал ELIZA – виртуального собеседника. Известная модель «доктор» отвечала на вопросы в стиле психотерапевта. ELIZA была реализована с использованием техники сопоставления образцов. Первая версия была написана на SLIP (язык обработки списков), позже переписана на Lisp.
Первый мобильный робот, запрограммированный на Lisp, – Shakey. Решая задачи с помощью программ, датчиков и логики, он двигался, включал и выключал свет, поднимался и опускался, открывал и закрывал двери, толкал предметы. Скорость Shakey составляла 5 км/ч.
Сейчас существует несколько языков программирования для создания ИИ. Выбор зависит от конкретных задач проекта и уровня знаний разработчика.