В изкуствения интелект верижното свързване напред и назад е една от важните теми, но преди да разберем верижното свързване напред и назад, нека първо разберем откъде идват тези два термина.
document.queryselector
Машина за изводи:
Машината за изводи е компонентът на интелигентната система в изкуствения интелект, която прилага логически правила към базата от знания, за да изведе нова информация от известни факти. Първата машина за изводи беше част от експертната система. Машината за изводи обикновено работи в два режима, които са:
Клауза Horn и клауза Definite:
Клаузата Horn и определената клауза са формите на изречения, което позволява на базата знания да използва по-ограничен и ефективен алгоритъм за извод. Алгоритмите за логически извод използват подходи за верижно свързване напред и назад, които изискват KB под формата на определително изречение от първи ред .
Определена клауза: Клауза, която е дизюнкция на литерали с точно един положителен литерал е известен като определена клауза или стриктна клауза за рог.
Клауза за хорн: Клауза, която е дизюнкция на литерали с най-много един положителен литерал е известна като клауза за рог. Следователно всички определителни клаузи са рогови клаузи.
Пример: (¬ p V ¬ q V k) . Има само един положителен литерал k.
Това е еквивалентно на p ∧ q → k.A. Верижно предаване
Предната верига е известна също като предна дедукция или метод на предно разсъждение, когато се използва машина за изводи. Предната верига е форма на разсъждение, която започва с атомарни изречения в базата знания и прилага правила за извод (Modus Ponens) в посока напред, за да извлече повече данни, докато се постигне цел.
Алгоритъмът за предна верига започва от известни факти, задейства всички правила, чиито предпоставки са изпълнени, и добавя своето заключение към известните факти. Този процес се повтаря, докато проблемът бъде решен.
Свойства на форуърд-чейнинг:
- Това е подход надолу нагоре, тъй като се движи отдолу нагоре.
- Това е процес на правене на заключение въз основа на известни факти или данни, като се започне от първоначалното състояние и се достигне до целевото състояние.
- Верижният подход се нарича още управляван от данни, тъй като достигаме до целта, използвайки наличните данни.
- Подходът с предна верига обикновено се използва в експертната система, като CLIPS, бизнес и производствени системи с правила.
Помислете за следния известен пример, който ще използваме и в двата подхода:
Пример:
„Според закона е престъпление американец да продава оръжие на враждебни нации. Държава А, враг на Америка, има някои ракети и всичките ракети са й продадени от Робърт, който е американски гражданин.
Докажи това — Робърт е престъпник.
За да разрешим горния проблем, първо ще преобразуваме всички горепосочени факти в определени клаузи от първи ред и след това ще използваме алгоритъм за предна верига, за да постигнем целта.
Преобразуване на факти в FOL:
- Престъпление е американец да продава оръжия на враждебни нации. (Да кажем, че p, q и r са променливи)
Американски (p) ∧ оръжие(q) ∧ продава (p, q, r) ∧ враждебен(r) → Криминален(p) ...(1) - Държава А има няколко ракети. ?p притежава(A, p) ∧ ракета(p) . Може да се напише в две определени клаузи чрез използване на екзистенциална инстанция, въвеждаща нова константа T1.
Притежава (A, T1) ......(2)
Ракета (T1) .......(3) - Всички ракети са продадени на страна А от Робърт.
?p Ракети(p) ∧ Притежава (A, p) → Продава (Робърт, p, A) ......(4) - Ракетите са оръжие.
Ракета(p) → Оръжия (p) .......(5) - Врагът на Америка е известен като враждебен.
Враг(p, Америка) →Вражески(p) ........(6) - Държава А е враг на Америка.
Враг (A, Америка) .........(7) - Робърт е американец
Американец (Робърт). ..........(8)
Доказателство за предна верига:
Етап 1:
В първата стъпка ще започнем с известните факти и ще изберем изреченията, които нямат значение, като например: Американец (Робърт), Враг (A, Америка), Притежава (A, T1) и Ракета (T1) . Всички тези факти ще бъдат представени по-долу.
Стъпка 2:
На втората стъпка ще видим онези факти, които произтичат от наличните факти и с изпълнени предпоставки.
Правило-(1) не отговаря на предпоставки, така че няма да бъде добавено в първата итерация.
Правило-(2) и (3) вече са добавени.
Правило-(4) отговаря на заместването {p/T1}, така продава (Робърт, T1, A) се добавя, което произтича от връзката на правило (2) и (3).
Правило-(6) е удовлетворено от заместването (p/A), така че се добавя Hostile(A) и което произтича от Правило-(7).
Стъпка-3:
В стъпка-3, тъй като можем да проверим Правило-(1) е удовлетворено от заместването {p/Robert, q/T1, r/A}, така че можем да добавим Criminal(Robert) което извежда всички налични факти. И така постигнахме нашата цел.
Следователно е доказано, че Робърт е престъпник, използвайки подхода за предна верига.
B. Обратно верижно свързване:
Обратното верижно свързване е известно също като обратна дедукция или метод на обратно разсъждение при използване на машина за изводи. Алгоритъмът за обратно верижно свързване е форма на разсъждение, която започва с целта и работи в обратна посока, верижно преминавайки през правила, за да намери известни факти, които подкрепят целта.
Свойства на обратното верижно свързване:
- Известен е като подход отгоре надолу.
- Обратно верижното свързване се основава на правилото за извод на modus ponens.
- При обратната верига целта се разделя на подцел или подцели, за да се докажат истинността на фактите.
- Нарича се целево ориентиран подход, тъй като списък от цели решава кои правила да бъдат избрани и използвани.
- Алгоритъмът за обратно верижно свързване се използва в теорията на игрите, автоматизирани инструменти за доказване на теореми, машини за изводи, асистенти за доказателство и различни AI приложения.
- Методът на обратно верижно свързване използва най-вече a първо търсене в дълбочина стратегия за доказване.
Пример:
При обратно верижно свързване ще използваме същия горен пример и ще пренапишем всички правила.
Притежава (A, T1) ........(2)
Доказателство за обратна верига:
При обратното верижно свързване ще започнем с нашия предикат за целта, който е Престъпник (Робърт) и след това изведете допълнителни правила.
Етап 1:
На първата стъпка ще вземем целта. И от факта на целта ще изведем други факти и накрая ще докажем, че тези факти са верни. Така че нашият целеви факт е „Робърт е престъпник“, така че следното е предикатът за това.
Стъпка 2:
На втората стъпка ще изведем други факти от целта, която отговаря на правилата. Така че, както можем да видим в Правило-1, предикатът за цел Престъпник (Робърт) присъства със заместване {Робърт/P}. Така че ще добавим всички конюнктивни факти под първото ниво и ще заменим p с Робърт.
Тук можем да видим, че Американецът (Робърт) е факт, така че е доказано тук.
Стъпка-3: t На стъпка-3 ще извлечем допълнителен факт Missile(q), който извежда от Weapon(q), тъй като удовлетворява правило-(5). Оръжието (q) също е вярно със заместването на константа T1 при q.
Стъпка-4:
В стъпка-4 можем да изведем фактите Missile(T1) и Owns(A, T1) от Sells(Robert, T1, r), което удовлетворява Правило-4 , със замяната на A на мястото на r. Така че тези две твърдения са доказани тук.
Стъпка-5:
На стъпка-5 можем да заключим факта Враг (А, Америка) от Враждебно (A) което удовлетворява Правило-6. И следователно всички твърдения се доказват верни с помощта на обратно верижно свързване.