Profile Matching in Electronic Social Networks Using a Matching Measure for Fuzzy Numerical Attributes and Fields of Interests

The problem of profile matching in electronic social networks asks to find those offering profiles of actors in the network fitting best to a given search profile. In this article this problem is mathematically formulated as an optimization problem. For this purpose the underlying search space and the objective function are defined precisely. In particular, data structures of search and offering profiles are proposed, as well as a function measuring the matching of the attributes of a search profile with the corresponding attributes of an offering profile. This objective function, given in Equation (29), is composed of the partial matching degrees for numerical attributes, discrete non-numerical attributes, and fields of interests, respectively. For the matching degree of numerical profile attributes a fuzzy value approach is presented, see Equation (22), whereas for the matching degree of fields of interest a new measure function is introduced in Equation (26). The resulting algorithm is illustrated by a concrete example. It not only is applicable to electronic social networks but also could be adapted for resource discovery in grid computation or in matchmaking energy demand and supply in electrical power systems and smart grids, especially to efficiently integrate renewable energy resources.


Introduction
Social activities in electronic networks play an increasingly important role in our every-day lives.We are exchanging important information via electronic mails, wikis, web-based forums, or blogs, and meet new friends or business contacts in Internet communities and via social network services.Parallel to this growing socialization of the World Wide Web, the requirements on the electronic services become more ambitious.Huge data quantities have to be processed, user-friendly interfaces are to be designed, and more and more sophisticated computations must be implemented to offer complex solutions.
One of the most important subjects in complex networks is the search for specific items or objects in it.For instance this comprises the search for web sites which are relevant with respect to a specific term, or the request for specific resources as consumers do for electricity in smart grids.Therefore there is, and has always been, a great interest in enabling and maintaining efficient special network services which perform precisely these tasks.
This paper studies a special aspect of general electronic networks, but in particular of social network services, the profile matching problem.In essence it asks, given a search profile, for offering profiles matching it best.This problem is in principle well-known in Grid computing, where computational tasks are seeking for appropriate resources such as CPU time and memory space on different computers.In electronic social networks, however, the problem is more general because not only specified attribute ranges such as resource sizes are to be compared but more or less vaguely describable interests.Questions of this kind have recently been under consideration, for instance to implement multiple interest matching in personel business networks [1], to study automated user interest matching in online classified offering systems [2], or to apply semantic fuzzy search techniques to web service matchmaking [3].
Here, however, a different approach is presented, leaving the important but difficult problem of semantic search aside and enabling an automated matching of general types of attributes.The aim of this paper is to formulate a mathematical model for the problem of matching attribute ranges and fields of interests in electronic social networks.It tackles the following fundamental questions.How can an appropriate system and its data structures be designed?How is the mathematical formulation of a matching problem as an optimization problem?
In particular, what is its search space?What is its objective function?It is obvious to use a fuzzy function to calculate the matching degree of two numerical ranges or to use the characteristic function to check for the equality of discrete attribute sets, but how could a function calculating a matching degree of two fields of interest look like?One of the central results of this paper is the proposal of a precise definition of such a function computing the matching degree of a pair of profiles and the presentation of a concrete example.The applicability of the profile matching model is not confined to electronic social networks but can also operate to enable and control electricity resource allocation in electrical power systems or in smart grids.By this approach technological challenges of energy transition programs such as the Energiewende to integrate renewable energy into electrical power systems can be tackled.
The paper is organized as follows.After a definition of electronic social networks is given in the next section, a mathematical model of the matching problem as an optimization problem is proposed, especially the data structure of search and offering profiles, the search space, and the matching degree as the objective function.A short discussion concludes the paper.

