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

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

1. The two vectors are inter-connected. Each element in $\displaystyle v1$ has connections to those in $\displaystyle v2$, e.g. $\displaystyle b$ and $\displaystyle c$ are connected with a weight $\displaystyle w_{bc}$. This weight varies between [0,1]. For overlapping elements like $\displaystyle a$, this weight is 1; weights for different elements are ususally less than 1, eg. $\displaystyle 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.