GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.2 (6)<< < Пред. | След. > >>   Поиск:  
 Автор Тема: На: Создание искусственного интеллекта на основе сетевой объектно-ориентированной базы знаний
shuklin
Сообщений: 2053
На: Создание искусственного интеллекта на основе сетевой объектно-ориентированной базы знаний
Добавлено: 17 мар 08 0:26
Цитата:
Автор: daner

Ну в этом я и не сомневался.
Я просто тогда, не совсем понимаю, что же подразумевается под БД, если в это понятие еще и методы обработки данных входят? В чем разница между классической программой и БД вообще?

Пусть это решают философы и методологи от БД, считать такой гибрид БД или нет.
Есть сложившияся традиция называть подобные БД объектными, а системы в которых методы объектов вызываются на стороне сервера и в контексте сервера называть ООСУБД с активным сервером. Cerebrum это сетевая (используется не реляционная а собственная сетевая модель данных) объектно ориентированная (узел сети может быть сопоставлен некоторому экземпляру некоторого класса) с активным сервером (экземпляры объектов находятся на сервере, вызов методов производится на стороне сервера в контексте текущего объекта). Зачем это было нужно мне? Для моделирования ИНС. Поведение нейрона описываю некоторым C# классом. Разные типы нейронов описываю разными классами. Полиморфизм позволяет им общаться друг с другом вызывая друг у друга методы. Ленивая активация объектов позволяет создавать БД числом нейронов до 4 миллиардов.

Если изменить точку зрения, то можно считать объект == агент и моделировать поведение агентов.

Цитата:

Обязательно попробую, но все никак до Windows не доберусь, а к MONO еще не привык.

P.S.
Кстати, по поводу MONO. Вы не пробовали портировать Cerebrum на mono?

Теоретически это возможно, вот практически увы невозможно. Ядро Cerebrum реализованно не на основе .NET а на основе собственной модификации языка С. Использую транслятор в стандартный С. К тому же для повышения производительности ядро использует Win32 API
невозможность заключается в затратах рессурсов, которые на данный момент для меня совершенно экономически невозможны и необоснованы.

Цитата:
очень важно, так как основной "рынок" программ с открытыми исходниками, не под windows.

я знаком только с системами на базе Microsoft технологий и специализируюсь именно на них. Увы в рынках не Microsoft перспектив для себя и своих разработках не вижу.

[Ответ][Цитата]
shuklin
Сообщений: 2053
На: Создание искусственного интеллекта на основе сетевой объектно-ориентированной базы знаний
Добавлено: 15 апр 08 0:23
Обубликовал Cerebrum 1.0.300.7 from 2008-04-14
Изменения минимальны, небольшая оптимизация ядра и в SDK включен пример консольного приложения
[Ответ][Цитата]
shuklin
Сообщений: 2053
На: Создание искусственного интеллекта на основе сетевой объектно-ориентированной базы знаний
Добавлено: 30 апр 08 23:41
Привет Всем!

Опубликовал Cerebrum 1.0.300.8 from 2008-04-30
- В SDK включены исходные тексты модуля конфигурации (Cerebrum.DesktopConfigurator) из проекта ObjectiveDraw,
- Cerebrum.Windows.Forms.VisualComponent усовершенствован и переименован в Cerebrum.Windows.Forms.DesktopComponent

PS: И еще Новость! http://www.shdsoftware.com/go/00000000002kco98as4m6i34j0.html
[Ответ][Цитата]
shuklin
Сообщений: 2053
На: Создание искусственного интеллекта на основе сетевой объектно-ориентированной базы знаний
Добавлено: 02 май 08 1:50
Привет Всем!

Опубликовал исходные тексты своей разработки векторного графического редактора Objective Draw http://www.codeplex.com/ObjectiveDraw

В исходные коды проекта так же входят исходники библиотеки элементов управления, аналогичной Windows.Forms, но работающей с исспользованием Microsoft Managed DirectX.Direct3D что при наличии видео ускорителя и правильно настроенных драйверов под DirectX на порядки увеличивает скорость отображения графики.

Всех с Майскими! Удачи и Успехов!

Дмитрий Шуклин.
[Ответ][Цитата]
shuklin
Сообщений: 2053
На: Создание искусственного интеллекта на основе сетевой объектно-ориентированной базы знаний
Добавлено: 14 июн 08 23:37
Опубликовал Cerebrum version 1.0.300.10
[Ответ][Цитата]
Mad_God
Сообщений: 545
На: Создание искусственного интеллекта на основе сетевой объектно-ориентированной базы знаний
Добавлено: 16 июн 08 9:04
на этом месте по идее должна быть ссылка...
[Ответ][Цитата]
shuklin
Сообщений: 2053
На: Создание искусственного интеллекта на основе сетевой объектно-ориентированной базы знаний
Добавлено: 16 июн 08 18:12
Цитата:
Автор: Mad_God