Electronic Social Networks
A social network consists of a finite set of actors and the direct relations defined between them.An actor here may be an individual, a group, or an organization, and the direct relation between two actors may indicate that they directly interact with each other, have immediate contact, or are connected through social familiarities such as casual acquaintance, friendship, or familial bonds [4]- [6], see also ([7], ğ3.6).Thus a social network is naturally represented by a graph in which each node represents an actor and each edge a direct relation.Empirically, the mean number of direct relationships of an individual in a biological social network depends on the size of the neocortex of its individuals; the maximum size of such relationships in human social networks tends to be around 150 people ("Dunbar's number") and the average size around 125 people [8].
Since the popularization of the World Wide Web in the middle of the 1990's and in particular around 2005 after the introduction of the Web 2.0 paradigm [9], there have rapidly emerged several Internet based social networking services, maintaining "circle of friends" networks, business platforms, knowledge networks, or virtual world online games ([5], ğ13.5).Examples of each of these types of networks services are as follows: Orkut (www.orkut.com),Facebook (facebook.com)or Google+ (plus.google.com);LinkedIn (linkedin.com)or XING (xing.com);Wikipedia (wikipedia.org);World of Warcraft, Star Wars: The Old Republic (swtor.com),or Second Life (secondlife.com).
In this paper, an electronic social network is defined as a network of at least three human individuals or organizations which use essentially, albeit not exclusively, electronic devices and media to get in contact and acquaintance to each other, to meet new partners, to communicate, and to exchange information.Examples of electronic social networks are Internet social networks, as well as videoconference sessions and conference calls, especially if they serve to meet new people as in party lines, or as long as they admit spontaneous communication between each network actor [10]- [12].

The Matching Problem
In computer science, the term matching or sometimes matchmaking in general refers to the process of evaluating the degree of similarity or agreement of two objects.Each object is characterized by a set of properties or attributes, which in many systems are given by name-value pairs [13].Matching plays a vital role in many areas of computer science and communication systems.For instance, it is studied for resource discovery and resource allocation in grid computing where matching services are needed to intermediate between resource requesters and resource providers [14].Other examples are given by the problem of matching demands and supply of business or personal profiles in online auctions, e-commerce, recruitment agencies, or dating services.

Basic Definitions
In most matching problems, the objects under consideration take asymmetric roles, viz., some search for information or request for a service, others offer information or provide a service.A single object may naturally do both activities at a time, in electronic social networks this even is the usual case.In the sequel we will therefore more accurately consider the matching of a search profile, containing information for a request, and an offering profile presenting information for a supply or a provided service.
Given a specific search profile, the matching problem then is to find those offering profiles which match it best, in a sense to be specified in the sequel.Generalizations of this problem ask for best global matchings, given a whole set of search profiles and a set of offering profiles.For instance, the global pairwise matching problem seeks pairs of search/offering-profiles such that the entity of the pairs matches the best under the constraint that any profile is member of at most one pair.The global multiple matching problem searches for possibly multiple combinations of search and offering profiles which as a whole match the best.The pairwise version of the problem typically occurs for dating services or classical marriage matching tasks, whereas the multiple version appears in grid computing or in brokering interest groups.
In this paper we will focus on the local version of the matching problem, i.e., finding an optimum offering profile to a specified search profile.Thus the matching problem is an optimization problem, and to formulate it precisely we have to specify the search space and the objective function.The search space will turn out to be the set of pairs of the fixed search profile and the offering profiles, and the objective function will be a function measuring the "matching degree".We will work out these notions in the next sections.

Profile Data Structures
A profile consists of its owner corresponding to an actor of the electronic social network, a list of attributes of a given set A together with their values, a list of attribute stencils where each stencil represents a pair of an attribute name and its value range, and a list of fields of interest specifying their respective levels of interest.Attributes are properties of the profile owner such as age, height, weight, eye color, or hair color, and we therefore subsume them under the class "Owner" (Figure 1).
In principle, there are two different types of attributes, subsumed in the two disjoint sets N and D such that the set A of attributes separates as The set N consists of the numerical attributes of the owner which take integer or real numbers as values, the set D consists of discrete non-numerical values.
Correspondingly, the stencil of an attribute is determined by the attribute's name and its range, being of a denotes the set of ranges for the numerical attributes, and denotes the set of possible value sets for discrete non-numerical attributes.That is, , and D is a finite set or enum, specified by the respective owner attributes determined by the system model.We allow the empty set ∅ as null element both in N and D .If a given range R ∈ T contains only one element, say , then the stencil is often shortly written " p x = " instead of " ∞ ".On the other hand, a field of interest is a name-value pair specifying the field itself as well as its level ranging on a scale from -1 to 1, coded by the interpolation of the following table, Level Meaning 1 aversion The set of fields of interests is denoted by I and is a subset of words of a specified alphabet Σ , * .
Usually, Σ is the set of Unicode symbols.The set I determines the set of all fields of interests available to the system.Depending on the system design, it may be a fixed set of words, or an arbitrary word over the alphabet Σ .
Example 1.In grid computing, a main matching problem is resource discovery and resource allocation [15] [16].Assume a toy grid consisting of two resource providers Haegar and Bond, and two resource requests by some computational process.In our terminology, Bond and Haegar each provide an offering profile, whereas the requests are represented by search profiles.Moreover, in the widely used matchmaking framework Condor-G [17]- [21], the profiles are called ClassAds (classified advertisements).Let us assume a system of four objects with search and offering profiles according to the following tables.In each column of a profile there is listed its owner and some attributes and their values.Then a solution to the global matching problem is obviously given by the matchings (194.94.2.21, Haegar) and (194.1.1.3,Bond).

