Я согласен с тем, что категория "зарубежный" очень спорная. Но мне пришлось её ввести, т.к. у меня спрашивали: "А что почитать российских авторов?".
Если бы была возможность на каждый пункт библиографии повесить кучу тегов, это снимало бы множество вопросов (по страновой принадлежности автора, по поджанрам типа атомпанка, нанапанка и т.п. Но приходится публиковать линейный иерархический список, в котором более 3 вложений — это уже перебор по типографике и удобству чтения.
Если у кого-то есть идеи о том, как классифицировать этот список литературы, с интересом рассмотрю и готов переделать!
тот же Берроуз - разве можно его отнести к протокиберпанку
Пожалуйста, дайте мне ссылку на публикацию литературоведов, в которой утверждается, что это НЕ протокиберпанк, т.е. что это нельзя отнести к научной фантастике.
Согласен с мнением @Ermak и хотел бы дополнить. Статье не хватает новизны. Ну зачем пересказывать стандарт 12-летней давности?! Не хватает актуальности — идей о том, где и почему в сегодняшних условиях пригодился бы RDF. Не хватает практического применения (кейсов) — описания недавнего успешного применения OWL и RDF.
Сейчас у автора оригинальной англоязычной статьи будет очередной "взрыв мозга". Не поверите! Реализаций языков Prolog более сотни. Из этой сотни в настоящее время активно (коммерчески и промышленно) применяют более тридцати реализаций. Например, почитайте про XSB, SWI, Ciao.
В Prolog вы не пишете алгоритмы, а учите программу, как думать.
Вот эта фраза — это оговорка по Фрейду, которая говорит о том, что автор оригинальной статьи никогда не программировал ни на одном из языков Prolog. Программисты (любые, в т.ч. и логические) не учат компьютеры "думать". Они всего-лишь пишут программы, компилированный код которых машины (тупо) исполняют. И машине всё равно на чём там изначально писали — на ассемблере, на языке Visual Prolog или на языке Python.
SQL в большой мере основан на подмножестве Prolog с большим упором на оптимизацию в ущерб простоте.
Автор совершенно безграмотный. Грамотный специалист отметил бы что языки SQL и языки Prolog относят к группе декларативных языков программирования. Ни одна классификация не относит ни одну из реализаций SQL (кстати, их тоже много) ни к какому "подмножеству" языков Prolog. Если разработчикам PostgreSQL рассказать, что по мнению пиндосских блогеров они "подмножество" Visual Prolog, они будут долго и нервно курить в углу.
Вот неполный список источников, которыми я пользовался при написании. На самом деле статей примерно в 2 раза больше. Я потом бросил записывать, т.к. библиография стала стремительно приближаться к объёму самой статьи.
1. B. Anderson & P. Hayes, “The logician’s folly”, in the (European) AISB Bull., British Comput. Soc., 1972.
2. R. Boyer & J. Moore, “The sharing of structure in theorem proving programs”, Machine Intelligence 7 (1972), p. 101-116.
3. A. Colmerauer, “Les Systèmes Q ou un Formalisme pour Analyser et Synthétiser des Phrases sur Ordinateur”, Tech. report, Mimeo, Montréal, 1969.
4. M. van Emdem & R. Kowalski, “The Semantics of Predicate Logic as a Programming Language”, Journal of the ACM 23 (1976), no. 4, p. 733-742.
5. J. M. Foster & E. W. Elcock, “Absys1: An incremental compiler for assertions: An introduction”, Machine Intelligence 4 (1969), p. 423-429.
6. C. Green, “Application of theorem-proving to problem-solving”, in Proceedings of First International Joint Conference on Artificial Intelligence, IJCAI’69, Washington D.C., 1969, p. 219-239.
7. “Theorem proving by resolution as a basis for question-answering systems”, Machine Intelligence 4 (1969), p. 183-205.
8. P. J. Hayes & R. A. Kowalski, “Lecture notes on automatic theorem-proving”, 1971, Metamathematics Unit Memo 40.
9. C. Hewitt, “PLANNER: a language for proving theorems in robots”, in Proceedings of First International Joint Conference on Artificial Intelligence, IJCAI ’69,Washington D.C., 1969, p. 295-301.
10. R. A. Kowalski, “The Predicate Calculus as a Programming Language (abstract)”, in Proceedings of the First MFCS Symposium, Jablonna, Poland, 1972.
11. R. A. Kowalski & P. J. Hayes, “Semantic trees in automated theorem-proving”, Machine Intelligence 4 (1969), p. 87-102.
12. R. A. Kowalski & D. Kuehner, “Linear resolution with selection function”, Artif. Intell. 2 (1971), no. 3, p. 227-260. [13] D. W. Loveland, “Mechanical theorem-proving by model elimination”, Journal of the ACM 15 (1968), no. 2, p. 236-251.
14. J. P. McCarthy & J. Hayes, “Some philosophical problems from the standpoint of artificial intelligence”, Machine Intelligence 4 (1969), p. 463-502.
15. F. C. Pereira & D. H. Warren, “Definite clause grammars for language analysis – a survey of the formalism and a comparison with augmented transition networks”, Artif. Intell. 13 (1980), no. 3, p. 231-278.
16. J. A. Robinson, “Automatic deduction with hyper-resolution”, International Journal of Computing and Mathematics 1 (1965), p. 227-234.
17. “A machine-oriented logic based on the resolution principle”, Journal of the ACM 12 (1965), no. 1, p. 23-41.
18. P. Roussel, “Définition et traitement de l’égalité formelle en démonstration automatique”, thèse de 3 e cycle, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, 1972.
19. D. Scott, “Outline of a Mathematical Theory of Computation”, in Proceedings of the Fourth Annual Princeton Conference on Information Sciences and Systems, 1970, p. 169-176.
20. T. Winograd, “PROGRAMMAR: A language for writing grammars”, in AI Memo 181, MIT, Cambridge, 1969.
Библиотек для связки между языками Prolog и Ada довольно много. Например Simple Ada Prolog library на GitHub. Судя по публикациям подобная мода началась примерно с 1989 года.
Связка LISP+Prolog+Web практична и актуальна до сих пор. Препод не понял, что вы опередили своё время на 25 лет.
Во-первых, вы повторили подход выдающегося математика Джона А. Робинсона. В 1980 году он обосновал применение LISP в логическом программировании. В следующем 1981 году появилась реализация этой идеи под названием «LogLisp».
[J. A. Robinson and E. E. Sibert. LOGLISP Implementation Notes. Technical Report, School of Computer and Information Science, Syracuse University, December 1981.]
Кстати, совсем недавно в 2010 году другой выдающийся логик Мартен ван Эмден (Maarten van Emden) в своей публикации напомнил об этой идее.
[Maarten van Emden, interviewer. Interview with Alan Robinson, inventor of resolution logic. A Programmer's Place Blog, June 8, 2010.]
Во-вторых, Semantic Web — это очередная реинкарнация Prolog. Начиная с концепции 1998 года (могу ошибаться, пишу по памяти) о применении логического программирования. Далее документа Tim Berners-Lee "The Semantic Web as a language of logic". И заканчивая стандартами RDF, OWL и т.д.
Так что я не согласен с «ненадобностью». Нет ничего практичнее хорошей теории! А связка LISP+Prolog+Web — хорошая теория. Просто требует адаптации под сегодняшние проблемы.
Спасибо! Вы совершенно правы! Проверил по мемуарам Алана. Исправил и изложил этот пассаж так:
"Этот грант позволил группе приобрести телетайпный терминал, способный передавать данные между Марселем и Греноблем на сумасшедшей скорости в 300 бит в секунду. Терминал подключили к вычислительной машине IBM System 360–67 c операционной системой CP‑CMS (Control Program/Cambridge Monitor System), поддерживающей архитектуру виртуальных машин."
Я согласен с тем, что категория "зарубежный" очень спорная. Но мне пришлось её ввести, т.к. у меня спрашивали: "А что почитать российских авторов?".
Если бы была возможность на каждый пункт библиографии повесить кучу тегов, это снимало бы множество вопросов (по страновой принадлежности автора, по поджанрам типа атомпанка, нанапанка и т.п. Но приходится публиковать линейный иерархический список, в котором более 3 вложений — это уже перебор по типографике и удобству чтения.
Если у кого-то есть идеи о том, как классифицировать этот список литературы, с интересом рассмотрю и готов переделать!
Книга издана в США в 1920 году. В Советской России роман не был опубликован Поэтому, "зарубежный".
Пожалуйста, дайте мне ссылку на публикацию литературоведов, в которой утверждается, что это НЕ протокиберпанк, т.е. что это нельзя отнести к научной фантастике.
Боюсь, если добавить аннотации книг, то длиннопост превратится в бесконечнопост. Но я подумаю, что можно сделать.
Почему? Есть предложения как улучшить статью?
Согласен с мнением @Ermak и хотел бы дополнить. Статье не хватает новизны. Ну зачем пересказывать стандарт 12-летней давности?! Не хватает актуальности — идей о том, где и почему в сегодняшних условиях пригодился бы RDF. Не хватает практического применения (кейсов) — описания недавнего успешного применения OWL и RDF.
Сейчас у автора оригинальной англоязычной статьи будет очередной "взрыв мозга". Не поверите! Реализаций языков Prolog более сотни. Из этой сотни в настоящее время активно (коммерчески и промышленно) применяют более тридцати реализаций. Например, почитайте про XSB, SWI, Ciao.
Вот эта фраза — это оговорка по Фрейду, которая говорит о том, что автор оригинальной статьи никогда не программировал ни на одном из языков Prolog. Программисты (любые, в т.ч. и логические) не учат компьютеры "думать". Они всего-лишь пишут программы, компилированный код которых машины (тупо) исполняют. И машине всё равно на чём там изначально писали — на ассемблере, на языке Visual Prolog или на языке Python.
Автор совершенно безграмотный. Грамотный специалист отметил бы что языки SQL и языки Prolog относят к группе декларативных языков программирования. Ни одна классификация не относит ни одну из реализаций SQL (кстати, их тоже много) ни к какому "подмножеству" языков Prolog. Если разработчикам PostgreSQL рассказать, что по мнению пиндосских блогеров они "подмножество" Visual Prolog, они будут долго и нервно курить в углу.
Вот неполный список источников, которыми я пользовался при написании. На самом деле статей примерно в 2 раза больше. Я потом бросил записывать, т.к. библиография стала стремительно приближаться к объёму самой статьи.
1. B. Anderson & P. Hayes, “The logician’s folly”, in the (European) AISB Bull., British Comput. Soc., 1972.
2. R. Boyer & J. Moore, “The sharing of structure in theorem proving programs”, Machine Intelligence 7 (1972), p. 101-116.
3. A. Colmerauer, “Les Systèmes Q ou un Formalisme pour Analyser et Synthétiser des Phrases sur Ordinateur”, Tech. report, Mimeo, Montréal, 1969.
4. M. van Emdem & R. Kowalski, “The Semantics of Predicate Logic as a Programming Language”, Journal of the ACM 23 (1976), no. 4, p. 733-742.
5. J. M. Foster & E. W. Elcock, “Absys1: An incremental compiler for assertions: An introduction”, Machine Intelligence 4 (1969), p. 423-429.
6. C. Green, “Application of theorem-proving to problem-solving”, in Proceedings of First International Joint Conference on Artificial Intelligence, IJCAI’69, Washington D.C., 1969, p. 219-239.
7. “Theorem proving by resolution as a basis for question-answering systems”, Machine Intelligence 4 (1969), p. 183-205.
8. P. J. Hayes & R. A. Kowalski, “Lecture notes on automatic theorem-proving”, 1971, Metamathematics Unit Memo 40.
9. C. Hewitt, “PLANNER: a language for proving theorems in robots”, in Proceedings of First International Joint Conference on Artificial Intelligence, IJCAI ’69,Washington D.C., 1969, p. 295-301.
10. R. A. Kowalski, “The Predicate Calculus as a Programming Language (abstract)”, in Proceedings of the First MFCS Symposium, Jablonna, Poland, 1972.
11. R. A. Kowalski & P. J. Hayes, “Semantic trees in automated theorem-proving”, Machine Intelligence 4 (1969), p. 87-102.
12. R. A. Kowalski & D. Kuehner, “Linear resolution with selection function”, Artif. Intell. 2 (1971), no. 3, p. 227-260. [13] D. W. Loveland, “Mechanical theorem-proving by model elimination”, Journal of the ACM 15 (1968), no. 2, p. 236-251.
14. J. P. McCarthy & J. Hayes, “Some philosophical problems from the standpoint of artificial intelligence”, Machine Intelligence 4 (1969), p. 463-502.
15. F. C. Pereira & D. H. Warren, “Definite clause grammars for language analysis – a survey of the formalism and a comparison with augmented transition networks”, Artif. Intell. 13 (1980), no. 3, p. 231-278.
16. J. A. Robinson, “Automatic deduction with hyper-resolution”, International Journal of Computing and Mathematics 1 (1965), p. 227-234.
17. “A machine-oriented logic based on the resolution principle”, Journal of the ACM 12 (1965), no. 1, p. 23-41.
18. P. Roussel, “Définition et traitement de l’égalité formelle en démonstration automatique”, thèse de 3 e cycle, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, 1972.
19. D. Scott, “Outline of a Mathematical Theory of Computation”, in Proceedings of the Fourth Annual Princeton Conference on Information Sciences and Systems, 1970, p. 169-176.
20. T. Winograd, “PROGRAMMAR: A language for writing grammars”, in AI Memo 181, MIT, Cambridge, 1969.
21. “Understanding natural language”, Cognitive psychology 3 (1972), no. 1, p. 1-191.
22. The Marseille-Edinburgh Connection. Robert Kowalski. Revue Ouverte d’Intelligence Artificielle Volume 5, no 2-3, 2024, 31-37
Библиотек для связки между языками Prolog и Ada довольно много. Например Simple Ada Prolog library на GitHub. Судя по публикациям подобная мода началась примерно с 1989 года.
P.S. О! Случайно натолкнулся, что ещё LISP использовали при создании X-Prolog и WAM Prolog (Warren Abstract Machine).
Если не секрет, какую из реализаций Prolog вы используете?
Связка LISP+Prolog+Web практична и актуальна до сих пор. Препод не понял, что вы опередили своё время на 25 лет.
Во-первых, вы повторили подход выдающегося математика Джона А. Робинсона. В 1980 году он обосновал применение LISP в логическом программировании. В следующем 1981 году появилась реализация этой идеи под названием «LogLisp».
[J. A. Robinson and E. E. Sibert. LOGLISP Implementation Notes. Technical Report, School of Computer and Information Science, Syracuse University, December 1981.]
Кстати, совсем недавно в 2010 году другой выдающийся логик Мартен ван Эмден (Maarten van Emden) в своей публикации напомнил об этой идее.
[Maarten van Emden, interviewer. Interview with Alan Robinson, inventor of resolution logic. A Programmer's Place Blog, June 8, 2010.]
Во-вторых, Semantic Web — это очередная реинкарнация Prolog. Начиная с концепции 1998 года (могу ошибаться, пишу по памяти) о применении логического программирования. Далее документа Tim Berners-Lee "The Semantic Web as a language of logic". И заканчивая стандартами RDF, OWL и т.д.
Так что я не согласен с «ненадобностью». Нет ничего практичнее хорошей теории! А связка LISP+Prolog+Web — хорошая теория. Просто требует адаптации под сегодняшние проблемы.
Спасибо! Вы совершенно правы! Проверил по мемуарам Алана. Исправил и изложил этот пассаж так:
"Этот грант позволил группе приобрести телетайпный терминал, способный передавать данные между Марселем и Греноблем на сумасшедшей скорости в 300 бит в секунду. Терминал подключили к вычислительной машине IBM System 360–67 c операционной системой CP‑CMS (Control Program/Cambridge Monitor System), поддерживающей архитектуру виртуальных машин."
Эта статья -- дань уважения выдающимся математикам с мировым именем. Они очень много сделали для индустрии программирования.