admin / 27.11.2017

Программирование искусственного интеллекта

Основной вопрос перед разработчиком – какому языку отдать предпочтение для создания ИИ? Мы рассмотрим популярные языки, используемые для создания ИИ.

Одно только лишь название «искусственный интеллект» может привести в ступор и навести немало страха как на обычного человека, так и заурядного программиста. Занятие действительно сложное, а красивые демонстрируемые примеры – это результат многотысячных строк кода. При всём этом создание ИИ может стать вполне реальной задачей, а в части случаев, даже несложной. Многие проекты требуют углублённых знаний ИИ, а также языков программирования. 

LISP

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

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

Java

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

  • прозрачность использования и написания кода;
  • способность легко переносить программы;
  • лёгкое сопровождение проектов.

Для новичков важным достоинством станет наличие многочисленных бесплатных уроков в сети. Обучение Java является максимально комфортным и удобным для большинства студентов и новичков.

Среди особенностей языка стоит выделить:

  • простота выполнения отладки;
  • качественное взаимодействие клиентской и серверной системы ресурса;
  • лёгкость обращения с масштабными проектами.

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

Prolog

Данный вариант относится к интерактивным языкам, которые работают по символической системе. Он популярен для использования в отношении проектов, требующих высокие логические способности. Язык имеет мощную и удобную основу, она активно используется в отношении программирования non-численного типа. На основании Prolog`а часто создаются доказательства теорем, проводится взаимодействие с понятным человеческим языком, используется для создания систем экспертной оценки. 

Пролог относится к декларативным типам языка, которые используют формальное или образное «мышление». Среди разработчиков ИИ приобрёл хорошую славу благодаря оптимальным обструкционным типам работы, встроенным алгоритмам анализа, недетерминизма и т.д. Всё в сумме можно описать так: Prolog – многофункциональная платформа для программирования ИИ.

Python

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

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

История развития ИИ

Началом традиционного представления ИИ стал проект , который увидел мир в 1961 году. В ходе представления был впервые получен робот, который начал выпускаться в промышленных масштабах. Робот был задействован на линии производства в концерне «General Motors». Для создания были задействованы Валь и переменные из среды ассемблера. Язык пришёлся по душе благодаря наличию простейших фраз, отражению команд на мониторе и наличию инструкций, не нуждающихся в дополнительных разъяснениях.

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

 «Weizenbaum» в 1966 году запустил проект Элиза, который впервые предполагал проведение беседы с роботом. Самой известной моделью являлся «Доктор», который позволял отвечать на поставленные запросы в форме психотерапевта. Для реализации проекта потребовалось сопоставление нескольких образцов технического достижения своего времени. Впервые Элиза увидел мир на SPLIP, но для отработки списка запущен «Weizenbaum». Немногим позже проект переработан на другую платформу – LISP.

Первым роботом мобильного типа стал «Шеки», в его основе также лежал ЛИСП. Логика конструктора была построена на решении поставленных задач и передвижения, для взаимодействия использовались подъёмы вверх и вниз, а также включение и выключение света. С помощью «Шеки» удавалось открывать, закрывать, передвигать и т.д. Робот даже был способен передвигаться со скоростью равной спокойной ходьбе человека – .

За последние 15 лет было представлено многочисленное количество изобретений: «Деннинг» (сторожевой робот), «Predator» (беспилотник), «АЙБО» (собака), «АСИМО» от Honda и многие другие. Тенденция идёт к развитию данного направления, чего и стоит ожидать в ближайшем и дальнем бедующем.

Больше интересных новостей

1.2. Основные задачи искусственного интеллекта

Ранее уже было указано на то, что нельзя дать исчерпывающее определение ИИ. Однако можно перечислить задачи, методы решения которых на ЭВМ принято связывать с понятием ИИ. Ниже приводятся краткие характеристики основных таких задач.

Автоматическое решение задач представляет собой не столько вычислительную процедуру поиска ответа, как, например, расчет квадратного корня, сколько нахождение метода решения поставленной задачи. Системы, осуществляющие построение вычислительной процедуры, называют автоматическими решателями задач.

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

Системы распознавания естественной речи позволяют пользователю упростить взаимодействие с ЭВМ с помощью специализированных языков высокого уровня, близких к естественным.

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

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

Обычные языки программирования не очень удобны для разработки систем ИИ. Для построения таких систем больше подходят такие языки, как Пролог, имеющий встроенный механизм логического вывода, или Лисп, ориентированный на обработку списков. Кроме того, создано множество специализированных языков, позволяющих решать ряд отдельных задач ИИ. Пролог был изобретен в Европе и вскоре, к удивлению многих специалистов, был выбран основным языком в японском проекте создания ЭВМ пятого поколения. Язык Лисп, распространенный преимущественно в США, начинает постепенно вытесняться Прологом.

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

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

Ряд современных разработок направлен на создание аппаратных средств реализации трансляторов с языков логического программирования, в том числе и с языка Пролог. Скорость работы систем ИИ в последнее время стали выражать с помощью новых единиц измерения — липсов (LIPS — logical inferences per second), обозначающих число логических выводов в секунду. В настоящее время созданы ЭВМ, способные работать с быстродействием в несколько сотен липсов. Однако такое быстродействие нельзя считать удовлетворительным, и оно должно быть поднято до миллиона липсов и выше.

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

Программирование искусственного интеллекта

Знания должны храниться в системах ИИ в некоторой обобщенной для данной предметной области форме, позволяющей использовать выбранное представление в любой возможной ситуации. Для хранения знаний требуется большая область памяти, и, кроме того, значительное время уходит на их предварительную обработку. Знания, заложенные в систему ИИ, должны быть понятны человеку. Это очевидное условие может быть упущено при разработке системы. С другой стороны, знания должны представляться в форме, удобной для обработки на ЭВМ.

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

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

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

Эта книга рассчитана на студентов и непрофессионалов, обладателей бытовых персональных ЭВМ (ПЭВМ). Мы будем избегать задач, для решения которых нужна сложная и доступная лишь профессиональным программистам техника, а также берем на себя заботу о том, чтобы читатель увидел реальную возможность применения полученных сведений на практике. Изучение возможностей своего домашнего компьютера — интересное и приятное занятие. При этом многие фундаментальные концепции ИИ усваиваются легче, чем с помощью универсальных ЭВМ, общение с которыми достаточно усложнено. Конечно, не стоит преувеличивать возможности микроЭВМ. Невозможно, например, на бытовых ЭВМ достигнуть такой же скорости логического вывода, как на универсальных. Так же бесполезны попытки создания экспертной системы на компьютере, имеющем объем оперативной памяти 2К- Следует трезво оценивать возможности бытовой вычислительной техники.

В следующем разделе коротко рассмотрим некоторые реальные системы ИИ как сложные, так и достаточно простые.

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

Автономное планирование и составление расписаний. Работающая на удалении в сотни миллионов километров от Земли программа Remote Agent агентства NASA стала первой бортовой автономной программой планирования, предназначенной для управления процессами составления расписания операций для космического аппарата. Программа Remote Agent вырабатывала планы на основе целей высокого уровня, задаваемых с Земли, а также контролировала работу космического аппарата в ходе выполнения планов: обнаруживала, диагностировала и устраняла неполадки по мере их возникновения.

Ведение игр. Программа Deep Blue компании IBM стала первой компьютерной программой, которой удалось победить чемпиона мира в шахматном матче, после того как она обыграла Гарри Каспарова со счетом 3.5:2.5 в показательном матче. Каспаров заявил, что ощущал напротив себя за шахматной доской присутствие «интеллекта нового типа». Журнал Newsweek описал этот матч под заголовком «Последний оборонительный рубеж мозга». Стоимость акций IBM выросла на 18 миллиардов долларов.

Автономное управление. Система компьютерного зрения Alvinn была обучена вождению автомобиля, придерживаясь определенной полосы движения. В университете CMU эта система была размещена в микроавтобусе, управляемом компьютером NavLab, и использовалось для проезда по Соединенным Штатам; на протяжении 4586.6 км система обеспечивала рулевое управление автомобилем в течение 98% времени. Человек брал на себя управление лишь в течение остальных 2%, главным образом на выездных пандусах. Компьютер NavLab был оборудован видеокамерами, которые передавали изображения дороги в систему Alvinn, а затем эта система вычисляла наилучшее направление движения, основываясь на опыте, полученном в предыдущих учебных пробегах.

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

Планирование снабжения. Во время кризиса в Персидском заливе в 1991 году в армии США была развернута система DART (Dynamic Analysis and Replanning) для обеспечения автоматизированного планирования поставок и составления графиков перевозок. Работа этой системы охватывала одновременно до 50 000 автомобилей, единиц груза и людей; в ней приходилось учитывать пункты отправления и назначения, маршруты, а также устранять конфликты между всеми параметрами.

Искусственный интеллект

Методы планирования на основе искусственного интеллекта позволяли вырабатывать в течение считанных часов такие планы, для составления которых старыми методами потребовались бы недели. Представители агентства DARPA (Defense Advanced Research Project Agency – Управление перспективных исследовательских программ) заявили, что одно лишь это приложение сторицей окупило тридцатилетние инвестиции в искусственный интеллект, сделанные этим агентством.

Робототехника. Многие хирурги теперь используют роботов-ассистентов в микрохирургии. Например, HipNav – это система, в которой используются методы компьютерного зрения для создания трехмерной модели анатомии внутренних органов пациента, а затем применяется робототехническое управление для руководства процессом вставки протеза, заменяющего тазобедренный сустав.

Понимание естественного языка и решение задач. Программа Proverb – это компьютерная программа, которая решает кроссворды намного лучше, чем большинство людей; в ней используются ограничения, определяющие состав возможных заполнителей слов, большая база с данными о встречавшихся ранее кроссвордах, а также множество различных источников информации, включая словари и оперативные базы данных, таких как списки кинофильмов и актеров, которые играли в этих фильмах. Например, эта программа способна определить, что одним из решений, подходящих для ключа «Nice Story», является слово «ETAGE», поскольку ее база данных содержит пару ключ-решение «Story in France/ETAGE», а сама программа распознает, что шаблоны «Nice X» и «X in France» часто имеют одно и то же решение.

Программа не знает, что Nice (Ницца) – город во Франции, но способна разгадать эту головоломку.

Выше приведено лишь несколько примеров систем искусственного интеллекта, которые существуют в настоящее время. Искусственный интеллект – это не магия и не научная фантастика, а сплав методов науки, техники и математики.

Как начать обучение в сфере разработки искусственного интеллекта?

Данная книга посвящена вопросам искусственного интеллекта (ИИ), то есть методам и технологиям, призванным сделать ПО более умным и полезным. Рассмотренные алгоритмы в основном предназначены для встраивания в другое программное обеспечение, что позволяет создавать программы, гибко подстраивающиеся под требования и привычки пользователя.

Здесь описан ряд алгоритмов ИИ – нейронные сети, генетические алгоритмы, системы, основанные на правилах, нечеткая логика, алгоритмы муравья и умные агенты. Для каждого алгоритма приведены примеры реализации. Некоторые из этих приложений применяются на практике, другие относятся скорее к теоретическим изысканиям. Так или иначе, автор раскрывает секреты наиболее интересных алгоритмов ИИ, что делает их доступными для более широкой аудитории. Предполагается, что благодаря подробному описанию алгоритмов методики и технологии ИИ займут свое место в списке традиционных программ.

Книга призвана помочь разработчикам использовать технологии ИИ при создании более умного программного обеспечения.

В нашей электронной библиотеке вы можете скачать книгу «Программирование искусственного интеллекта в приложениях» автора М. Джонса в формате epub, fb2, rtf, mobi, pdf себе на телефон, андроид, айфон, айпад, а так же читать онлайн и без регистрации. Ниже вы можете оставить отзыв о прочитанной или интересующей вас книге.

FILED UNDER : IT

Submit a Comment

Must be required * marked fields.

:*
:*