The Search Space
Let be a set S of search profiles s and a set O of offering profiles o be given as input, where where ( ) denotes the power set of an arbitrary set A .Then the search space G S of a global matching problem is given by all pairs of search and offering profiles, i.e., G .S = × S O In this paper, however, we are considering the local matching problem, given a single search profile s , i.e., { } = S s , and the search space { } ( ) { } denote the set of searched numerical attributes, the set of discrete non-numerical attributes, and the set of fields of interests, respectively, specified by the search profile.Then a search profile s itself is a set of the given attribute stencils s n , s d , and of fields of interest s i , can be easily implemented as a table or a hash map.Analogously, an offering profile is given by where the three sets are defined the same way as in the search case, but with the index "s" (for "search") replaced by "o" (for "offering").Example 2. Assume a small social network for pooling interest groups, consisting of three persons, Alice, Bob, and Carl, who provide search and offering profiles according to the following tables.In each column of a profile there is listed its owner, some attributes and their values, and the fields of interests with their levels.For instance, Alice looks for someone between 20 and 40 years of age being enthusiastic in tennis and having some penchant to chess, whereas Carl seeks a tall person in the 20's with highest preference for basketball.Looking at the offering profiles in this social network, one sees that Alice may contact Bob, but Carl cannot find an ideal partner in this community.On the other hand, Alice would be a "better" partner for Carl than Bob, since she is partly interested in basketball.Formally Alice's search profile, for instance, is given as follows.The sets for the searched attributes and fields of interest are the mapping s R is given by and the mapping s l is given by the table o o consists of two feasible solutions.

Matching Degree as Objective Function
The matching degree of a search profile and an offering profile is a real number , with 0 f = meaning "total mismatch" and 1 f = meaning "perfect match".In general, the matching degree will be the weighted sum of several partial matching degrees, one for each property separately.Moreover, the matching degree of a numerical attribute is calculated in a different way than the matching degree of a non-numerical discrete attribute or of a field of interest.A function measuring the matching degree of ranges of an attribute has to quantify how a given offered attribute stencil [ ] o o , a b fits into the stencil pattern given by the corresponding range in the search profile.In case of a numerical attribute, the stencil is given by a closed interval [ ] , a b ∈D in case of a discrete-value attribute it is a set or enum E .For a field of interest the matching degree is a continuous function of the level of interest of the search profile and the level of interest of the offering profile which is constructed below.

Matching Degree for a Numerical Attribute
To determine the matching degree of a searched value range [ ] The parameter e is called the fuzzy level.It denotes the relative length of the fuzzy transition region.The smaller e , the narrower this region, and the more accurate an offered attribute value must fit into the searched interval.In the limit 0 e → , the function

Matching Degree for a Non-Numerical Attribute
If the values of specific attribute are constrained to be of a finite set, or an enum, say E then the matching degree is determined by the Boolean characteristic function E χ defined by ( ) If the searched attribute, for instance, is "name ∈ {'Smith', 'Taylor'}" and the offered attribute is "name = 'Tailor'" then "E = {'Smith', 'Taylor'}" and " ( ) ' ", i.e., the matching degree is zero.By contrast the matching degree for "name = 'Tailor'" is " ( ) ". Since the owner of an offering profile can offer at most one value for an attribute, we have

