Posibniki.com.ua Інформатика Прикладні системи штучного інтелекту 18.16. Людино-машинні інтерфейси (human-computer interface, HCI)


< Попередня  Змiст  

18.16. Людино-машинні інтерфейси (human-computer interface, HCI)


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

сприйняття і поведінка в середовищі) та групу правил, які визначають, як і коли відбувається i дію.

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

Рис. 7.12. Модель систем з агентами

Рис. 7.12. Модель систем з агентами

Як показано на рис. 7.12, агент складається з трьох окремих частин. Це сенсори, відчуття (визначення того, яку дію обрати) і дія. Зверніть увагу, що модель агента реагує на навколишнє середовище. Агенти не можуть планувати і навчатися. Навіть у такій простій моделі навчання відбувається за принципом, який називається еволюцією Ламарка. При відтворенні характеристики батька передаються потомству.

Жан-Батист Ламарк (1744

—1829) запропонував альтернативний механізм еволюції, який відрізняється від механізму, дослідженого Чарльзом Дарвіном. Ламарк запевняв, що замість процесу природного відбору, що спрямовує поступову еволюцію особи, процесом еволюції управляє спадковість.

Агенти можуть відчувати, що відбувається навколо них у середовищі. Однак агент не бачить усе середовище, він реагує тільки на групу клітинок навколо нього (рис. 7.13).

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

— ліворуч і праворуч.

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

             
  Фронт Фронт Фронт Фронт Фронт  
  Ліворуч Близькість Близькість Близькість Праворуч  
  Ліворуч Близькість Агент Близькість Праворуч  
             

Рис. 7.13. Зона передчуття агента. Агент «дивиться» на північ

Агент може виконувати обмежене число дій у середовищі: перейти на одну клітинку (у заданому напрямку), повернутися ліворуч або праворуч або з’їсти об’єкт, який знаходиться в області

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

Мозок агента може бути однією з численних комп’ютерних конструкцій. Існуючі симуляції штучного життя використовують принцип кінцевих автоматів, системи класифікації або НМ. Щоб зберегти аналогію з біологічною мотивацією, у моделюванні харчових ланцюгів використовується проста НМ, побудована за принципом «переможець отримує все». Входи такої мережі u i інтерпретуються так: u

0 — травоїдне на передньому плані; u

1 — хижак на передньому плані; u

2 — рослина на передньому плані; u

3 — травоїдне ліворуч; u

4 — хижак ліворуч; u

5 — рослина ліворуч; u

6 — травоїдне праворуч; u

7 — хижак праворуч; u

8 — рослина праворуч; u

9 — близькість травоїдного; u

10 — близькість хижака; u

11 — близькість рослини.

Така НМ має 4 виходи о j :

• о

0 — повернути ліворуч;

• о

1 — повернути праворуч;

тифікувати типи наявних об’єктів (рослини, травоїдні та хижаки), тобто всього дванадцять входів.

• о

2 — переміститися;

• о

3 — з’їсти.

Входи сенсорів відображають кількість агентів, які перебувають у полі зору в певній області. Після того як усі входи були отримані із середовища, програма «просуває» їх через мережу до виходів. Це виконується за допомогою формули: ? = += n i ijijj wubo

0 .

Тобто, для кожного виходу (о j ) мережі підсумовуються результати входів (u i ), які помножуються на ваги з’єднань від входів до виходів (w ij ). Також додається зсув для виходу. У результаті на виходах мережі буде отриманий набір значень, які потім використовуються елементом дії агента.

Початкові ваги НМ агента вибираються випадковим чином. У результаті відтворення ваги мають бути налаштовані для виживання в середовищі.

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

Щоб вижити в навколишньому середовищі, агентам потрібна адекватна енергія. Якщо внутрішня енергія агента стає рівною нулю, агент помирає. Агенти створюють енергію, з’їдаючи інші об’єкти в середовищі. Агент може з’їсти тільки той об’єкт, який допускається харчовим ланцюжком. Хижаки можуть їсти тільки травоїдних, а травоїдні — тільки рослини. Агенти також мають метаболізм, тобто коефіцієнтом поглинання енергії, який дозволяє їм зберегти життя. За кожну одиницю часу хижаки поглинають одну одиницю енергії, а травоїдні — дві одиниці. Це означає, що для збереження життя травоїдним потрібно з’їдати вдвічі більше їжі, ніж хижакам. Хоча хижакам не потрібно так багато їжі, вони ще мусять знайти її. Травоїдні мають перевагу, яка полягає в тому, що їхня їжа не переміщується по середовищу. Проте їм все-таки потрібно відшукати свою їжу.

