strlen() — функция определения длиныстроки;
g( Zp(i) - Z(i)) = 1, если Zp(i) = Z(i),
g( Zp(i) —Z(i)) = 1/2, если Zp(i) илиZ(i) отсутствуют,
g( Zp(i) —Z(i)) = 0, если Zp(i) и Z(i)присутствуют, но Zp(i)≠ Z(i).
В качестве ЭД определимследующие:
X+Y — склеивание строк;
X-Y — результатом является строка изсимволов, присутствующих в X, но отсутствующих в Y;
Di(X) —удаление первого символа строки X;
Dn(X) —удаление последнего символа строки X.
Тогда результатом применения изложенногоподхода станет автоматически сгенерированная следующая СР-сеть:
При желании полученная схема всегда можетбыть автоматически отображена в текст компьютерной программы на любом заданномязыке программирования. Например, если в качестве языка программирования заданязык Си, то будет получен следующий текст:
sr_sxema(x,y,z) char x[ ] y[ ] z[ ];
{
charx[80]/* рабочая переменная */
strcpy(x1,x);/* подготовка к работе */
х1[0]=0;strcat(х1,&х1[1]);/* D1 */
strcat(xl,y);/*xl+y*/
l=strlen(xl);x1[l]=0;/*Dn */
l=strlen(xl);x1[l]=0;/*Dn */
strcat(x1,x);/*x1+x */
1=strlen(xl);xl[l]=0;/*Dn */
1=strlen(xl);xl[l]=0;/*Dn */
strcpy(z,x1);/* возвращение управления */
return;
}
При желании приведенную программу можноподвергнуть автоматической оптимизации, которая приведет к введению циклов засчет поглощения одинаковых строк, например:
sr_sxema(x,y,z) char x[ ] y[ ] z[];
{
intj;/* рабочая переменная */
char xl[80];/* рабочая переменная */
strcpy(xl,x);/* подготовка к работе */
xl[0]=0;strcat(xl,&xl[l]);/*D1*/
strcat(xl,y);/*xl+y*/
for(j=0;j<2;j++) { 1=strlen(xl);xl[I]=0;} /* Dn */
strcat(xl,x);/*xl+x*/
for(j=0;j<2;j++) { 1=strlen(xl);xl[I]=0;} /* Dn */
strcpy(xl);/* возвращение управления */
return;
}
Ничто не мешает предложить аналогичныйподход для моделирования ситуаций в биологическом, социальном и компьютерноммирах.
Анализируя ситуации социальной жизни людей,можно ввести ЭД типа:лбежать, лидти, сидеть, лехать, говорить,лрождаться, лумирать, повеситься и т.п. Можно даже ограничить этомножество, скорректировав его действиями не убий, не возжелай.
Для компьютерной программы в качестве ЭДмогут выступать операции:
писать, читать и т.д.
Понятно, что подобные СР-сети не являютсяпанацеей от всех бед и не предлагают универсальной эвристики, пригодной длявсех случаев жизни. Они могут стать лишь еще одним инструментом в рукаххудожника, рисующего собственную жизнь.
Серьезным недостатком изложенного подходаявляется его непробиваемая целеустремленность— стремление на каждом шагеувеличивать значение целевой функции. В приведенных примерах подобный путьпривел к успеху, но это не означает, что так будет всегда; хотя, с другойстороны, целевой функцией, как, впрочем, и множеством ЭД всегда можноварьировать.
Пути улучшения ситуации видятся внаправлении распараллеливания процессов. Например, если, решая выше приведеннуюзадачу по обработке символьных строк, допустить параллельность в формированииСР-сети, т.е. наращивать сеть не только по единственному пути максимальногоувеличения значения целевой функции, а по нескольким направлениям, при этомразрешая использовать на каждом этапе все имеющиеся на данный момент результатыпо всем возможным направлениям, то шансы найти выход в лабиринте решения задачимогут быть значительно повышены, см. следующий рисунок:
Обобщить сказанное и подвести итогпредставляется возможным в виде следующей схемы:
1. Элемент системы является простейшейнеделимой частицей—формальным нейроном.
2. Каждый нейрон способен к одномуэлементарному действию из некоторого наперед заданного множества, куда входитдействие — ничего неделать. В общем случае в множество ЭД могут быть включены как арифметическиеоперации, так и специальные алгоритмы, мемо-функции. Наличие ЭД ничего неделать равносильно отсутствию нейрона;
3. На начальном этапе система представляетсобой множество нейронов с ЭД ничего не делать, на каждый из которых можетоказываться воздействие со стороны нескольких входов и одного выхода. Разницумежду получаемым выходным значением и требуемым выходным значением назовемнапряжением;
4. Считаем, что возникшее напряжение должнокомпенсироваться изменением у нейронов присущих им ЭД. Изменение ЭД ничего неделать на любое другое приводит к рождению нейрона для системы. Предположим,что нейронов должно возникать ровно столько, сколько необходимо для компенсациинапряжения;
5. Считаем, что при рождении нейроноввыбирается нейрон с тем ЭД, которое максимально способствует минимизациинапряжения. Значение напряжения, которое компенсируется рожденным нейроном,назовем жизненной силойнейрона; считаем, что если на нейрон действует напряжение, превосходящее его собственную жизненнуюсилу, то нейрон гибнет.
Таким образом, было показано, что в основемоделей, предназначенных для исследования серьезных качественных измененийработы системы, с успехом можно использовать саморазрушающиеся исамовозрождающиеся нейросети. Были даны основные определения, предложенмеханизм и приведены необходимые примеры, достаточные, на мой взгляд, длясамостоятельной практической реализации изложенного подхода к различнойобластям жизни.
Новизна и эффективность данного подходапостроения самообучающихся систем определяется применением для корректировкиимеющегося знания не только коэффициентов ряда. с помощью которогоапроксимируется неизвестная функция, а в первую очередь, операций междукомпонентами числового ряда с последующей корректировкойкоэффициентов. Подобный подход позволяет значительноупростить схему работы самообучающейся системы в том случае, когда эта системаиспользуется для выделения в потоке данных аналитических зависимостей,построенных на базе таких действий, как сложение, вычитание, умножение иделение. При необходимости перечень действий всегда может быть расширен идополнен не только известными математическими операциями типа логарифмированияи возведения в степень, но и алгоритмами, включающими реализованные программномемо-функции, а также сам алгоритм самообучения. В этом случае речь может идтиуже не столько о классическом программировании, сколько о написании сценария или заданиисюжетапроизведения.
В этой связи интересно посмотреть нааналогии, прослеживающиеся в современных технологиях проектированияпрограммного обеспечения для ЭВМ, и, в частности, на объектно-ориентированноепрограммирование в среде Windows, в котором объекты рождаются, наследуя свойства, и умирают,возвращая память.
Цитируется по книге Э.ТеллоОбъектно-ориентированное программирование в среде Windows (М.: Наука-Уайли,1993):
Объектно-ориентированноепрограммирование — это способ программирования,обеспечивающий модульность программ за счет разделения памяти на области,содержащие данные и процедуры. Области могут использоваться в качествеобразцов, с которых по требованию могут делаться копии.
Весьма удобно рассматривать объекты какпопытку создания активных данных. Смысл, вкладываемый в слова лобъектпредставляет собой активные данные, основан на объектно-ориентированнойпарадигме выполнения операций, состоящей в посылке сообщений.
В посылаемых объекту сообщенияхуказывается, что мы хотим, чтобы он выполнил. Так, например, если мы хотимвывести на экране строку, то мы посылаем строке сообщение, чтобы она изобразиласебя. В этом случае строка — это уже не пассивный кусоктекста, это активная единица, знающая, как правильно производить над собойразличные действия.
Цитируется по книге П.Эйткена и С.ДжеролалVisual C++ для мультимедиа (К,: КОМИЗДАТ, 1996):
Любое приложение Windows все время активновзаимодействует с операционной системой. Приложение и система, как молодыевлюбленные, с огромной.частотой обмениваются множеством сообщений. Каждый раз, когда в системеWindows что-нибудьпроисходит, она посылает сообщение, на которое ваше приложение можетотреагировать тем или иным образом. Часто такое сообщение вызывает целую лавинуизменений!
...Когда вы определяете новый объект, вбольшинстве случаев вы просто порождаете его из уже существующего объекта снеобходимыми вам свойствами. Новый объект сразу после создания уже имеет(лнаследует) все свойства и возможности старого объекта. Таким образом, вы нетратите время на изобретение велосипеда. После создания нового объекта вытолько дополняете его код новыми функциями, которые вам необходимы, —всестарые функции и свойства у него уже присутствуют.
юбое действие пользователя во времявыполнения Windows-программы вызывает генерацию сообщения.
юбой объект в программе для Windows обладает способностьюреагировать на сообщения.
3.2. Человечество как СР-сеть
Смелые мысли играют роль передовых шашекигре: они гибнут, но обеспечивают победу.
И.Гете
Перелистывая страницу за страницей,вдумчивый читатель может задать примерно следующий вопрос: Если придерживатьсяпринцип масштабируемости, верить в информационное единообразие мира, то почемубы тогда не посмотреть на человечество как на самообучающуюся СР-сетьЧеловечество в рамках этой СР-сети существует тысячелетия и достигло скажеммягко, определенных успехов. Почему нельзя спроектировать подобную СР-сеть дляаккумуляции знаний Построенная на перенесенных из мира людей принципахподобная техническая система может стать самой эффективной самообучаемойконструкцией.
Вопрос правомочен. Действительно, зачемизобретать велосипед, когда проще взять основные принципы информационноговзаимодействия людей èперенести на техническую самообучающуюся СР-систему.Проблема здесь в том, как сформулировать эти основные принципы. Для того чтобыбыло с чего начать, постулируем:
1) все множество нейронов разбито на дваподмножества: нейроны-м и нейроны-ж, которые перемешаны друг сдругом;
2) в том случае, если уровень взаимодействиенейронов-м с нейронами-ж превышает некоторую наперед заданную величину,происходит рождение нового нейрона;
3) жизненная сила вновь рожденного нейронаопределяется уровнем взаимодействия нейронов;
4) пол рожденного нейрона определяетсяслучайным образом;
5) в том случае, если уровень взаимодействияоднополых нейронов превышает некоторую наперед заданную величину, происходитгибель нейрона, обладающего минимальной жизненной силой.
Так выглядит простейшая модель в самомпервом приближении. В своей реализации она чем-то напоминает известную игруЖизнь, придуманную Джоном Конвеем, на процесс протекания которой можно, какна огонь, воду и работающих людей, смотреть бесконечно. Безусловно, даннаямодель может быть уточнена, развита, подправлена множеством ограничений.Например, в качестве источников напряжения, рождающего и уничтожающего нейроны,можно предложить для рассмотрения эмоции, чувства: любовь как созидательнуюсилу и ненависть как разрушающую силу.
Важно, что похожесть присутствует. Насколькоона искусственна — этодругой вопрос; он уже из серии вопросов Т.Мана: Цветы изо льда или цветы из крахмала, сахара и клетчатки— то и другоеприрода, и еще неизвестно, за что природу больше хвалить... — а так ли это важно Но вотзаданный вопрос: Как измерить эффективность данной структуры — остается. Услышав его, мы робкоспрятали голову под крыло, склеенное из аналогий, как из перьев, и началигенерировать модели, прекрасно понимая бесперспективность прямого ответа.Действительно, как может хомяк, живущий в банке, оценить собственнуюэффективность (в данном случае — хотя бы полезность) для своего хозяина. И вот он, это хомяк,строит зеркала из наделанных им луж и пристально выискивает всплывающие искаженные образы до техпор, пока перед ним не начнут проходить все его прошлые и будущие жизни. Но этоли есть ответ на вопрос
Применяя модель СР-сетей к исследованиюсобытий, потрясающих человечество, сразу следует оговориться и провести чертумежду тем, что дозволено тыкать, словно щупом, данным инструментарием, и тем, кчему его бесполезно прикладывать, но очень хочется.
Дозволено тыкать в направленииинформационного хранилища человечества, его численности и информационныхкоммуникаций.
Дозволено тыкать в направлении важнейшихпроблем, связанных с применением ко всему человечеству и его отдельным частяминформационного оружия с целью выяснения разрешимости этих проблем.
Очень хочется попробовать применить СР-сетидля определения судьбы тех или иных культур.
Очень хочется понять адептом какого-такогонового знания выступают инфекции и войны, которые словно скальпель хирургавырезают целые структуры, не заботясь о том, здоровы они или больны. Где таграница, которая проходит между пока живыми и уже мертвыми
У К.Симонова эта граница видится в видевынужденной остановки: Ни полковой комиссар изполитотдела армии, ни подполковник из отдела формирования, ни Шмаков, ехавшие вголове и середине колонны, ни замыкавший колонну Данилов — никто из них не знал, что уженесколько часов тому назад и на юге и на севере от Ельни немецкие танковыекорпуса прорвали Западный фронт и, давя наши армейские тылы, развивают прорывна десятки километров в глубину. Никто из них еще не знал, что вынужденная остановка у моста, разрезавшая их колонну на двечасти, теперь ехавшие друг за другом с интервалом в двадцать минут, что этаостановка в сущности, уже разделила их всех. или почти всех. на живых имертвых. (К.Симонов. Живыеи мертвые).
Позже этой границей станет атомный реактор,еще позже место проживания.
Никто из моих соотечественников не знал,работая в промышленности и сфере образования некоторых союзных республик СССР,что тем самым они пересекли ту границу, которая обрекает их потомков на гибель,скитания и нищету.
Как далеко та узловая точка, в которой выборменьшего зла вдруг обернется в дальнейшем полным и безоговорочнымпоражением
По каким критериям информационнойсамообучающейся системе выбирать дорогу на перепутье Пытаться минимизироватьсегодняшнюю или завтрашнюю боль, пытаться максимизировать сегодняшнюю илизавтрашнюю радость
Отдельные люди и целые государства напротяжении истории человечества неоднократно пытались создать универсальныйкритерий выбора, часто внося этот критерий в пространство целей системы. А цельуже потом сама вела за собой. За примерами далеко ходить не надо: кто-то живетдля себя (максимизация сегодняшнего удовольствия), кто-то — для детей, кто-то — для страны, а есть и такие, ктокует счастье всему человечеству.
Pages: | 1 | ... | 6 | 7 | 8 | 9 | 10 | ... | 56 | Книги по разным темам