Technical Appendix

Main Menu           Previous Topic                                                           Next Topic

How the Carley Model Was Simulated

In order to model the selection of similar agents, the simulator was set to connect agents by the similarity strategy, with selection set to probabilistic. In this configuration, agents assign a quality to each possible target agent, proportional to that target's similarity. Then a target is randomly selected with probability of selection proportional to that agent's quality. The selection order was set to serial, so that agents are selected to choose an available partner in random order.

Unlike the original Carley model, our simulation does not allow for an agent to choose himself as a partner. Carley originally used this as a means of simulating an agent being "busy." However, we did not implement this feature, since we believe that we have already imposed a "rationality bound" on agents by allowing them to only connect to one partner at a time. This is achieved by setting channel count to 1.

Agents in the Carley model do not gain or loose knowledge except by sharing. Accordingly, agent state in our model is an array of 1/0 values. 1 signifies that the agent knows the fact that corresponds to the particular component of state, and 0 - that he does not. During each time step, the agent's sharing function picks a random fact the agent knows, and sends the index of the corresponding state component to the partner. Then, during the production step, each agent's production function sets that component's value to 1, signifying that the agent has learned the fact from his partner. Note that we have imposed the constraint that each agent only shares one fact with his partner during a time step.

Since agent state is an array of numbers that represents that agent's knowledge of facts, we often also call it a "knowledge vector" throughout this tutorial.

In another break from the original model, we abandon the original similarity measure used, which was the dot product of the agent knowledge vectors. Instead, we choose to use the dot product divided by the magnitudes of the vectors, which is independent of the vector size.

Suppose an agent must compare two potential partners. The first knows exactly the same set of facts as the agent, but the second knows these facts as well as several other facts. Under the dot product measure, both potential partners are equally similar. However, using our measure, the identical agent has a similarity of exactly 1, while the more knowledgable agent has a lower similarity.

Despite these differences between the models, many of the observations that Carley published are still readily reproducible. This speaks well of their durability.

                   Previous Slide                                                           Next Slide