Якщо агент поглинає достатню кількість їжі, щоб досягти показника 90 % від максимального рівня енергії, він допускається до участі у відтворенні. Відтворення дозволяє агентам, які змогли вижити в навколишньому середовищі, створити потомс-

Відтворення має наслідки: батько й нащадок розділяють наявну енергію батька (енергія батька ділиться навпіл). При цьому агент не зможе безупинно відтворювати себе.

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

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

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

Нижче представлена структура даних, що описує властивості агента. Більшість полів цієї структури говорять самі за себе: поле type визначає тип агента як травоїдна тварина або хижака, energy показує енергію агента, age — вік агента у «прожитих» ітераціях, а поле generation

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

Положення агента (заданий типом locType) показує його координати в середовищі по осі х та у. Масив inputs визначає значення входів у НМ на етапі сприйняття навколишнього середовища. Масив actions являє coбою вихідний шар НМ, який задає наступну дію агента. Нарешті, масиви weight_oi (значення ваги від виходу до входу) і biasso називають ваги і зміщення для вихідного шару мережі. typedef struct { short type; short energy; short parent;

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

Вхідний вектор задає входи як об’єкт і область (наприклад, травоїдна тварина і область фронт). Щоб дати агенту можливість розрізняти ці елементи, для кожного елементу визначається окремий вхід у НМ, виходи також пов’язані з окремими вихідними осередками вихідного вектора, який представляє одну дію. Нижче показано символічні константи для вхідних і вихідних клітинок. #define HERB_FRONT0 #define CARN_FRONT1 #define PLANT_FRONT2 #define HERB_LEFT3 #define CARN_LEFT4 #define PLANT_LEFT5 #define HERB_RIGHT6 #define CARN_RIGHT7 #define PLANT_RIGHT8 #define HERB_PROXIMITY9 #define CARN_PROXIMITY10 #define PLANT_PROXIMITY11 #define MAX_INPUTS12 /* Output Cells */ #define ACTION_TURN_LEFT0 #define ACTION_TURN_RIGHT1 #define ACTION_MOVE2 #define ACTION_EAT3 #define MAX_OUTPUTS4

short age; short generation; locType location; unsigned short direction; short inputs[MAX_INPUTS]; short weight_oi[MAX_INPUTS * MAX_OUTPUTS]; short biaso[MAX_OUTPUTS]; short actions[MAX_OUTPUTS]; } agentType; #define TYPE_HERBIVORE0 #define TYPE_CARNIVORE1 #define TYPE_DEAD-1 typedef struct { short y_offset; short x_offset; } offsetPairType;

Навколишнє середовище агента відображається у вигляді тривимірного куба. Для агентів доступні три площини, причому кожну площину займає об’єкт одного типу (рослина, травоїдна або хижак). Світ агента як і раніше розглядається як двовимірна сітка, а три виміри застосовують для більш ефективного підрахунку присутніх об’єктів. У лістингу нижче показані типи даних і константи, які використовуються для відображення середовища. #define HERB_PLANE0 #define CARN_PLANE1 #define PLANT_PLANE2 #define MAX_GRID30 int landscape[3][MAX_GRID][MAX_GRID]; #define MAX_AGENTS36 #define MAX_PLANTS35 agentType agents[MAX_AGENTS]; int agentCount = 0; plantType plants[MAX_PLANTS]; int plantCount = 0;

Розмір сітки, кількість існуючих агентів і рослин — це парамет, файл common.h який можна змінювати під час вирішення різних завдань. Заголовний файл common.h включає розділ з параметрами, які можуть бути перевизначені.

Нарешті, розглянемо останню групу макросів, які представляють часто використовувані функції, пов’язані з генерацією випадкових чисел: #define getSRand()((float)rand() / (float)RAND_MAX) #define getRand(x)(int)((x) * getSRand()) #define getWeight()(getRand(9)-1)

