Ім'я файлу: ии.docx
Розширення: docx
Розмір: 39кб.
Дата: 22.12.2022
скачати

Вступ

Поняття штучний інтелект, як і просто інтелект, дуже розпливчасті. Якщо узагальнити все сказане за останні тридцять років, то виявляється, що людина просто хоче створити собі подібного в тій чи іншій формі, хоче, щоб якісь дії виконували раціональніше, з меншими витратами часу та енергії. З кінця 40-х років вчені кинулися до зухвалої мети: побудова комп'ютерів, що діють таким чином, що за результатами роботи їх неможливо було б відрізнити від людського розуму. Останнім часом спостерігається зростання інтересу до штучного інтелекту, спричинене підвищенням вимог до інформаційних систем. Розумніє програмне забезпечення, розумніє побутова техніка. Ми неухильно рухаємося до нової інформаційної революції, порівнянної за масштабами розвитку Інтернету, ім'я якої – штучний інтелект.

Штучний інтелект зараз є «гарячою точкою» наукових досліджень. У цій точці сконцентровані найбільші зусилля кібернетиків, лінгвістів, психологів, філософів, математиків та інженерів. Саме тут вирішуються багато корінних питань, пов'язаних із шляхами розвитку наукової думки, з впливом досягнень у галузі обчислювальної техніки та робототехніки на життя майбутніх поколінь людей. Тут виникають і набувають права громадянства нові методи наукових міждисциплінарних досліджень. Тут формується новий погляд роль тих чи інших наукових результатів.

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

 

1.     Історія розвитку систем штучного інтелекту

Раніше з поняттям штучного інтелекту (ІІ) пов'язували надії створення мислячої машини, здатної суперничати з людським мозком і, можливо, перевершити його. Ці надії, які тривалий час захопили уяву багатьох ентузіастів, так і залишилися нездійсненими. І хоча фантастичні літературні прообрази розумних машин створювалися ще сотні років донині, лише з середини тридцятих років, з публікації робіт А. Тьюринга, у яких засуджувалася реальність створення таких пристроїв, до проблеми ІІ стали ставитися серйозно.

Починаючи з 1984 року вчені різних галузей науки займаються розробкою системи, яка б дозволила комп'ютеру мислити. Сьогодні існує база даних під назвою Cyc 1.4, здатна робити прості вірні твердження.

У базу даних під кодовою назвою Cyc версії 1.4 були внесені мільйони життєвих істин і понять для того, щоб комп'ютер міг робити на їх основі прості вірні твердження, над якими люди навіть не замислюються. Наприклад, "Померлі істоти не воскресають. У собак є хребет. Карабкатися крутим схилом фізично важко".

Спеціально для Cyc була створена мова програмування - CycL .

Система передбачає деякі логічні нюанси. Наприклад, якщо запитати у Cyc чи є у Лессі ніс, то система "розмірковуватиме" наступним чином: Лессі - це коллі, коллі - порода собак, собаки - хребетні тварини, у хребетних є носи, отже відповідь буде "так".

Коли вчені додали в Cyc можливість ставити свої запитання, система запитала, чи є вона і чи є інші комп'ютери, задіяні в подібному проекті.

Cyc також навчена обережному поводженню зі спеціальною термінологією та вміє розпізнавати характер звернень - наприклад, наукове чи життєве питання їй поставлено.

Вчені, які працюють над проектом, ставлять перед собою досить амбітні цілі - зробити Cyc системою, що самоорганізується і самонавчається. Якщо їм це вдасться, можна буде говорити про початок нової доби комп'ютерної техніки. Ось тільки якщо "порозумнілі" комп'ютери зможуть обходитися без людини?

Історично склалися три основні напрями у моделюванні ІІ.

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

