|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Теория - Prolog и его современные диалекты |
|
Теория - Prolog и его современные диалекты
|
Необычный Сообщения: 4463 |
Профиль | Сайт | Отправить PM | Цитировать Здравствуйте.
Хотелось бы услышать мнение о языке Prolog. Читана различная литература, сайты, накоплена (но не прочитана от и до) документация. Найден современный диалект Mercury. Вопросы простые, но играют решающие роли: В чем прелесть языка Prolog? Какую идею он несет в себе, чтобы его можно было попробовать изучить? Другими словами, как надо построить свое мышление и рассуждение, чтобы создавать эффективные, красивые и элегантные программы на Prolog'е? Где та область, где он работает, а другие лишь пытаются работать? У меня сформировалось о нем некоторое мнение, но хотелось бы его высказать чуть позже, равно как и о предпосылках создания этой темы. |
|
------- Отправлено: 12:39, 09-10-2012 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата lxa85:
|
|
Отправлено: 18:37, 09-10-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать Постановили в институте изучение новой дисциплины -- языки инженерии знаний.
Предмет новый, подробных методических материалов нет. Поиск в гуле привел к следующим результатам: Пролог, Лисп. Как основные языки описания знаний и их инженерии -- т.е. получение новых знаний. Проще говоря -- у нас есть некоторый набор знаний (логических условий), к нему надо задать вопрос и получить ответ. Наиболее часто приводимые примеры -- генеалогическое дерево, задача Эйнштейна, игра "Жизнь". Про lisp мне было известно, что что работа со списками, применяется в автокаде, да и судя по постам на хабре -- вещь лежащая в основе языков программирования. (Т.е. глубже обычного) Пролог -- язык логического программирования. Собственно и все. Т.к. это не объектно-оринетированное программирование, а функциональное, то и хочется понять (схемку али что) что это за зверь? Т.е. возратясь к названию -- программирование логики. Но логику я могу запрограммировать и на паскале допустим. В чем юмор то? Часто пролог называют -- уделом университета и университетской шуткой. Я пока склонен согласиться, т.к. я не видел рабочих программ на прологе. (Собственно, да, а много ли чего я не видел?) Если Visual Prolog продают, значит кто то его покупает. Допустим пролог разрабатывали как язык автоматического доказательства теорем. Современный его диалект, оптимизированный под современную архитектуру -- Mercury. Он несколько оптимизирует код и позволяет получать более быстрые программы. Не найдя простого и понятного ответа, решил спросить на форуме. Кто работал с этим языком и что в нем такого замечательного? Я не понимаю что, как и к чему должны привести лекции, что должны узнать и понять студенты после изучения языка Prolog? В этом плане мне гораздо больше интересен lisp. На нем хоть можно что-то создавать. И он впоследствии более плавно перейдет в дисциплину искусственного интеллекта. Сумбурно так получилось. |
------- Отправлено: 11:48, 10-10-2012 | #3 |
Ветеран Сообщения: 1807
|
Профиль | Отправить PM | Цитировать Цитата lxa85:
И еще немного, на счет Лиспа. Да, я понял, что на нем можно наворочать очень многое, если при этом правильно прописать используемые основные понятия. Но само это прописывание... настолько муторное! Просто с души воротит. Не знает ли кто языка, где это проще делается? |
|
Отправлено: 12:19, 10-10-2012 | #4 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать XPEHOMETP, вооот. Вот про lisp это все трактуется, говорится и пересказывается.
А как быть с прологом то? |
|
------- Отправлено: 13:11, 10-10-2012 | #5 |
Ветеран Сообщения: 1807
|
Профиль | Отправить PM | Цитировать А я не знаю, как быть с Прологом, он мне как-то до лампочки был, без надобности... Даже не смотрел. То есть смотрел по диагонали, не понял для себя ни малейшей выгоды и значимости. А вот Лисп показался весьма перспективным.
|
Отправлено: 12:26, 11-10-2012 | #6 |
Ветеран Сообщения: 2029
|
Профиль | Отправить PM | Цитировать Цитата lxa85:
Это было теоретически возможно потому, что область видимости переменных ограничивалась одним предикатом (считайте - одним оператором). Программа на Прологе не содержит вообще никаких частей, описывающих процесс достижения результата. Никаких алгоритмов, никаких функций. Только набор логических утверждений. И логический запрос (goal - цель), ответ на который программа должна дать сама, имея своём распоряжении только набор утверждений из которых и состоит весь текст программы. Я как-то набросал на Prolog'е программу для игры в крестики-нолики на бесконечной доске (известная игра, чем-то напоминающая японскую "Го") и удивился, что она сразу стала неплохо играть, причем добавление каждого следующего правила (предиката), которым программа должна была руководствоваться рассчитывая очередной ход, существенно улучшало её игру. Правда, одновременно с этим в геометрической прогрессии росло и время на расчет каждого хода... Понятно, что для написания подобной программы на любом другом языке, включая Lisp, потребовалось бы в несколько раз больше времени (правда и работала бы она на два порядка быстрее). |
|
------- Отправлено: 13:57, 11-10-2012 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата XPEHOMETP:
Цитата AMDBulldozer:
lxa85, отправил письмо в личку. |
||
Отправлено: 06:17, 13-10-2012 | #8 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Смогу ли я играть в современные игры если поставлю 9600gt? | Петька | Видеокарты | 20 | 10-01-2011 23:02 | |
[решено] Подтормаживают современные игры | nikit-xxx | Видеокарты | 11 | 13-10-2009 23:22 | |
Почта - Современные чат-программы на основе IRC | Wlad-U | Программное обеспечение Windows | 0 | 03-04-2009 14:30 | |
Война без победителей (современные тенденции звукозаписи) | Tigr | Флейм | 0 | 02-01-2009 20:00 | |
Современные текстовые редакторы | LuckyStar | Программное обеспечение Windows | 7 | 20-09-2006 06:11 |
|