Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.06.09;
Скачать: [xml.tar.bz2];

Вниз

Самоорганизацию, самоподобие и избыточность в классы!   Найти похожие ветки 

 
Maximator Vetera   (2003-05-22 14:17) [0]

Такие вот дела:

При разработке сложных систем возникают проблемы, меньше связанные с рассмотрением свойств и законов функционирования элементов, а больше - с выбором наилучшей структуры, оптимальной организации взаимодействия элементов, обеспечения гибкости и надежности. По мере увеличения сложности системы этим комплексным общесистемным вопросам отводится более значительное место.
В то же время перемены в современном обществе происходят столь быстро, что создаваемые традиционным способом системы, имеющие устойчивую структуру и управляемые централизованно, устаревают, не успев «укорениться» в производстве. Известно, что устойчивые структуры могут долго существовать только в предсказуемой внешней среде, в противном случаи необходимо создавать самоорганизующиеся системы.

Нужно учиться у природы.

Создам структуру классов, реализующих природные механизмы
самоорганизации, самоподобия и избыточности.

Самоорганизация: Много однотипных активных объектов (агентов)- простые правила поведения -сложные возникающие структуры. Пример системы на основе самоорганизация:

В рамках исследовательского проекта Агентства по перспективным оборонным проектам США DARPA отряд из 120 американских военных роботов будет оснащен специальным программным обеспечением, которое позволит смоделировать у них коллективный (или распределенный между отдельными машинами) разум, и, тем самым, получит возможность моделирования группового поведения, наподобие по-ведения насекомых. При этом для координации действий отдельных роботов будут использованы относительно простые правила поведения.

Самоподобие: Фракталы. Геометрические фракталы (L-системы http://www.rechka.ru/lsys/lsys.html http://nsft.narod.ru/Fractals/turtle.htm). Создам класс содержащий информационный код (типа ДНК, чертежа) и класс, выполняющий работу по реализации этого кода (организм, строение).


Избыточность: избыточность как повышение надежности вытекает из множество однотипных объектов и возможность их безболезненной замены в первом случаи и как самоподобие структуры объекта (организма, строения) во втором. В L-системах структура объекта - реализация информационного кода в виде длинной строки, имеющей графическую интерпритацию (черепашья графика). В принципе по обрывку полученной строки (т.е. части организма) можно воссоздать информационный код.

Считаю, что разработка подобной структуры классов повысит эффективность (гибкость, надежность, долговечность) объектной технологии создания сложного программного обеспечения, отвечающего современным требованиям.
Ведь объектная технология, хоть и наиболее эффективный метод создания сложного ПО, но в ней (сама парадигма и базовая структура классов) не заложены механизмы самоорганизации и самоподобия объектов.

Вопросы:
Можно ли говорить в этом случаи о усовершенствовании или дополнении объектной технологии?
Нет ли подобных механизмов в базовой структуре классов других средств разработки?
Что Вы обо всем этом думаете?

Спасибо.


 
Mike B.   (2003-05-22 14:26) [1]

Однако..
И во что же все это должно самоорганизовываться?


 
Maximator Vetera   (2003-05-22 14:44) [2]

2 Mike B. © (22.05.03 14:26)

В Интернет-2 например.

Наиболее приближенная к природе система, хотя и зародилась централизованно, но развитие ее вскоре стало неконтролируемым и спонтанным. Интернет сегодня самая надежная сложная техническая система как в плане передачи информации (избыточность связей между узлами), так и в плане ее сохранности (большое количество копий одних и тех же документов).


 
Игорь Шевченко   (2003-05-22 14:45) [3]

Еще один Владимир Соколов, блин! :)


 
Mike B.   (2003-05-22 14:59) [4]

В общем вот что тебе расскажу: у нас университете дядька один занимается вопросами, которые похоже подходят под первую часть твоих, так сказать, тезисов (активные интеллектуальные агенты.
Так вот в теории у него все прекрасно, хотя и слишком обобщенно, но можно считать что это пока так :)
А вот то что есть из практических результатов, аналогам, построенным по обычным технологиям в плане эффективности сильно проигрывает, не имея при этом каких-то особых свойств за которые стоило бы этой самой эффективностью платить


 
Maximator Vetera   (2003-05-22 15:05) [5]

2 Игорь Шевченко © (22.05.03 14:45)

Важно!
Не ясно как человек сможет превзойти природу, являясь в одно и тоже время наиболее совершенным ее творением и ее же частью. Даже рефлексия над собственным сознанием является лишь первым приближением в познании себя. Т.е. познать себя невозможно!!!Только приблизится.
Более того, цель человечества, по сути, совпадает с основной стратегической задачей растительного или животного мира – захват или освоение территории.

Итак, надо учиться у природы (в том числе, познавая Ваши ответы).


 
Danilka   (2003-05-22 15:13) [6]