Другий підхід як об'єкт дослідження розглядає ІІ. Тут йдеться про моделювання інтелектуальної діяльності за допомогою обчислювальних машин. Метою робіт у цьому напрямі є створення алгоритмічного та програмного забезпечення обчислювальних машин, що дозволяє вирішувати інтелектуальні завдання не гірше за людину.

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

Найпершими інтелектуальними завданнями, які вирішувалися з допомогою ЕОМ були логічні ігри (шашки, шахи), підтвердження теорем. Хоча тут треба відзначити ще кібернетичні іграшки типу "електронної миші" Клода Шеннона, яка керувалася складною релейною схемою. Ця мишка могла "дослідити" лабіринт і знаходити вихід із нього. Крім того, поміщена у вже відомий їй лабіринт, вона не шукала вихід, а одразу ж, не заглядаючи в тупикові ходи, виходила з лабіринту.

Ознакою інтелектуальності може бути здатність до навчання. У 1961 р. професор Д. Мічі , один із провідних англійських фахівців з ІІ, описав механізм, що складається з 300 сірникових коробок, який міг навчитися грати в хрестики та нуліки. Мічі назвав цей пристрій MENACE ( Matchbox Educable Naughts and Crosses Engine). У назві (загроза) полягає, очевидно, частка іронії, викликаної упередженнями перед машинами, що думають.

Американський кібернетик А. Самуель склав для обчислювальної машини програму, яка дозволяла їй грати в шашки, причому в ході гри машина навчалася або принаймні створювалося враження, що навчається, покращуючи свою гру на основі накопиченого досвіду. У 1962 р. ця програма воювала з Р. Нілі , найсильнішим шашистом у США та перемогла.

Як машині вдалося досягти такого високого класу гри?

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

Розумно поєднуючи такі критерії (наприклад, у вигляді лінійної комбінації з коефіцієнтами, що експериментально підбираються, або більш складним чином), можна для оцінки чергового ходу машини отримати деякий числовий показник ефективності — оцінну функцію. Тоді машина, порівнявши між собою показники ефективності чергових ходів, вибере хід, що відповідає найбільшому показнику. Подібна автоматизація вибору чергового ходу не обов'язково забезпечує оптимальний вибір, але все ж таки це якийсь вибір, і на його основі машина може продовжувати гру, удосконалюючи свою стратегію (образ дії) у процесі навчання на минулому досвіді. Формально навчання полягає у підстроюванні параметрів (коефіцієнтів) оцінної функції на основі аналізу проведених ходів та ігор з урахуванням їх результату.

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

Можна сказати, що всі ці елементи інтелекту, продемонстровані машиною в процесі гри в шашки, повідомлено автором програми. Частково це так. Але не слід забувати, що ця програма не є "жорсткою", заздалегідь продуманою у всіх деталях. Вона вдосконалює свою стратегію гри у процесі самонавчання. І хоча процес "мислення" у машини істотно відмінний від того, що відбувається в мозку людини, що грає в шашки, вона здатна у нього виграти.

Яскравим прикладом складної інтелектуальної гри донедавна були шахи. У 1974 р. відбувся міжнародний шаховий турнір машин, забезпечених відповідними програмами. Як відомо, перемогу на цьому турнірі здобула радянська машина із шахівницею "Каїса".

Чому тут вжито "донедавна"? Справа в тому, що недавні події показали, що незважаючи на досить велику складність шахів, і неможливість у зв'язку з цим зробити повний перебір ходів, можливість перебору їх на більшу глибину, ніж зазвичай, дуже збільшує шанси на перемогу. Наприклад, за повідомленнями у пресі, комп'ютер фірми IBM, який переміг Каспарова, мав 256 процесорів, кожен із яких мав 4 Гб дискової пам'яті і 128 Мб оперативної. Весь цей комплекс міг прораховувати понад 100 000 000 ходів в секунду. Донедавна рідкістю був комп'ютер, здатний робити таку кількість цілих операцій в секунду, а тут ми говоримо про ходи, які повинні бути згенеровані і для яких прораховані оціночні функції. Хоча з іншого боку , цей приклад говорить про могутність та універсальність перебірних алгоритмів.

