Чому викладають лише алгоритми пошуку в короткому вступному ІІ курсі?


11

Я зрозумів, що концепція пошуку важлива в ШІ. На цьому веб-сайті є питання щодо цієї теми, але можна також зрозуміти, чому це зрозуміло. У мене був вступний курс з AI, який тривав половину семестру, тому, звичайно, не вистачило часу для висвітлення всіх тем ІІ, але я очікував вивчити деякі теорії AI (я чув про "агентів" "), але те, що я насправді дізнався, - це в основному кілька алгоритмів пошуку, наприклад:

  • BFS
  • Пошук уніфікованої вартості
  • ДФС
  • Ітеративно-поглиблюючий пошук
  • Двонаправлений пошук

ці алгоритми пошуку зазвичай класифікуються як "сліпі" (або "неінформовані"), оскільки вони не враховують будь-якої інформації стосовно решти шляху до мети.

Або такі алгоритми:

  • Евристичний пошук
  • Найкращий пошук
  • А
  • A *
  • IDA *

які зазвичай підпадають під категорію "поінформованих" алгоритмів пошуку, оскільки вони використовують деяку інформацію (тобто "евристику" або "оцінки") про решту шляху до мети.

Тоді ми також вивчили «розширені» алгоритми пошуку (спеціально застосовані до проблеми TSP). Ці алгоритми є або конструктивними (наприклад, найближчим сусідом), алгоритмами локального пошуку (наприклад, 2-opt) або метаевристичними (наприклад, система колонії мурашок або імітаційний відпал).

Ми також коротко вивчили алгоритм min-max, застосований до ігор, та "покращену" версію min-max, тобто альфа-бета обрізку.

Після цього курсу у мене було відчуття, що AI - це просто пошук, або «тупо», або «розумніший».

Мої запитання:

  • Чому один професор навчав би лише алгоритми пошуку в курсі AI? Які переваги / недоліки? Наступне питання дуже пов’язане з цим.

  • Що більше, ніж "пошук" в AI, що можна було б викладати у вступному курсі? Це запитання може призвести до суб'єктивних відповідей, але я насправді задаю питання в контексті того, що людина намагається зрозуміти, що таке AI насправді і які теми він насправді висвітлює. Мабуть і на жаль, прочитавши навколо, здається, що це все-таки було б суб’єктивним.

  • Чи є теорії AI, які можна було б викладати в такому курсі?


Напевно, ви повинні змінити свою думку про те, що перелічені алгоритми пошуку називаються «сліпими» - тому що це неправильно. "сліпий", як правило, використовується як синонім "необізнаний". Однак A *, IDA * та евристичний пошук за визначенням "алгоритми пошуку" поінформовані (оскільки вони ґрунтуються на евристиці ", тому вони не є сліпими. Далі ви впевнені, що" алгоритм "існує? Я знаю лише A * і мені не вдалося знайти жодної згадки про цей алгоритм в Інтернеті. Якщо він насправді існує, посилання було б непоганим (можливо, в коментарях).
Проф

@ Prof.Chaos Алгоритм A - це A *, коли ви не знаєте, що евристика є оптимальною. Справді, * в A * має щось викликати в наших головах. Стосовно "сліпого" аргументу, мабуть, несправедливо вважати A * сліпим як BFS або DFS, тому я згоден з вами.
nbro

Відповіді:


8

Існує багато хибних уявлень про AI, зокрема ідея, що мова йде про те, щоб змусити комп'ютери «думати» як люди, імітувати мозок, науково-фантастичних роботів, що переймають світ, усі філософські дискусії навколо мозку як машини тощо. Практика / реальність AI - це "використання обчислень для вирішення проблем", що в основному означає, що ви приймаєте будь-яку проблему, представляєте її як обчислювальну проблему, а потім розробляйте алгоритм для вирішення обчислювальної задачі, що призводить до вирішення вихідної проблеми. Ці алгоритми пошуку є алгоритмами загального призначення для обчислювальних задач загального призначення, тобто будь-яка проблема в реальному світі може бути представлена ​​цими обчислювальними завданнями загального призначення, і тоді ці алгоритми можуть бути використані для їх вирішення.

Пам’ятайте, про проблеми вирішення та про обчислювальні завдання загального призначення, які можуть представляти будь-яку проблему в реальному світі.


6

Це зводиться до того, що більшість проблем зі ШІ можна охарактеризувати як проблеми пошуку. Переглянемо кілька прикладів:

  • Розпізнавання об'єктів та створення сцени (наприклад, процес отримання аудіовізуального введення оточення та розуміння його в тривимірному та контекстному сенсі) можна трактувати як пошук відомих об'єктів на вході.
  • Математичне вирішення задач можна трактувати як пошук рішення.
  • Відтворення відеоігри може трактуватися як пошук правильної відповіді на даний ігровий стан.

Навіть рудиментарні чати можна охарактеризувати як пошук «правильної» відповіді на задану вхідну фразу для імітації людської мови!

Через таке узагальнення пошуку алгоритми пошуку входили до числа перших алгоритмів, що вважаються «AI», і часто складають основу багатьох навчальних курсів AI. Крім цього, алгоритми пошуку є інтуїтивними та нематематичними, що робить доступним дещо жахливе поле AI. Це може здатись гіперболою, але я гарантую, що якби ваш викладач відкрив техніку навчання в колекторі, половина вашого класу зачепилася б за двері до того моменту, коли вони згадали «власне значення коваріаційної матриці».

Тепер алгоритми пошуку - не єдиний спосіб вирішення цих проблем. Я рекомендую, щоб кожен практикуючий ІЗ був знайомий з поняттям Алгоритми наукових даних та машинного навчання. ML часто пов’язаний з алгоритмами пошуку, але методи, які вони використовують, можуть сильно відрізнятися від ітеративної побудови класифікатора / регресії (наприклад, C4.5 будує дерево рішень), метаевристики, як ви зазначили, та класифікаторів / регресії, які статично генеруються з аналіз навчальних даних (наприклад, Naive Bayesian - це буквально класифікатор, побудований на байєсівському аналізі даних даних, припускаючи, що поля введення незалежні - це «наївність», від якої він отримав свою назву). Найчастіше алгоритми МЛ розробляються в дослідницьких групах ШІ, а іноді можуть бути розроблені для конкретних проблем замість загальних алгоритмів форми.


4

Чому один професор навчав би алгоритми пошуку лише в курсі AI? Які переваги / недоліки?

Моя відповідь на це питання полягає в тому, що існує маса проблем, де рішення можна знайти за допомогою пошуку. Візьмемо приклад Tic Tac Toe. Якщо ви розробляєте для цього інтелектуальний комп'ютерний плеєр, тоді ви зробите те, що ви сформуєте пошуковий простір, і тоді ви будете шукати найбільш оптимальний крок, який можна зробити для завершення гри. У цих сценаріях ви повинні знати про оптимальні стратегії пошуку. Візьмемо ще один приклад, припустимо, якщо ви їдете за кермом і хочете потрапити в будинок невідомої людини. Це далеко не ваше місце, і ви вирішили використовувати GPS. Ваш GPS використовуватиме алгоритми пошуку для пошуку найбільш оптимального маршруту, який можна пройти, щоб дістатися до пункту призначення (звичайно, буде багато факторів, які слід врахувати, як трафік тощо, але це основна ідея).

Недоліки полягають лише в обробці та зберіганні. Для повільних алгоритмів ви також витрачаєте багато процесорного часу та пам’яті, але для хороших та ефективних алгоритмів ви можете зберегти багато місця, а також виконати завдання дуже швидко. Звичайно, просто дізнатися про пошук - це не ІІІ. Є ще багато чого.

Що більше, ніж "пошук" в AI, що можна було б викладати у вступному курсі?

В AI є багато речей, крім пошуку. Наприклад, методики навчання (під наглядом, без нагляду, посилення), планування, коли хочеться створити систему, яка буде виконувати певні дії незалежно та розумно, представлення знань (відомих і невідомих) та висновок в агентах, що включає логіку пропозицій та перше замовлення логіка тощо.

Чи існують теорії AI, які можна викладати в такому курсі?

Деякі теми можна викладати, як, наприклад, про різні типи агентів (простий рефлекс, на основі моделі, на основі цілей, на основі корисності та навчального агента), різні типи середовищ, в яких працюють агенти, оцінювання агентів. Можуть бути додаткові вступні теми, такі як обробка природних мов, експертні системи тощо.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.