Там очень доходчиво и подробно описаны алгоритмы обнаружения групп, поиска, ранжирования, кластеризации, факторизации, моделирования деревьев решений, ядерные методы, опорные вектора, генетические алгоритмы и прочее прочее прочее. Возможно вам будет интересно её почитать, раз вы исследуете эту область. Всё с примерами кода на пёрл.
Автор «Тоби Серган» издательство О'Рейли 2008-й год. В бумажном варианте книга стоит порядка 400грн (1600руб) — но можно поискать и найти в электронном. Рекомендую.
да ещё посмотрите в глобал ^rMACSAVE может быть интересно…
А если не секретно — то было бы очень интересно взглянуть на реализацию структуры данных вашей системы, пусть и старой — потому что честно сказать, кроме как на своей работе — вживую никогда не видел человеку разрабатывающего под каше. Да и здесь таких немного.
Хранение версий регулируется настройками самой системы, которые кстати тоже хранятся в глобалах, а если у вас старый дистрибутив, то там вполне эти настройки могут либо отсутствовать либо хранится только свежая, нулевая версия (но она должна быть в любом случае). Рассказать про правила, в комментарии вряд ли получится, планировал по этому поводу статью написать, но процесс этот длительный. Два года назад запостил habrahabr.ru/blogs/personal/59380/ однако сейчас она сильно устарела, хотя код описанный в ней всё ещё используется. В двух словах рабочий кусок кода обрабатывающий задачу:
processingTask(priority,task)private s $zt=«errTask» new t s t(«i»)="" f { s t(«i»)=$o($$$iRule(«Task»,ontology,type,action,t(«i»))) q:t(«i»)=""
s t(«cmd»)=$g($$$iRule(«Task»,ontology,type,action,t(«i»)),"") x:t(«cmd»)'="" t(«cmd») } g endTask
где в глобале $$$iRule описан определённый набор действий, для конкретного типа заданной онтологии указанного action — этот набор действий может быть простым вызовм программы «d program^program» а может быть просто куском кода, в котором реализуется определённый функционал, однако в самом глобале правил $$$iRule — можно хранить очень многое — от количества процессов обрабатывающих задачи определённого приоритета — до перечня полей структур бизнес-данных… Но основная идея заимствуется у разработчиков каше — все хранить в данных, где нельзя использовать глобал — используется файл.
Мампс я не вспомнил — а седьмой год на нём программирую. Если данные в каше чётко отделены от методов — то это означает что скорее всего данные хранятся в SQL или (тяжёлый случай) в объектах. Однако отделение их от методов только логическое — физически и SQL-таблицы и объякты и программы — хранятся в глобалах (полезное свойство кстати, если удалите какую-то программу или измените её а в гите или другой системе контроля версий ничего не сохраните — всегда есть возможность посмотреть несколько старых версий программы в глобале). Я не говорю уже о более интересной реализации когда правила, которые являются либо методами, либо вызовом подпрограмм, записываются в глобалы как правила, и выполняются в зависимости от контекста. Естественно и здесь, присутствует разделение на данные и методы, но это разделение уже определяется именно вами, как разработчиком, и границы становятся очень размытыми. Да безопасность необходимо обеспечивать самому. Что бы увидеть где хранятся программы кликните в портале управления -> глобалы (радиобаттон базы данных) выберите вашу БД, и поставьте чек бокс «Система» — неоткомпилированные программы хранятся в глобале ^rMAC к этому глобалу вы можете сами обратится — то есть по сути писать код для каше можно и без студии (но это для любителей экзотики)… вообщем много интересного обнаружите — нулевая версия — это текущаяя — 1я версия самая старая и т.д.
Данные перемешаны с методами — это очень напоминает язык MUMPS используется в СУБД Cache (к примеру). По правде сказать — принципиальных отличий в организации самих данных там нет. Поэтому для ИИ — сам факт микса данных и методов, может не многое дать.
Да… насколько проще работать с древовидными не SQL структурами при изменении — для того что бы добавить параметр (столбец) — достаточно 1 строки и 1 секунды…
«и позволит пользователю проверить правильность введенного пароля» — не всегда, потому как визуально не каждый пароль определяется и проверяется, многие люди используют механические пароли, которые набирают на клавиатуре заученным движением пальцев, и визуальное представление пароля — владельцу пароля ничего не скажет. Я сам иногда удивляюсь той абра-кадабре, которой является мой пароль, когда по ошибке начинаю вводить его не в то поле.
Число заключённых в тюрьмах США будет увеличиваться до тех пор, пока акциями компаний, строящих и обслуживающих тюрьмы — будут торговать на бирже.
Официальная статистика немного изменена по той же причине: если будет быстро падать преступность- не надо будет выделять финансирование на строительство новых тюрем, упадут в цене акции компании, акционеры расстроятся, поменяют лоббистов, конгрессменов, сенаторов на более последовательных и полит-корректных.
Автор «Тоби Серган» издательство О'Рейли 2008-й год. В бумажном варианте книга стоит порядка 400грн (1600руб) — но можно поискать и найти в электронном. Рекомендую.
А если не секретно — то было бы очень интересно взглянуть на реализацию структуры данных вашей системы, пусть и старой — потому что честно сказать, кроме как на своей работе — вживую никогда не видел человеку разрабатывающего под каше. Да и здесь таких немного.
s t(«cmd»)=$g($$$iRule(«Task»,ontology,type,action,t(«i»)),"") x:t(«cmd»)'="" t(«cmd») } g endTask
где в глобале $$$iRule описан определённый набор действий, для конкретного типа заданной онтологии указанного action — этот набор действий может быть простым вызовм программы «d program^program» а может быть просто куском кода, в котором реализуется определённый функционал, однако в самом глобале правил $$$iRule — можно хранить очень многое — от количества процессов обрабатывающих задачи определённого приоритета — до перечня полей структур бизнес-данных… Но основная идея заимствуется у разработчиков каше — все хранить в данных, где нельзя использовать глобал — используется файл.
(Что-то мне сильно много кажется.)
— Расклад батенька — расклад.
(с)
Официальная статистика немного изменена по той же причине: если будет быстро падать преступность- не надо будет выделять финансирование на строительство новых тюрем, упадут в цене акции компании, акционеры расстроятся, поменяют лоббистов, конгрессменов, сенаторов на более последовательных и полит-корректных.
А количество людей в тюрьмах на душу населения в США самое высокое в мире (РФ на втором месте).