Словосполучення "штучний інтелект" (далі - AI) у більшості людей асоціюється з двома речами: комп'ютерними іграми і фільмом "Матриця". І дуже мале число людей знають про те, що вже зараз системи штучного інтелекту щосили використовуються в реальному прикладному програмному забезпеченні, нехай і не так вже часто. Звичайно, ці системи не передбачають майбутнього, не розмовляють на естесственних мовах і не створюють фіртуальних світів. Зате вони цілком здатні вирішувати завдання, які класичні системи вирішити просто не в змозі у зв'язку з мізерністю обчислювальних можливостей сучасних комп'ютерів (хоча назвати ці можливості "мізерними" можна лише при розгляді деяких достатньо специфічних завдань).
Системи штучного інтелекту включають т.з. "експертні" системи і системи на нейронних мережах. Другі на справжній момент в основному іспользуютс в академічних кругах і в бізнесі, на скільки я знаю, не застосовуються. А ось експертні системи, що використовують для вирішення завдань евристичні механізми, - явище достатнє поширене і ефективне у ряді областей.
Щоб пояснити механізм роботи таких систем, пропоную невеликий приклад. Припустимо, вам треба вирішити деяку логічну задачу, яка за допомогою класичних математичних методів вирішується за нескінченно великий (або прагнуче до нього) час через те, що для вирішення завдання необхідно здійснити перебір величезної кількості варіантів.
Існує маса чисто математичних алгоритмів, що спрощують вирішення таких задач шляхом оптимізації перебору. Але у багатьох випадках, навіть з урахуванням такої оптимізації, завдання вирішуватиметься нехай не нескінченно довго, але за абсолютно неприйнятний час. Так для відомого "завдання комівояжера", в якому треба знайти оптимальний шлях між декількома містами, знаючи відстані між ними, при простому переборі буде потрібно N! кроків, де N - кількість міст, тобто для 100 міст це буде близько 10158 кроків. Застосування чисте математичних методів оптимізації дозволяє скоротити складність завдання до eN, тобто приблизно 2.5*1043. Скорочення часу, звичайно, істотне, але коордінально ситуацію що не виправляє.
Виправити таку ситуацію можна за допомогою еврестічеських механізмів, тобто заздалегідь заданих правил (заснованих на досвіді і здоровому глузді), які дозволяють виключити
ті гілки перебору, які з високою часткою ймовірності не приведуть до рішення. Такі евристичні правила підбираються для кожного завдання окремо і дозволяють скоротити складність завдання на багато порядків. Так, для "завдання комівояжера", можна застосувати наступну евристику: "від кожного міста рухатися до найближчого сусіднього міста, якщо воно ще не було відвідане". Це дозволяє вирішити задачу за N кроків, тобто по порівнянню навіть з оптимізованим алгоритмом складність скорочена на 42 порядки! Проте якщо ви спробуєте вирішити у такий спосіб вирішити задачу, то виявите, що такий алгоритм дає не найкоротший шлях зі всіх можливих. Дійсно, еврестічеськие методи не гарантують знаходження оптимального рішення, більш того - такий метод може взагалі не знайти рішення, хоча насправді воно існуватиме. Что-ж, чудес не буває, тут треба вибирати між тимчасовими витратами і точністю.
Часто для ефективного вирішення завдання використовують одночасно евристичний і класичний підходи. Така комбінація може являється "золотою серединою" і активно використовується, наприклад, при трасуванні з'єднань великих інтегральних схем, в теорії ігор, в геоінформаційних системах і т.д.
Отже якщо у вашій корпоративній інформаційній системі виникло завдання, для вирішення якої вам не вистачає обчислювальних ресурсів - пригадаєте, що, хоча машина і не уміє мислити, її можна навчити якоюсь мірою іммітіровать розумовий процес людини.
Перспективи і тенденції розвитку штучного інтелекту
Проблеми ІЇ пов'язані з ресурсами
Повідомлення про унікальні досягнення фахівців в області штучного інтелекту (ІЇ), що обіцяли небачені можливості, пропали із сторінок науково-популярних видань багато років тому. Ейфорія, пов'язана з першими практичними успіхами у сфері ІЇ, пройшла досить швидко, тому що перейти від дослідження експериментальних комп'ютерних моделей до вирішення прикладних задач реального миру виявилося набагато складнішим, ніж передбачалося.
На трудності такого переходу звернули увагу фахівці всього світу, і після детального аналізу з'ясувалося, що практично всі проблеми пов'язані з браком ресурсів двох типів: комп'ютерних (обчислювальній потужності, ємкості оперативної і зовнішньої пам'яті) і людських (наукоємка розробка інтелектуального ПО вимагає залучення провідних фахівців з різних областей знання і організації довгострокових дослідницьких проектів).
До сьогоднішнього дня ресурси першого типу вийшли (або вийдуть в найближчі п'ять-десять років) на рівень, що дозволяє системам ІЇ вирішувати вельми складні для людини практичні завдання. А ось з ресурсами другого типу ситуація в світі навіть ухудшаєтся- саме тому досягнення у сфері ІЇ зв'язуються в основному з невеликим числом провідних ИИ-центрів при найбільших університетах.
Перспективні технології
Автор спробував скласти загальну картину розвитку різних напрямів ІЇ шляхом аналізу тематики європейських і американських конференцій з ІЇ за останні декілька років (щомісячно в світі проходять десятки таких конференцій). Спочатку коротко розглянемо найбільш підходи ІЇ, що активно розвиваються, - в порядку убування їх популярності у фахівців. Треба відзначити, що менша популярність нерідко зв'язана не стільки з потенціалом технології, скільки з віддаленістю перспектив її прикладної реалізації (наприклад, украй високий потенціал киберзаводов поки не викликає серйозного інтересу із-за наявності безлічі невирішених завдань по їх управлінню).
1. Нейронні мережі
Цей напрям стабільно тримається на першому місці. Продовжується вдосконалення алгоритмів навчання і класифікації в масштабі реального часу, обробки природних мов, розпізнавання зображень, мови, сигналів, а також створення моделей інтелектуального інтерфейсу, що підстроюється під користувача. Серед основних прикладних завдань, що вирішуються за допомогою нейронних мереж, - фінансове прогнозування, розкопка даних, діагностика систем, контроль за діяльністю мереж, шифрування даних. Останніми роками йде посилений пошук ефективних методів синхронізації роботи нейронних мереж на паралельних пристроях.
2. Еволюційні обчислення
На розвиток сфери еволюційних обчислень (ЕВ; автономна і адаптивна поведінка комп'ютерних застосувань і робототехнічних пристроїв) значний вплив зробили перш за все інвестиції в нанотехнології. ЕВ зачіпають практичні проблеми самосборки, самоконфигурирования і самовосстановления систем, що складаються з безлічі одночасно функціонуючих вузлів. При цьому вдається застосовувати наукові досягнення з області цифрових автоматів.
Інший аспект ЕВ - використання для вирішення повсякденних завдань автономних агентів як персональні секретарі, керівники особовими рахунками, асистентів, що відбирають потрібні відомості в мережах за допомогою пошукових алгоритмів третього покоління, планувальників робіт, особистих вчителів, віртуальних продавців і т.д. Сюди ж відноситься робототехника і всі пов'язані з нею області. Основні напрями розвитку - вироблення стандартів, відкритої архітектури, інтелектуальних оболонок, мов сценаріїв/запитів, методологій ефективної взаємодії програм і людей.
Моделі автономної поведінки передбачається активно упроваджувати у всілякі побутові пристрої, здатні прибирати приміщення, замовляти і готувати пищу, водити автомобілі і т.п.
Надалі для вирішення складних завдань (швидкого дослідження вмісту Мережі, великих масивів даних на зразок геномів) використовуватимуться колективи автономних агентів. Для цього доведеться зайнятися вивченням можливих напрямів еволюції подібних колективів, планування спільної роботи, способів зв'язку, групового самонавчання, кооперативної поведінки в нечітких середовищах з неповною інформацією, коаліційної поведінки агентів, що об'єднуються "по інтересах", навчитися вирішувати конфлікти взаємодії і т.п.
Осібно коштують соціальні аспекти - як суспільство на практиці відноситиметься до таких співтовариств інтелектуальних програм.
3. На третьому - п'ятому місцях (по популярності) розташовуються великі групи різних технологій.
3.1 Нечітка логіка
Системи нечіткої логіки найактивніше застосовуватимуться переважно в гібридних системах, що управляють.
3.2 Обробка зображень
Продовжиться розробка способів уявлення і аналізу зображень (стиснення, кодування при передачі з використанням різних протоколів, обробка біометричних образів, знімків з супутників), незалежних від пристроїв відтворення, оптимізації колірного уявлення на екрані і при виводі на друк, розподілених методів отримання зображень.
Подальші розвиток отримають засоби пошуку, індексування і аналізу сенсу зображень, узгодження вмісту довідкових каталогів при автоматичній каталогізації, організації захисту від копіювання, а також машинний зір, алгоритми розпізнавання і класифікації образів.
3.3. Експертні систем