В даний час існують та успішно застосовуються програми, що дозволяють машинам грати у ділові або військові ігри, що мають велике прикладне значення. Тут також надзвичайно важливо надати програмам властиву людині здатність до навчання та адаптації. Однією з найцікавіших інтелектуальних завдань, які мають величезне прикладне значення, є завдання навчання розпізнавання образів і ситуацій. Рішенням її займалися та продовжують займатися представники різних наук — фізіологи, психологи, математики, інженери. Такий інтерес до завдання стимулювався фантастичними перспективами широкого практичного використання результатів теоретичних досліджень: автомати, системи ІІ, що ставлять медичні діагнози, що проводять криміналістичну експертизу тощо, а також роботи, здатні розпізнавати і аналізувати складні сенсорні ситуації.

У 1957 р. американський фізіолог Ф. Розенблатт запропонував модель зорового сприйняття та розпізнавання – перцептрон. Поява машини, здатної навчатися поняттям і розпізнавати об'єкти, що висуваються, виявилася надзвичайно цікавою не тільки фізіологам, а й представникам інших областей знання і породило великий потік теоретичних та експериментальних досліджень.

Перцептрон або будь-яка програма, що імітує процес розпізнавання, працюють у двох режимах: у режимі навчання та у режимі розпізнавання. У режимі навчання хтось (людина, машина, робот або природа), що грає роль вчителя, пред'являє машині об'єкти і про кожен з них повідомляє, до якого поняття (класу) він належить. За цими даними будується вирішальне правило, що є, по суті, формальним описом понять. У режимі розпізнавання машині пред'являються нові об'єкти (загалом, відмінні від раніше пред'явлених), і вона повинна їх класифікувати, по можливості, правильно.

Проблема навчання розпізнаванню тісно пов'язана з іншою інтелектуальною задачею – проблемою перекладу з однієї мови на іншу, а також навчання машини мовою. При досить формальній обробці та класифікації основних граматичних правил і прийомів користування словником можна створити цілком задовільний алгоритм перекладу, скажімо наукового чи ділового тексту. Для деяких мов такі системи було створено ще наприкінці 60-х років. Однак для того, щоб зв'язково перекласти досить великий розмовний текст, необхідно розуміти його зміст. Роботи над такими програмами ведуться вже давно, але до успіху ще далеко. Є також програми, що забезпечують діалог між людиною та машиною урізаною природною мовою.

Що ж до моделювання логічного мислення, то хорошим модельним завданням тут може бути завдання автоматизації доказу теорем.

Дуже важливим напрямом систем ІІ є роботехніка . У чому основна відмінність інтелекту робота від інтелекту універсальних обчислювальних машин?

Для відповіді це питання доречно згадати висловлювання, що належить великому російському фізіологу І. М. Сєченову: "... все нескінченне розмаїття зовнішніх проявів мозкової діяльності зводиться остаточно лише до одного явища - м'язового руху". Іншими словами, вся інтелектуальна діяльність людини спрямована, зрештою, на активну взаємодію із зовнішнім світом у вигляді рухів. Так само елементи інтелекту робота служать, передусім, в організацію його цілеспрямованих рухів. У той самий час основне призначення суто комп'ютерних систем ІІ полягає у вирішенні інтелектуальних завдань, які мають абстрактний чи допоміжний характер, які зазвичай пов'язані ні з сприйняттям довкілля з допомогою штучних органів чуття, ні з організацією рухів виконавчих механізмів.

Перших роботів важко назвати інтелектуальними. Лише у 60-х роках з'явилися відчутні роботи, які керувалися універсальними комп'ютерами. Наприклад , у 1969 р. в Електротехнічній лабораторії (Японія) почалася розробка проекту "промисловий інтелектуальний робот". Мета цієї розробки - створення відчутного маніпуляційного робота з елементами штучного інтелекту для виконання монтажних робіт з візуальним контролем.

Маніпулятор робота має шість ступенів свободи і управляється міні-ЕОМ NEAC-3100 (обсяг оперативної пам'яті 32000 слів, обсяг зовнішньої пам'яті на магнітних дисках 273000 слів), що формує необхідний програмний рух, який відпрацьовується електрогідравлічною системою, що стежить. Захоплення маніпулятора має тактильні датчики.

Як система зорового сприйняття використовуються дві телевізійні камери, забезпечені червоно-зелено-синіми фільтрами для розпізнавання кольору предметів. Поле зору телевізійної камери розбито на 64*64 комірок. В результаті обробки отриманої інформації грубо визначається область, яка займає предметом, що цікавить робота. Далі, з метою детального вивчення цього предмета, виявлена область знову ділиться на 4096 осередків. У тому випадку, коли предмет не поміщається у вибране "віконце", воно автоматично переміщається, подібно до того, як людина ковзає поглядом по предмету. Робот Електротехнічної лабораторії міг розпізнавати прості предмети, обмежені площинами і циліндричними поверхнями при спеціальному освітленні. Вартість даного експериментального зразка становила приблизно 400 000 доларів.

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

Ще, мабуть, тут можна виділити роботи Київського Інституту кібернетики, де під керівництвом М. М. Амосова та В. М. Глушкова ведеться комплекс досліджень, спрямованих на розробку елементів інтелекту роботів. Особлива увага в цих дослідженнях приділяється проблемам розпізнавання зображень та мовлення, логічного висновку (автоматичного доказу теорем) та управління за допомогою нейроподібних мереж.

Наприклад, можна розглянути створений ще в 70-х роках макет транспортного автономного інтегрального робота (ТАІР). Конструктивно ТАІР є триколісним шасі, на якому змонтована сенсорна система і блок управління. Сенсорна система включає такі засоби відчуття: оптичний далекомір, навігаційна система з двома радіомаяками і компасом, контактні датчики, датчики кутів нахилу візка, таймер та ін. Особливість, яка відрізняє ТАІР від багатьох інших систем, створених у нас і за кордоном, це те, що у його складі немає комп'ютера у вигляді, якого ми звикли. Основу системи управління складає бортова нейроподібна мережа, на якій реалізуються різні алгоритми обробки сенсорної інформації, планування поведінки та управління рухом робота.

 





 

Базові поняття штучного інтелекту

Термін інтелект ( intelligence ) походить від латинського intellectus - що означає розум, розум, розум; розумові здібності людини. Відповідно штучний інтелект ( artificial intelligence ) - ІІ (AI) зазвичай означає властивість автоматичних систем брати на себе окремі функції інтелекту людини, наприклад, вибирати та приймати оптимальні рішення на основі раніше отриманого досвіду та раціонального аналізу зовнішніх впливів.

Ми називатимемо інтелектом здатність мозку вирішувати завдання шляхом придбання, запам'ятовування та цілеспрямованого перетворення знань у процесі навчання на досвіді та адаптації до різноманітних обставин.

У цьому вся визначенні під терміном " знання " мається на увазі не лише та інформація, яка надходить у мозок через органи почуттів. Такі знання надзвичайно важливі, але недостатні для інтелектуальної діяльності. Справа в тому, що об'єкти навколишнього середовища мають властивість не тільки впливати на органи почуттів, а й перебувати один з одним у певних відносинах. Зрозуміло, що для того, щоб здійснювати у навколишньому середовищі інтелектуальну діяльність, необхідно мати в системі знання модель цього світу. У цій інформаційній моделі навколишнього середовища реальні об'єкти, їх властивості та відносини між ними не тільки відображаються та запам'ятовуються, а й, як це зазначено у даному визначенні інтелекту, можуть подумки "цілеспрямовано перетворюватися". При цьому суттєво те, що формування моделі довкілля відбувається "в процесі навчання на досвіді та адаптації до різноманітних обставин".

Ми використали термін інтелектуальне завдання. Для того, щоб пояснити, чим відрізняється інтелектуальне завдання від просто завдання, необхідно ввести термін "алгоритм" - один із наріжних термінів кібернетики.

Під алгоритмом розуміють точне розпорядження про виконання у порядку системи операцій на вирішення будь-який завдання з деякого даного класу (множини) завдань. Термін "алгоритм" походить від імені узбецького математика Аль-Хорезмі, який ще в ІХ столітті запропонував найпростіші арифметичні алгоритми. У математиці та кібернетиці клас завдань певного типу вважається вирішеним, коли для її вирішення встановлено алгоритм. Знаходження алгоритмів є природною метою людини під час вирішення їм різноманітних класів завдань. Знаходження алгоритму для завдань деякого даного типу пов'язане з тонкими та складними міркуваннями, що вимагають великої винахідливості та високої кваліфікації. Прийнято вважати, що така діяльність потребує участі інтелекту людини. Завдання, пов'язані з пошуком алгоритму розв'язання класу завдань певного типу, називатимемо інтелектуальними.

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

Тому цілком природним виключити з класу інтелектуальних такі завдання, котрим існують стандартні методи решения. Прикладами таких завдань можуть служити суто обчислювальні завдання: розв'язання системи лінійних рівнянь алгебри, чисельне інтегрування диференціальних рівнянь і т. д. Для вирішення подібного роду завдань є стандартні алгоритми, що являють собою певну послідовність елементарних операцій, яка може бути легко реалізована у вигляді програми для обчислювальної машини. На противагу цьому для широкого класу інтелектуальних завдань, таких, як розпізнавання образів, гра в шахи, доказ теорем тощо, формальне розбиття процесу пошуку рішення на окремі елементарні кроки часто виявляється дуже скрутним, навіть якщо саме їхнє рішення нескладне.

Таким чином, ми можемо перефразувати визначення інтелекту як універсальний надалгоритм , який здатний створювати алгоритми розв'язання конкретних завдань.

Цікавим зауваженням тут є те, що професія програміста, виходячи з наших визначень, є однією з найінтелектуальніших, оскільки продуктом діяльності програміста є програми — алгоритми у чистому вигляді. Саме тому створення навіть елементів ІІ має дуже сильно підвищити продуктивність його праці.

Діяльність мозку (що володіє інтелектом), спрямовану на вирішення інтелектуальних завдань, ми називатимемо мисленням, або інтелектуальною діяльністю. Інтелект і мислення органічно пов'язані з вирішенням таких завдань, як доказ теорем, логічний аналіз, розпізнавання ситуацій, планування поведінки, ігри та управління в умовах невизначеності. Характерними рисами інтелекту, що виявляються в процесі вирішення завдань, є здатність до навчання, узагальнення, накопичення досвіду (знань і навичок) та адаптації до умов, що змінюються в процесі вирішення завдань. Завдяки цим якостям інтелекту мозок може вирішувати різноманітні завдання, а також легко перебудовуватись з вирішення одного завдання на інше. Таким чином, мозок, наділений інтелектом, є універсальним засобом розв'язання широкого кола завдань для яких немає стандартних, заздалегідь відомих методів розв'язання.

Слід пам'ятати, що є й інші, суто поведінкові (функціональні) визначення. Так, за А. Н. Колмогоровим, будь-яка матеріальна система, з якою можна досить довго обговорювати проблеми науки, літератури та мистецтва, має інтелект. Іншим прикладом поведінкового трактування інтелекту може бути відоме визначення А. Тьюринга. Його зміст полягає у наступному. У різних кімнатах знаходяться люди та машина. Вони не можуть бачити один одного, але можуть обмінюватися інформацією (наприклад, за допомогою електронної пошти). Якщо в процесі діалогу між учасниками гри людям не вдається встановити, що один із учасників — машина, то таку машину можна вважати інтелектом. Однак якщо випробувач під час перевірки комп'ютера на інтелектуальність дотримуватиметься досить жорстких обмежень у виборі теми та форми діалогу, цей тест витримає будь-який сучасний комп'ютер, оснащений відповідним програмним забезпеченням. Можна вважати ознакою інтелектуальності вміння підтримувати розмову, але, як було показано, ця людська здатність легко моделюється на комп'ютері.

До речі, цікавим є план імітації мислення, запропонований А. Т'юрінгом. "Намагаючись імітувати інтелект дорослої людини, - пише Т'юрінг, - ми змушені багато міркувати про той процес, в результаті якого людський мозок досяг свого справжнього стану... Чому б нам замість того, щоб намагатися створити програму, яка імітує інтелект дорослої людини, не спробувати створити програму , яка б імітувала інтелект дитини?Якщо інтелект дитини отримує відповідне виховання, вона стає інтелектом дорослої людини... Наш розрахунок полягає в тому, що пристрій, йому подібний, може бути легко запрограмований... Таким чином, ми розчленуємо нашу проблему на дві частини: на завдання побудови "програми-дитини" та завдання "виховання" цієї програми".

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

 

Мурашиний алгоритм

Кожен, хто хоч раз у житті спостерігав за мурахами, обов'язково повинен був помітити: вся діяльність цих комах має яскраво виражене групове забарвлення. Працюючи разом, група мурах здатна затягнути в мурашник шматок їжі або будівельного матеріалу, в 10 разів більше за них самих. Організацію мурах можна застосовувати і людям у вирішенні деяких завдань. Сама по собі мурашка - досить примітивна істота. Всі його дії, по суті, зводяться до елементарних інстинктивних реакцій на навколишнє оточення і своїх побратимів. Однак кілька мурах разом утворюють складну систему. Наприклад, група мурах чудово вміє знаходити найкоротшу дорогу до їжі. Якщо якась перешкода – палиця, камінь, нога людини – встає на шляху, вони швидко знаходять новий оптимальний маршрут. Мурахи вирішують проблеми пошуку шляхів за допомогою хімічного регулювання. Кожна мураха виділяє феромони, і їхній слід утворює, таким чином, шлях мурахи. Інша мураха, почувши слід на землі, прямує по ньому. Чим більше по одному шляху пройшло мурашок – тим явніше слід, а чим явніше слід – тим більше «бажання» піти в той же бік виникає у мурах. Оскільки мурахи, які знайшли найкоротший шлях до мети, витрачають менше часу на шлях туди і назад, їхній слід швидко стає найпомітнішим. Він приваблює більше мурах, і коло замикається. Інші шляхи - менш використовувані - потихеньку пропадають. Алгоритми мурахи ( Ant algorithms ), або оптимізація за принципом мурашиної колонії (ця назва була придумана винахідником алгоритму, Марко Доріго ( Marco Dorigo )), засновані на застосуванні кількох агентів і мають специфічні властивості, властиві мурашкам, і використовують їх для орієнтації у фізичному просторі. Алгоритми мурахи особливо цікаві тому, що їх можна використовувати для вирішення не тільки статичних, а й динамічних проблем, наприклад, в мережах, що змінюються.

1. Ідея алгоритму

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

Коли одна мурашка досягає їжі, вона бере один з об'єктів і повертається до мурашника тим же шляхом. За час t 2 друга мураха повернулася в мурашник з їжею, а перша мурашка досягла їжі.

При переміщенні кожної мурахи на шляху залишається трохи феромону. Для першого мурашки за час t 0 t 2 шлях був покритий феромонами лише один раз. У той же час друга мураха покрила шлях феромонами двічі. За час t 4 перша мураха повернулася до мурашника, а друга мураха вже встигла ще раз сходити до їжі і повернутися. При цьому концентрація феромону на нижньому шляху буде вдвічі вищою, ніж на верхньому. Тому перша мурашка наступного разу вибере нижній шлях, оскільки там концентрація феромону вища.

У цьому полягає базова ідея алгоритму мурашки - оптимізація шляхом непрямої зв'язку між автономними агентами.



 


АЛГОРИТМ ДЕЙКСТРИ

Розглянемо завдання у загальному вигляді. Нехай дано граф G = ( X , Г ), дугам якого приписані ваги (вартості), що задаються матрицею С = | | С | |. Завдання про найкоротший шлях полягає у знаходженні найкоротшого шляху від заданої вершини s X до заданої кінцевої вершини t X. , за умови, що такий шлях існує, тобто. за умови t R ( s ). Тут R ( s ) - безліч вершин, досяжних з вершини s .

Елементи можуть бути позитивними, негативними або нулями. Єдине обмеження полягає в тому, щоб у G не було циклів із сумарною негативною вагою.

Із загальної задачі про найкоротший шлях випливають дві підзадачі:

а) для заданої початкової вершини s знайти найкоротші шляхи між s та всіма іншими вершинами x X ;

