![]() | |
#41
| ||||||||||||||
| ||||||||||||||
|
|
What other similar models are you refering to? graphs theory, semantic network, frames, neural networks, hierarchical semantic network, M-Network. Of course. Just need to create yet anoter .NET class. All right..What kind of operations are currently supported over neurons data type? Here is very important issue. I make this DB for neural networks but i don't include any sample neuron implementation into kernel. Neuron models can be implemented in separate DLLs and attached to DB. For example i describe one of neuron model which i am using. - adding link to another neuron - removing link to another neuron - scan all input neurones and compute neuron state. - put current state to output linked neurones all them are just a methods, implemented in class. when some neuron receives thread (message) it can invoke some methods from related neurons. I have a brief articles on russian about neural network models which i am using. briefly them equivalent to finite state grammar and can be used to parse natural language (russian). I believe this is a description of the computational operations your system can perform on a specific implementation. |
|
and there no specific neuron data type. there exists a set of interfaces. some interfaces are mandatory for each neuron, some not. there are many neuron types in one network. but all can communicate with each other via interfaces. If you don't define a data type neuron what are the characteristics of a *neuron*? |
|
Here links to my old english articles. But they are not about this DB. http://www.shuklin.com/ai/ht/en/ai04001f.aspx http://www.shuklin.com/ai/ht/en/ai00002f.pdf http://www.shuklin.com/ai/ht/en/ai00007f.pdf http://www.shuklin.com/ai/ht/en/ai00009f.pdf By operations I mean operators that can be applied to data of neuron data type... they completly defined by developer as class methods You should note that RM allows to associate in a one-shot declarative manner all operators and constraints over values that can be applied to a specific ensemble of value. Based on your description (interfaces), it seem that all equivalent need to be specified programmatically at run time in a recurring manner. I doubt this constitutes a progress... |
|
Can you for instance apply equal operator to state that 2 neurons are equal? 1.yes, How? |
|
2. models which i am using don't need this feature So you are stating that the sample data you are using for testing determine how sound is an abstract model? |
|
Can you find all neurons that fit a particular description, 2 particular description... 1.yes, O(N) in current version 2. models which i am using don't need this feature Keep in mind that RM abstract level allows to dissociate this kind of issue from particular context...Once you declare a data type neurons and define all its attributes you can image all search combination of attribute conditions. |
|
How do you find for instance ALL neurons that have a specific wavelength but not a particular configuration (assuming wavelength and configuration being properties applyable of neuron)? You should scan collection of neurunes and invoke some methods from neurones. Then decide what you want to do with each instance. What if you have 2 users doing the same thing over 3 trillions neurons, who has priority? how is parallelism handled? throughput? |
|
Are the IO accesses liner, bidimensional, direct image? How about RAM? |
|
How do you support read consistency... It is single user OODB. Let say that this question is open Then it is a single application developped on a single post not a real server yet. A DBMS important ability is to behave like a server for requests... |
|
For instance what happens when you begin a insert transaction with committing over a table then run a select over the same table...What kind of version of the table does you select return? there are no tables as they are in RDB. and no inserts. and no selects. as conceptions equivalent to RDB. No inserts? no update? How do you keep track of your data? How do you update it? |
|
there are collections - collections are instances of objects too you can create instance. find instance. destroy instance. you can add existing instance into collection. one instance can be added to different collections. if you start transaction, and add some instance to some collection then collection is marked as changed by this transaction. you will receive new version of collection instance. collections stores only pointers. How about another user coming in? what version of data will he/she get? |
|
no data. objects stores only methods. no data. attributes some times No data? I will use information instead... |
|
Are you saying the system is meant to work only once? Where do you store past information? How do you retrieve that past information? |
|
This kind of segregation is done at compile time which saves resources... In current version i support only runtime constraints. no declarative style. only imperative. In future - will see in future. It seems to me you still have a long way to go before saying relational is dead? I will buy you a copy when done... |
#42
| |||||||
| |||||||
|
|
Hi Cimode What other similar models are you refering to? graphs theory, semantic network, frames, neural networks, hierarchical semantic network, M-Network. Of course. Just need to create yet anoter .NET class. All right..What kind of operations are currently supported over neurons data type? Here is very important issue. I make this DB for neural networks but i don't include any sample neuron implementation into kernel. Neuron models can be implemented in separate DLLs and attached to DB. For example i describe one of neuron model which i am using. - adding link to another neuron - removing link to another neuron - scan all input neurones and compute neuron state. - put current state to output linked neurones all them are just a methods, implemented in class. when some neuron receives thread (message) it can invoke some methods from related neurons. I have a brief articles on russian about neural network models which i am using. briefly them equivalent to finite state grammar and can be used to parse natural language (russian). I believe this is a description of the computational operations your system can perform on a specific implementation. yes and there no specific neuron data type. there exists a set of interfaces. some interfaces are mandatory for each neuron, some not. there are many neuron types in one network. but all can communicate with each other via interfaces. If you don't define a data type neuron what are the characteristics of a *neuron*? Characteristics defined in interfaces. Of course some classes implementing these interfaces must exists in some DLL. And this DLL must be configured and attached to OODB. How are they attached? What principle regulates system stability? |
|
Here links to my old english articles. But they are not about this DB. http://www.shuklin.com/ai/ht/en/ai04001f.aspx http://www.shuklin.com/ai/ht/en/ai00002f.pdf http://www.shuklin.com/ai/ht/en/ai00007f.pdf http://www.shuklin.com/ai/ht/en/ai00009f.pdf By operations I mean operators that can be applied to data of neuron data type... they completly defined by developer as class methods You should note that RM allows to associate in a one-shot declarative manner all operators and constraints over values that can be applied to a specific ensemble of value. Based on your description (interfaces), it seem that all equivalent need to be specified programmatically at run time in a recurring manner. I doubt this constitutes a progress... Hm, all declarative RM constraints in any cases must be implemented in imperative language by some RDBMS. So from implementation point of view it is the same. I don't say that declarativity is bad. I am saying that declarative programming is not suppurted in current version. Unfortunatelly is not supported. But it can be supported in a future. Yes. But it is declared once and it is stored as metadata in a |
|
Can you for instance apply equal operator to state that 2 neurons are equal? 1.yes, How? they must override and implement System.Object.Equals() then you can compare two instances. OK. Keep in mind that RM allows to do that through computation of |
|
2. models which i am using don't need this feature So you are stating that the sample data you are using for testing determine how sound is an abstract model? Sorry, I don't understand this question. What I mean is that you seem to use predetermined sample test data to |
|
Can you find all neurons that fit a particular description, 2 particular description... 1.yes, O(N) in current version 2. models which i am using don't need this feature Keep in mind that RM abstract level allows to dissociate this kind of issue from particular context...Once you declare a data type neurons and define all its attributes you can image all search combination of attribute conditions. Hm. I don't know all attributes even at runtime. Attributes can be added and removed from each instance of neuron absolutelly independent from all another network. Each neuron is unique. So in my models i don't needed RM as conception at all. But i understand that it is very useful conception. So I tryed to support many of its possibilities. We should not merge neural model with OODB conceptions. Neural model use some features of OODB and implement some features which not implemented in OODB kernel. It is different things neural network and OODB. Neural network is implemented as application that uses OODB and stores neurons as OODB objects. How do you find for instance ALL neurons that have a specific wavelength but not a particular configuration (assuming wavelength and configuration being properties applyable of neuron)? You should scan collection of neurunes and invoke some methods from neurones. Then decide what you want to do with each instance. What if you have 2 users doing the same thing over 3 trillions neurons, who has priority? how is parallelism handled? throughput? I have already sayed this. Current version is strongly single user. Are the IO accesses liner, bidimensional, direct image? How about RAM? Interesting question. OODB restricts the amount of memory used by the graph of objects or the neural network with larger quantities of class instances. The most frequently used objects are left in the RAM, the others are moved to the physical storage area and are loaded into the RAM upon demand. It unloads the rarely used objects when other objects are loaded to the RAM. The memory amount restriction allows not using the paging file so that it significantly increases the modeling performance of networks with larger quantities of class instances. How do you support read consistency... It is single user OODB. Let say that this question is open Then it is a single application developped on a single post not a real server yet. A DBMS important ability is to behave like a server for requests... Current version is experimental single user desktop database engine. For instance what happens when you begin a insert transaction with committing over a table then run a select over the same table...What kind of version of the table does you select return? there are no tables as they are in RDB. and no inserts. and no selects. as conceptions equivalent to RDB. No inserts? no update? How do you keep track of your data? How do you update it? There are objects. No data. Objects has methods. Methods can change objects attributes. Instead of insert you should create NEW object instance. Then you can add this instance into number of collections. Instead of update you should invoke some method from some objects. All this can be done on C# or VB.NET Meaning that you need to load all objects in RAM if you want to count |
|
there are collections - collections are instances of objects too you can create instance. find instance. destroy instance. you can add existing instance into collection. one instance can be added to different collections. if you start transaction, and add some instance to some collection then collection is marked as changed by this transaction. you will receive new version of collection instance. collections stores only pointers. How about another user coming in? what version of data will he/she get? It is a single user desktop DB. In a far future I have plans to implement isolation. no data. objects stores only methods. no data. attributes some times No data? I will use information instead... Ok. "no data" it is very bad definition. I want to say, that in common scenario, when you write class on VB.NET this class has a non static fields which contains data. If I understand right, all class contains data and behavior? |
|
In my OODB these fields are not serialized into DB storage. You should use OODB API to store object attributes into DB. This is like ASP.NET ViewState. Are you saying the system is meant to work only once? Where do you store past information? How do you retrieve that past information? I support undo / redo persistent transactions . System track all object changes beetwen transactions. You can unso transaction, get past information and then redo to get a current version of object. If you needed you can shutdown DB and then restart. All history still remains and undo / redo will still work ok. When you commit or rollback transaction history is cleared and then undo / redo can't switch object versions. This kind of segregation is done at compile time which saves resources... In current version i support only runtime constraints. no declarative style. only imperative. In future - will see in future. It seems to me you still have a long way to go before saying relational is dead? I will buy you a copy when done... If you interested you can download sources of current version. Unfortunatelly english documentation is absent there. WBR, Dmitry |
#43
| |||
| |||
|
|
Hi Cimode But transaction isolation is an imperative requirement to set up a DBMS. Are you saying that you have not succeeded (yet?) into setting it up? I have sayed already that it is experimental OODB. It has many of limitations. I describe some in other posts. Yes, single user mode and single thread kernel is restrictions of current version too. I don't say that this DB is completed and ready to fight with Oracle and MS )) But I am saying that this DB demonstrate teoretical _possibility_ to Network OODBs be more powerful then current RDBMS. Don't bother with Oracle and SQL Server. I am not worried about |
#44
| |||||||||||
| |||||||||||
|
|
How are they attached? Via configuration DB. It is like a RDB, it contains tables, rows, ... |
|
What principle regulates system stability? |
|
Don't this approach increase resource consumption at linkage editing time. (compile/link/run?) |
|
Yes. But it is declared once and it is stored as metadata in a consistent framework of definitions. Metadata must be processed at runtime in any case. So it is question of |
|
This the soul of what constitutes a data definition language. |
|
Keep in mind that RM allows to do that through computation of adresses (through intersect operator) without involving the data itself, then it just reads the data that is a product of the computation. |
|
What about other arbitrary operators that can apply to neurons? How do you apply them? |
|
What I mean is that you seem to use predetermined sample test data to build your application. RM allows to handle randomly defined data. That what makes an abstract model as opposed to a specific implementation. |
|
There are objects. No data. Objects has methods. Methods can change objects attributes. Instead of insert you should create NEW object instance. Then you can add this instance into number of collections. Instead of update you should invoke some method from some objects. All this can be done on C# or VB.NET Meaning that you need to load all objects in RAM if you want to count them? What if you have 3 trillion of them? and just 1Gb RAM? |
|
If I understand right, all class contains data and behavior? |
|
Right...Keep in mind that RM implements unique physical data storage. Data is stored once and only once. Your approach imposes redundancy of data in each class. For instance, if the value 3 is stored in several classes, then it would be stored only once in an RM system. |
#45
| |||
| |||
|
|
OTOH, the logical and abstract limitations you have explained tend to prove that your experimental attempt can not constitute a logical abstract model as RM is. |
#46
| |||
| |||
|
|
Hi Cimode OTOH, the logical and abstract limitations you have explained tend to prove that your experimental attempt can not constitute a logical abstract model as RM is. I am never discussed here logical or abstract limitations of my data model on which i am based my OODB. I am only discussed current version limitations (by design limitations) which is available for download today. Therefore, you state that you are at implementation level solely. |
#47
| |||
| |||
|
|
Keep in mind that RM is not implementation level but abstract logical application of mathematics. |
|
If you state that RM is dead because you built some implementation, you assume they are of similar nature (which obviously they are not). |
#48
| ||||||||||||
| ||||||||||||
|
|
Hi Cimode How are they attached? Via configuration DB. It is like a RDB, it contains tables, rows, ... but it is not RDB. It is RDB emulation on OODB. So tables, rows and columns has different behavior. For example row can be contained in many tables at one time. So if you change row field via one table it automatically changed in all tables which contains this row. You lost me. On one side, you told me there's no concept of table but |
|
What principle regulates system stability? transactions. transactions is a package for encapsulating set of operations not |
|
Don't this approach increase resource consumption at linkage editing time. (compile/link/run?) may be, may be not. it is relative to point of view. i afraid about run time more then about devtime. Maybe/maybe not? Does not this question require more particular |
|
Yes. But it is declared once and it is stored as metadata in a consistent framework of definitions. Metadata must be processed at runtime in any case. So it is question of I have explained to you that metadata in RM would be treated at compile |
|
optimizations. My runtime constraints can be faster then RM metadata or not - i don't worry now about this question because have more interesting problems and restrictions. run time is not the same thing as execution time. I could somehow |
|
This the soul of what constitutes a data definition language. DDL is GREAT invention. I have plans to make declarative subsystem for my OODB but i can't implement all features in one day. I understand. |
|
Keep in mind that RM allows to do that through computation of adresses (through intersect operator) without involving the data itself, then it just reads the data that is a product of the computation. Are you sure that RM allows, not an some concrete RDBMS implementation? Yes that's how RM deals with this issue. There are unfortunately no |
|
I have implemented some optimization techniques too. This mean nothing. Somebody can optimize OODB or RDB more then I. |
|
What about other arbitrary operators that can apply to neurons? How do you apply them? I have a couple of neuron and neuron network models implemented. All different. OODB allows to me implement any neuron model inside class methods. May be more interesting topic is a structure of data model which stores attributes of persistent classes. What I mean is that you seem to use predetermined sample test data to build your application. RM allows to handle randomly defined data. That what makes an abstract model as opposed to a specific implementation. My DB also allows use many abstract models. For example, i implemented simple RDB like database to store configuration metadata. I believe you implemented a SQL Table like DB. |
|
There are objects. No data. Objects has methods. Methods can change objects attributes. Instead of insert you should create NEW object instance. Then you can add this instance into number of collections. Instead of update you should invoke some method from some objects. All this can be done on C# or VB.NET Meaning that you need to load all objects in RAM if you want to count them? What if you have 3 trillion of them? and just 1Gb RAM? No it is not needed load all network into RAM. You just need to load one instance which holds count attribute. that is all. So you store the count value? . |
|
If I understand right, all class contains data and behavior? Yes. All classes is a .NET classes. But none of classes fields are serialized into stroage automatically. Developer should use CerebrumAPI to store data into network storage. It is limitation because i don't want invent new language. I want to be compatible with .NET Framework Right...Keep in mind that RM implements unique physical data storage. Data is stored once and only once. Your approach imposes redundancy of data in each class. For instance, if the value 3 is stored in several classes, then it would be stored only once in an RM system. Hm, are you sure that RDBMS doing so? Hm are you sure that this theoretical construct is applicable to real world computer systems? May be i don't understand you. Again there's no such thing as an RDBMS already implemented. The |
|
If i for example have 4 instances which have different name attributes and all attibutes equals to 'name' and then i change attribute from first cllass to 'name1' then all 4 classes must change name? of course no. (note: you can implement such functionality in OODB if you need it) May be the first instance should change pointer from interned string 'name' into interned string 'name1'. it is ok for me, but what if i need the first scenario too? WBR, Dmitry |
#49
| |||
| |||
|
|
Hi Cimode Keep in mind that RM is not implementation level but abstract logical application of mathematics. I know this )) If you state that RM is dead because you built some implementation, you assume they are of similar nature (which obviously they are not). No, I state that RDBMS will be dead in future and replaced by more powerful implementation based on network data model. So yo are stating that somthing no existing yet is already dead. |
|
WBR, Dmitry Shuklin, Ph.D |
#50
| |||
| |||
|
|
Hi, Give just ONE example. I sincerely doubt there is anything you can do in a network model DB that cannot be done at least as well in a Relational model DB. Trees )) I think You understand what I mean. Of course on the same abstraction level as the relational model works. You can emulate trees on RMD. But it will cause more abstraction levels to appear. |
|
In fact i am interested in emulation of artificial neural network. Making ANN with SQL - ha ha ha. |
|
Sorry, but all I see on that page is a couple claims, no supporting data. I will not download some unknown executable. Make a case without having us run your program for you. Sorry, i don't have any artiles on English describing my OODB research yet ((( And even when you download zip you can find there only C# sources. no documentation ((( I know, i know ((( What differ my DB from the rest? : - one object can have a many ObjectIDs - one ObjectID can address many different object instances - multilevel undo/redo transactions are supported What restrictions current version has? - only single user mode. - only single thread. WBR, Dmitry |
![]() |
| Thread Tools | |
| Display Modes | |
| |