|
|
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
MasterZiv AlexandrPlus пишет: > Наверно где-то существую диссертации, где ЛИСП на Прологе реализовывали. Сейчас есть две коммерческие реализации пролога на лиспе: -- в Allegro Common Lisp -- в Lispworks (knowlageworks) реализаций пролога на лиспе много Собственно - идеологически это не вопрос. Конкретные реализ. не нужны просто. На любом полном языке можно реализовать любой другой полный язык (вычисл. модель эквивалентная "машине Тьюринга", "алгоритму Маркова", "рекурс. функц.", "лямбда-исчисл."). ЛИСП - как формальная модель функционального программирования. Можно и ЛИСП реализовать на, например, языке Brainfuck . MasterZiv > LISP только академический остался. ... Python и Haskell - вроде набирают > мощь. У... Haskell - как наиболее популярный и известный язык функционального программирования Python - не только функциональный конечно, но испытавший сильное влияние ЛИСПа, и Python широкоизвестный Просто LISP вроде не было, а наверно был первым Common Lisp. MasterZiv Да не может быть ни популярным, ни универсальным, язык, реализующий ОДИН алгоритм. Ну людям много разных алгоритмов надо. Рекурсивная унификация и вычислление подцелей в backtracing - не алгоритм, а вычислительная модель. Хотя при программировании конечно обычно соображают в понятиях этой модели. Но возможно и иначе. в C++ - тоже одна вычислительная модель MasterZiv > Коммерческие применения Пролог-ов в экспертных системах предполагают > только интерпретаторы. Ну, как бы тоже спорное утверждение. Кто мешает компилировать Не у всех Прологов вообще есть компиляторы. И в развитых экспертных системах обычно есть возможность добавления и изменения, так сказать, "знаний". А это добавление правил - модификация программы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2009, 15:38 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
AlexandrPlus пишет: > реализаций пролога на лиспе много Я имел в виду, что это - не фантастика. > ЛИСП - как формальная модель функционального программирования. Ну, лисп не остановился в своём развитии ТОЛЬКО на функ. программировании. > Рекурсивная унификация и вычислление подцелей в backtracing - не алгоритм, > а вычислительная модель. Алгоритм. Точнее - несколько. > А это добавление правил - модификация программы. вот уж не согласен. В прологе вообще программы нет. Это всё - данныех. Которые, влияя на алгоритмы работы, достигают определённого нужного пользователю эффекта. И пото, почему же это нельзя "скомпилировать" ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2009, 16:06 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
MasterZiv ... В прологе вообще программы нет. Это всё - данныех. Которые, влияя на алгоритмы работы, достигают определённого нужного пользователю эффекта. И пото, почему же это нельзя "скомпилировать" ? Вообще как-то возможно исхитриться и перекомпилировать части программы, в которых были изменения, и добавлять новые скомпилированные части, осуществляя потом сборку. Для академических применений такое не нужно. В каких-то проектах, неэксперт. систем, компилируют конечно. Наверно есть и проекты экспертных систем, где реализовано что-то вроде метапрограммирования, и такое компилируется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2009, 16:18 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
AlexandrPlus, В CL можно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2009, 16:21 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
MasterZiv вот уж не согласен. В прологе вообще программы нет. Это всё - данныех. Которые, влияя на алгоритмы работы, достигают определённого нужного пользователю эффекта. И пото, почему же это нельзя "скомпилировать" ? Во многих прологах, например в PIE, Turbo Prolog, Visual Prolog формируется машинный код. Причем принцип работы (алгоритм) этого кода - это простой перебор. Я написал компилятор, который тоже "осущетсвляет" простейший перебор, хранит все данные в строках и копирует все строки на каждый шаг "размышлений", и в итоге он работает (проверял на ранних версиях) даже быстрее VP, TP и PIE. PIE вообще на многих программах падал в Stack Overflow. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2009, 16:24 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
И я уверен, что если оптимизировать этот подход, мой теоритически обоснованными и записанными способами, то скорость можно будет увеличить в 100 раз. Только времени на это нет, да и жалко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2009, 16:27 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
Алексей МорозовИ я уверен, что если оптимизировать этот подход, мой теоритически обоснованными и записанными способами, то скорость можно будет увеличить в 100 раз. Только времени на это нет, да и жалко. не в 120 ? Вы уверены, что именно в 100 ??? кстати, ссылочку на теоретические обоснования можно ? чего то я сослепу пропустил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2009, 16:48 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
MasterZiv sql...ru пишет: > Лучше будет сказать, что Пролог это язык, у котого позади светлое будущее. +1 ))) +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2009, 17:19 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
AlexandrPlusЧтобы программа на одни и те же входные данные выдавала разные результаты? Лол, чтобы она не вешалась в случае недоопределенности/противоречивости входных данных, а отрабатывала, выдавая выходные данные, имеющие определенную степень уверенности, выраженную численно. Нечеткость не имеет никакого отношения к рандому. Сравните ответы на вопрос "какой стороной упадет симметричная монетка?": 1) "наверное, орлом" 2) "0.5 - орлом, 0.5 - решкой"; второй ответ хоть и основывается на теории вероятностей, не является угадыванием и при неизменном вопросе всегда будет оставаться неизменным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2009, 17:41 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
На Прологе можно реализовать нечеткую логику, почитайте Гугл. Несовсем то, но зато просто и суть раскрывает: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2009, 18:04 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) пишет: > не в 120 ? Вы уверены, что именно в 100 ??? Простой перебор сложно не ускорить. Медленнее ничего нет. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2009, 20:21 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
Алексей МорозовНа Прологе можно реализовать нечеткую логику, почитайте Гугл. Зачем для этого гугл? Пролог полон по Тьюрингу, и это мне известно без гугла. А высказывание аналогично "На Ассемблере можно реализовать Пролог". То есть: да, можно, и что? Вопрос в удобстве, во встроенных языковых возможностях (или хотя бы возможностях языкового расширения, как в случае с лиспом), а их нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2009, 21:40 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
студентик пишет: > Зачем для этого гугл? Пролог полон по Тьюрингу, и это мне известно без > гугла. Я бы сомневался. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2009, 12:25 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
студентикAlexandrPlusЧтобы программа на одни и те же входные данные выдавала разные результаты? Лол, чтобы она не вешалась в случае недоопределенности/противоречивости входных данных, а отрабатывала, выдавая выходные данные, имеющие определенную степень уверенности, выраженную численно. Нечеткость не имеет никакого отношения к рандому. Сравните ответы на вопрос "какой стороной упадет симметричная монетка?": 1) "наверное, орлом" 2) "0.5 - орлом, 0.5 - решкой"; второй ответ хоть и основывается на теории вероятностей, не является угадыванием и при неизменном вопросе всегда будет оставаться неизменным. на прологе можно записать что-угодно (и вероятности считать), но как вычислительная модель нечеткая логика неприемлима, а точнее - это вообще не логика (как женская логика) нечеткая логика, обратные некорректные задачи, плохо формализуемые задачи, ... технически бессмысленны теория вероятности для техники - ничто - либо 0, либо 1 - а что-то между - техника сломалась Если всё формализовано, то зачем вероятности - ответ будет точным. Если ответ неверный, то значит формализация не та, ошибочна или недостаточна. Что-то будучи маловероятным, но - случилось из-за чего-то. И что - надо больше расстроиться из-за того, что это маловерно было. Какая польза? Принятие решений якобы вероятностные - это просто приблизительные оценки. Одна оценка была более приблизительнее, чем другая. Ржевский, будучи скорее пьяным, чем трезвым, сделал неслучайно неrandom-но Наташу Ростову чуть-чуть беременной. По нечеткой логике - не сделал, но по другим оценкам той же логики - сделал. Как всё сложно у него. Gluk (Kazan) Повторяй эту мантру 3000 раз в день, и да пребудет с тобой сила :) Саентологией не увлекался? Гений Хаббарда предложил рассматривать челов. психику как компьютер. И если в психике какая-то фигня, мешающая жить, то значит что-то неверно записано на харддиске памяти человека, если конечно вообще компьютер не сломался (нет тяжелых болезней тела), и грузится в оперативку не по делу. Одитор - в сессии стирает плохую информацию и записывает хорошую. Одиторы и друг другу сессии устраивают, чтобы улучшить чем-то подпорченное психическое состояние. Несколько копий мантры записать на харддиск, а то мало ли вирусы, случайные удаления, ...? По саентологии - молитвы в религиях - записать на харддиск молитву на место, где была разрушающая психику информация про какие-то нерешаемые проблемы. Вместо того, чтобы решать проблемы, лучше молиться И саентология как религия стала. Саентологи-дианетики много денег в своё время изъяли у населения разных стран. Gluk (Kazan) А Join по этим "отношениям" он строить умеет ??? Какие механизмы использует для слияния ? Hash Join, Nested Loops ??? Как дела с CBO ? Непродуманные аналогии могут завести слишком далеко JOIN, GROUP BY, HAVING, ANY, ALL, EXISTS, UNION, ... нормально отображаются-выражаются на Прологе, а точнее такие понятия не нужны при состовлении запросов и это выражается иначе Давно уже продумано-передумано и работает, но SQL - яснее и понятнее и технологичнее для большинства. Пролог как язык запросов для реляционных Бд - теоретически уже давно не новое. Есть работающие реализации. Но SQL - раскручен и внедрен во многое и практически всеприемлен. И конечно SQL сам по себе - как язык запросов мощный. А Erlang с Mnesia и Yaws - скандинавы всегда всё по-своему делают, впитав отовсюду. И автомобили volvo, и вертолеты, и сотовые, ... Как им понятнее и лучше. И газ из России им не нужен - в Норвегии достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2009, 13:54 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
AlexandrPlus << ... поток сознания поскипан ... >> JOIN, GROUP BY, HAVING, ANY, ALL, EXISTS, UNION, ... нормально отображаются-выражаются на Прологе, а точнее такие понятия не нужны при состовлении запросов и это выражается иначе Именно по этой причине не стоит проводить столь уж "однозначные" аналогии между отношениями в SQL и Prolog Это совершенно разные отношения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2009, 11:02 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
AlexandrPlusMasterZiv ... В прологе вообще программы нет. Это всё - данныех. Которые, влияя на алгоритмы работы, достигают определённого нужного пользователю эффекта. И пото, почему же это нельзя "скомпилировать" ? Вообще как-то возможно исхитриться и перекомпилировать части программы, в которых были изменения, и добавлять новые скомпилированные части, осуществляя потом сборку. А какие проблемы, любой интерпретатор это умеет делать, даже в бейсике, который был еще GW-basic, если не ошибаюсь была возможность из программы откомпилировать (отинтерпретировать) и выполнить строку. У нас всегда есть текст программы, всегда есть интерпретатор, меняйте текст и запускайте его на исполнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2009, 23:14 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
c127AlexandrPlusMasterZiv ... В прологе вообще программы нет. Это всё - данныех. Которые, влияя на алгоритмы работы, достигают определённого нужного пользователю эффекта. И пото, почему же это нельзя "скомпилировать" ? Вообще как-то возможно исхитриться и перекомпилировать части программы, в которых были изменения, и добавлять новые скомпилированные части, осуществляя потом сборку. А какие проблемы, любой интерпретатор это умеет делать, даже в бейсике, который был еще GW-basic, если не ошибаюсь была возможность из программы откомпилировать (отинтерпретировать) и выполнить строку. У нас всегда есть текст программы, всегда есть интерпретатор, меняйте текст и запускайте его на исполнение. с точки зрения - тоже транспортное средство и тоже на двух колесах и тоже с рулем, то велосипед и мотоцикл - одно и тоже интерпретатор - анализ и выполнение покомандное откомпилированный код - объектный код на ассемблере и уже СОВСЕМ не такой, как в исходниках виртуальная машина - байт-код, то есть что-то между (но если нужно, то возможно дальше откомпилировать, чтобы выполнять без вируальной машины) P.S. Так "по понятиям" "на фене ботают". Может быть далее под виртуальной машиной будут другое, более широкое подразумевать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 09:11 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
AlexandrPlus интерпретатор - анализ и выполнение покомандное откомпилированный код - объектный код на ассемблере и уже СОВСЕМ не такой, как в исходниках виртуальная машина - байт-код, то есть что-то между (но если нужно, то возможно дальше откомпилировать, чтобы выполнять без вируальной машины) 1) интерпретатор может интерпретировать как исходный текст, так и любой промежуточный код, вплоть до эмуляции системы команд целевой машины. 2) компилировать можно в как машинный код, так и в любой другой. Определитесь - в объектный код или ассемблерный, есть небольшая разница. 3) насчёт виртульной машины - не понял тезис совсем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 09:21 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
ИзопропилAlexandrPlus интерпретатор - анализ и выполнение покомандное откомпилированный код - объектный код на ассемблере и уже СОВСЕМ не такой, как в исходниках ... 1) интерпретатор может интерпретировать как исходный текст, так и любой промежуточный код, вплоть до эмуляции системы команд целевой машины. 2) компилировать можно в как машинный код, так и в любой другой. Определитесь - в объектный код или ассемблерный, есть небольшая разница. 3) насчёт виртульной машины - не понял тезис совсем ассемблер - это программа, преобраз. с языка асссемлера (инстр. средств разных для программ. на ассембл. много) в машинный код (машинный язык - у каждого процессора свой машинный язык, на котором написаны микропрограммы) P.S. Вирт. машина отклон. от вопроса. Все же традиционно - "компилировать" есть переводить на более "низкий" уровень по направлению к машинному коду в нечто целое, что уже потом выполнять. Не так разве? P.S. Провести опрос - кто что как называет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 09:46 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
AlexandrPlus, микропрограммы зря упомянули ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 09:49 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
ИзопропилAlexandrPlus, микропрограммы зря упомянули Да. С помощ. микропрогр. маш. код выполн. Но это о представлениях - микропрогр. можно рассм. частью маш. яз. P.S. Спасибо за коррекцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 09:59 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
Вспомнил, что где то видел :) Lisprolog - Interpreter for a simple Lisp http://stud4.tuwien.ac.at/~e0225855/lisprolog/lisprolog.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 10:35 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
GYGYВспомнил, что где то видел :) Lisprolog - Interpreter for a simple Lisp http://stud4.tuwien.ac.at/~e0225855/lisprolog/lisprolog.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 12:32 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
AlexandrPlusc127AlexandrPlusMasterZiv ... В прологе вообще программы нет. Это всё - данныех. Которые, влияя на алгоритмы работы, достигают определённого нужного пользователю эффекта. И пото, почему же это нельзя "скомпилировать" ? Вообще как-то возможно исхитриться и перекомпилировать части программы, в которых были изменения, и добавлять новые скомпилированные части, осуществляя потом сборку. А какие проблемы, любой интерпретатор это умеет делать, даже в бейсике, который был еще GW-basic, если не ошибаюсь была возможность из программы откомпилировать (отинтерпретировать) и выполнить строку. У нас всегда есть текст программы, всегда есть интерпретатор, меняйте текст и запускайте его на исполнение. с точки зрения - тоже транспортное средство и тоже на двух колесах и тоже с рулем, то велосипед и мотоцикл - одно и тоже интерпретатор - анализ и выполнение покомандное откомпилированный код - объектный код на ассемблере и уже СОВСЕМ не такой, как в исходниках Вы по-видимому считаете, что когда интерпретатор "интерпретирует" оператор, то в конечном результате на выходе получается совсем не машинные команды. А оператор не является частью программы при этом не компилируется. автор"Вообще как-то возможно исхитриться и перекомпилировать части программы , " О помодульной компиляции, т.е. компиляции ЧАСТЕЙ программы, с последующей линковкой по-видимому лучше вообще не спрашивать, не поймут-с. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2009, 03:45 |
|
||
|
Пролог: настоящее и будущее.
|
|||
|---|---|---|---|
|
#18+
abc127 ... Вы по-видимому считаете, что когда интерпретатор "интерпретирует" оператор, то в конечном результате на выходе получается совсем не машинные команды. А оператор не является частью программы при этом не компилируется. ... вообще процессор понимает только машинный язык и всё, что выполняется, вообще выполняется на машинном языке (и далее ближе к кремнию и металлу) иногда называют интерпретацию - по-командной (по-строчной) компиляцией, но наверно лучше "кофе - отдельно, мухи - отдельно" для лаконичности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2009, 10:40 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=35781512&tid=1343364]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
166ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 500ms |

| 0 / 0 |
