На сайті 11893 реферати!

Усе доступно безкоштовно, тому ми не платимо винагороди за додавання.
Авторські права на реферати належать їх авторам.

Мова логічного програмування "Пролог"

Реферати > Комп'ютерні науки > Мова логічного програмування "Пролог"

Постановка завдання

В даній курсовій роботі потрібно ознайомитись з мовами програмування, зокрема Prolog. З’ясувати як саме мова використовується, де виникла та визначити принцип її роботи. Розглянути порядок правил мови, дізнатися наскільки вона ефективна та актуальна.

Основні терміни:

Терм – будь-який об’єкт даних в Пролозі. Терм буває константою, змінною, складним термом.

Константа – представлена в Пролозі числами і атомами.

Атом – будь-яка послідовність символів, що взята в лапки.

Змінна – будь-яка послідовність символів, букв, цифр та символів-підкреслень, що починаються з писаної букви.

Складний терм (структура) – складається з атома, що називається головним функтором (предикатом), і послідовність термів – компонентів структури.

Факт – поодиноке безумовно істинне твердження.

Зміст

Вступ

1. З історії виникнення мови ПРОЛОГ

2. Актуальність та принцип роботи

3. Чистий ПРОЛОГ

4. Порядок правил та цілей

5. Ефективність програм та їх розробка

Приклади

Висновки

Список використаної літератури

Вступ

Майже всі сучасні комп’тери засновані на ранніх, розроблених у 40-х роках ідеях фон Неймана та його коллег. Машина фон Неймана має більшу пам’ять і процесор, оснащений локальною пам’яттю і комірками, що називаються регістрами. Процесор може завантажувати дані з пам’яті в регістри, виконувати арифметичні та логічні операції над вмістом регістрів і надсилати значення регістрів на згадку. Програма мащини фон Неймана являє собою послідовність команд виконання перерахованих операцій разом з додатковою більшістю команд управління, які впливають на вибір наступної команди.В міру подолання технічних проблем створення комп’ютерів накопичувалися проблеми пов’язані з їх використанням.Труднощі змістилися з області виконання програм комп’ютера в область створення програм для комп’ютера. Почалися пошуки мов програмування, які були зрозумілі людині. Починаючи з мови, яка сприймається комп’ютером (машинної мови), стали з’являтися більш зручні формалізми і системи позначень. І хоч ступінь абстракції мов зріс, починаючи з нібито асемблера і далі до Фортрана, Алгола, Паскаля і Ади,всі вони несуть друк машини з архітектурою фон Неймана. Характерні особливості програмування на комп’ютерах фон Неймана призводять до розподілу праці: є люди, які думають як вирішити задачу, і розробляють відповідні методи, а є люди-кодувальщики, які пишуть тексти программ, тобто виконують прозаїчну і стомлюючу роботу з перекладом інструкції розроблювачів у команди, які сприймаються комп’ютером.

І у логіці, і в програмуванні потрібне явне вираження знань і методів у потрібному формалізмі. Явнее формулювання яких-небудь відомостей є стомлюючоб роботою. Але формалізація в логіці є часто інтелектуальною працею, оскільки при цьому задача стає більш зрозумілою. На відміну від цього формалізація задачі і метода її вирішення у вигляді набору інструкцій машини фон Неймана рідко приводить до подібної корисному ефекту.

Джерела логіки пов’язані з дослідженнями наукової думки. Логіка є точною мовою для явного вираження цілей, знань і припущень. Логіка дає выражения целей, знаний и предположений. Логіка дає підставу, що дозволяє виводити наслідкиз вихідних положень. Логіка дозволяє, виходячи зі знання про істинність або помилковість деяких тверджень, зробити висновок про істинність або помилковість інших тверджень. Логіка дозволяє обґрунтовувати несуперечність тверджень і перевіряти істинність наведених доводів.

На сьогоднішній день існує багато мов програмування, та їх варіантів, які використовуються як починаючими програмістами, так і професіоналами. Але більшість з них не може надати простого рішення при розв’язанні навіть не дуже складної задачі про родинний зв’язок. Прологовський програміст надає простий та логічний опис поняття «дідусь»: дідусь – батько батька. Мовою Пролога це буде виглядати так:

grandfather(X, Z):-father(X, Y),parent(Y, Z).

Тільки-но Пролог-система дізналася, що таке дідусь, до неї можна звернутися з питанням, наприклад: хто є дідусем Івана? У визначеннях Пролога це питання та типова відповідь на нього мають вигляд:

grandfather(X, ivan)

X=petro;

X=egor.

Яким чином вирішувати цю задачу, як перебирати базу даних, в якій записані усі відношення «батько-син», це вже проблема самої Пролог-системи. Програміст тільки повідомляє системі те, що йому відомо та задає питання. Його в більшій ступені цікавлять знання і в меншій – алгоритми, за допомогою яких з цих знань вилучається необхідна інформація. Саме цьому для програмування мовою Пролог необхідно свіже логічне мислення, при якому знання таких мов програмування як Паскаль або Бейсик може бути справжньою поміхою. До речі, назва мови ПРОЛОГ є скороченням «ПРОграмування мовою ЛОГіки»

З історії виникнення мови ПРОЛОГ

Створення штучного інтелекту було і є актуальним протягом багатьох років. Перша версія мови програмування Пролог була створена ще в 1983 році і вдосконалюється до сьогодення. Останньою версією є Visual Prolog для Windows. Основи символьної логіки були закладені Булем, Де Морганом й іншими в минулому сторіччі. Сучасне, систематичне формулювання логіки першого порядку виклав Фреге. Протягом тривалого часу семантика (або “значення”) логіки залишалося заплутаним предметом, але зрештою значна ясність у нього була внесена Тарським.

Комп'ютерам ще далеко до досягнення мети - стати рівним партнером людини в його інтелектуальній діяльності. Однак, з історичної точки зору використання логіки як підходящого щабля на цьому довгому шляху є природним й плідним, оскільки саме логіка супроводжує процес мислення людини з моменту зародження інтелекту.

Звичайно, логіка давно використовується й при проектуванні комп'ютерів, і при аналізі комп'ютерних програм. Однак безпосереднє використання логіки як мови програмування, що називається логічним програмуванням, виникло порівняно недавно.

Логічне програмування, так само як і подібний до нього напрямок - функціональне програмування, радикально відхиляється від основного шляху розвитку мов програмування. Логічне програмування будується не за допомогою деякої послідовності абстракцій і перетворень, що відштовхується від машинної архітектури фон Неймана й властивого їй набору операцій, а на основі абстрактної моделі, що ніяк не пов'язана з якимось типом машинної моделі. Логічне програмування базується на переконанні, що не людині варто навчати мисленню в термінах операцій комп'ютера (на деякому історичному етапі певні вчені й інженери вважали подібний шлях простим й ефективним), а комп'ютер повинен виконувати інструкції, властиві людині. У своєму граничному й чистому виді логічне програмування припускає, що самі інструкції навіть не задаються, а замість цього явно, у вигляді логічних аксіом, формулюються відомості про завдання й припущення, достатні для її рішення. Така безліч аксіом є альтернативою звичайній програмі. Подібна програма може виконуватися при постановці завдання, формалізовані у вигляді логічного твердження, що підлягає доказу. Таке твердження називається цільовим твердженням. Виконання програми полягає у спробі вирішити завдання, тобто довести цільове твердження, використовуючи припущення, задані в логічній програмі.

Перейти на сторінку номер: 1  2  3  4  5  6 Версія для друкуВерсія для друку   Завантажити рефератЗавантажити реферат