vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner
Когда-то давно японцы с большой помпой организовали проект "компьютеров 5-го поколения". С упором на логическую парадигму, в частности язык Prolog. Проект с треском провалился.

В начале 90-х использованрие Prolog воспринималось скорее как курьез, хотя по крайней мере одну геоинформационную систему в нашей лаборатории в Почвенном институте (еще до моего прихода туда) на Turbo Prolog написали.

Потом почти 20 лет в тех областях IT, с которыми мне приходилось иметь дело, единственным реально используемым языком логического программирования был make.

А вот сегодня [livejournal.com profile] abbra пишет об использовании Prolog в системе управления энергопотреблением Nokia N900.
Я злобно ругаюсь у него в комментариях. Почему? Да точно так же я бы ругался если бы кто-то сегодня использовал Fortran IV для решения задачи которую стоит решать в каком-нибудь Matlab или использования gw-basic там, где под рукой есть интерпретатор Python.

Другое дело, что предложить инструмент логического программирования эквивалентный по зрелости Python или Matlab я, пожалуй, не возьмусь. Если проводить параллель между Prolog и Fortran (хотя может быть, разумее сравнивать Prolog с basic - уж больно до хрена диалектов и Turbo среда опять же существовала), то make - это аналог bourne shell. Причем даже gnu make - ни разу не bash, а в лучшем случае dash. На bash/zsh тянут разве что bras и ему подобные make replacements.

А вот языков которые были бы в области логического программирования тем, чем являются современные продвинутые скриптовые языки (включая и нелюбимый мной php) в области императивного программирования - мне что-то неизвестно.

Но вообще тенденция возвращения логического программирования интересна. Да, конечно, мы потеряли 20 лет. Но теперь, пусть из-за внутренних потребностей вычислительной техники - управления её собственным энергопотреблением, возвращаются технологии, которые пригодны для управления объектами реального мира. Вспомним, что Шумил описывает управление киберами именно как логическое программирование.

Date: 2009-12-11 09:46 am (UTC)
From: [identity profile] potan.livejournal.com
Так в Prolog-е и на современный взгляд ляпов нет. Ни чему плохому оно не научит. В отличие от Logo с dynamic scope.
А мотивация для Prolog-а есть. На нем удобно и красиво логические задачки решать. Мы с дочкой числовые ребусы решали - за одно и умножение слолбиком повторили.

Date: 2009-12-11 09:58 am (UTC)
From: [identity profile] permea-kra.livejournal.com
Вопрос - а не тянет ли sql и некоторые языки запросов, типа xquery, на такие вот приземлённые прологи?

Date: 2009-12-11 10:02 am (UTC)
From: [identity profile] permea-kra.livejournal.com
Тогда можно ли описать, что им не хватает?

Date: 2009-12-11 09:52 am (UTC)
From: [identity profile] taris_marh.livejournal.com
Кстати, никогда не встречал описания игры, в которой можно задавать поведение юнитам. Кроме той, которую лет 10 назад с другом начинали делать, да так и не доделали: там предполагалась возможность писать свой "устав" для боевых единиц, чтобы не рулить каждым подразделением, а на "командный пункт" (интерфейс игры) приходили только общие сводки.

Date: 2009-12-11 10:11 am (UTC)
From: [identity profile] taris_marh.livejournal.com
Это понятно. Но для начала хотели реализовать такой уровень автоматизации принятия решений, а принятие решений должно было зависеть от конкретных офицеров, профили которых должны содержать некий элемент случайности. Игра должна была быть пошаговой. А приказы тоже предусматривались.

Date: 2009-12-11 10:18 am (UTC)
From: [identity profile] taris_marh.livejournal.com
Не, одна из фич была именно в том, что можно было бы полностью переписать устав и посмотреть на эффективность полученной армии, а не просто командовать тем, что дали. Мы тогда были под сильным впечатлением от способа, которым Форкосиган завоевал Комарру, хотели наворотить конструкцию, в которой было бы возможно это повторить, т.е. с учётом партизанской и информационной войн.

Date: 2009-12-11 09:54 am (UTC)
From: [identity profile] permea-kra.livejournal.com
Baldurs Gate в частности и многие ролевушки в целом.

Date: 2009-12-11 10:14 am (UTC)
From: [identity profile] taris_marh.livejournal.com
Буду знать. Играть в игрушки не люблю, а вот написать было интересно. Тем не менее, не попадалось таких описаний. Видимо, не считали нужным упоминать. Или я уже перестал даже читать про игры к тому времени, как такие появились проекты с такими возможностями.

Date: 2009-12-11 10:43 am (UTC)
From: [identity profile] potan.livejournal.com
Да, я тоже о такой игре мечтаю :-).
Даже заглядывал в исходники freecraft в надежде что руки дойдут реализовать. Но руки так и не дошли, да и исходники мне не понравились.

PS Есть игра Colobot, но там возможности роботов ограничены, некоторые операции может выполнять только человек. Да и винда требуется...

Date: 2009-12-11 11:24 am (UTC)
From: [identity profile] taris_marh.livejournal.com
Вот некоторое время назад пытался сподвигнуть того человека на вторую попытку - не сдвинул. Он вообще от программирования отошёл, а у меня на игровые концепты мозгов не хватает, максимум - мелкие данжены на пределе возможностей. Не так мозги работают.

Re: Colobot

Date: 2009-12-12 02:25 pm (UTC)
From: [identity profile] kostix.myopenid.com (from livejournal.com)
Colobot — не очень хороший пример: он программируется слишком императивно. То есть учить детей императивному программированию можно, но вряд ли можно логическому.

И вообще это не только с ней проблема такая. Как я понимаю, и MindRover, и TORCS, и все эти "стотыщпицот" различных "войн роботов", подразумевают императивное программирование.

Date: 2009-12-11 12:03 pm (UTC)
From: [identity profile] fau74.livejournal.com
Dragons Age, ныне модный.
Там каждому неписю в команде можно повесить tactical clause - при наступлении таких-то ситуаций выполнять такие-то действия. Действия от самых грубых ("напасть", "встать в оборону") до, например, "зайти со спины и атаковать" или "догнать и перехватить атакующего на себя". Ситуации тоже разнообразны. В результате можно запрограммировать что-нибудь интересное.

Что интересно - количество таких clauses можно нарабатывать с экспой и со специализациями, в результате персонаж с опытом "умнеет".

Date: 2009-12-12 02:27 pm (UTC)
From: [identity profile] kostix.myopenid.com (from livejournal.com)
Что-то такое появилось по-моему ещё в бородатых текстовых MUD'ах: можно было задавать реакцию протагониста на различные события в игре.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

May 2025

S M T W T F S
    1 2 3
4 56 7 8 9 10
11 12 131415 1617
1819202122 2324
252627 28293031

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 28th, 2025 08:22 am
Powered by Dreamwidth Studios