б) знайти найкоротшу відстань між усіма парами вершин.

Розглянемо задачу визначення найкоротшого шляху між заданими вершинами s і t для випадку c >0, i , j . Найбільш ефективний алгоритм розв'язання задачі про найкоротший ( s - t ) шлях спочатку дав Дейкстра . Загалом цей метод заснований на приписуванні вершин тимчасових позначок, причому позначка вершини дає верхню межу довжини шляху від s до цієї вершини. Ці позначки (їх величини) поступово зменшуються за допомогою ітераційної процедури, і на кожному кроці ітерації лише одна з тимчасових позначок стає постійною. Останнє вказує на те, що позначка вже не є верхньою межею, а дає точну довжину найкоротшого шляху від s до вершини, що розглядається.

Висновок

Розвиток штучного інтелекту як науки і технології створення машин почався трохи більше ніж сторіччя тому. І ті досягнення, яких вдалося досягти на даний момент, – приголомшливі. Вони оточують людину практично скрізь. У технологій штучного інтелекту є особливість: людина вважає їх чимось інтелектуальним лише спочатку, потім він звикає і вони здаються йому природними.

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

Важливу роль розвитку технологій штучного інтелекту грає розвиток комп'ютерів. Комп'ютери дозволяли технологіям розвиватися екстенсивно, тоді як теоретичні дослідження служили передумовами інтенсивного розвитку. Можна сказати, що розвиток науки про штучний інтелект був наслідком розвитку комп'ютерів.

Історія розвитку штучного інтелекту не закінчена, вона пишеться просто зараз. Постійно вдосконалюються технології, створюються нові алгоритми, відкриваються нові сфери застосування. Час постійно відкриває перед дослідниками нові можливості та нові питання.





 


Список літератури

1.     Барашенко В.С. Штучний розум/В.С. Барашенко // Людина. - 1991. - №4. - С. 64-70.

2.     Квасний Р. Штучний інтелект / Р. Квасний . - М.: Наука, 2001. - 156 с.

3.     Соколов Є. Н. Нейроінтелект : від нейрона до нейрокомп'ютера / О.М. Соколов, Г.Г. Вайткявічус . - М.: Наука, 2001. - 248 с.

4.     Уоссермен Ф. Нейрокомп'ютерна техніка / Ф. Уоссермен . - М.: Світ, 2005. - 368 c.

5.     Шихов Є. Варіанти реалізації штучного інтелекту / Є. Шихов . - М.: Світ, 2002. - 123 с.

6.     Ендрю А. Штучний інтелект / А. Ендрю. - М.: Світ, 2003. - 196 с.
скачати

© Усі права захищені
написати до нас