Пролог и риторика

Пролог

...


...

Лекция 8

11 ноября 2011 года

Автоматическая декомпозиция и анализ знаков. Парсинг.

Декларативное программирование.

Пролог и теория формальных грамматик


Анализ (декомпозиция) знакового произведения. Парсинг.

Работы по ИИ.

Теория формальных грамматик. Наум Хомский. Syntactic Structures – 1956.

Синтактика и семантика в Формальной Грамматике. Феномен green ideas - виртуальный мир, где они возможны. Зеленые идеи борются - Филфак, книга Будагова.

Шествие идей Хомского. Создание птичьих терминологических языков - чтобы не понимали непосвященные в школу грамм. формализма. Форма Бэкуса-Наура (БНФ - BNF)для описания формальных языков.

Более подробно о Хомском и формальных грамматиках можно найти в Сети, сделав запрос "Хомский БНФ" - или из др кл слов из этого изложения.


Декларативные языки программирования


Пролог.

Эволюция языков программирования. Никлаус Вирт и Непейвода.

Языки обработки символьной информации.

Лисп. Пролог. РЕФАЛ – Анатолий Турчин.

Их особенности.

Процедурные (как?) и декларативные (что?) языки программирования

Декларативные языки программирования
– мыслить в терминах ЦЕЛЕЙ – что нужно?.

Сама сущность Пролога – указывать не КАК сделать – а ЧТО сделать.

Понятие предиката.

Предикация - это любое суждение

О чем угодно - это есть минимальное предложение

Например – что ты мужчина – сразу на Прологе man(Сергей) – одноместный

Ты – сын Ивана двуместный dad (Иван, Сергей)

Может быть многоместный

Простейшая процедура работы с Прологом

Пролог – программа –

Закодированный предикат – «отец»



Dad (tom,pete)



Запрос –

Dad (X,pete)


Ответ –

X = pete



Сложные конструкции –

DED (X,Y) :- DAD (X,Z), DAD (Z,Y).



Особенности лаб работ.

Программы SENAN и GEOBASE.



Рефлексия - общее понятие о том, что это такое.

Р о том, что мы изучили - покрываем декларациями (предикатами об объектах) ПО - и задаем об этом ПО вопросы - ЧТО нам нужно.

Прологовский когнитивный процессор работает с предикатами и выдает ответ.

Но - обратим внимание - предикат DED - это уже предикат на двух предикатах DAD n t - это суждение - отец отца

А может быть еще интереснее - рекурсивное определение - неизвестное определяем через само неизвестное!

PREDOK (X,Y) :- PREDOK (X,Z), DAD(Z,Y).

Послав запрос -

PREDOK (X,tom)

мы получим всех предков Тома - если все они будут достаточно подробно описаны.

Это все очень мощные и эффективные свойства Пролога

...



...



Хостинг от uCoz