Рубріки: Истории

«Отец искусственного интеллекта»: как Джон МакКарти учил компьютеры здравому смыслу

Вікторія Пушкіна

Продолжаем серию статей о ярких именах в компьютерной науке (до этого мы уже писали о гение-самозванце Деннисе Ритчи и первых программистках ENIAC). Герой этого материала — Джон МакКарти. Этот человек дал определение термину «искусственный интеллект» (ИИ) и сегодня нередко называется его «отцом».

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

Публикуем самые интересные факты из биографии Джона МакКарти.

Самостоятельно освоил университетскую математику

Джон МакКарти родился в 1927 году в Бостоне, но детство провел в Лос-Анджелесе. Семья жила возле Калифорнийского университета («Калтеха»). В 15 лет Джон купил книгу по математике, которую использовали студенты в «Калтехе» и начал самостоятельно ее изучать.

В 16 лет он подал документы в этот университет (и только в него), а в мотивационном письме написал только одно предложение: «Я собираюсь стать профессором математики».

Джона зачислили на первый курс, но на одном из первых занятий профессор сказал, что ему нет смысла оставаться в его классе. То же произошло на занятии второго курса. Так шестнадцатилетнего Джона МакКарти зачислили в выпускной класс математики.

Кстати, из «Калтеха» Джона позже чуть не отчислили — за несдачу экзамена по физике. Но позже он все же выпустился и отправился писать докторскую в Принстон.

Обсуждал идеи искусственного интеллекта с фон Нейманом

МакКарти впервые задумался об искусственном интеллекте в 1948 году — после посещения конференции, на которой компьютер сравнивался с человеческим мозгом. На этой конференции, в том числе, присутствовал Алан Тьюринг.

Спустя год МакКарти поделился своими мыслями с Джоном фон Нейманом (создатель архитектуры фон Неймана, на которой работают все современные компьютеры). Фон Нейману идея создания разумного компьютера понравилась, но сам МакКарти быстро разочаровался в ее предполагаемой реализации. Он хотел использовать детерминированный конечный автомат (ДКА), но понял, что этого будет недостаточно.

Схема ДКА. На вход подается последовательность нулей и единиц, которую автомат либо принимает, либо нет. ДКА — абстрактная концепция, но часто используется. Например, для моделей программ, которые проверяют, правильно ли пользователь ввел email.
Источник: https://ru.wikipedia.org/wiki/Детерминированный_конечный_автомат

В докторской МакКарти сконцентрировался на другой теме, но уже летом 1956 года вместе с Марвином Минским, Клодом Шенноном и Натаниэлем Рочестером он организовал двухмесячный семинар по вопросам ИИ в Дартмутском колледже.

Марвин Минский, Клод Шеннон, Рэй Соломонов и другие участники Дартмутского семинара
Источник: https://www.cantorsparadise.com/the-birthplace-of-ai-9ab7d4e5fb00

Там МакКарти впервые представил миру термин «искусственный интеллект» и впоследствии дал его определение:

«Искусственный интеллект — наука и технология создания интеллектуальных машин, особенно интеллектуальных компьютерных программ»

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

Заявка на проведение Дартмутского семинара
Полный текст можно посмотреть здесь: http://www-formal.stanford.edu/jmc/history/dartmouth.pdf

Стал «дядей» для студентов MIT и создал первый функциональный язык программирования

В 1956 году Джон МакКарти выиграл стипендию на год исследований от Sloan Fellowship Program (она кстати, существует до сих пор) и отправился в MIT. В конце года ему предложили там постоянную должность профессора. Кстати, он впечатлил не только администрацию университета, но и студентов — те называли МакКарти «дядя Джон».

Джон МакКарти провел в MIT шесть лет — одних из самых продуктивных в своей карьере. Именно в этот период, а точнее в 1958 году, он изобрел Лисп.

Лисп стал вторым после FORTRAN высокоуровневым языком программирования и первым функциональным языком программирования. То есть в нем описывается не последовательность команд, а взаимодействие между ними и подпрограммами. К таким языкам также относится Haskell и частично — Scala.

МакКарти создавал Лисп для его использования в сфере ИИ и до сих пор Лисп является самым востребованным инструментом в этой сфере. С другой стороны, Лисп считается достаточно сложным языком, в синтаксисе которого много скобок. Это породило множество мемов:

Один из мемов про Лисп
Источник: https://wiki.c2.com/?LispLanguage

Ближе к концу пребывания в MIT, Джон МакКарти совместно с Марвином Минским также поучаствовал в создании университетской лаборатории искусственного интеллекта.

Утверждал, что ИИ нельзя считать интеллектом, если у него нет человеческого «здравого смысла»

В поисках решения проблемы ИИ Джон МакКарти ставил перед собой не стандартные вопросы («Может ли компьютер обыграть человека в шахматы?»), а более тривиальные, повседневные. Например: «Как сделать, чтобы компьютер сам понял, как добраться до аэропорта?».

Идея была в том, что для решения повседневных задач люди используют здравый смысл. Значит, он должен быть и у искусственного интеллекта. Идея подробно описана в статье МакКарти 1959 года Programs with Common Sense. В ней же МакКарти описал гипотетическую ИИ-программу Advice Taker, которая сама принимает решение, как ей добраться до аэропорта.

МакКарти продолжил работать в этом направлении Стэнфорде, в который перешел из MIT. Его интересовало, как здравый смысл связан с формальной логикой.

В результате стэнфордских исследований Джон МакКарти разработал несколько мощных теорий. Например, он показал, как использовать ограничение над набором предикатов аномалии для формализации наследования.

Шел впереди своего времени

Как настоящий ученый, Джон МакКарти не всегда высказывал верные предположения. Но, как это иногда бывает в науке, некоторые из них в конце концов оказывались верными — когда дожидались своего времени.

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

Сначала идея произвела фурор, но спустя десять лет о ней забыли. А в начале XXI века вспомнили снова — воплотив ее в технологии облачных вычислений.

«Он всегда был сосредоточен на будущем. Всегда изобретал, изобретал, изобретал», — говорил о МакКарти Эд Фейгенбаум, заслуженный профессор компьютерных наук Стэнфордского университета.

Джон МакКарти работал в Стэнфорде и продолжал изобретать вплоть до выхода на пенсию в 1994 году. В 2011 году он умер. Спустя год после этого Стэнфордский университет включил МакКарти в список своих «инженерных героев» (Stanford Engineering Heroes).

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023