4. Базы знаний на ЭВМ.

       Любая база данных может быть описана на языке Пролог набором фактов. При этом любые запросы к этим базам данных можно выразить с помощью сложносоставных правил на Прологе. Пример сложносоставного вопроса:

                   ? папа( х,у ),папа( y, Вова);              -  кто папа у папы Вовы?

            Правила в Прологе – это правила логического вывода. Слева в правилах записывается следствие, а справа – предусловие. Предусловие может состоять из одного или нескольких предикатов, разделяемых запятыми.

            Примеры записи правил вывода на Прологе:

                        студент(х) <- занятие(х,учеба);         - Студент - тот, кто занят учебой.

                        нумизмат(х) <- собирает(х,монеты);    - Нумизмат -собирает монеты.

            Примеры вопросов на применение правил вывода:

                        ? студент( х );                                    - Кто - студент?

                        х = Алеша

                        х = Лена

                        ? нумизмат( у )                                             - Кто - нумизмат?

                        у = Алеша

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

          родитель(x,y) ¬ мама(x,y);

          родитель(x,y) ¬ папа(x,y);

          бабушка(x,z) ¬ мама(x,y),родитель(y,z);

          дедушка(x,z) ¬ папа(x,y),родитель(y,z);

            База знаний в ЭВМ – это совокупность фактов и правил вывода, храня­щихся в памяти ЭВМ. Содержание баз знаний составляют конкретные и обоб­щенные сведения об определенной предметной области или сфере деятельности.

            Обобщенные сведения в базах знаний записываются в форме правил вывода, выражающих определения понятий. Примеры обобщенных сведений:

                        бабушка(х,z) <- мама(х,у),мама(у,z);             - бабушка - это мама мамы

                        двоечник(х) <- оценка( х,_ ,2 );                     - двоечник - тот, у кого есть двойки.

            Использование логического вывода и конкретных и обобщенных сведений позволяет интерпретаторам Пролога давать ответы на широкий круг вопросов. Для этого соответст­вующая база знаний должна храниться в памяти ЭВМ.

            Пролог как язык программирования позволяет создавать и проверять на ЭВМ логические спецификации самых сложных баз данных и информационных систем и искать решения логических проблем над базами знаний.

            Главная особенность Пролога - механизмы поиска и обработки осмысленной информации в базах данных на основе правил логического вывода из имею­щихся данных и правил, приведенных в программе.

            Пример логического вывода, осуществляемого ЭВМ:

                        мама( Люба, Оля ) ;                                                   - Люба - мама Оли.

                                мама( Зина, Люба );                                                  - Зина - мама Любы.

                        бабушка(х,z) <- мама(х,у), мама(у,z);             - бабушка - это мама мамы.

                        ? бабушка( х, Оля)                                        - кто бабушка Оли?

                  х = Зина

 



Hosted by uCoz