на этом месте по идее должна быть ссылка...


Привет, ссылки приводил уже неоднократно, не хотел очередной раз теми же самыми ссылками спамить ))

Все материалы по прежнему на своих старых местах.

Домашняя страница проекта
http://www.shuklin.com/ai/ht/ru/cerebrum/
Там доступны текстовые описания проекта

http://www.codeplex.com/Cerebrum
а от сюда проект можно скачать

http://www.shdsoftware.com/go/00000000002gc9rp90lf07bsu1.html
а здесь его можно пообсуждать.
[Ответ][Цитата]
shuklin
Сообщений: 2053
На: Создание искусственного интеллекта на основе сетевой объектно-ориентированной базы знаний
Добавлено: 30 июн 08 15:18
Образовался у меня следующий текст, надеюсь будет интересен и даже полезен.


Ядро системы Cerebrum.Runtime.dll не делает никаких предположений о возможной структуре БД и ее семантике. Это голое API хранилица сетевой БД. Надстройка над этим API - Cerebrum.Integrator.dll разворачивает собственные структуры в БД и держит в них собственную базу метаинформации. Реализацию Cerebrum.Integrator можно рассматривать как пример исспользования ядра и построение над ним собственной СУБД. В качестве примера работы с ядром СУБД в обход уровня Cerebrum.Integrator можно посмотреть проект векторного графического редактора ObjectiveDraw исходные тексты которого доступны по адресу http://www.codeplex.com/ObjectiveDraw

ObjectiveDraw - это прототип полноценного приложения. В этот проект включено несколько частей, заслуживающих отдельного упоминания. Библиотека элементов управления, основанная на Managed DirectX.Direct3D обеспечивает отображение графических сцен. Object to object mapping - в чем-то аналог ORM но предназначенный для работы с СУБД Cerebrum. Он позволяет пометить аттрибутами свойства объекта уровня приложения, и в аттрибутах указать на какое свойство персистент объекта уровня БД отображать данное свойство объекта уровня приложения.
Векторный редактор задумывался как средство, позовляющее пользователям быстро набросать какой нибудь рисунок сверху сложного графического материала, подготовленного на основе данных из БД. Например нарисовать или доуточнить диаграмму, чарт,... график. Его можно использовать или по этому, прямому назначению, или по любому другому, где потребуется векторная графика. Еще можно как прототип собственного приложения, требующего в том числе возможности рисования и отображения векторной графики. Понятное дело, что чем сложнее твое приложение тем меньше подходящих заготовок ты найдешь в опубликованных исходниках и тем больше придется разработать самому. Тогда тебе может пригодится библиотека, она разрабатывалась максимально универсальной.
Если мы говорим о библиотеке элементов управления, основанной на Managed DirectX.Direct3D то она была построена по идеологии взятой из WinForms. Все элементы управления располагаются в коллекциях других родительских элементов управления. Интерфейсы элементов управления и их события сделаны максимально близко по именованию и функциональности к WinForms. Однако в ней еще нет многих привычных элементов управления. Но она позволяет развернуть свою модель классов в пределах Direct3D.Device который можно подключить к клиентской области любого System.Windows.Forms.Control. Именно объект типа System.Windows.Forms.Control передается в конструктор Microsoft.DirectX.Direct3D.Device. Что будет если подключить ее к элементу со сложным поведением типа текстбокса или дропдауна я не знаю, не проверял )) Она полностью работоспособна в пределах формы или UserControl. Это позволяет с минимальными усилиями развернуть объектную модель, аналогичную объекной модели Windows.Forms в любой прямоугольной области окна твоего приложения, но отображаемую средствами Direct3D. Затем в пределах этой прямоугольной области, например всего окна приложения, или только одного элемента управления UserControl пользоваться такими привычными элементами управления как Button, Label, Panel с привычной моделью событий, или организовать отображение графики напрямую средствами DirectX.Direct3D. Это все в месте с одной стороны позволяет сохранить привычные методы построения интерфейса пользователя знакомые по WinForms и с другой стороны восспользоваться графическим акселератором видеоадаптера. Эта библиотека может быть полезна при построении приложений требующих эффективное отображение графики при сохранении возможности работы с оригинальным Windows.Forms. Это могут быть CAD, CAM приложения, приложения для бизнеса, требующие отображения сложных графических сцен, или даже игрушки.
В некотором смысле эта бибилиотека - конкурент WPF )))) Сделана она была еще в 2004м году. Но из за различных вопросов не технического характера опубликовал ее только сейчас.
ВНИМАНИЕ: С Managed DirectX надо быть относительно осторожным в том смысле, что его установка вещь не тривиальная, особенно на серверных платформах, на XP все проходит без запинки. Требуется видеокарта с поддержкой 3D акселератора совместимого с DirectX не ниже 9 и правильно установленные ее драйвера. Т.е. чем круче видеокарта тем лучше. Если что то идет не так то DirectX переходит в режим software emulation и его скорость работы а так же скорость работы библиотеки падает очень заметно. Но при желании трудности с установкой Managed DirectX можно побороть. Дело не в моей реализации а в Managed DirectX самом в себе. Часто его корректная установка требует от пользователей нетривиальной интуиции )) Для готового коробочного приложения будет нужен специальный инсталлятор.

