I need to compute the similarity beteen two vectors, based on following considerations:

Example vectors: v1=\{<a,2>, <b,1>, ...\} and v2=\{<a,3>,<c,2>,...\}

1. The two vectors are inter-connected. Each element in v1 has connections to those in v2, e.g. b and c are connected with a weight w_{bc}. This weight varies between [0,1]. For overlapping elements like a, this weight is 1; weights for different elements are ususally less than 1, eg. w_{bc}. The more connections there are, and the stronger the connections are, the more similar the two vectors should be.

2. Count the frequency of each element. Kind of like what Cosine similarity measure does. But cosine measure can't work with the inter-connections.

3. Normalization, the same as in cosine similarity, the final scores should be normalized to [0,1]

Is there existing models for this kind of problem? What about in the graph theories or set theories? My knowledge is really limited in these areas, so would appreciate if someone can point me to the right directions to learn more. Many thanks.