Скачать 1.11 Mb.
|
ПрологРост мощностей вычислительных комплексов выдвинул в ряд основных языки сверх высокого уровня. Задачей таких языков является сведение процесса программирования к указанию того, что именно необходимо получить, не говоря о том, как это сделать. В этом смысле Алгол, Си, Pascal – это языки только высокого, а не сверх высокого уровня. К языкам сверхвысокого уровня относят язык Пролог. Он (Prolog) создан во Франции в Марсельском университете в 1971 году Аленом Кольмеро (Colmerauer). Разрабатывая новый язык программирования для задач анализа и понимания естественных языков, А.Кольмеро решил использовать язык формальной логики предикатов первого порядка и метод автоматического доказательства теорем. Поэтому, в дальнейшем его стали расшифровывать как «ПРОграммирование в терминах ЛОГики» (PROLOG – PROgramming LOGiki). Язык Пролог основан на концепциях логического программирования, предложенных профессором Лондонского университета Робертом Ковальским, и представляет собой среду, ориентированную на рассуждения, или дедукцию. Этот язык, базируясь на логическом программировании, является его первым применением. При логическом программировании осуществляется обработка символьной информации (решение проблем), в ходе которой процесс доказательства теорем интерпретируется как процесс вычисления или процесс выполнения программы. До начала 80-х годов Пролог был уделом ученых, работавших в основном в области логического программирования, и мало знаком широкому кругу программистов и пользователей компьютеров. Начиная с 80-х годов, Пролог уже не сходит со страниц научных журналов по вычислительной технике и публикаций в области искусственного интеллекта. В 1981 году Япония известила мир о создании вычислительных машин пятого поколения, в которых язык Пролог выбран в качестве базового языка программирования. Однако растущую популярность Пролога нельзя объяснить только выбором авторов японского проекта, здесь кроются более глубокие причины: Пролог можно рассматривать как универсальный язык сверхвысокого уровня с хорошо определенной и логически обоснованной семантикой. Он не только изменяет стиль программирования задач (в смысле Фон Неймана), но и укоренившуюся архитектуру вычислительных машин. Программа на языке Пролог содержит две составные части: факты и правила. Факты представляют собой данные, с которыми оперирует программа. Совокупность фактов составляет базу данных Пролога, которая является реляционной базой. Основная операция, выполняемая над данными, – это операция сопоставления, называемая также операцией унификации, или согласия. Правила состоят из заголовка и подцелей. Выполнение программы, написанной на Прологе, начинается с запроса и состоит в доказательстве истинности некоторого логического утверждения в рамках заданной совокупности фактов и правил. Алгоритм этого доказательства (логического вывода) и определяет принципы исполнения программы, написанной на Прологе. В отличие от программ, составленных на языках процедурного типа (Бейсик, Паскаль и др.), предписывающих последовательность шагов, которые должен выполнять компьютер для решения задач, в Прологе программист описывает факты, правила, отношения между ними, а также запросы по проблеме. Первый интерпретатор Пролога, написанный на Фортране, разработан А.Кольмеро и Ф.Русселем в 1973 году. Затем появился компилятор Пролога, созданный Д.Уорреном и Ф.Перейра из Эдинбургского университета для машины DEC-10. Впоследствии наибольшую популярность получили версии Пролога, реализованные на персональных компьютерах. Первая аппаратная реализация языка относится к 1984 году, когда Д.Уорреном был разработан конвейерный процессор языка Пролог-SRI. Затем, в рамках реализации японского проекта машин пятого поколения, в 1985 году появился действующий макет машины PSI (Personal Sequential Inference Mashine – персональная ЭВМ последовательного вывода), а в 1986 году опытный образец машины CHI – параллельная быстродействующая машина вывода. Впервые в нашей стране язык Пролог был реализован в конце 70-х годов сотрудниками Института кибернетики им. В.М.Глушкова АН УССР и Рижского политехнического института для ЕС ЭВМ. Пролог нашел многочисленные и разнообразные применения в символьной математике, планировании, автоматизированном проектировании, построении компиляторов, базах данных, обработке текстов на естественных языках, машинной индукции, отладке. Но самое характерное применение Пролога – это экспертные системы. Он вносит своеобразный вклад в их создание, особенно для механизма логического вывода. Этот язык можно использовать для применения любой модели, его можно рассматривать и как воплощение модели представления знаний, и как язык представления знаний. Определение, данное Р.Ковальским: Алгоритм=Логика+Управление, подтверждает это утверждение и помогает прояснить термин «управление» в экспертных системах. В этом определении Логика показывает, что является проблемой (областью), а Управление – как эффективно использовать логику для решения проблем. Пролог сыграл одну из главных ролей в развитии информатики, и в частности, он помогает структурировать мышление. В свое время велись работы над неалгоритмическими языками программирования, так называемыми эвристическими языками, в основе которых лежат работы алгоритмической неразрешимости определенных процессов. В поисках наиболее универсального языка, который бы годился для машинного перевода, боливийский математик Иван Гусман де Рохас выяснил, что наиболее подходящим является не какой-либо искусственный, специально созданный для ЭВМ язык, а язык индейцев Перу в Боливии – аймара. Еще первый составитель словаря этого языка священник-иезуит из Италии в 1610 году отмечал, что язык аймара удивительно логичен, в нем почти нет исключений из его довольно простых грамматических правил, в частности, в нем не существует неправильных глаголов. Гусман де Рохас, работа которого высоко оценена многими специалистами, создал программу, при помощи которой простой в синтаксическом отношении язык аймара выражен сравнительно небольшим рядом математических символов. Самое парадоксальное заключается в том, что язык народа, который почти поголовно неграмотен, может быть через несколько лет принят к использованию в самых современных компьютерах, существующих в мире. Вопросы для самоконтроля
|
Основы информатики и вычислительной техники компьютерные сети Минск Рассматривается понятие компьютерной сети, структура и целесообразность ее создания. Приводится классификация сетей по территории... |
Виды и формы контроля знаний на уроках информатики Одним из основных направлений повышения эффективности учебного процесса по курсу основ информатики и вычислительной техники является... |
||
Требования к кабинету информатики Требования к кабинету информатики и вычислительной техники Помещения кабинета ивт должны иметь естественное и искусственное освещение в соответствии с СанПиН 2 542-96 |
Основы информатики и вычислительной техники Описан интерфейс и назначение команд основного меню пакета презентационной графики PowerPoint. Показана технология создания слайдов,... |
||
Требования к кабинету информатики и вычислительной техники Помещения кабинета ивт должны иметь естественное и искусственное освещение в соответствии с СанПиН 2 542-96 |
Конспект лекций для студентов пятого курса специальности 220400 Программное... Данный конспект лекций составлен для студентов четвёртого курса специальности “Программное обеспечение вычислительной техники и автоматизированных... |
||
И вычислительной техники системное программное обеспечение. Операционная система Windows Минск Дается общая характеристика операционной системы Windows, рассматривается пользовательский интерфейс. Дается понятие файловой системы,... |
Республики Беларусь Учреждение образования «белорусский государственный... Конспект лекций по курсу «Основы алгоритмизации и программирования» для студентов всех специальностей и всех форм обучения. Мн.:... |
||
Среда программирования Visual C++ 0 Общий вид окна Совокупность средств и правил для представления алгоритма в виде пригодном для выполнения вычислительной машиной называется языком... |
Конспект лекций доцента и. А. Волковой по курсу «системы программирования» Система программирования – комплекс программных инструментов и библиотек, который поддерживает создание и существование программного... |
Поиск на сайте Главная страница Литература Доклады Рефераты Курсовая работа Лекции |