Главы     1     2     3     4     5     6     7     8     9   

Нейронные сети в планировании

Глава 7 Логическое программирование нейро сети



Следуя различными путями дедуктивного и индуктивного мышления, осуществляя различные парадигмы обучения, человек стремился автоматизировать логику мышления. Продуктом этой деятельности явились такие языки логического вывода, как ЛИСП и ПРОЛОГ Более того, ПРОЛОГ следует считать венцом усилий по автоматизации логического вывода, эффективно описывающего, в частности, экспертные системы.

Язык представляет базу знаний как совокупность фактов и правил вывода; процедурная структура позволяет включать конструкции любых других алгоритмических языков, т.е. ПРОЛОГ является логической надстройкой, объединяющей лишь операции вывода. Формулируется цель логического вывода, и если она не противоречива, выявляются факты, ее породившие.

Рассмотрим упрощенную задачу в виде ПРОЛОГ программы, содержащую характерные элементы проблемы достижения сложной цели на основе фрагмента базы знаний, содержащего факты и правила.

Факты — клозы (отдельные предикаты высказывания принято называть клозами), которые не содержат правых частей, правила — клозы, которые содержат правые части; одноименные факты и правила объединяются в процедуры. Пусть база знаний имеет следующий вид.

    Логическое программирование нейросети 2
    Процедура мужчина: мужчина (иван) мужнина (василий) мужчина (петр) мужчина (федор) мужчина (юрий) Процедура «женщина»: женщина (марья) женщина (ирина) женщина (ольга) женщина (елена) Процедура род...
    Логическое программирование нейросети 3
    Процедура «мать*: женщина (X), родитель (X, Y) Процедура «отец*: отец (X, Y): мужчина(Х), родитель (X, Y) Процедура брат: брат (X,Y): мужчина (X), родитель (Р, X), родитель (Р, Y), XOY Процедура «...
    Логическое программирование нейросети 4
    Изложим последовательность действий. Находим первый (и единственный) предикат цели дядя (X, Y). Заменяем найденный предикат правой частью процедуры с этим именем, записанной в БЗ. Получим трансфор...
    Логическое программирование нейросети 5
    Трансформируем цель: .иван василий, родитель (василий, Y) (василий, Y). Вновь входим в процедуру родитель, но не находим клоза, в котором василий указан как чейлибо родитель, т.е. вновь унификация...
    Нейросеть для задачи логического вывода
    Рассмотрим предварительно один аспект обучения нейросети методом трассировки. Обобщив подход, изложенный в разд. 2, на логику передаточных функций, мы заявили, что нашли способ построения уже обуч...
    Нейросеть для задачи логического вывода 2
    Порог h подбирается экспериментально, в данном случае целесообразно положить h = 0,4. Мы видим, что сеть отображает только факты, а где же правила? Они использованы и забыты? И да, и нет. Вот тут...
    Нейросеть для задачи логического вывода 3
    Мужчина Иван Мужчина Василий Мужчина Петр Мужчина Федор Мужчина Юрий Женщина Марья Женщина Ирина Женщина Ольга Женщина Елена Марья родитель Ивана Иван родитель Елены Марья родитель Василия Федор р...
    Нейросеть для задачи логического вывода 4
    Мужчина Иван Мужчина Василий Мужчина Петр Мужчина Федор Мужчина Юрий Женщина Марья Женщина Ирина Женщина Ольга Женщина Елена Марья родитель Ивана Иван родитель Елены Марья родитель Василия Федор р...