Node Geometric Order and Synchronization Questions

Have specific questions about how to work with certain MemBrain features? Not sure about which checkbox in MemBrain has which effects? Want to know if a certain functionality is available in MemBrain or not?

Your questions will be appreciated here!
Post Reply
MrCreosote
Posts: 55
Joined: Wed 21. Jul 2010, 18:43

Node Geometric Order and Synchronization Questions

Post by MrCreosote » Wed 13. Oct 2010, 23:04

First, let me apologize for the length of this posting, but I am fairly unsure what settings I should use in this area. I've come up with a bunch of simple questions which should clarify things for me although they may be painfully tedious for you. With that said and again more apologies, let me begin:
___________________________________

First let me attempt to define Geometric Order and Synchronization:
  • Geometric Order (GO): This is the ordering of nodes based on their geometric location in the main window. Node GO is defined by the order in which nodes are encountered when the edit window grid is scanned in the way a paragraph is read: read the first row left to right, then the 2nd row left to right, etc. The order in which you encounter nodes is their GO. The uppermost and then leftmost node is always node # 1 in then list and the lowermost and then rightmost is the last node. If node B is just right of node A, then B follows A in the list.
  • Synchronization: Lesson data columns are associated with the correct node. This is important when the Node GO does not match the CO (Column Order) in the Lesson
_______________________________

And now some questions but first a Ccomment:

COMMENT: I see 2 separate operations that pertain to this topic which are addressed in the documentation as a single, more complex operation. The 2 separate and actually independent operations I see are:
  • Which Names are used if the GO and CO are the same? (Node or Lesson), and
  • Matching each Lesson Column with the correct Node if GO and CO are NOT the same.
QUESTION: Is the GO established when the nodes are first created and once established, GO remains unaffected no matter how the nodes are then graphically rearranged in the edit window? (I have a network where I completely rearrange the location of the hidden layers and the output node so that if you computed a new GO, the hiddens and ouput would be interspersed amongst the inputs. In this case, what would be my GO?)

QUESTION: Interpretation of the Lesson Editor Input/Output Names and Pattern Data: Is it true that the Names represent the Nodal Names and NOT the Data Column Names? (NOTE: This almost has to be true to show that the correct data was matched with the correct node. Of course, it takes some effort to verify that the correct synchronization was achieved. SUGGESTION: A second row of Data Column Names would make this verification easy.)

QUESTION: Synchronize Lesson with Net > Names from Net: What does "When you click on the button <Names from Net> then the lesson will be automatically formatted according to the currently loaded net in MemBrain's main window." Does this mean:
  • Fill the Lesson In/Out Names with the Node Names in GO
  • then rearrange the Lesson Columns so that the Lesson Column Names match the Node Names?
QUESTION: Synchronize Lesson with Net > Names to Net: This method is discussed in a completely different way. Does this mean:
  • Given nodes in GO and given a Lesson,
  • change the node names to match the Lesson names.
  • if the GO and CO did not match and one needed reordering for synchronization, this method would NOT provide the correct action.
QUESTION: I am concerned that this synchronization only applies to name assignment and if the CO order does not match the node GO, there is no remedy.
____________________________

COMMENT: I believe the synchronization of Lesson with Node when GO does match CO (lesson Column Order) must be a feature and therefore must exist. If it is, it is a relatively simple operation. This connotes a simple explanation where a long and detailed solution actually makes understanding more difficult. I have found explanation by example is the clearest. There are actually only 4 possible synchronizations:
  • GO and CO are matched, but use Node Names,
  • GO and CO are matched, but use Lesson Names,
  • GO and CO are NOT matched, use Names to rearrange CO to match GO, Use GO name sort,
  • GO and CO are NOT matched, use Names to rearrange GO to match CO, Use CO name sort.
These are 4 very simple to understand conditions. However, I am pretty confused at this point.

What I have found is that a critical problem with all platforms is verifying that you used the correct input data and program settings. Sometimes, mistakes here lead to new and great discoveries(!) Discovery by Chance is always welcome. (Of course, then there are the times when you realize you used the wrong control setting for the past 2 months.)

Thanks so much,
Tom

User avatar
Admin
Site Admin
Posts: 438
Joined: Sun 16. Nov 2008, 18:21

Re: Node Geometric Order and Synchronization Questions

Post by Admin » Thu 14. Oct 2010, 12:29

Just a short reply on this, time is limited at the moment. Still, I think a few clarifications will resolve your issues:

- Nodes (Neurons) always have only GO (your definition is just fine)
- Lessons in the Lesson Editor only have CO
- Inputs and outputs have separate GO and CO, i.e. they are handled separately throughout, there is no danger of overlap between them

Now, the most important statement is:
MemBrain assigns lesson colums to neurons ONLY by NAME. I.e. if a lesson contains all names in its in/out columns as there are neurons in the net then everything is just fine. The order doesn't matter in this case, i.e. GO and CO are allowed to be fully different, it's just the names that matter!

GO and CO only come into play when 'Names From Net' or 'Names To Net' are executed. 'Names From Net' uses GO to determine all names and their order in the lesson editor. It does NOT re-order columns in terms of moving data within the columns. It only acts on the column NAMES. I.e., it is not intended to sync an existing lesson with the net, Rather than that its typcal use is to create an empty template lesson that is in sync with the net.
'Names To Net' does it the other way round. Its typical use is that you have already a lesson (potentially with data) in place and want to get the names of the net in sync.

Regards,
Thomas
Thomas Jetter

MrCreosote
Posts: 55
Joined: Wed 21. Jul 2010, 18:43

Re: Node Geometric Order and Synchronization Questions

Post by MrCreosote » Thu 14. Oct 2010, 16:13

Thanks so much for the quick reply.

I'm EDITING the following RED out and replacing with the following BLUE:

I think I may have it but 2 more quick questions (one rephrased):

QUESTION: If I move nodes around graphically, do I change their GO?

QUESTION: If I have the proper Names defined for my nodes and lesson columns is the following true?

  • GO and CO are of no concern even if they are not the same, and
  • I don't need to use Names from Net OR Names to Net.


Let me see if I have this right. I have 2 situations that I will want to handle:
  • GO and CO are the same but I want to apply the Lesson Names which are code generated to the Nodes. In this case I use the Names to Net and that is all.
  • Both the Node and Lesson use the same Names however the GO and CO are not the same. In this case, no Name operations are necessary and since the Names associate the correct Lesson Data Columns to the appropriate Nodes, there is NOTHING TO DO in the Synchronization section of the Lesson Editor.


And a CLARIFICATION: Does rearranging the Node locations change their GO? (Answer is NO?)


Thanks
Tom



Thanks so much,
Tom

User avatar
Admin
Site Admin
Posts: 438
Joined: Sun 16. Nov 2008, 18:21

Re: Node Geometric Order and Synchronization Questions

Post by Admin » Sun 17. Oct 2010, 19:37

MrCreosote wrote:Let me see if I have this right. I have 2 situations that I will want to handle:


GO and CO are the same but I want to apply the Lesson Names which are code generated to the Nodes. In this case I use the Names to Net and that is all.
Both the Node and Lesson use the same Names however the GO and CO are not the same. In this case, no Name operations are necessary and since the Names associate the correct Lesson Data Columns to the appropriate Nodes, there is NOTHING TO DO in the Synchronization section of the Lesson Editor.
Yes, you got it exactly right. Even more MemBrain will complain if the names are not in sync and when you try to perform an operation that requires name sync. I.e. MemBrain can ONLY operate if the names of net and lesson are the same (regardless of CO or GO). When MemBrain does not complain then sync is fine which means for every column there is a name matching neuron. MemBrain will not go ahead and change column or neuron names on its own initiative.
MrCreosote wrote:And a CLARIFICATION: Does rearranging the Node locations change their GO? (Answer is NO?)
Answer is YES. However, MemBrain calculates the GO only when needed which is for manually triggered name sync operations like Names To Net or Names From Net. If names are in sync then GO and CO do not matter. If they are not in sync MemBrain will complain.

Regards
Thomas Jetter

Post Reply