Функція getSRand повертає випадкове число від 0 до 1, а функція getRand — ціле число. Функція getWeight повертає значення ваги, яке використовується для НМ агента. Вона також використовується для генерації зміщення, що застосовується для розрахунків у вихідних комірках.

Тепер обговоримо вихідний код властивий симуляції. Почнемо зі спрощеної функції main, з якої була видалена обробка параметрів командного процесора; і збір статистичних даних.

Функція main ініціалізує модель, а потім виконує в циклі ітерації, кількість яких вказана у заголовному файлі за допомогою константи MAX_STEPS. Функція simulate є першою вступною

Функція init() ініціалізує середовище і об’єкти в ньому (рослини, травоїдні і хижаки). При ініціалізації об’єктів вводиться тип кожного агента. Це робиться для того, щоб функція initAgent могла обрати відповідний алгоритм дій. Після вводу типу агента функція initAgent отримує інформацію про те, з яким агентом вона працює, і починає діяти відповідним чином: void init( void ) { /* Initialize the landscape */ bzero( (void *)landscape, sizeof(landscape) ); bzero( (void *)bestAgent, sizeof(bestAgent) ); /* Initialize the plant plane */ for (plantCount = 0 ; plantCount < MAX_PLANTS ; plantCount++) { growPlant( plantCount ); } if (seedPopulation == 0) { /* Randomly initialize the Agents */ for (agentCount = 0 ; agentCount < MAX_AGENTS ; agentCount++) { if (agentCount < (MAX_AGENTS / 2)) { agents[agentCount].type = TYPE_HERBIVORE; } else { agents[agentCount].type = TYPE_CARNIVORE; } initAgent( &agents[agentCount] ); } }

точкою симуляції, після якої починають своє життя агенти та навколишнє середовище (лістинг 7.5). int main( int argc, char *argv[] ) { int i, c; srand( time(NULL) ); /* Initialize the simulation */ init(); /* Main loop for the simulation. */ for (i = 0 ; i < MAX_STEPS ; i++) { /* Simulate each agent for one time step */ simulate(); } return 0; }

Спочатку ініціалізується площина рослин. Для цього створюються рослини в кількості, заданій константою MAX_PLANTS. Реалізацію цієї дії покладено на функцію growPlants. Далі ініціалізуються агенти. Щоб створити максимально допустиму кількість агентів (згідно з константою MAX_AGEHTS), щоразу резервується половина простору. Спочатку ініціалізуються травоїдні, а потім хижаки. Ініціалізація агентів забезпечується функцією initAgent.

Функція growPlant знаходить пусте місце на площині рослин і розміщує в цей осередок нову рослину. Вона також гарантує, з осередку поки немає рослини (це дозволить контролювати кількість рослин у середовищі). void growPlant( int i ) { int x,y; while (1) { x = getRand(MAX_GRID); y = getRand(MAX_GRID); if (landscape[PLANT_PLANE][y][x] == 0) { plants[i].location.x = x; plants[i].location.y = y; landscape[PLANT_PLANE][y][x]++; break; } } return; }

Далі ініціалізуються площини агентів. Програма працює у циклі по масиву, що зберігає опис агентів. Тип агента вже було встановлено. Спочатку ініціалізується поле energy для агента. Енергія встановлюється в значення, що дорівнює половині від максимуму, щоб при досягненні певного рівня енергії агент зміг відтворитися. Коли рівень енергії для агента задається таким, що дорівнює половині від максимуму, це означає, що агент повинен швидко знайти їжу в середовищі, щоб бути допущеним до відтворення. Крім того, для нового агента ініціалізуються вік і покоління. У змінній agentTypeCounts підраховує кількість агентів відповідного типу. Це гарантує, що в моделі збережеться початкове співвідношення 50/50 між травоїдними і хижаками. Далі за допомогою функції findEmptySpot визначається початкове положення агента. Вона знаходить порожню клітинку в заданій площині (визначеній типом агента) і зберігає координати агента в його структурі. Ініціалізуються ваги і змішування для нейронної мережі агента. void initAgent( agentType *agent ) { int i;

У функції findEmptySlot навколишнє середовище подано у вигляді чисел. При цьому записується, чи присутній об’єкт у певній комірці сітки, чи ні? Коли об’єкти помирають або їх з’їдають, змінна landscape змінюється, щоб ідентифікувати видалення об’єкта.

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

agent->energy = (MAX_ENERGY / 2); agent->age = 0; agent->generation = 1; agentTypeCounts[agent->type]++; findEmptySpot( agent ); if (seedPopulation == 0) { for (i = 0 ; i < (MAX_INPUTS * MAX_OUTPUTS) ; i++) { agent->weight_oi[i] = getWeight(); } for (i = 0 ; i < MAX_OUTPUTS ; i++) { agent->biaso[i] = getWeight(); } } return; } void findEmptySpot( agentType *agent ) { agent->location.x = -1; agent->location.y = -1; while (1) { agent->location.x = getRand(MAX_GRID); agent->location.y = getRand(MAX_GRID); if (landscape[agent->type][agent->location.y][agent->location.x] == 0) break; } agent->direction = getRand(MAX_DIRECTION); landscape[agent->type][agent->location.y][agent->location.x]++; return; }

Функція simulate викликає функцію simulateAgent для обчислення і виконання однієї дії агента. Вона може бути поділена на чотири логічні частини: сприйняття, обробка отриманих даних про навколишнє середовище, вибір дії і перевірка енергії агента.

Алгоритм сприйняття є, імовірно, найскладнішим етапом у симуляції. Поле зору агента визначається напрямком його руху і складається з чотирьох окремих областей (фронт, близькість, зліва і праворуч). Щоб агент відчував середовище, йому спочатку необхідно ідентифікувати координати сітки, які складають його поле зору (на підставі напрямку руху агента), а потім розбити цю область на чотири окремі зони. Цей процес відбивається в команді перемикання функції simulateAgent. Тут визначається напрямок, в якому дивиться агент. Кожен виклик функції percept підсумовує об’єкти в певній зоні. Зверніть увагу, що при кожному виклику (HERB_ ) відображається перша площина для зони (спочатку травоїдна, потім хижак і, нарешті, рослина).

При виконанні функції percept до неї передаються поточні координати агента, з масиву inputs вибираються потрібні дані про значення на входах НМ агента, а також список координат offsets та їх усунення. Якщо агент дивиться на північ, то у функцію передається набір координат north , а якщо агент дивиться на південь, то передається той самий набір координат, але зі зміщенням –1. Цей процес аналогічний і для області west . Зміщення координат у кожній зоні визначаються обраним напрямком, але вони можуть бути змінені на координати протилежного напрямку. Щоб краще зрозуміти останнє твердження, нижче розглянемо зміщення координат: /* Grid offsets for Front/Left/Right/Proximity (North/-South facing) */ const offsetPairType northFront[]= {{-2,-2}, {-2,-1}, {-2,0}, {-2,1}, {-2,2}, {9,9}}; const offsetPairType northLeft[]={{0,-2}, {-1,-2}, {9,9}}; const offsetPairType northRight[]={{0,2}, {-1,2}, {9,9}};

void simulate( void ) { int i, type; /* Simulate the herbivores first, then the carnivores */ for (type = TYPE_HERBIVORE ; type <= TYPE_CARNIVORE ; type++) { for (i = 0 ; i < MAX_AGENTS ; i++) { if (agents[i].type == type) { simulateAgent( &agents[i] ); } } }}

Тут подано два набори координат для векторів зміщення, один для півночі й один для заходу. Розглянемо як приклад вектор northRight. Припустимо, що агент має координати <7,9> у середовищі (використовуючи систему координат <х, у>). Використовуючи вектор northRight як зміщення координат, програма розраховує дві нові пари координат — <7,11> та <6,11> (координати <9,9> представляють кінець списку). Дані координати відображають два положення в правій зоні для агента, який дивиться на північ. Якби агент дивився на південь, програма інвертувала б координати northRight перед тим, як додати їх до поточного стану. У результаті вийшло б таке: <7,7> та <8,7>. Ці координати представляють два положення в правій зоні за умови, що агент дивиться на південь. Повністтю програму наведено в додатку Б. Результати роботи програми на рис. 7.14.

Рис. 7.14. Результати роботи програми штучне життя

const offsetPairType northProx[]= {{0,-1}, {-1,-1}, {-1,0}, {-1,1}, {0,1}, {9,9}}; /* Grid offsets for Front/Left/Right/Proximity (West/-East facing) */ const offsetPairType westFront[]= {{2,-2}, {1,-2}, {0,-2}, {-1,-2}, {-2,-2}, {9,9}}; const offsetPairType westLeft[]={{2,0}, {2,-1}, {9,9}}; const offsetPairType westRight[]={{-2,0}, {-2,-1}, {9,9}}; const offsetPairType westProx[]= {{1,0}, {1,-1}, {0,-1}, {-1,-1}, {-1,0}, {9,9}};

18.16. Людино-машинні інтерфейси (human-computer interface, HCI)

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

Крім забезпечення ефективнішого способу комунікації, такі інтерфейси між мозком і комп’ютером приведуть до появи абсолютно нових можливостей. BCI (Brain-Computer Interface) — це системи, в яких використовуються електричні, магнітні або гемодинамічні сигнали мозку для управління зовнішніми пристроями, такими як комп’ютери, перемикачі, управління транспортом, інвалідні коляски і нейропротези.

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

Для отримання даних у сфері досліджень BCI використовується кілька технологій, зокрема, електроенцефалографія (EEG), магнітоенцефалографія (MEG), функціональна магнітно-резонансна томографія (fMRI) і спектроскопія в ближній інфрачервоній області (near infrared spectroscopy, NIRS). Та оскільки технології MEG, fMRI і NIRS дорого коштують і є громіздкими, й оскільки в fMRI і NIRS нервова діяльність не вимірюється безпосередньо, а застосовується гемодинамічний взаємозв’язок між нервовою діяльністю і місцевими змінами кровообігу, ці технології неможливо застосовувати в

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

Дослідники BCI витрачають багато часу на розроблення програмного забезпечення для аналізу даних і розрахунку різних моделей діяльності мозку. Відсутність вичерпного репозиторію інструментальних засобів ускладнює узгодження форматів даних і доказ сумісності різних концепцій науки про нервову діяльність. Базову схему системи BCI подано на рис. 7.15.

Рис. 7.15. Базова схема і функціонування системи BCI

Рис. 7.15. Базова схема і функціонування системи BCI

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

амбулаторних або переносних системах BCI. У результаті в більшості перспективних систем BCI використовуються сигнали EEG.

Резюме за змістом теми

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

Новим напрямом розвитку методів штучного інтелекту є мультиагентні методи інтелектуальної оптимізації, що моделюють колективний інтелект (КІ) суспільних тварин, комах та інших живих істот, — методи Swarm Intelligence. Даний напрям ПСШІ є молодим і мало дослідженим, проте мультиагентні методи виявляють хороші результати у розв’язанні різних задач оптимізації, що свідчить про перспективність його розвитку.

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

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

До мультиагентних розподілених ПСШІ належать мультиагентні методи інтелектуальної оптимізації (методи колективного інтелекту, Swarm Intelligence). Ці методи мають біонічну природу, тобто вони засновані на моделюванні поведінки комах, птахів, тварин і ін., поведінка яких носить колективний характер, за рахунок чого досягається так званий колективний інтелект.

Терміни та поняття до теми

Координація — відповідна організація задач окремих індивідів у часі й просторі, що дозволяє розв’язати проблему, що виникла перед колонією.


< Попередня  Змiст  
Iншi роздiли:
18.7. Особливості модифікацій методів бджолиної колонії
18.3. Різновиди методу мурашиних колоній
Тема 18. ПРИКЛАДНІ СИСТЕМИ КОЛЕКТИВНОГО ІНТЕЛЕКТУ SWARM INTELLIGENCE
17.19. Джиніторний
17.13. Узагальнена схема роботи генетичних методів
Дисциплiни

Медичний довідник новиниКулінарний довідникАнглійська моваБанківська справаБухгалтерський облікЕкономікаМікроекономікаМакроекономікаЕтика та естетикаІнформатикаІсторіяМаркетингМенеджментПолітологіяПравоСтатистикаФілософіяФінанси

Бібліотека підручників та статтей Posibniki (2022)