ObjectiveDraw можно рассматривать как наиболее продвинутой сложности пример, демонстрирующий возможности СУБЗ Cerebrum как хранилища документов для CAD/CAM систем. Его скриншоты и скриншоты другого аналогичного проекта можно увидеть здесь http://www.shdsoftware.com/go/00000000002icitg9rsitlt4v7.html , к слову веб рессурс по этой ссылке так же исспользует СУБЗ Cerebrum в качестве БД, наиболее интересная часть исходников веб приложения (реализация этой идеи http://www.shdsoftware.com/go/00000000002isiikmenu1nnv14.html) доступна в папке Enterprise в SDK.

В качестве примера исспользования СУБЗ Cerebrum в приложении по тематике Искуственного Интеллекта очень интересна работа моего товарища и партнера по разработке обсуждаемой СУБЗ/БД
http://www.codeplex.com/Morphology
http://contest2005.gotdotnet.ru/Request/Tools/UtilitiesLib/523896.aspx
http://contest2005.gotdotnet.ru/Request/Apps/Other/525202.aspx


[Ответ][Цитата]
shuklin
Сообщений: 2053
На: Создание искусственного интеллекта на основе сетевой объектно-ориентированной базы знаний
Добавлено: 30 июн 08 21:48
PS. Опубликовал Cerebrum version 1.0.300.11, build 2008-06-30
[Ответ][Цитата]
гость
89.208.11.*
На: Создание искусственного интеллекта на основе сетевой объектно-ориентированной базы знаний
Добавлено: 30 июн 08 22:31
"Пусть это решают философы и методологи от БД"

мы то решили, а вот вы дураки, даже не в состоянии их понять...
[Ответ][Цитата]
shuklin
Сообщений: 2053
На: Создание искусственного интеллекта на основе сетевой объектно-ориентированной базы знаний
Добавлено: 04 июл 08 22:08
Цитата:
Автор: гость
мы то решили ...

Ну и что, вы-ничтожества, решили?
[Ответ][Цитата]
гость
89.208.11.*
На: Создание искусственного интеллекта на основе сетевой объектно-ориентированной базы знаний
Добавлено: 05 июл 08 8:56
*
[Ответ][Цитата]
гость
89.208.11.*
На: Создание искусственного интеллекта на основе сетевой объектно-ориентированной базы знаний
Добавлено: 05 июл 08 9:00
*
[Ответ][Цитата]
shuklin
Сообщений: 2053
На: Создание искусственного интеллекта на основе сетевой объектно-ориентированной базы знаний
Добавлено: 07 сен 08 22:07
Опубликовал Cerebrum version 1.0.300.12, build 2008-09-07

Основные изменения:

- Проведенна небольшая оптимизация кода и рефакторинг;

- Усовершенствованна поддержка многопоточности. Теперь ядро Cerebrum защищено Win32 CriticalSection. Все вызовы ядра из C# кода синхронизируются с ее исспользованием.

- Добавлен .NET 2.0 модуль Cerebrum.Runtime.Finalizer.dll , обеспечивающий выполнение модуля Enterprise\Cerebrum.Ganglion.Ensemble.dll под управлением механизма .NET Critical Execution Region ;

- Добавленна новая редакция ядра. Старая редакция ядра Stress осталась без изменений. Старая редакция ядра Retail переименованна в Robust, текущий Retail представляет собой редакцию Robust из которой удалены рантайм проверки корректности параметров внутренних функций, что незначительно увеличивает ее производительность.

ВНИМАНИЕ: Теперь все callback вызовы осуществляются ядром из синхронизированного кода, для предотвращения deadlocks избегать вызова метода System.GC.WaitForPendingFinalizers из кода, получившего управление через callback (в основном это метод IComponent.SetConnector)
[Ответ][Цитата]
tac
Сообщений: 2601
На: Создание искусственного интеллекта на основе сетевой объектно-ориентированной базы знаний
Добавлено: 26 сен 08 5:54
Цитата:
Автор: shuklin
Привет!
Этот топик любой оффтоп выдержит )) В связи с этим такой вопрос вызванный понятным беспокойством: помогли ли мои посты ( http://forum.membrana.ru/forum/articles.html?parent=1056600902#1056600902 ) на Мембране? Если нет, предлагаю продолжить здесь : http://www.gotai.net/forum/Default.aspx?postid=724#724


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

[Ответ][Цитата]
 Стр.2 (6)1  [2]  3  4  5  6<< < Пред. | След. > >>