Методи штучного інтелекту
Багато алгоритмічних задач можна сформулювати як один з кількох типів завдань штучного інтелекту, які включають планування (пошук найкоротшого шляху), виконання умови (як-от, судоку), оптимізація (знаходження мінімуму заданої функції), передбачення (оцінка значення або категорії, наприклад, виявлення спаму) та генерація (як-от, відповіді на запитання). Як тільки нам вдається сформулювати проблему як один із цих типів, ми можемо використовувати стандартні процедури та алгоритми для її вирішення:
- Завдання планування можна вирішити за допомогою техніки пошуку у просторі станів (як-от, пошук у глибину чи ширину).
- Завдання на виконання умов можна розв’язувати, наприклад, комбінацією розповсюдження обмеження та зворотного відстеження (backtracking).
- Проблеми оптимізації можна вирішити шляхом поступового створення рішення (систематично чи методом голоду) або шляхом поступового вдосконалення одного чи кількох рішень (локальний пошук, генетичні алгоритми).
- Для прогнозів чи генерацій використовується машинне навчання, тобто програми, які навчаються на основі даних або досвіду. (Ми присвячуємо цій величезній темі окремий розділ.)