Matching Degree of a Field of Interest
First we notice that the matching degree as a function of the levels of interest s l for the search profile and o l for the offering profile must be asymmetric.For instance, if s 0 l = and o 1 l = , i.e., the search is indifferent with respect to the field of interest, and the offering profile has o 1 l = , then the matching degree should be greater than 0, but if the search requires s 1 l = and o 0 l = then the matching degree should be zero.In the first case, the searcher is indifferent about the field of interest, in the second case he demands high interest.(

Definition 3. An interest matching degree function is a function [ ] [ ]
The first condition expresses the perfect matching of the diagonal, the second the search indifference, and the last the search necessity. A possible matching degree function is given by ( ) ( ) where , m l l satisfies the conditions in (25) and therefore is an interest matching degree function.
It is asymmetric with respect to its arguments, since we have

The Objective Function
Putting together all partial matching degrees considered above, i.e., the matching degree (22) for numerical attributes, the matching degree (24) for numerical attributes, the matching degree (26) of fields of interest, we construct a function as a weighted sum of them.We notice that any s x S ∈ represents a feasible solution of the matching problem and has the form ( ) s , x = s o where s is the given search profile (10)  and o is one of the given offering profiles (11) in the network.Then f is defined for each s x S ∈ by the levels of the field of interest p , the ellipsis "  " referring to " s " for the search profile and " o " for the offering profiles, respectively; the vertical bars ⋅ embracing a set denote the number of its elements.
Thus for the computation of the matching degree, the attributes and fields of interest of the search profile s are leading, i.e., it is s which determines what is tried to be matched.If therefore a property p of the search profile does not occur in the offering profile, then the matching degree functions The crucial difference between null values of attributes and null values of fields of interest in the offering profile is therefore the following: searched attributes are mandatory, in the sense that a lack of this attribute in an offering profile means a mismatch with respect to it; however, if a field of interest does not occur in the offered profile, it is indifferent to its owner, but depending on the level of interest in the search profile the matching degree may be positive nonetheless.
Example 2 (revisited).For Alice's search space we have the two solutions (19)   O s available to it in the social network as in (8), each offering profile being of the form as given in (11).Given the objective function A simple algorithm to solve this maximum problem is to exhaustively compute the matching degrees of all possible profile pairs x S ∈ and to store those with the maximum value.Let p n be the maximum number of properties (i.e., numerical and discrete attributes as well as fields of interest) a profile in the network can have, and let net n be the number of offered profiles.Then the number of necessary profile comparisons is estimated by ( )

Discussion
In this paper, a mathematical model of the matching of search and offering profiles in electronic social networks is proposed.Basing on the data structure described by Figure 1 and distinguishing between matching of attribute ranges via stencils and matching of fields of interests via comparison, the matching problem is formulated as an optimization problem, with the search space consisting of a fixed search profile and several offering profiles as in (8), and the matching degree as its objective function in (29).The main difficulty is to define a function measuring adequately the matching degree of two fields of interest and obeying the necessary conditions listed in Definition 3. A proposed solution is the function given in (26) and depicted in Figure 2. The implementation of a matching service in an electronic social network basing on this matching optimization is straightforward.
The applicability of a profile matching algorithm is not restricted to electronic social networks but could be adapted for resource discovery in grid computation or in matchmaking energy resources in grids.In particular energy transition projects aiming to integrate renewable energy into electrical power systems have to solve the problem of matching energy supply and demand, caused by the high variability of renewable energy supply such as wind or solar power ( [22], ğğ7.5, 8.2.1).This way profile matching might become one of the relevant technologies to support eager energy transition projects like the Energiewende towards a sustainable economy.

Figure 1 .
Figure 1.UML diagram of the data structure of a profile and its relationship to the owner's attributes, the attribute stencils and the fields of interest.An attribute stencil consists of an owner's attribute name and its (searched or offered) range.
is the set of attribute-range pairs, with the given mapping s s : R N → N from the set s N of the searched numerical attributes to their associated desired ranges ( s R associates to each numerical attribute p in s of attribute-set pairs, with the mapping s s : E D →D from the given set s D of searched discrete attributes to their desired sets or enums, and of searched fields of interest with their desired levels, with the given mapping a given advwertised value range x ∈  , we define the fuzzy step function e h is a sharp step function, for a b = and 0 e > it represents a triangle function, and for a → −∞ or b → ∞ it tends to the Heaviside step functions instance, if the searched attribute is "height > 180" and an offered attribute is "height = 165" then for a fuzzy level ., the matching degree is 16.7%.Then the matching degree of two numerical ranges [ ] offered range are given by [ ] [ ] the other hand, it is an even function, i.e., by definition.If, however, a searched field of interest s p ∈ i does not occur in the offered profile, then it is the level ( ) o l p which vanishes by definition.
o of a given search profile s as in(10) and the offering profiles either as defined in (29) or as in (32), the profile matching problem is the maximum problem

Figure 2 .
Figure 2. The matching degree function For instance in Example 2 above the search space S of Alice we have p 4 n = , net 2 n = , i.e., the solution of problem (34) by brute force requires 32 ≤ property comparisons; it can be directly verified that in fact we need 12 9 21 + = comparisons in this case.