Главная » 2016 » Июнь » 20 » RB30-1. В.Ф.Турчин, теория метасистемных переходов и метасистемное программирование
13:13
RB30-1. В.Ф.Турчин, теория метасистемных переходов и метасистемное программирование
Продолжение заметки см. RB30-2. Окончание заметки см. RB30-3. В предыдущей заметке я постарался вкратце изложить свой субъективный срез книги Джорджа Пойа применительно к идее Эдгара Дейкстры об аналогии между схемами решения задач в математике и программировании. Ассоциация, предложенная Дейкстрой, видится весьма полезной: процесс мышления в обоих случаях имеет больше сходства, чем различий и даёт важный ключ к пониманию разных аспектов сложности процесса программирования. Подобные аналогии отмечал в своей статье "e;Программирование — вторая грамотность"e; (1981) и А.П.Ершов: "e;Законы программирования смыкаются с математическим образованием, образуя единый, но ещё не построенный фундамент воспитания операционного и комбинаторного мышления, способности к абстракции, рассуждению и действию"e;. Программирование осуществляется не только в рамках компьютера, но и в рамках мозга (компьютера иного рода). Это означает, что программы (спецификации) можно формировать и исполнять как в компьютерной среде, так и мысленно (ментально). Программа обычно воспринимается как совокупность действий над сущностями. Но, на мой взгляд, полезнее её воспринимать в более общем виде: как совокупность сущностей, между которыми установлены отношения (связи), включая причинно-следственные. Т.е. как систему (в том или ином аспекте), что подразумевает определённую организацию. Программа формируется, конструируется сначала мысленно (если мы говорим не об автоматическом программировании), а затем уже в "e;овеществлённом"e; виде — в виде сущностей, представимых в компьютере (на том или ином языке, включая инструкции процессора). При этом мы отображаем ментальные сущности (наши понятия, представления, абстракции, конструкты, в т.ч. математические) на программные сущности (языка программирования и/или информационных ресурсов). Процесс программирования я воспринимаю не только как процесс такого отображения, но и как построение (конструирование) исходной системы ментальных сущностей (модели), с которой потом и ведётся отображение. В своей работе "e;Научная фантастика и научная реальность в информатике"e; (EWD952, 1986) Эдгар Дейкстра писал: “Она (информатика – прим. Р.Б.) обладает всей остротой чистой математики, будучи более формальной, чем многие другие отрасли математики. Она не может избежать такой формальности, поскольку любой язык программирования, будучи интерпретируемым механически, представляет своего рода формальную систему. В то же время она обладает всей прелестью прикладной математики, поскольку огромная мощность современных компьютеров даёт такие возможности для создания хаоса, что её методы необходимы, если мы не намерены угодить в ловушку сложности, которую сами же и создали. Научиться не попадать в собственноручно созданную ловушку сложности, сохранять вещи достаточно простыми и научиться эффективно мыслить о своих разработках — вот центральная задача информатики”. Продолжим теперь знакомство с другими важными материалами, имеющими отношение к анализу основ такой интеллектуальной сферы, как программирование. Как известно, академик А.П.Ершов выделял три ветви программирования: теоретическое, системное и прикладное. Где же между ними проходят границы? Если оставить в стороне теоретическое программирование (как фундаментальную науку) и обратиться к двум остальным, можно заметить, что к сфере системного программирования принято причислять то, что связано с инфраструктурным программным обеспечением. Оно в большей степени абстрагируется от прикладных задач и концентрируется на их отображении (трансляции) на ту или иную компьютерную платформу. Другими словами, выступает в роли посредника между компьютером и прикладной программой. Операционные системы (ОС), системы программирования (языки), системы управления базами данных (СУБД) — вот три кита системного программирования. В последнее время реже стали говорить "e;прикладная программа"e; и всё чаще – "e;приложение"e;. Почему? Так удобно. Ведь есть программы, а есть системы. Интуитивно мы вроде бы понимаем, что это разные вещи. Но чем они принципиально отличаются? Сложностью? Весьма расплывчатое понятие. Сложность в программировании чаще носит субъективный характер. Размерами? Вряд ли. Бывают программы в несколько сотен тысяч строк. И системами их назвать язык не поворачивается. Почему? Таков уровень архитектурных решений. В случае программы архитектура вырождена. В случае же системы она присутствует в более-менее развитом виде. Одно и то же приложение можно выполнить в виде программы и в виде системы. Отличаться они будут своей организацией. Система является более высокоразвитой формой программного обеспечения, нежели программа. В сфере прикладного программирования с формированием постепенной зрелости процесса разработки ПО и богатого спектра приложений потребность в системах становится всё выше. При этом нет чётко выраженного направления в программировании, которое бы занималось вопросом создания программных систем. Вне зависимости от того, к какой сфере они относятся — системного программирования или прикладного. Опять же на интуитивном уровне понятно, что как только мы переходим от программы к системе, есть много общего (единого) в программировании систем: как тех, что ближе к железу, так и тех, что ближе к прикладным задачам. Как и в области строительства, одной архитектурой здесь дело не ограничивается. Важны и другие, инженерные элементы. (Хотя бы то, из какого "e;материала"e; такая архитектура выполнена.) UNIX — это прежде всего архитектура. Язык, казалось бы, играет здесь вторичную роль. Но попробуйте заменить Си на Модулу-2 и вы увидите существенную разницу. При той же архитектуре. Попробуйте заменить фрагменты на Си на реализацию тех или иных формализмов (конечных автоматов, сетей Петри и т.п.). Архитектура та же. А "e;материал"e; и инженерные коммуникации несколько иные. Значит, "e;сопромат"e; и в программировании — не последнее дело… С системами обычно связывают понятие управления. Не будем сейчас вдаваться в дискуссию относительно систем, в которых нет управления. К этому мы ещё вернемся. А пока обратим свой взгляд на уже проработанные направления, имеющие отношение к вопросам синтеза и анализа систем вообще. Тектология А.А.Богданова, праксеология Е.Е.Слуцкого и Т.Котарбиньского, общая теория систем Л.Берталанфи, кибернетика Н.Винера и У.Р.Эшби, системология Г.Н.Поварова… Всё это заслуживает отдельного обсуждения. Особняком в этом ряду стоит кибернетика. Она сначала стремительно ворвалась в нашу жизнь, а потом столь же стремительно была предана забвению. Очень уж мы склонны к крайностям. Впрочем, и в годы её расцвета скепсис был немалый, причем даже со стороны тех, кто её развитием реально и занимался. В своей книге "e;Беседы о программировании"e; (1963) советский математик и один из первых отечественных программистов Александр Семёнович Кронрод не без чувства юмора (хотя и весьма серьёзно) писал о кибернетике так: "e;Как должна развиваться наука-кибернетика? Плодотворно. Для этого надо: (1) Чтобы программированием занимались программисты, (2) Механизмами в живом организме занимались физиологи, биофизики, биохимики и т.д., (3) Специалисты по социальным дисциплинам изучали законы, управляющие обществом, (4) Лингвисты и филологи занимались своим делом, (5) Врачи лечили и с этой конечной целью изучали болезни и больных, а также и здоровых, (6) Шофёры водили автомобили (автобусы, самосвалы и т.д.) и (7) Никто без нужды не болтал попусту. А когда врачам нужны теория вероятностей, математическая статистика, дифференциальные уравнения или работа на электронных машинах – им необходимо всемерно помогать в этом деле. И иногда – учить и даже подталкивать, потому что человек часто просто не знает о возможностях чужой науки. И делать это надо профессионально. А наука-кибернетика здесь ни при чём. И автор даже подозревает, что она и ни в каком деле ни при чём. Потому что он лично не слышал ни о каком достижении этой науки-кибернетики. И полагает, что, кроме названия, у науки-кибернетики больше ничего и нет"e;. Другой известный советский математик, академик А.Н.Колмогоров высказывал несколько иной взгляд. В 1959 г. в предисловии к книге английского кибернетика У.Р.Эшби он писал: “Сейчас уже поздно спорить о степени удачи Винера, когда он в своей известной книге в 1948 г. выбрал для новой науки название “кибернетика”. Это название достаточно установилось и воспринимается как новый термин, мало связанный со своей греческой этимологией. Кибернетика занимается изучением систем любой природы, способных воспринимать, хранить и перерабатывать информацию и использовать её для управления и регулирования. При этом кибернетика широко пользуется математическим методом и стремится к получению конкретных специальных результатов, позволяющих как анализировать такого рода системы (восстанавливать их устройство на основании опыта обращения с ними), так и синтезировать их (рассчитывать схемы систем, способных осуществлять заданные действия). Благодаря этому своему конкретному характеру кибернетика ни в какой мере не сводится к философскому обсуждению природы “целесообразности” в машинах и философскому анализу изучаемого ею круга явлений”. Кибернетика устами своих многочисленных популяризаторов породила немало мифов и создала ложные ожидания. При этом она смогла за очень короткий срок собрать под своим зонтиком и сплотить вполне боеспособные направления, сплотить на научной, математической основе. Изучение богатого наследия кибернетики и её нынешних форм реинкарнации даёт хороший ключ к ответу на вопросы о том, как создавать простые и сложные программные системы, как вообще заниматься программированием (в широком и узком смысле). После изучения ряда позабытых работ у меня возникла идея выделить особое направление в программировании, которое затрагивало бы (объединяло в определённом аспекте) теоретическое, системное и прикладное программирование в контексте синтеза и анализа программных систем. Термин "e;метасистемное программирование"e; подсказала книга Валентина Фёдоровича Турчина "e;Феномен науки. Кибернетический подход"e; (1970). О том, как метасистемное программирование соотносится с кибернетикой, мы ещё успеем поговорить. Сейчас же давайте сосредоточимся на сути подхода В.Ф.Турчина. На мой взгляд, книга Турчина не менее важна, не менее фундаментальна, нежели ранее представленная книга Джорджа Пойа. Очень рекомендую внимательно её изучить (перечитать, возможно, не один раз). Здесь же дам свой субъективный срез по этой книге применительно к термину "e;метасистемное программирование"e;. В.Ф.Турчин. "e;Феномен науки: Кибернетический подход к эволюции"e;. — http://www.europrog.ru/book/psvt1993r.pdf (1,6 Мбайт). В HTML оригинал здесь: http://www.refal.net/turchin/phenomenon/ Биографическая справка. Валентин Фёдорович Турчин родился в 1931 г. в г.Подольске Московской области в семье профессора агрохимии. Физик, математик, программист, философ. (Ровно такая же последовательность, такая же широта интересов была в биографии Эдгара Дейкстры.) Окончил в 1952 г. физический факультет МГУ. С 1953 по 1964 гг. работал в подмосковном Обнинске в Физико-энергетическом институте, где изучал рассеяние медленных нейтронов в жидкостях и твёрдых телах и где защитил кандидатскую диссертацию (1957). В 1964 г. оставляет физику, переходит в Институт прикладной математики им. М.В.Келдыша АН СССР и посвящает свою деятельность информатике. В 1966 г. была опубликована его первая работа по метаязыку Рефал, построенному Турчиным на основе рекурсивных функций: “Метаязык для формального описания алгоритмических языков — Цифровая вычислительная техника и программирование” (Москва, 1966). Турчин заложил основы метавычислений, предложив качественно новый метод преобразования и оптимизации программ — суперкомпиляцию.В  1967 г. Турчин подписал первое письмо в защиту А.Гинзбурга. В 1968 г. в Самиздате появляется брошюра «Инерция страха». В 1970 г. им подготовлена к печати книга «Феномен науки» (опубликована на английском языке в 1977 г.). В 1973 г. он выступил с открытым письмом в защиту А.Сахарова. После этого перед Турчиным закрываются все возможности научной работы. В 1977 г. он вынужден покинуть СССР и эмигрировать в США. Работал в Институте математических наук им. Куранта в Нью-Йоркском университете (Courant Institute for Mathematical Sciences). С 1979 по 1999 гг. был профессором компьютерных наук в The City College of New York. В 1991 г. совместно с Cliff Joslyn (Los Alamos National Laboratory) и Francis Heylighen (Free University of Brussels) основал проект Principia Cybernetica Project — энциклопедия идей по кибернетической эволюции человечества, концепция Всемирного мозга на основе самоорганизации модулей знаний в Интернете. В 1998 г. стал сооснователем компании SuperCompilers. Важное уточнение. В.Ф.Турчин был принят в Институт прикладной математики им. М.В.Келдыша АН СССР с большими проблемами, которые были вызваны ведением им диссидентской деятельности. Как отметил мне в личной переписке Михаил Михайлович Горбунов-Посадов, за неё его и уволили с предыдущей работы. Никто брать его не хотел (да и не мог). Но Михаил Романович Шура-Бура, опираясь на поддержку М.В.Келдыша, взял Турчина в Институт, правда, под честное слово, что диссидентством здесь он заниматься не будет. И Турчин достаточно долго держался. Возможно, именно этим мы обязаны появлению Рефала. Но в конце концов Турчин не выдержал, пришёл к Михаилу Романовичу и заявил, что молчать больше не в силах и, согласно их уговору, увольняется. -- [Благодарю М.М.Горбунова-Посадова за это уточнение]. Избранные публикации: В.Ф.Турчин “Теория метасистемных переходов” // Компьютерра, #25, 02.07.2001 г. В.Ф.Турчин “Рефал как язык для обработки XML-документов” // Компьютерра, #25, 02.07.2001 г. Л.Левкович-Маслюк “Четыре проекта Валентина Турчина” // Компьютерра, #25, 02.07.2001 г. А.Чеповский “Метавычисления – теория метасистемных переходов в программировании” // Компьютерра, #25, 02.07.2001 г. А.Климов “Главные вехи в истории метавычислений” // Компьютерра, #25, 02.07.2001 г. М.Отставнов “Валентин Турчин: 'Проплыть между Сциллой и Харибдой'” // Компьютерра, #25, 02.07.2001 г. “Феномен Турчина” – Радио “Свобода”, 03.04.2001. В.Редько “Концептуальные теории эволюционной кибернетики. Теория метасистемных переходов В.Ф.Турчина” (1999). В.Ф.Турчин “О кибернетической эпистемологии” В.Ф.Турчин “Кибернетическая онтология действия” А.П.Ершов “О сущности трансляции” (1977) — http://www.europrog.ru/classics/ae1977.pdf Документы, связанные с В.Ф.Турчиным из архива А.П.Ершова Материалы о В.Ф.Турчине из журнала “Индекс” В.Ф.Турчин в своей книге “Феномен науки” сквозь призму кибернетики рассматривает эволюцию различных систем и вводит термин "e;метасистемный переход"e;. Вот как он его определяет: "e;Когда некоторое число систем интегрируются в единое целое с возникновением нового уровня управления, мы говорим, что имеет место метасистемный переход. Новая система есть метасистема по отношению к старым. Метасистемный переход является по определению творческим актом. Он не может совершиться под воздействием одних лишь внутренних факторов интегрируемой системы, но всегда требует вмешательства извне, “сверху”. Это очень лаконичное разъяснение. Чтобы в нём разобраться поглубже, имеет смысл немного погрузиться в контекст восприятия. Для этого воспользуюсь приёмом избирательного цитирования. Во введении к своей книге В.Ф.Турчин разъясняет истоки её замысла: "e;Принципы, столь общие, что они применимы как к развитию науки, так и к биологической эволюции, требуют для своего выражения столь же общих понятий. Такие понятия даёт кибернетика — наука о связях, управлении и организации в объектах любой природы. В кибернетических понятиях с равным успехом описываются явления физико-химические, биологические, социальные. Именно развитие кибернетики и особенно её успехи в описании и моделировании целенаправленного поведения и распознавания понятий сделали возможным написание этой книги. Поэтому более точно её предмет можно определить так: кибернетический подход к науке как к изучаемому явлению. Идейным стержнем книги является понятие о метасистемном переходе, т.е. переходе от кибернетической системы к метасистеме, включающей в себя множество систем типа исходной, организованных и управляемых определённым образом. Сначала это понятие было положено автором в основу анализа развития знаковых систем, используемых наукой. Затем, однако, оказалось, что исследование под этим углом зрения всей эволюции жизни на Земле позволяет воссоздать связную и подчинённую единым закономерностям картину или, лучше сказать, киноленту, которая начинается с первых живых клеток и кончается современными научными теориями и системой промышленного производства. Эта кинолента указывает, в частности, место феномена науки в ряду других явлений мира и раскрывает его значение на фоне общей картины эволюции Вселенной. Так возник замысел настоящей книги"e;. Книга Турчина написана с философским уклоном. При этом читается очень легко. Но после ознакомительного прочтения в ней стоит выделить разные аспекты и перечитать сквозь их призму. Сейчас мы остановимся на "e;метасистемном программировании"e;, точнее, на его базовых понятиях — метасистемах и метасистемных переходах. Слово В.Ф.Турчину: "e;Важное место в книге отводится проблемам теории познания и логики; они трактуются, конечно, с кибернетических позиций. Кибернетика сейчас ведет наступление на традиционную философскую гносеологию, давая новую, естественно-научную интерпретацию одним её понятиям и отвергая другие как несостоятельные. Некоторые философы противятся этому наступлению, считая его посягательством на свою территорию. Они обвиняют кибернетиков в “огрублении” и “упрощении” истины, в игнорировании “принципиального различия” между формами движения материи (и это несмотря на тезис о единстве мира!). Но философ, которому чуждо землевладельческое отношение к различным областям знания, должен приветствовать атаки кибернетиков. В своё время развитие физики и астрономии уничтожило натурфилософию, избавив философов от необходимости говорить приблизительно о том, о чём ученые могут говорить точно. Очевидно, развитие кибернетики сделает то же с философской гносеологией или — скажем более осторожно — со значительной её частью. Этому надо только радоваться. У философов всегда будет достаточно своих забот: наука избавляет их от одних, но доставляет другие"e;. Системы, подсистемы, состояния Чтобы у читателя сложилась более-менее целостная картина восприятия, стоит начать с азов. Даже если он их знает. Никогда не будет лишним сопоставить своё представление с представлением автора. Турчин пишет: "e;Сам термин «кибернетика« ввел, как известно, Норберт Винер, определив его описательно как учение о связях и управлении в живом организме и машине. Чтобы более точно дать определение кибернетики, как и всякой научной дисциплины, мы должны ввести её основные понятия. Собственно говоря, ввести основные понятия — это и значит уже определить данную науку, ибо остаётся только добавить: описание мира с помощью этой вот системы понятий и есть данная конкретная наука. В основе кибернетики лежит прежде всего понятие системы как некоторого материального объекта, состоящего из других объектов, называемых подсистемами данной системы. Подсистема некоторой системы, в свою очередь, может рассматриваться как система, состоящая из подсистем. Поэтому, если быть точным, смысл введённого нами понятия заключается не в термине «система» самом по себе, т.е. не в приписывании некоторому объекту свойства «быть системой», что довольно бессодержательно, ибо каждый объект может считаться системой, а в связи между терминами «система» и «подсистема», отражающей определённое отношение объектов. Второе важнейшее понятие кибернетики — понятие состояния системы (подсистемы). Подобно тому как понятие системы непосредственно опирается на нашу пространственную интуицию, понятие состояния непосредственно опирается на нашу интуицию времени, и его невозможно определить иначе, как сославшись на опыт. Когда мы видим, что объект в чём-то изменился, мы говорим, что он перешёл в другое состояние. Как и понятие системы, понятие состояния является скрытым отношением — отношением между двумя моментами времени. Если бы мир был неподвижным, понятие состояния не могло бы возникнуть, и в тех дисциплинах, где мир рассматривается статически, например, в геометрии, понятие состояния отсутствует. Кибернетика изучает организацию систем в пространстве и времени, т.е. то, каким образом связаны подсистемы в систему и как влияет изменение состояния одних подсистем на состояние других подсистем. Основной упор делается, конечно, на организацию во времени, которая в случае, когда она целенаправленна, называется управлением. Причины связи между состояниями системы и вытекающие отсюда особенности её поведения во времени часто называют заимствованным из физики термином динамика системы. Этот термин в применении к кибернетике неудачен, так как, говоря о динамике системы, мы склонны рассматривать её как нечто целое, в то время как в кибернетике главным является исследование воздействия друг на друга подсистем, образующих данную систему. Поэтому мы предпочитаем говорить об организации во времени, употребляя термин "e;динамическое описание"e; только тогда, когда его нужно противопоставить статическому описанию, учитывающему лишь пространственные отношения между подсистемами. Кибернетическое описание может иметь различный уровень детализации. Одну и ту же систему можно описывать либо в общих чертах, разбив её на несколько крупных подсистем, «блоков», либо более детально, описав строение и внутренние связи каждого блока. Но так или иначе кибернетическое описание всегда имеет какой-то конечный уровень, глубже которого оно не распространяется. Подсистемы этого уровня рассматриваются как элементарные, не разложимые на составные части. Реальная физическая природа элементарных подсистем кибернетика не интересует, ему важно только, как они связаны между собой. Два физических объекта могут радикально отличаться друг от друга по своей природе, но если на каком-то уровне кибернетического описания они организованы из подсистем одинаково (с учетом динамического аспекта!), то с точки зрения кибернетики их можно считать — на данном уровне описания — тождественными. Поэтому одни и те же кибернетические соображения могут быть применимы к таким разным объектам, как радиотехническая схема, программа для вычислительной машины или нервная система животного"e;. Нервная сеть К изложению своей идеи метасистемного перехода В.Ф.Турчин подводит через анализ биологических систем. Стоит посмотреть, как было сделано "e;не нами"e;, чтобы выявить важные закономерности. Турчин начинает с нервной сети, с понятий рецепторов и эффекторов: "e;Общая схема нервной системы «кибернетического животного» в его взаимодействии с внешней средой представлена на рисунке Чувствительные нервные клетки, возбуждающиеся под действием внешних факторов, носят название рецепторов (т.е. получателей), ибо они служат первичным приемником информации о состоянии внешней среды. Эта информация поступает в нервную сеть и перерабатывается ею. В результате возбуждаются некоторые из нервных клеток, называемых эффекторами. Разветвления эффекторных клеток пронизывают те ткани организма, на которые нервная система оказывает непосредственное влияние. Возбуждение эффектора вызывает сокращение соответствующей мышцы или стимулирует деятельность соответствующей железы. Состояние всех рецепторов в некоторый момент времени назовём ситуацией в этот момент. (Точнее было бы говорить «результат воздействия ситуации на органы чувств», но это слишком длинно.) Состояние всех эффекторов назовём действием. Следовательно, роль нервной сети сводится к преобразованию ситуации в действие"e;. Что такое понятие Пойдём дальше. От рецепторов и эффекторов — к единичным и абстрактным понятиям. Турчин пишет: "e;Множество ситуаций в кибернетике называют понятием. Чтобы лучше уяснить, как кибернетическое понимание слова «понятие» связано с его обычным пониманием, допустим, что рецепторы рассматриваемой нами нервной сети — это светочувствительные нервные окончания сетчатки глаза или же вообще какие-то светочувствительные точки на экране, подающем информацию в нервную сеть. Рецепторы возбуждаются тогда, когда соответствующий участок экрана освещён (точнее, когда его освещённость больше некоторой пороговой величины), и остаются в состоянии покоя — в противном случае. Если на месте каждого возбужденного рецептора представить себе светлую точку, а на месте каждого невозбужденного — тёмную, то получится картина, которая отличается от изображения, падающего на экран, лишь своей дискретностью (т.е. тем, что она распадается на отдельные точки) и отсутствием полутонов. Будем считать, что точек (рецепторов) на экране достаточно много, а изображения, которые могут оказаться на экране, — их мы будем называть «картинками» — предельно контрастны, т.е. состоят лишь из белого и чёрного цвета. Тогда каждая ситуация соответствует определенной картинке. Согласно традиционной (аристотелевской) логике, когда мы думаем или говорим о какой-то определённой картинке (например, о той, которая находится в левом верхнем углу на рис. 2.1), то мы имеем дело с единичным понятием. Кроме единичных понятий, есть ещё общие, или абстрактные, понятия. Например, мы можем думать о пятне вообще — не о каком-либо конкретном пятне (допустим, из числа изображённых в верхнем ряду на рис.2.1), а о пятне как таковом. Точно так же мы можем обладать абстрактным понятием прямой линии, контура, четырёхугольника, квадрата и т. д. Однако что значит «обладать абстрактным понятием»? Как можно проверить, обладает ли кто-то данным абстрактным понятием, например понятием «пятно»? Очевидно, только одним способом: предложить испытуемому серию картинок и попросить, чтобы он о каждой из них сказал, пятно это или нет. Если окажется, что он называет пятном только те и все те картинки, на которых «изображено пятно» (это уже с точки зрения испытующего), то, значит, понятием пятна он обладает. Иначе говоря, мы должны проверить его способность распознавать принадлежность любой предъявленной картинки к множеству картинок, которые мы описываем словом «пятно». Итак, абстрактное понятие в обычном смысле слова — во всяком случае когда речь идёт о чувственно воспринимаемых образах — совпадает с введённым нами кибернетическим понятием понятия как множества ситуаций"e;. Классификаторы Как распознаются ситуации? Это важный момент. Слово В.Ф.Турчину: "e;Нервную сеть, решающую задачу распознавания, мы назовём распознавателем, а состояние эффектора на его выходе будем называть просто состоянием распознавателя. Отправляясь от понятия распознавателя, мы введём несколько более общее понятие классификатора. Распознаватель делит множество всех мыслимых ситуаций на два непересекающихся подмножества: A и не A. Можно представить себе деление полного множества ситуаций на произвольное число n пересекающихся подмножеств. Такие подмножества называют обычно классами. Теперь вообразим некую подсистему C, имеющую n возможных состояний и связанную нервной сетью с рецепторами таким образом, что, когда ситуация принадлежит к i-му классу (i-му понятию), подсистема C приходит в i-е состояние. Такую подсистему вместе с нервной сетью мы будем называть классификатором по множеству n понятий (классов), а, говоря о состоянии классификатора, подразумевать состояние подсистемы C (выходной подсистемы). Распознаватель — это, очевидно, классификатор с числом состояний n = 2. В системе, организованной по двоичному принципу подобно нервной системе, подсистема C с n состояниями будет, конечно, состоять из какого-то числа элементарных подсистем с двумя состояниями, которые можно рассматривать как выходные подсистемы (эффекторы) распознавателей. Состояние классификатора, следовательно, будет описываться указанием состояний ряда распознавателей. Однако эти распознаватели могут быть тесно связаны между собой как по структуре сети, так и по выполняемой функции в нервной системе, и в этом случае их следует рассматривать в совокупности как один классификатор. Если не накладывать никаких ограничений на число состояний, то понятие «классификатор» фактически теряет смысл. Действительно, всякая нервная сеть сопоставляет каждому входному состоянию одно определённое выходное состояние; следовательно, каждому выходному состоянию соответствует множество входных состояний, и эти множества не пересекаются. Таким образом, всякое кибернетическое устройство с входом и выходом можно формально рассматривать как классификатор. Придавая этому понятию более узкий смысл, мы будем считать, что число выходных состояний классификатора гораздо меньше, чем число входных состояний, так что классификатор действительно «классифицирует» входные состояния (ситуации) по относительно небольшому числу больших классов"e;.
Просмотров: 433 | Добавил: AdnrNick | Рейтинг: 0.0/0
Всего комментариев: 0
avatar