Maximator Vetera © (22.05.03 15:05)
>наиболее совершенным ее творением
С этим к kaif-у в соседнюю ветку. Он что-то про птиц подобное рассказывал. И про бунт роботов, правда давно. Да и вообще, что за стремление "превзойти природу" и куда превзойти, в каком направлении?


 
Maximator Vetera   (2003-05-22 15:13) [7]

2 Mike B. © (22.05.03 14:59)

В ближайшие несколько дней приведу пример структуры классов, реализующей самоподобие, и пример программы на основе этих классов.
С уважением.

Интересно про активные объекты (агенты) здесь http://www.osp.ru/os/2002/10/054.htm


 
kronprince   (2003-05-22 15:13) [8]

Сначала постараюсь ответить на вопросы:
1. Скорее о не о дополнении а о принципиально новой обектной методике, о другом подходе - это как VCL и KOL :)
2. Вопрос не понял :(
3. Это может быть интересно - когда дойдет до практической реализации.

Сама теория применения всего этого к программированию мне понравилась :)
Самоорганизация:
Почему бы и нет, тем более что на данном этапе все это прекрасно вписывается в концепцию наследников TComponent, к примеру TEdit меняющий свой цвет в зависимости от количества подобных Edit-ов на форме :) - или те же Edit-ы окружающие кнопку [Ok].

Самоподобие:
Вот с этим сложнее - так как IMHO тесно связано с избыточностью.
Но - то что хорошо к примеру для статических объектов, думаю вряд-ли можно применить для динамических.
Т.к. программа все таки динамический объект - и подобие больших и малых кусков кода можно заменить необходимыми функциями.
Но для хранения данных с фрактальной структурой (статических объектов) данный способ успешно применяется.

Избыточность:
Может хватит уже избыточности :)
Меня интересует считать ли "обрывок полученной строки" нарушение целосности памяти VM или нет ?
Если да - то никакая избыточность от крушения системы уже не спасет :(


 
Игорь Шевченко   (2003-05-22 15:14) [9]

http://ait.org.ua/index.php3?index=getdoc1&iddoc=1000000002


 
Mike B.   (2003-05-22 15:25) [10]

> Maximator Vetera © (22.05.03 15:13)
Давай, интересно будет ознакомиться


 
Maximator Vetera   (2003-05-22 15:29) [11]

> Danilka © (22.05.03 15:13)

Считается, что человек превзошел природу в музыке.
В красоте - нет.
В организованной сложности - нет. ДНК расшифровали, а как реализуется код непонятно, можем только сказать про пару генов, что они за что-то отвечают. А генов у человека 30000. И скорее действие их комлексное. И эти 30000 - это только 3 процента кода ДНК, остальное решили посчитать мусором из-за непонятности.
В надежности - нет.
...


 
Maximator Vetera   (2003-05-22 15:35) [12]

2 Игорь Шевченко © (22.05.03 14:45)

Кстати мнение Владимира Соколова по статье "Агенты и сложные системы" по вышеприведенному http://www.osp.ru/os/2002/10/054.htm

08.01.2003 11:39, Владимир Соколов
Тема действительно очень интересная, ее можно рассматривать как одно из направлений бионики. Проблема сложности программных систем на сегодняшний день достигла зрелости, в отличие от методов ее решения. И естественный для человека путь решения проблемы - искать аналогии в окружающем нас мире. Подход на основе активных объектов, безусловно, перспективен и, наверное, безальтернативен. Поэтому в скором будущем следует ожидать появления новой технологии программирования, что-то вроде Active Object Oriented Programming. Я же в своих исследованиях называю это "натуральным (естественным) программированием". Мне кажется, что это название более точно отражает суть концепции, а главное - более честно! На мой взгляд, основной проблемой является все-таки "программирование" элементов сложной системы на кооперацию путем декларации системы законов их взаимодействия (фундаментальных всеобщих и частных). Фактически это переход к программированию на метауровне (на уровне законов), а практически - на уровень генной инженерии. Если мы научимся на микро-уровне задавать структуру и свойства макро-системы, то мы победим сложность!


 
iZEN   (2003-05-22 15:44) [13]

Для Maximator Vetera © (22.05.03 14:17).

Вопросы:
Можно ли говорить в этом случаи о усовершенствовании или дополнении объектной технологии?

Для Delphi/C++ можно говорить о чём угодно, только вряд ли это кому-нибудь понадобится.

Нет ли подобных механизмов в базовой структуре классов других средств разработки?

Есть.
Java разрабатывалась как среда с динамической подгрузкой кода во время исполнения, основываясь на парадигме отложенной загрузки классов (из CLASSPATH, URL, других хранилищ). То есть java-приложение начинает выполняться с точки входа метода main(), а решения о загрузке других классов виртуальная машина принимает когда они реально потребуются.
Пулинг в серверах приложений J2EE/EJB - как пример избыточности и повышения надёжности.


Что Вы обо всем этом думаете?

Я уже об этом не думаю (время на обдумывание уже прошло), я это использую. :)


 
Игорь Шевченко   (2003-05-22 17:02) [14]

