“Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать впредь соответствующие указания, а потому господа инженеры должны проявлять инициативу и, руководствуясь знаниями своей специальности и пользой дела, прилагать все усилия для оправдания своего назначения”. Циркуляр Морского Технического Комитета от ноября 29 дня 1910 г. только в Гордыне своей может отойти от доступной ему цели и назначения Эталона. Значит Человек должен быть инженером во всех своих деяниях, на всем протяжении своего пути. И если для этого ему нужна наука – пусть она будет инструментальной, пусть пройдет путь от абстрагирования на моделях до инструментария, которым пользовался Инженер Открытого Мира. Долог путь сотворения инструмента, счастлив будет садовник, вырастивший этот плод. Прикладная теория ИСУ ставит вопрос о принципиальной возможности построения моделей, более сложных, чем кибернетические или, как это будет видно из дальнейшего - о возможности принципиального отказа в некоторых случаях от моделирования сложных систем и организации непосредственной работы с ними. Обсудим наиболее перспективные направления, а также выскажем предложения по решению этого вопроса на базе современных компьютеров и современного уровня развития формального аппарата. Тем самым, в какой-то мере, ответим на вопрос о перспективах прикладной теории ИСУ и возможных путях организации работы с системами высокого уровня сложности. Прежде всего, обратим внимание на тривиальный факт конечности любого компьютера как по памяти, так и по быстродействию. Это, с одной стороны, практически означает, что математически корректно заданная задача не всегда может быть решена в своем функциональном описании, если последнее превосходит в своей вычислительной сложности определенные границы, а, с другой стороны, даже бесконечный рост вычислительных мощностей не дает никаких гарантий соответствующего повышения точности модельного представления (см. часть III). С другой стороны, семиотическое, текстовое или любое другое нефункциональное описание также имеет свои пределы, причем они зачастую проявляются еще до исчерпания ресурсов памяти и быстродействия. В контексте ИСУ укажем на две возникающие здесь проблемные задачи. Во-первых, это вычисление так называемой “функции расстановки” в информационной базе, под которой здесь мы понимаем способ указания взаимосвязей между ее элементами. Сказанное позволяет сформулировать одно из важнейших требований, предъявляемых прикладной теорией ИСУ к разработкам баз знания: разработка баз знания прикладного применения должна вести, в конечном счете, к созданию структур данных, обеспечивающих эффективное формирование и направленное изменение функции расстановки. Функция расстановки - функция, введенная для исключения сплошного перебора при работе с информационными базами, трактуется здесь в более широком смысле характеристики внутренних связей в базе знания. Она будет еще обсуждаться как проблема структурного резонанса (см. часть III), а пока отметим, что проблема структур хранения обеспечивает значительную часть трудностей при реализации попыток постепенного повышения сложности обрабатывающих алгоритмов, которые обычно предпринимаются, когда профессиональному программисту начинает казаться, что можно заставить вычислительную машину делать все что угодно{92. Мы убедились на своем опыте, что популяризаторы программистских языков умудряются приводить в такое состояние и молодых специалистов еще на школьной скамье. Часть из них приходит в вуз с убеждением, что запрограммировать можно все и только “изначально заложенная в человека тяга к минимизации своей деятельности” удерживает их от таких попыток, но не от интуитивной веры в могущество операторов “и”, “или”, “не”, “если”. Не пора ли все учебники начинать с указания “чего не может” очередной язык программирования? Или всегда проще описать, что он может, а на все остальное никакого объема публикации не хватит?}. Именно в таких ситуациях система, созданная программистом, показывает, что у нее есть своя собственная жизнь и она определенно выходит из под контроля. Во-вторых, это проблема создания языка для пользователя информационной системы, который должен удовлетворять двум принципиально противоречивым требованиям, частично указанным в предыдущем разделе. С одной стороны, этот язык должен включать в себя возможность самоописания для обеспечения развития информационной системы до уровня переводчика профессиональных жаргонов. С другой стороны, программы, запросы, директивы пользователей должны быть всегда диагностируемы, так же как программы на языках процедурного типа. Иначе говоря, пользователь должен иметь возможность за конечное число попыток установить, что и каким образом делает его программа. Более того, учитывая требование автоматичности системы, желательно, чтобы некорректные программы вообще не исполнялись. Возможное решение проблемы, рассматриваемое в прикладной теории ИСУ, состоит в следующем. Теория в этой части направлена на установление формализованного понятия “правильно работающей конструкции”, а именно, конструкции, завершающей работу за конечное число шагов и только одним из заранее определенных способов. Исходя из этого, в прикладной теории ИСУ предлагается концепция, базирующаяся на том, чтобы не решать проблему отладки, но обеспечивать корректность конструкций для задания знания. Ставится вопрос о разработке такого формального аппарата, чтобы сам акт записи информации стал одновременно и актом доказательства ее корректности (например, в пределах текущего значения функции расстановки или ее нового значения, порожденного этим актом). Для этого возможно использовать формализм типа “преобразователя предикатов” - фактически некоторое подмножество языка исчисления предикатов, например, первого порядка, сформированное с учетом аксиом, определяемых конечностью памяти и быстродействия компьютера и оформленный как язык фиксации текущего знания. В известной степени такой язык может быть предложен и в качестве входного языка, и в качестве языка описания системы высокого уровня. Отметим, что речь идет здесь о разработке программ и выражений в рамках аппарата исчисления предикатов, из которых состоит система и являющихся, в конечном счете, самой системой (по крайней мере до тех пор, пока она не получит другого описания, которое будет признано вместо предыдущего). Это, например, системы, реализующиеся как семантические конструкции. Для значительного числа систем представление на уровне исчисления предикатов первого порядка может быть достаточно для их адекватного восприятия{93. Не критикуйте нас за использование первого порядка. Кванторы являются не препятствием, но только усложнением построений, а у нас хватает сложности и по нашей основной тематике.}. Если последовательно применять формализм “преобразователей предикатов”, то, построив сколь угодно разветвленную многоуровневую систему, мы получим механизм, опять являющийся “преобразователем предикатов”, то есть механизм, обладающий важными для нас свойствами: всегда правильно завершать работу и быть распознаваемым за конечное число шагов. “Правильное завершение работы” означает, что конструкция (программа) за конечное время приходит либо к состоянию, являющемуся удовлетворительным с точки зрения логики системы решением, либо к состоянию “неопределенность” с выдачей диагностики о причине неопределенности. Излагаемая методология получила свое практическое решение в создании прикладного языка для работы с описательно заданными объектами (см. гл. 3), причем возможность ее использования в различных областях знания зависит только от наличия информационных массивов. Совершенно очевидно, что такой язык “в чистом виде”, язык, построенный на базе “преобразователей предикатов”, язык с явным указанием локальных, глобальных и наследуемых переменных, областей действия переменных, с полным отказом от рекурсии и явной заменой ее на повторение, является языком того же уровня, что и, например, паскаль, т.е. контекстно-свободным языком. Некоторые аспекты проблемы сохранения в нем контекстной зависимости уже рассматривались. Посмотрим на них еще раз “с программистской точки зрения”. 5.4. Частотная оценка Обратим внимание на следующие два обстоятельств, являющихся центральными для всех дальнейших рассуждений. Во-первых, система типа информационно справочной для задач управления должна обладать интеллектуальными свойствами лишь на некоторых отрезках времени, в течение которых происходят модификации информационной базы (знания), что эквивалентно осознанию системой новой функции расстановки. В каждом акте общения пользователя с системой с целью получения информации структуризирующие интеллектуальные свойства системы не являются строго необходимыми. Исходя из конкретной постановки задачи для системы или систем заданного типа, можно выделить отрезки времени статические, т.е. те, на которых система ничем не отличается от конечного автомата, и динамические, т.е. такие, на которых происходит реорганизация системы, в частности – реорганизация структуры интеллектуальной базы, переопределение информационных связей. Во-вторых, если система реализована корректно на уровне программ и ее поведение конечно-распознаваемо, вовсе не обязательно, чтобы ее ответы были всегда безошибочны. Право на ошибку давно признано за интеллектуальными системами. Во всяком случае, абсолютная полнота и правильность ответов не должны следовать из постановки задач создания как простейшей информационно - справочной, так и интеллектуальной системы. И та и другая пользуются информацией от внешнего мира, которая может быть неопределенной или противоречивой и, кроме того, эти системы имеют логику своих решений, базирующуюся на конечном числе известных ситуаций. Это означает, с одной стороны, что мы можем допустить появление ошибок в ответах с частотой, не превышающей некоторого заданного уровня. Частотная оценка используется здесь по существу задачи, ибо на любом конечном числе актов общения с системой мы имеем дело с конечным числом объектов (ситуаций) и конечной аппроксимацией функции расстановки, так что использование предельного перехода к статистическим оценкам по вероятности представляется здесь некорректным. С другой стороны, по мере накопления информационной базы и работы с ней, вид функции расстановки по сути задачи создания высокоуровневой системы, по-видимому, должен изменяться столь существенно, что различные реализации ее, принадлежащие разным статическим интервалам, могут не принадлежать к одному рекурсивному множеству и эта принадлежность не может быть установлена никаким конечным алгоритмом. В этом смысле в теории ИСУ приходится иметь дело с реализацией конечной аппроксимации функции расстановки, которая по существу не является рекурсивной, а может быть и рекурсивно-перечислимой (т.е. не является множеством значений некоторой рекурсивной функции). Исходя из сказанного, можно предложить следующую постановку задачи. На каждом интервале времени существования информационной базы имеется реализация функции расстановки в виде частичного эффективного оператора Т, представляющего собой n-ку частично-рекурсивных функций от n переменных, причем из n равенств , по крайней мере m, истинны и , истинны только в том случае, когда определены и левая и правая части равенства и они равны. Вопрос о практической осуществимости пополняемой и модифицируемой информационной базы принимает в этом случае следующий вид: существуют ли эффективные реализации оператора Т в частотном смысле? Ясно, что точная реализация оператора Т вовсе не обязана быть эффективной. С другой стороны, очевидно, что каждая конечная совокупность объектов базы данных (т. е. после каждого акта пополнения) рекурсивно-перечислима, но не обязательно тем же способом, что и после предыдущего пополнения. Приведенная формулировка соответствует постановке задачи о частотном решении проблемы вхождения в рекурсивно-перечислимое множество, предложенной в [25] и имеющей положительное решение при сформулированном ограничении – допущении некоторого уровня ошибок. Следовательно, проблема формально разрешима. Итак, формально возможно построение абстрактных конструкций, реализующих невычислимые в обычном смысле объекты{94. Этот материал излагается на основе нашей работы [4], написанной еще в конце 70-х годов и опубликованной в 1982 г. Сегодня все больше ученых начинают говорить о “невычислимых сущностях” именно в той направленности, которая и была затронута в указанной работе.}. Далее, не входя в подробности теории частотных вычислений, сформулируем лишь окончательный результат относительно границ сложности формальных конструкций, реализующих интересующие нас объекты. 1. Для формальной конструкции S и желательного послеусловия R назовем слабейшим предусловием такое предусловие, что S, начиная работу в , закончит работу в состоянии, удовлетворяющем R; при начальном состоянии, не удовлетворяющем R, S завершает работу в непредсказуемом состоянии, в том числе может не прийти к завершению (зациклиться). 2. Слабейшим свободным предусловием назовем такое предусловие, начиная работу в котором, S завершает работу одним из перечисленных ниже способов. При этом для каждого из вариантов завершения существует следующая характеризация множества начальных состояний: a) = т.е. S приходит к истинности R; b) т.е. S приходит к истинности c) = т.е. S не приходит к правильному завершению; d) т.е. S приходит к завершению, но по начальному состоянию нельзя определить, будет ли завершение удовлетворять R; e) & т.е. если система придет к конечному состоянию, то оно удовлетворяет R, однако завершимость не гарантируется начальным состоянием; f) т.е. если система придет к конечному состоянию, то оно удовлетворяет , завершимость не гарантируется начальным состоянием; g) т.е. по начальному состоянию нельзя определить, завершится ли работа S, а при завершении – будет ли удовлетворяться R или . Таким образом, гарантирует лишь, что система не завершит работу с “неправильным ответом”, причем не исключается возможность не завершения работы при запуске из . 3. Если конструкция S может иметь выходом n условий то есть описание конечного автомата, представляющего (моделирующего) S. Воспользовавшись приведенной терминологией, укажем:
" Никакая инструкция не может перечислить всех обязанностей должностного лица, Иногда мне очень не хватает сервиса для работы с цитатами.
Чтобы не было вынужденных взяткодателей, нужны четкие законы и года о том, что никакая инструкция не может перечислить всех обязанностей.
« Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперед.
Join VK now and always stay in contact with your friends and relatives
Личный состав и царского, и советского флота всегда руководствовался и этой директивой: « Никакая инструкция не может перечислить.
Wall | VK