```*****  To join INSNA, visit http://www.insna.org  *****

Dear All,

I am trying to construct (by simulation) a network with a given
percentage of two way ties (the rest one way). Each social actor has a
limit on the number of ties they can support. (Call this "capacity".)
The programme works by doing all the two way ties first and then
"filling up" any unused capacity with one way ties.

Naively one might think that unless the required percentage of two way
ties was "high" (for example 100% two way ties would be impossible with
an odd total amount of tie "capacity" I think) this ought to work. If
everyone has a capacity of 10 ties (to keep it simple) and the chance
for any given tie to be two way is 50%, there ought to be "plenty of
capacity" for the required number of two way ties. For every social
actor who, through random effects, needs to get 8 two way ties, there is
another who only needs to get 2.

However (and I haven't totally ruled out a bug yet), my simulation code
manages this allocation of two way ties sometimes and other times not. I
have been giving my intuition a work out by running through it on paper
and I _think_ the issue is that, although there should be "enough" tie
capacity in the system, there is an additional implicit constraint
imposed by the fact that you can't be your own friend and you can't be
someone else's friend multiple times. This may be a problem depending on
how (by random effects) particular egos seek ties with particular
alters. In a nutshell not all ties that are potentially "available" are
actually acceptable.

For example, it may be that a single social actor ends up with a
remaining tie capacity of 2 but nothing that can be done with two ties
on the same actor that is two way. Or it may happen that a pair of
social actors each want two two way ties and have the right capacity (4)
but that this is no good because the most two way ties they can manage
between them is 1. (On the other hand three actors with capacities of 1,
1 and 2 would be fine.)

My question is, is there a way to modify the algorithm (without
distorting things like the probability of two way ties) so that it
doesn't fail sometimes. Can I make sure the tie capacity is in some
sense "compatible" with the level of two way ties I want or modify the
purely random picking of alters in a not too complicated way so the
algorithm doesn't "paint itself into a corner?"

Or can someone tell me for sure that this can't be done reliably with an
algorithm and my only solution is some sort of relaxation approach.
(Make up a network and add and delete ties until the capacity and
mutuality constraints are satisfied or build the network without regard
to capacity and then "prune it" to the capacity constraint in a way that
retains the mutuality.)

Any suggestions appreciated ...

Edmund

--
Edmund Chattoe-Brown (Department of Sociology, University of
Leicester, UK)