Maximator Vetera © (22.05.03 15:35)

За ссылку спасибо, а с Соколовым имел честь общаться полтора года назад на Королевстве Delphi - кроме схоластики ничего нету.


 
fool   (2003-05-22 17:13) [15]

Браво! Некоторые программисты уже пытаються реализовать подобные подходы при написании программ, но люди недалекие, не понимающие всей грандиозности идеи, называют их творения вирусами (самоорганизация, самоподобие, избыточность). Но как из простейших за миллионы лет развился человек, так и вирусы перерастут в совершенные программы, со временем. Идея верная, осталось обьединить программистов и генетиков и прорыв обеспечен!


 
Maximator Vetera   (2003-05-22 17:36) [16]

2 fool © (22.05.03 17:13)

Да, необходимо создать условия для самостоятельной эволюции ПО. Видимо в компьютерной среде этот процесс должен пойти побыстрее. А вирусы не способны эволюционировать самостоятельно.


 
vuk   (2003-05-22 17:37) [17]

to iZEN:
Вы, похоже, куда-то не туда поехали. Не надо путать самоорганизацию с динамической подгрузкой кода. Она, кстати, и в Win32 зашита, если уж на то пошло. :o)

to Игорь Шевченко:
>кроме схоластики ничего нету.
Я тоже одно время эту ветку читал, потом надоело продираться сквозь мегалитры воды... Скучно и неинтересно. Слов много, а практического применения - ноль. Да и области теоретического практического применения достаточно узкие.

to fool:
Мух от котлет отделяем, ага? Идеи одно дело, а воплощение - совсем другое. Да, кстати, и идея основная у вирусов - напакостить.

>осталось обьединить программистов и генетиков и прорыв
>обеспечен
Фиг там. У них это... того... "материал", с которым они работают несколько разный.


 
fool   (2003-05-22 18:18) [18]

>Maximator Vetera © (22.05.03 17:36)
>А вирусы не способны эволюционировать самостоятельно.
Ничто не эволюционирует самостоятельно - только под воздействием внешних факторов. Есть вирусы (программы) способные эволюционировать, хотя довольно ограниченно, но на то они и вирусы, а не венец творения...

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

И еще, о технической стороне. Чем более сложен организм, система и т.д. тем болле требователен он к внешней среде. Применительно к программированию, еще не скоро, я думаю, появяться вычислители такой мощности, чтоб хоть отдаленно справляться с имитацией природы в целом (если речь о совершенной системе), а не с отдельными ее процессами.


 
iZEN   (2003-05-23 16:49) [19]

/**vuk © (22.05.03 17:37)

to iZEN:
Вы, похоже, куда-то не туда поехали. Не надо путать самоорганизацию с динамической подгрузкой кода. Она, кстати, и в Win32 зашита, если уж на то пошло. :o)
<...>
*/

А я и не путаю.
Только эвристические алгоритмы позволяют добиться самоорганизации и устойчивости, взять хотя бы эвристики в механизме подкачки страниц в Windows2000. Но это, правда, на низком уровне...
А вот эвристическая стратегия пулинга в COM+ и EJB тоже чего-то значит в плане "искусственного интеллекта" на прикладном уровне.


 
Maximator Vetera   (2003-05-24 19:36) [20]

Доселе не удавалось построить ясную умозрительную модель, объединяющую в себе явления самоорганизации и самоподобия как единое целое.

Модель эволюции мира:
Основная структура - шар. Внутри шара - двигаются случайным образом шарики. Иногда шарики делятся. Также в результате столкновения шариков может образоваться новый шарик. Шар-оболочка расширяется. Иногда шар-оболочка делится на два шара-оболочки. Также в результате столкновения шаров оболочек может возникнуть новый шар -оболочка ... И так бесконечно вглубь и в ширь. Вселенная расширяется. На это затрачивается энергия. Внутри шар есть энергетические дырки. В них все происходит наоборот - все уплотняется и слипается.
При столкновении шариков, они могут просто удерживаться друг около друга ... образуются более сложные структуры ...



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.06.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.01 c
14-26791
Basic
2003-05-22 21:33
2003.06.09
Что думает сын о матери в...


14-26740
asafr
2003-05-22 17:20
2003.06.09
Сегодняшняя питерская байка


1-26430
nemec
2003-05-28 17:46
2003.06.09
Как убивать выскакивающие ошибки


6-26647
Equillibrium
2003-04-08 04:23
2003.06.09
Kak v delphi BANNER sdelat


1-26502
bloodman
2003-05-29 19:10
2003.06.09
регистрация горячих сочетаний клавиш.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский