From: Mok-Kong Shen on
In the comment to my code I wrote:

> // card[*] are the cardinalities of (dimcard) sets of different objects.
> // perm[*] represent a permutation of all (dimperm) objects, with
> // designations of different kinds of objects being given by numerical
> // values in [0, dimcard-1].

For our example with 2 oranges, 1 apple, 1 banana, with the three
kinds of objects designated by 0=Orange, 1=Apple, 2=Banana, one has
card[dimcard]={2,1,1}. For the permutation index 0, one has the
permutation 0012 and the correponding physical ordering is OOAB.
Changing the kind designation to 0=Orange, 1=Banana, 2=Apple, doesn't
change card[*] and hence the index 0 continues to refer to the
permutation 0012, but now the physical ordering is OOBA. Note, on the
other hand, that card[*] is itself a permutation with repeated elements
and thus can take on different values. In our example we obtain the
following permutations of objects (in their numerical kind
designations) for different contents of the array card:

card = {2,1,1} card = {1,2,1} card = {1,1,2}
0 0 1 2 0 1 1 2 0 1 2 2
0 0 2 1 0 1 2 1 0 2 1 2
0 1 0 2 0 2 1 1 0 2 2 1
0 1 2 0 1 0 1 2 1 0 2 2
0 2 0 1 1 0 2 1 1 2 0 2
0 2 1 0 1 1 0 2 1 2 2 0
1 0 0 2 1 1 2 0 2 0 1 2
1 0 2 0 1 2 0 1 2 0 2 1
1 2 0 0 1 2 1 0 2 1 0 2
2 0 0 1 2 0 1 1 2 1 2 0
2 0 1 0 2 1 0 1 2 2 0 1
2 1 0 0 2 1 1 0 2 2 1 0

One assigns in the three cases above the two oranges to the first,
second and third set respectively. It can be seen, for instance, that
for one and the same permutation index 0 (i.e. the first row), the
two oranges occupy the first, the middle and the last positions
respectively, dependent on the choice of the content of the array card.

The above means in the context of our application example that, without
having exact information of the correspondence between the numerical
designation and the physical designation of the kinds of objects, a
third person can hardly determine from the physical ordering of the
objects in a picture (even in case he correctly guesses which kinds of
objects are involved) the permutation index in question, which is the
hidden information being transmitted.

M. K. Shen
From: Mok-Kong Shen on
Mok-Kong Shen wrote:

> There exists a correspondence between the structure of trees and
> natural numbers. Hence some (low rate) stego bits could be
> transmitted through drawing a tree having the corresponding number.
> For in the theory of graphs it is well-known that every tree, whose
> n nodes are labeled, has a unique Pr�fer number and, given a arbitrary
> numerical value as the (base n) Pr�fer number, the corresponding
> labeled tree can be algorithmically determined. Now, what one needs
> in our context is not a labeled tree but an unlabled one. However,
> from the elementary property of labelling it is evident from the
> existence of Pr�fer numbering that a bijective mapping between a
> (naturally drawn) unlabeled tree and an (arbitrary) integer exists.
> I am currently considering how an efficient C-code for this mapping
> could be written.

I regret to say that I have discontinued my attempt to implement an
appropriate way of sequentially indexing unlabeled trees, for the task
turns out to be too hard at least for me.

I like to take this opportunity to mention the certainly trivial that,
if somehow a coordinate system can be established in a drawing, then
e.g. a line can convey certain informations (coordinates of its end
points or its slope). The method I described before of using the
ordering of some objects to convey informations is however in so far
more advantageous, as it is independent of coordinate systems.

Thanks,

M. K. Shen