Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Prolog
Перезагрузить страницу БИБЛИОТЕКА ПО ПРОЛОГУ!!!
Ответ
 
Опции темы Опции просмотра
  (#31 (permalink)) Старый
karna karna вне форума
Member
 
Сообщений: 37
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 24.04.2006
По умолчанию 16.05.2006, 12:40

молодые люди,все это очень и очень хорошо,но не вижу ни одной книжки по любому визуал прологу НА РУССКОМ!что,таких нет? турбо и эрити пролог мне знаком,и на них всю требуемую работу я выполнила.вот теперь проблема переноса из одной среды в другую стоит жестоко передо мной.да и англичанин из меня никудышный,вот и хочется найти книжечку по vip любой версии хотя бы,но только на русском и если можно в электронном виде.так приятно читать книги по делфи.нет ли таких же для vip?
Ответить с цитированием
  (#32 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,909
Сказал(а) спасибо: 2
Поблагодарили 297 раз(а) в 297 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 16.05.2006, 22:54

Продавалась книга по VIP5.2. Авторы - Адаменко и Кучуков. Поищите, может где найдёте. В библиотеках точно должна быть.
Ответить с цитированием
  (#33 (permalink)) Старый
dek dek вне форума
Новичок
 
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.12.2004
По умолчанию 31.05.2006, 06:54

По ссылке
http://perso.wanadoo.fr/colin.barker/lpa/lpa.htm
можно найти подборку разных Пролог-программ.
Ответить с цитированием
  (#34 (permalink)) Старый
dek dek вне форума
Новичок
 
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.12.2004
По умолчанию 31.05.2006, 06:54

По ссылке
http://perso.wanadoo.fr/colin.barker/lpa/lpa.htm
можно найти подборку разных Пролог-программ.
Ответить с цитированием
  (#35 (permalink)) Старый
HARM HARM вне форума
Member
 
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 12.05.2006
По умолчанию 18.06.2006, 14:42

Цитата:
Originally posted by 6am6yk+-->
Цитата:
<!--QuoteBegin-acronim
Цитата:
[b]По поводу книг по прологу могу подкинуть Братко в html формате (mailto vuhrust@ukr.net)
Вообще-то она вот здесь лежит: http://dstu2204.narod.ru/3sem/lp/index.htm
Ну еще там кое-что можно покачать...
Мне так нужна книга Братко, которую я скачал отсюда. а не подскажите как её читать. Всё что я не перепробовал её не открывает. Спасибо заранее за помощь.
Ответить с цитированием
Ads.
  (#36 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,909
Сказал(а) спасибо: 2
Поблагодарили 297 раз(а) в 297 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 18.06.2006, 18:02

Цитата:
Мне так нужна книга Братко, которую я скачал отсюда. а не подскажите как её читать. Всё что я не перепробовал её не открывает.
Это архив. Его надо разархивировать и получите кучу файлов html-формата, которые можно открывать в браузере.
Ответить с цитированием
Ads
  (#37 (permalink)) Старый
Shedar Shedar вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.06.2006
По умолчанию 26.06.2006, 11:23

Цитата:
Originally posted by Винитарх
[b]Надысь наткнулся на сайт (http://kid.stu.cn.ua/~shedar/prolog) с GUI-играми, написанными на Прологе:
1. Арканоид.
2. Сапёр.
3. Поддавки в шашки.
4. Морской бой.
5. Тетрис.
6. 3D Крестики-нолики (на поле 3х3х3).
Можно скачать исполнимые файлы и даже попросить по мылу исходники.
Тысяча благодарностей разработчику!
А вот и я Рад что кому-то интересно. Если кому-либо что-то нужно в виде исходников - стучитесь в аську или пишите письма. Указывать зачем. Если для учебы, то город/вуз. Если не для учебы, то для чего. И просьба, с надеждой на честность, не распространять мои исходники в обход меня.
Ответить с цитированием
  (#38 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,909
Сказал(а) спасибо: 2
Поблагодарили 297 раз(а) в 297 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 26.06.2006, 23:46

Shedar пишет:
Цитата:
А вот и я
Я очень рад!
Какой Пролог используете сейчас? Что пишете?
Ответить с цитированием
  (#39 (permalink)) Старый
Shedar Shedar вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.06.2006
По умолчанию 27.06.2006, 01:54

Сейчас на прологе не пишу, больше увлекся нейросетями, представлением данных в xml с дальнейшим анализом отношений между данными, ... На все одновременно времени не хватает Пока писал, предпочитал Amzi. Мне понравился их подход сопряжения с другими языками. Можно использовать для разработки GUI все что напридумывали за это время разработчики различных сред и просто энтузиасты, а логику написать на прологе.
Сейчас оглядываюсь на пролог. Хочу возродить курс логического и функционального программирования (Prolog, Lisp). Но для этого нужно самому вспомнить все что знал и многое чего не знал. И аргументировать необходимость этого курса.
Ответить с цитированием
  (#40 (permalink)) Старый
Alexei A. Morozov Alexei A. Morozov вне форума
Member
 
Сообщений: 138
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 26.05.2004
По умолчанию 20.07.2006, 18:49

Как же не сослаться на книжку

Клоксин У., Меллиш К. Программирование на языке Пролог / Пер. с англ. — М.: Мир, 1987.

Она есть в электронном виде на сайте
http://www.tspu.ru/stasandr/allBooks.php

С уважением,

Алексей
Ответить с цитированием
  (#41 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,909
Сказал(а) спасибо: 2
Поблагодарили 297 раз(а) в 297 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 24.07.2006, 14:52

Благодарствуем.
В самом первом посте этой темы книга Клоксина выложена в четырёхтомном архиве общим весом ~2 метра. Вы же, предлагаете эту книгу в ~8 раз тяжелее. Однако.
Ответить с цитированием
  (#42 (permalink)) Старый
northdemon
Guest
 
Сообщений: n/a
По умолчанию 24.09.2006, 22:57

Курс по Прологу на сайте 'Интернет Университета Информационных Технологий'.
Обучение бесплатное.


Теперь весь этот курс в одном файле + сделана 'схема документа' для быстрого перехода.

Скачать ZIP-архив
Ответить с цитированием
  (#43 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,909
Сказал(а) спасибо: 2
Поблагодарили 297 раз(а) в 297 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 07.12.2006, 13:15

О стратегиях программирования в VIP7, VIP6 и VIP5.

Томас Линдер Пулс (Thomas Linder Puls) на форуме visual-prolog.com рассказал много интересного об изменении стратегии программирования в VIP7 по сравнению с методами программирования в VIP6 и VIP5. Здесь я привожу вольный перевод того, что рассказал Томас на форуме visual-prolog.com.

VIP7 не имеет глобалного стека.
VIP6 и VIP5 имеют глобальный стек, но работают с ним по разному.

Причины отказа от использования глобального стека в VIP7:
  1. Глобальный стек имеет ряд недостатков:
    1. Ограниченный размер.
    2. Не всегда хорошее освобождение памяти глобального стека.
    3. Необходимость копирования данных из глобального стека (Gstack) в динамическую память (heap) - в Vip5 и Vip6.
    4. Необходимость копирования данных из динамической памяти (heap) в глобальный стек (Gstack) - только в Vip5.
    5. Каждый поток (thread) в мультитредовой программе должен иметь собственный глобальный стек. Заданный по умолчанию размер глобального стека в Vip6 - 200 Мб. Это довольно дорогая плата за использование потоков. Однако при создании каждого потока размер глобального стека может быть установлен "ручками" меньше 200 Мб.
  2. Vip7 для некоторых видов алгоритмов медленнее чем Vip5 и Vip6. Основная причина - отсутствие глобального стека. Однако часто можно переписать эти алгоритмы так, что в Vip7 они будут тоже быстрыми.
  3. Те алгоритмы, которые нельзя в VIP7 ускорить, будут работать медленне по сравнению с VIP5 и VIP6 в разы, определяемые константой, не зависящей от размерности исходных данных. Однако те алгоритмы, которые в VIP7 работают быстрее, то быстрее они работают в ~N раз, где N - размерность исходных данных. Поэтому, чем сложнее задача, тем более явно проступают преимущества VIP7. Это объясняется тем, что хотя на некоторых частных алгоритмах VIP7 может и отстать от старших собратьев (VIP5 и VIP6), но за счёт выигрыша в остальных алгоритмах программы в VIP7 работают быстрее по сравнению с VIP5 и VIP6.
Рекомендации для тех, кто программирует в VIP6 и VIP5, т.е. для тех, кто использует глобальный стек:
  1. Не сохраняйте большие структуры в фактах. Это позволит не так часто использовать процедуру копирования между динамической памятью и глобальным стеком.
  2. Как можно чаще используйте бактрекинг. Это позволит сохранить глобальный стек от мусора, который не всегда удаляется.
Характерный пример программы, который показывает преимущества VIP7:
Код:
facts 
    theList : integer* = []. 
predicates 
    makeLongFact : (unsigned N). 
clauses 
    makeLongFact(0) :- !. 
    makeLongFact(N) :- 
        theList := [N|theList], 
        makeLongFact(N-1).
Здесь используется многократное сохранение факта-переменной в память. В VIP5 аналог этой программы будет работать дольше, чем в VIP6/7 и при достаточно большом N может наступить истощение (переполнение) глобального стека.

Рекомендации для тех, кто программирует в VIP7:
  1. Не бойтесь сохранять большие структуры в фактах. Это НЕ замедлит Вашу программу.
  2. Старайтесь по возможности не использовать вещественные числа в полиморфных предикатах, т.к. это несколько замедлит Вашу прогу.
Плата за полиморфизм.
Вещественные числа в Vip7 обрабатываются хуже чем в Vip6 и Vip5. Это относится как к представлению вещественных чисел, так и к выполнению полиморфных операций над ними.
Чтобы иметь возможность совместно использовать код для всех реализаций полиморфного предиката, все части данных должны иметь одинаковый размер занимаемой памяти. В Визуальном Прологе все данные кроме вещественных чисел уже имеют одинаковый размер - 32 бита. Только вещественные числа (которые являются 64-битными), должны быть упакованы в 32 бита.
Упаковка и распаковка занимают время и ресурсы проца, и поэтому обработка вещественных чисел может быть более дорога. Пересылка упакованных вещественных чисел менее дорога, потому что упакованные вещественные числа занимают ровно половину размера распакованных вещественных чисел. Но операции над упакованными вещественными числами более дороги, потому что вещественные числа должны быть перед выполнением операций распакованы, а после выполнения - снова упакованы.
Компилятор VIP7 пробует минимизировать количество операций упаковки и распаковки, понижая тем самым стоимость математических операций.

Этапы развития компиляторов Визуального Пролога:
  • Компилятор Vip5 сделан на очень старом языке C. В те давние дни было потрачено много времени на его оптимизацию. Vip5 использует много таблиц фиксированного размера (для программ, имеющих слишком много предикатов и проч.). Vip5 - самый быстрый компилятор фирмы PDC, но из-за его структуры его почти невозможно изменять и усовершенствовать.
  • Компилятор Vip6 написан в C++. Его структура является более общей и имеет меньше ограничений. Vip6 намного проще поддерживать и расширять. Но компилятор Vip6 медленней компилятора Vip5.
  • Компилятор Vip7 написан в Визуальном Прологе (синтаксический анализатор (парсер), и сканер сделаны в C++, потому что PDC генерирует парсер используя YACC, но остальное сделано в Визуальном Прологе). Компилятор Vip7 очень хорошо структуризирован. Он проще чем компилятор Vip6, его легче поддержать, и особенно отлаживать.
  • Компилятор Vip7 быстрее чем компилятор Vip6. Несмотря на это PDC регулярно заменяет медленные алгоритмы в компиляторе Vip7 на более быстрые.
Ответить с цитированием
  (#44 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,909
Сказал(а) спасибо: 2
Поблагодарили 297 раз(а) в 297 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 20.12.2006, 19:26

Томас (Thomas Linder Puls) выдал ещё небольшую порцию сведений об особенностях программирования в Vip5, Vip6 и Vip7. Кое в чём эти сведения повторяют предыдущий пост в этой ветке, но всё же это может быть кое-кому полезно. Перевод вольный, с точностью до смысла.

Обработка (retract/assert) фактов в Vip5 очень неэффективна по сравнению с Vip6/7.
Vip5 "тормозит" два раза: когда происходит обращение к факту в Vip5, его значение копируется из динамической памяти (heap) в глобольный стек (GStack), и когда в Vip5 происходит добавление (assert) факта в БД, его значение копируется из глобального стека в динамическую память.

Vip6 "тормозит" только один раз - когда, при добавлении факта, Vip6 копирует его из глобального стека в динамическую память. При обращение же к факту Vip6 никогда не копирует его значение из динамической памяти в глобольный стек, как это делает Vip5.

Vip7 не имеет глобального стека вообще, так что Vip7 - без тормозов. С другой стороны Vip7 распределяет все сущности непосредственно в динамической памяти, что более дорого, чем распределение в глобальном стеке.

Возможно создать программы, которые выполняются лучше как в Vip5, так и в Vip6, либо в Vip7.
Некоторые алгоритмы работают до 4 раз быстрее в Vip5 чем в Vip7. Некоторые алгоритмы в тысячи раз быстрее в Vip7 чем в Vip5. Vip6 может вести себя и как Vip5 и как Vip7. Может показаться, что Vip6 является лучшим компилятором, но у него есть один облом: на некоторых алгоритмах может произойти переполнение глобального стека.

Отрицательные особенности наличия и использования глобального стека:
- Возможность переполнения при неумелом программировании.
- Каждый поток в программе с параллельными потоками команд должен иметь свой собственный глобальный стек. При этом для каждого потока резервируется память (по умолчанию 100 МБ), что резко ограничивает число потоков.
- Глобальный стек может (и очень часто) содержать мусор, а этот мусор может ссылаться на другой мусор в глобальном стеке, что приводит к большим и необоснованным затратам памяти.
Ответить с цитированием
  (#45 (permalink)) Старый
Крон Крон вне форума
Новичок
 
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 22.09.2007
По умолчанию 24.10.2007, 01:07

Так книгу Адаменко, Кучукова встречал кто-нибудь в инете?
Скачать где можно?
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача по прологу! Mazha Любые вопросы от новичков 0 19.02.2012 15:23
Задачи по прологу Natasha Prolog 0 13.02.2012 16:37
Контрольная по прологу Killer25m Prolog 0 23.11.2010 16:26
5 задач по прологу kotofey Prolog 14 31.05.2010 22:57
Задачи по прологу REZiaMIX Prolog 4 27.11.2008 22:41
три задачки по прологу imported_Жора Prolog 6 08.06.2007 00:34
лабы про прологу myrlogriz Prolog 4 02.11.2006 12:37
25 задач по Прологу к экзамену Майка Prolog 56 25.09.2006 23:04
Тесты по Прологу IRINCHA Prolog 10 19.12.2005 15:25
задача по прологу dimants Prolog 1 07.11.2005 23:08
Контр. по Прологу Doom3 Prolog 0 22.05.2005 16:18
Документация по Турбо Прологу Anonymous Prolog 53 23.01.2005 16:21



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов