logo

Анализ на средствата и целите в изкуствения интелект

  • Изучихме стратегиите, които могат да разсъждават напред или назад, но комбинация от двете посоки е подходяща за решаване на сложен и голям проблем. Такава смесена стратегия прави възможно първо да се реши основната част от проблем и след това да се върнете и да разрешите малките проблеми, възникващи по време на комбинирането на големите части от проблема. Такава техника се нарича Анализ на средствата и целите .
  • Анализът на средствата и целите е техника за решаване на проблеми, използвана в изкуствения интелект за ограничаване на търсенето в програми с изкуствен интелект.
  • Това е смесица от техника за търсене назад и напред.
  • Техниката MEA е представена за първи път през 1961 г. от Алън Нюел и Хърбърт А. Саймън в тяхната компютърна програма за решаване на проблеми, наречена General Problem Solver (GPS).
  • Процесът на анализ на MEA се съсредоточи върху оценката на разликата между текущото състояние и целевото състояние.

Как работи анализът на средствата и целите:

Процесът на анализ на средствата и целите може да се приложи рекурсивно за проблем. Това е стратегия за контролиране на търсенето при решаване на проблеми. Следват основните стъпки, които описват работата на MEA техниката за решаване на проблем.

стек в java
  1. Първо, оценете разликата между началното състояние и крайното състояние.
  2. Изберете различните оператори, които могат да се прилагат за всяка разлика.
  3. Приложете оператора при всяка разлика, което намалява разликата между текущото състояние и целевото състояние.

Подцели на оператора

В процеса на MEA ние откриваме разликите между текущото състояние и целта. След като възникнат тези разлики, тогава можем да приложим оператор, за да намалим разликите. Но понякога е възможно даден оператор да не може да бъде приложен към текущото състояние. Така че ние създаваме подпроблема на текущото състояние, в който операторът може да бъде приложен, такъв тип обратно верижно свързване, при което се избират оператори и след това се задават подцели, за да се установят предварителните условия на оператора, се нарича Подцели на оператора .

Алгоритъм за анализ на средствата и целите:

Нека вземем текущото състояние като ТЕКУЩО и целевото състояние като ЦЕЛ, след което следват стъпките за алгоритъма MEA.

    Етап 1:Сравнете ТЕКУЩА с ЦЕЛ, ако няма разлики между двете, върнете Успех и Изход.Стъпка 2:В противен случай изберете най-значимата разлика и я намалете, като изпълнявате следните стъпки, докато настъпи успех или неуспех.
    1. Изберете нов оператор O, който е приложим за текущата разлика и ако няма такъв оператор, сигнализирайте за грешка.
    2. Опит за прилагане на оператор O към ТЕКУЩ. Направете описание на две състояния.
      i) O-Start, състояние, при което предварителните условия на O са изпълнени.
      ii) O-резултат, състоянието, което би се получило, ако O се приложи в O-старт.
    3. Ако
      (Първа част<------ mea (current, o-start)< strong>
      И
      (ПОСЛЕДНА-част<----- mea (o-result, goal)< strong>, са успешни, след това сигнализират за успех и връщат резултата от комбинирането на FIRST-PART, O и LAST-PART.

Обсъденият по-горе алгоритъм е по-подходящ за прост проблем и не е подходящ за решаване на сложни проблеми.

Пример за анализ на средните цели:

Нека вземем пример, при който знаем първоначалното състояние и целевото състояние, както е дадено по-долу. В този проблем трябва да получим целевото състояние чрез намиране на разлики между първоначалното състояние и целевото състояние и прилагане на оператори.

Анализ на средствата и целите в AI

Решение:

За да разрешим горния проблем, първо ще намерим разликите между началните състояния и целевите състояния и за всяка разлика ще генерираме ново състояние и ще приложим операторите. Операторите, които имаме за този проблем, са:

js base64 декодиране
    Ход Изтрий Разширяване

1. Оценка на първоначалното състояние: В първата стъпка ще оценим първоначалното състояние и ще сравним първоначалното и целевото състояние, за да открием разликите между двете състояния.

jsp
Анализ на средствата и целите в AI

2. Прилагане на оператор Delete: Както можем да проверим, първата разлика е, че в целевото състояние няма символ на точка, който присъства в първоначалното състояние, така че първо ще приложим Оператор за изтриване за да премахнете тази точка.

Анализ на средствата и целите в AI

3. Прилагане на оператор за преместване: След прилагане на оператора Delete възниква новото състояние, което отново ще сравним с целевото състояние. След като сравним тези състояния, има друга разлика, че квадратът е извън кръга, така че ще приложим Оператор за преместване .

Анализ на средствата и целите в AI

4. Прилагане на оператор за разгъване: Сега в третата стъпка се генерира ново състояние и ние ще сравним това състояние с целевото състояние. След сравняване на състоянията все още има една разлика, която е размерът на квадрата, така че ще приложим Оператор за разгъване и накрая ще генерира състоянието на целта.

Анализ на средствата и целите в AI