Introducing Ulimisana Optimization Algorithm Based on Ubuntu Philosophy

In this paper we give introduction to the concepts of Ubuntu and how we used Mechanism design concepts to construct Ubuntu as an optimisation algorithm. Ubuntu philosophy is old and consists of many oral proverbs that have been documented in recent years. This work thus introduces an incentive mechanism based on Ubuntu, thus called Ubuntu Incentive, which is modelled according to Mechanism Design principles. This incentive scheme is introduced as a fitness function which the algorithm tries to improve. To achieve this, the algorithm draws inspiration from Bantu proverbs that guide how individuals ought to behave within the Ubuntu community. Trust is an important element within these communities and it is shown how trust influences the obtaining of the Pareto efficiency. The algorithm is introduced with different mathematical configurations which are tested against each other. Ulimisana optimisation algorithm (UOA) manages to solve the benchmark test functions used in this work. This is found to be in accordance to the Ubuntu philosophy as used in the Ulimisana/Letsema practice amongst the Bantu people of Southern Africa. The UOA performed better in some benchmark test function when compared to other algorithms and coming second on most performance to PSO for most test benchmark function.

These algorithms have worked on the assumption that the agents(individuals in the population) follow the self-interested philosophy are stated as in Game Theory definition of rationality. Game Theory assumes that each agent is self-interested and will choose strategies that maximise their own interest. They also assume that each individual knows the nature of the other individual, hence they do not consider the trustworthiness on those individuals. Most of these algorithms also fail to converge to global optimisation mainly because they are either good at exploration or exploitation and rarely better performing in both.
In this paper we introduce a new meta-heuristic algorithm inspired by Ubuntu philosophy which was devised thousands of years ago and of which the African people in Southern Africa used [38]. This algorithm considers the fact that the agents can have their own motives despite the incentive mechanism and also considers the nature of agents diverting from a communal benefit and bettering their own payoffs. It will be shown that when the trustworthiness is considered agents will levitate towards the individuals belonging to a family that they consider to be trustworthy and thus in their advisor network.

II. LITERATURE REVIEW A. WHAT IS UBUNTU?
Ubuntu is an African philosophy whose name is derived from the Bantu languages of the Bantu people of Africa and can be loosely translated to ''I am because you are''. Bantu people are found mostly from the central down to the southern part of Africa. In each Bantu language they have a way of pronouncing this philosophy with the common thing being that they all end with '-ntu'/ '-nthu'' sound (phonetically) just as it with the Bantu languages. To understand the concept of Ubuntu one might need to first breakdown the explanation of '-ntu' which is usually associated with 'soul' in Bantu languages [39]. This is a concept also embedded in the daily language of Bantu languages where a single person can be addressed in plural such as usage of 'vho' instead of 'inwi' in Tshivenda language of the Venda people in South Africa. In Bantu greetings it's common that the greeting will be asking a person how their soul is, meaning one recognises that their own well-being is dependent on their other persons well-being on a deeper level. The word Bantu itself means people.
African communities are arranged in an ongoing dynamic association of their citizens who have special commitment to each other. These citizens have developed a distinct sense of their common life [40]. There's an African proverb that says, ''Ṅwana u aluswa ndilani'' in Tshivenda. This loosely translates to 'a child is raised by the village' which is a commonly known African proverb. This means that a child is considered a property of the community of whom is their responsibility in return to nurture the child into adulthood such that they become responsible citizens in the community. This child in the African community thus grows up with the sense of solidarity with large group of people with their personal interest bounded with that of the community over various issues of life [41], [42].
Ubuntu as a way of life for African communities is characterised by emphasising sharing, co-responsibility and enjoying of the rights for each individual in the community by encouraging and promoting human relationship and exchange of human values, trust and dignity [42]. This interactions of sharing and co-responsibilities extend to the utility of the community and individual just as Mbiti [38] explained, ''Whatever happens to the individual, happens to the whole group and whatever happens to the group happens to the individual''. The paper will present this phenomenon described by Mbiti [38] mathematically.
From the definition of Ubuntu and the explanations provided above, it becomes clear that an individual in the Ubuntu community says to themselves ''I am because I belong, I participate and I share''. This individual is open and available to others without feeling threatened by them [43]. An individual belonging in this community will have self-assurance which stems from knowledge of belonging.
Knowledge and rules that guide the community were encoded into proverbs. There a proverbs such as ''Ṅwana u bebeliwa muṅwe'', ''Munwe muthihi a u tusi mathuthu'' or '' Kidole kimoja hakivunji chawa'' and ''Tsiwana i laiwa nd ilani''. The first proverb is from Thivenda language of the Venda people of South Africa and it means ''a child is born for someone else'', while second and third ones have same meaning but from Thivenda and Swahili proverbs respectively and translates to ''one finger cannot pick up grains''. The last one is a Thivenda that means ''an orphan is guided in the streets''. What these proverbs symbolise is the deep interdependency that occurs in some cultures in Africa as these proverbs can be found in most languages in Africa. These proverbs affirm that cooperation based on sharing and trust is at the core of Ubuntu philosophy.
This paper proposes modelling a meta-heuristic optimisation algorithm following the four core values of Ubuntu, viz. Morality (Trust & Credibility), Interdependence (Sharing & Caring), Humanity (Hospitality, Understanding, Generosity, Virtue) and Continuous Improvement(Wisdom & Social Maturity) [40], [44]- [48]. One may note that this kind of environment can attract lots of free-riders into the community, which is why in the mathematical modelling of Ubuntu, Mechanism Design will be critical to enforce truthfulness.

B. INSPIRATION FOR ULIMISANA
As a way of life, Ubuntu had inspired different daily living concepts in communities such as Ulimisana/Letsema [49], Ujamaa [50], Harambee [51], [52]. As African communities were mostly agricultural based, there is an Ubuntu concept in this practice known as 'Ulimisana' in Tshivenda or 'Letsema' in SeSotho language groups or 'Nhimbe' in Shona [53]- [55] or 'Ilima' in isiZulu. Most of these words are synonymous and mean a practice where families in communities get together to plough one family's field until it is done, then move over to the next family until all families in the community have their fields ploughed. The family that does not participate in this process will find themselves excluded from the community for their greed behaviour, thus they are punished socially. The families with members who cannot participate in laborious jobs due to age, are give other supplementary tasks in the community and still benefit from the rewards afforded to the community at the end of the season. The trust and reward are given on a family level where VOLUME 8, 2020 the rewards are then distributed within the family based on similar community distribution manner.
In big communities, the individual is seen first through the eyes of the family, hence issues of trust are focused on the family rather than on the individual. The individuals within the family, work best to make sure that their family reputation is a good one. This reputation is what determines how well they are trusted by other families in the community.
Some of these practices have ceased to exist since the times of colonisation in Africa however it is worth to note that they have inspired other form of similar concepts such as Stokvel [56] and East Africa's micro-financing initiatives. The concept that inspired this work is Ulimisana which overcomes the challenges presented by tasks.

1) HOW ULIMISANA WORKS IN THE AI PROBLEM SOLVING PERSPECTIVE
Agents/Individuals belong to a family which belongs to a community. The community is held together through Social Trust. Each family has other families within their Social Network and thus the trust that these families have on each other is what holds this community together. Each family's individual has a problem they are trying to solve. To solve the problem all the family members work together towards this goal and invite the community to assist. This problem is the Objective Function to be solved.
For every problem solving attempt, the agents are given rewards. In some special cases rewards and Objective Function can be the same. Each family has a minimum acceptable rewards that they should have. If rewards were money, it means each family should be able to live above poverty levels. Each family's incentive values can be seen by all agents. Perfect information game is assumed in this work. The composition of each family is well known to all agents, that is to say, individuals know the age distribution in each family within the community.
The individual payoff is aggregated to the family based on the social age ratio group. The community payoff is aggregated based on the whether the family has met the minimum payoff in the community or not. The community then updates their payoff according to the change from their previous performance. The earning or losses of the community are then transferred to the families as well which in turn transfer them to the individuals. At the end of each iteration the families update their reputation ratings to other families. Family's Social Trust Networks are updated based on the new trustworthiness values gained at each iteration. This means that the families whose trustworthiness decreases below a certain threshold will be ejected from their Social Trust Networks.
At the end of each iteration, agents incentives, family incentives, family Social Trust Networks and community incentive are updated. These updates follow the principles described above where the gain of community is the gain of the individuals and the loss of communities is the loss to individuals. Each individual position is then updated based on the incentive updates. The search stops when the predefined generations have been met or when the community-incentive changes slowly or when the objective function value changes slowly as well. This process is shown in a logic diagram in Figure 1.
In this paper, the efforts exhorted by each family to assist others will not be considered yet to determining their participation rate and characteristics within a community. Thus in this paper, the knowledge transfers that each family has cannot be transferred directly to the members of the other families as would usually be the case when many families group together to solve common problems in the Ubuntu societies.

III. MATHEMATICAL MODEL AND ALGORITHM A. MECHANISM DESIGN CONCEPTS
Mechanism design is a field in economics concerned with designing games mechanisms or incentives towards strategies and actions where the players are assumed to be rational, where rationality is defined as self-interested. A self-interested agent is defined as an agent who will always maximise her utility/reward. Mechanism design is usually referred as the reverse game theory where game theory already has incentives defined and tries to determine the best strategies that each player in the game will take to reach the best response which maximises their utility.
Self-interested agents always act in selfish ways which in many cases harm the benefits that the whole community can benefit from. This is evident in the classic prisoners dilemma where the agents best rational responses is to chose a solution that leaves her worse off than if she and her counterpart had to choose the solution that benefit all of them they would end up with a strategy that leaves them better off than in a selfish state. Keeping this in mind, Nisan [57] worked on developing an algorithm which would punish agents who are selfish in a cooperative game. They worked to design the market rules which would make sure the global behaviour achieved was the most admirable.
Mechanism design is thus concerned with designing rules in which privately held information by agents may be aggregated towards a social choice [57]. In mechanism design, agents are assumed to be of different types of which their opponent do not know of and thus called privately held information.
Through the application of the revelation principle, mechanism design states that mechanism design can concentrate on the truthfulness implementations which is according to Nisan [57], [58] is defined as: Definition 1 (Truthful Implementation) : We say that a mechanism is truthful if: 1) For all l, and all t l , A l = T l , i.e. the agent's strategies are to report their type. (This is called a direct revelation mechanism. 2) Truth-telling is a dominant strategy, i.e. a l = t l satisfies the definition of a dominant strategy above. where l ∈ L is the number of agent.

B. INCENTIVE MECHANISM DESIGN AND UBUNTU PAYOFFS
Ubuntu principles are thus reliant on recursive methods of rewarding individuals and communities. This means that the individuals contribute to the benefits of their families who in return contribute to the benefits of the whole community and in return the accumulated benefit of the community is shared with the family who in turn share it with the individuals in the same instance.
This paper proposes a new incentive mechanism to model the way in which societies use Ubuntu to cooperate within themselves. This incentive will thus be called an Ubuntu Incentive Mechanism whose rationality will be defined as: ''An agent in the Ubuntu community is rational if she works towards maximizing the community interest and thus maximising her own interest''. Therefore an Ubuntu agent is a community-interested agent rather than the self-interested agent presented in all the Artificial Intelligence, Game Theory and Mechanism Design works that came before this work.
The whole community has L number of population with N number of families. Each family's members are either providers, U ∈ L or dependents,V ∈ L. The whole family payoff at time t is calculated using the following equation: where, and Families are then categorised into wealthy, W ∈ N and poor, P ∈ N families. This is done depending on the values of the family's payoff when compared to the minimum accepted payoff, τ , that each family is expected to have within a community. The payoff which the whole community gets is the calculated as follows: where and Once the community payoff has been achieved, the family payoffs are updated based on how the whole community performed in previous iteration compared to the current moment. This is achieved using the following formula: The change is community payoff is then averaged over the total families in the community and added to the families to update their payoffs. This means that if the change is negative, the families get punished because they did not assist each other enough to make sure their payoffs were above the accepted minimum payoff values.
Once the family payoffs have been updated, we follow the same process to get the change in payoffs of the families.
The change in family payoffs is the averaged over the total number of individuals in the family and added to the individuals to update their payoff.
where L is the number of individuals in the community C. TRUST MECHANISM Ubuntu communities are adhered by trust between agents.
Trust being a belief that the next agent will act according to certain defined rules which the community lives by and also this trust is also in the belief that the agent will be community-interested rational. Work done by Zhang  introduced the idea of using mechanism design to model trust in marketplaces where the buyers would use the concept of Social Trust Networks to determine which sellers they could trust prior an economic transaction. They introduced the concept to enforce cooperative behaviour between agents who are self-interest in the marketplace. Agents who were buyers would rate the suppliers and suppliers rate the buyers and use these ratings to compute the trustworthiness values also based on the trustworthiness values that those in their Social Trust Network (STN) had on these buyers. The agents belonging to one's STN are known as advisor for they advice the agent about the trustworthiness of the sellers. In this paper the sellers are the families that are in need of help while the buyers are the families offering help. The work presented by Zhang and Cohen [59], Zhang [61], Zhang et al. [60], [63], Zhao et al. [62], Jiang et al. [64], Ma et al. [65] introduced how trustworthiness between different agents can be computed and will be presented below in the context adopted for this work.
Let the total number if families in the community be N such that W, P ∈ N, and i ∈ W is the wealthy families and j ∈ P is the poor families. Let b i be wealthy families who are the family unit that wants to help. B = {b i |i = 1, 2, .., W}. Let s j be poor families who are the family unit to be helped s j is provided by b i to poor families s j . Ratings, r a k ,s j is provided by a k to poor families s j . (r a k ,s j , r b i ,s j ) is a pair of ratings by b i and a k . Ratings are stored in vectors, r a k ,s j and r b i ,s j with respect to different time windows, t, where rates were given.
Ratings can be binary, multi-nominal or real values [60], [61], [64]. This paper will present the binary values ratings. The reputation of the poor families (family to be helped) is derived from the ratings they were given by other families in the community b i and by the advisers a k in b i trust network. There are two types of reputations values of s j that can be derived by b i , viz., private and public reputations.
Using binary ratings: Rating is said to be positive if it is consistent with the majority of the ratings of s j . N neg = N all − N p . where N all is the total number of Rating pairs for all commonly rated sellers.
In Social Trust Network, TN b i , suppose a k provides N all ratings in total.
The trustworthiness of the adviser, a k is determined by the combination of Private and Public Reputations. To accomplish this, the minimum number of rating pairs needed for b i to be confident about the private reputation value it has on a k must be determined.
where ∈ (0, 1) is the maximal level of errors that will be accepted by b i γ ∈ (0, 1) is the level of confidence b i would like to attain.
The Trustworthiness value of the advisor can be computed as follows: When ω = 1 it means b i relies only on private reputation. The quality of the advise that advisor a k will provide to b i will be evaluated using the fitness function, f (T b i (a k )). The fitness value is the measure of how well the advise received is closely related to b i own perceptions of s j .
where m ≤ m indicates that the sellers with which either b i or its advisor, a k have no experience with are m − m. Smaller fitness value indicates that b i trust network is of high quality.
In each iteration, each b i asks a k in its TN b i which are connected with s j whose incentives was below acceptable margins,to share information about their trust networks and fitness values.
To alleviate the chances of noisy or dishonest information, b i will compare trust networks shared by advisers, a k with its own trust network, to choose appropriate trust networks, which will further be use to generate candidate trust network.
). b i chooses an advisor a r from its trust network who is also in s j social networks to ask for information about the advisers trust network and its fitness values.
Suppose a r provides trust network information, T a r (a k ) = {T a r (a 1 ), · · · , T a r (a y )} and fitness value f (T a r (a k )). The difference between the Trust Networks of the wealthy families b i and advisor a r is: n ≥ x, y indicates the number of advises appearing in either the trust network of b i or that of a r . It is the union of advisers in the two trust networks. In some cases b i and a r may not have common advisers. If adviser a k appears in one trust network and not the other, the default trust value of a k in the second trust network will be assigned as 0.
Difference between fitness values of b i and a r is: The following conditions must be satisfied for b i to choose the information shared by a r as true information.
There are three cases that can be deduced from Equation 22: Case 1: a r provides both real trust network and fitness values. Equations 20 and 21 are smaller than 0.5 because they are similar to b i own experience thus b i will treat a r as an honest adviser and use its information.
Case 2: Only one type of a r information is false. Either Equation 20 or Equation 21 is smaller than 0.5. Then Equation 22 will be smaller than 0. a r will not be selected as honest adviser to b i . where N b all is the total number of ratings provided by b i for s j . The seller s j will be considered to be trustworthy only if T b i (s j ) is no less than a threshold δ.
The seller s j will be considered to be untrustworthy if the trust value is no larger than a threshold θ. where If there are no trustworthy families s j then families with trust values between δ and θ will join list to be assisted.

D. POSITION UPDATE
Individuals are given randomised positions in the beginning where these positions are used to determine the payoffs. Family Payoffs are then calculated depending on the family composition calculations, i.e. providers and dependant individuals. Community payoffs are calculated depending on the community compositions, i.e. wealthy and poor families composition.
The position is updated using Equation (29) where x is the best individual position across all iterations at time t * where P * l,t * was obtained (local best). y is the best individual in family i at time t * when the family had the best payoff across all iterations(glocal best), P * l (P * n,t * ). y is the best individual in the best family, s * j at time t (global best), P * l (P * n,t ). y is the position of the best individual in the whole community at time t * when the community had the best payoff across all iterations (global best), P * l (P * c,t * ). β 1 , Equation (30) represents a ratio of the difference between the number of families that belong to family i trust network, TN at time t and at the time when family i had the best payoff, t * . β 2 , Equation (31) presents the ratio of the difference between the average trust the community had towards family i at time t and time when family i had the best payoff, t * . β 3 , Equation (32) is the ratio of the difference of trust that family i has towards the best family s * j at time t and the trust that family i s advisors, a j have towards the best family s * j at time t. β 4 , Equation (33) is the ratio of the difference in the trust that the average trust that the community has towards family i at time t and the average trust they had at time t * . where g(.) and h(.) are transformation functions which can either be linear or sigmoid functions. The linear transformations allow the agents to explore other regions within the search space while the sigmoid functions allows the exploitation feature of the algorithm. The combination of linear and sigmoid in one configuration ensures that the algorithm is able to escape the local minima and at the same time balance VOLUME 8, 2020  Figure 1. It should be noted that Ulimisana algorithm is a global maximum seeking algorithm as it tries to ensure that all individuals in a community are at the best performance such that all families are above accepted minimum incentives. To solve minimisation problems, the Individual Payoff Function for Ulimisana takes the negative of the Objective Function.

E. TIME COMPLEXITY ANALYSIS OF UOA
The general time complexity of most meta heuristic algorithms is analysed by looking at three main components which are the initialisation time, initial objective function solving time and the overall looping towards convergence.

IV. EXPERIMENT SETUP
Hyper-parameter for Ulimisana Optimisation algorithm can be categorised into mainly three groups, viz. community parameters, Ubuntu incentive parameters and Social Trust Network (STN) parameters. Community parameters are made up of population size, number of families and age distributions in each family. Ubuntu incentive parameters are made up of family average threshold (family_av_thresh), community average threshold (comm_av_thresh), rho (ρ) and phi (φ). The STN parameters are epsilon( ), r (r) and trustthreshold(δ). To evaluate the performance of Ulimisana algorithm these parameters will be set to similar values where family_av_thresh = 0.3, comm_av_thresh = 0.3, ρ = 0.3, φ = 0.7, = 0.15, r = 0.7 and δ = 0.45, over a population of 100 individuals belonging to 5 families. The individuals ages per family were distributed with an average age of 35 and a standard deviation of 7. The second experiment will evaluate the effects of δ while other parameters remain constant.
Ulimisana optimisation algorithm can have at least 4 different designs where the difference between the positions can be subjected to a linear transformation or a sigmoid transformation. The same can be done to the weights with which the position terms are multiplied with. In the experiments carried out in this work the hyperbolic tangent (tanh) was used for the sigmoid function. These configurations led us to 4 main configurations of the Ulimisana optimisation algorithm which we investigated, i.e. Linear term and linear weight (LTLW),linear term and sigmoid weight (LTSW), sigmoid term and linear weight(STLW) and sigmoid term and sigmoid weight (STSW). The results are compared to the results obtained from Artificial Bee Algorithm (ABA), Grey Wolf Algorithm (GWO), Particle Swarm Optimisation (PSO) and Social Spider Algorithm (SSA). These algorithms, ABA, GWO, PSO and SSA, were tested over a population of 100 individuals using the default parameters as per design codes in the ''SwarmPackagePy'' Python package found in SISDevelop [66]. Ulimisana Optimisation Algorithm was developed on Python by the authors.
Thirteen benchmark test functions were chosen to be used to test the effectiveness of this algorithm. Each configuration discussed above was subjected to 20 repeated experiments over each test function. The best results of these 20 experiments will be discussed in this paper while the overall performance across all experiments will be discussed. The hyper-parameters were kept constant for every experiment.
The next step was to evaluate the effect of the trust-threshold values on the performance of each configuration over some test functions. Trust-threshold, δ, was varied to range between [0, 1] over a 0.1 incremental. When δ = 0 it means that the family in question allows anyone into their trust network. This means that even those families who are not trustworthy can pose as advisers to the family in question. When δ = 1 it means that any family needs to be highly trustworthy, meaning that all their positive ratings must be exactly the same as that of the family in question. Thus low threshold means a family does not expect quality ratings.
To algorithm was tested on various test functions with different characteristics shown in Table 1.

V. RESULTS
Experiments were run and results below show the convergence rate for different benchmark functions when using the Ulimisana Optimisation Algorithm (UOA), ABA, GWO, PSO and SSA. In this first experiment, 311 iterations were used when testing each of these benchmark test functions. The figures and tables below show the results obtained in experiments repeated 20 times for each benchmark function. Results obtained are shown in Table 2 which shows the mean objective value and standard deviation of the best performing iteration from the 20 experiments.
The results displayed in this table show the performance of the different configurations when the hyper-parameters are kept constant for each configuration across all test function. The bold results show the best performing algorithm at hyperparameters used in this work. The bold and highlighted results show the best performing configuration of the Ulimisana algorithm when it was the best performing algorithm or second best performing overall algorithms tested in this work. It will be observed later in Figures 11, 12, 13 and 14 that when trust-threshold as a hyperparameter for UOA is fine-tuned, the UOA performs better for different benchmark test functions.
The number of individuals in the community were 100 and the community was made up of 5 families. The individuals were randomly assigned to different families. Figure 2 shows how the initial positions were randomised between the individuals in the beginning of the experiment while Figure 3   shows how these individuals were distributed when looked at from within their families. The visualisations of Figure 3 help give insights into how each family is performing within the community.
This becomes an integral part in understanding the effects of family average threshold and community average on the performance of Ulimisana Optimisation. Figures 4 and 5 show how the individuals were positioned VOLUME 8, 2020  within the community and families respectively as the started converging to best position.
From the benchmark test functions used, the Wayburn Seader 2 function has the largest search space which also result in very high function value, Figure 2. The algorithm that uses LTLW configuration was quick in reaching convergence, Figure 4 but always converged at local minima positions.
The convergence rate when the position difference is subjected to a sigmoid transformation is slow. This convergence rate is observed to improve in the experiments where the trust threshold is varied, which suggests that the settings used in this experiment were not optimal for this benchmark test function.
The LTLW and STLW configurations performed generally poor for the Bohachenvsky 1, Booth, Easom and Goldstein-Price functions. The general failure in these functions under the hyper-parameters used leads to a failure of this algorithms in cases where the areas that contain the global minima are very small as compared to the whole search space and cases with scaling problem where the many order of magnitude differences between the domain and function hypersurface. Ulimisana algorithm performed better than GWO, SSA and ABA algorithms. While in some cases it performed similar to the PSO algorithm. The experimental results of PSO over Penholder function were not very consistent as only few experiments had good results, while Ulimisana was consistent over all experiments.
Inspection of the individual agent performance for ABA, GWO and SSA when compared to Ulimisana showed that even though they both demarcate some individuals into groups, Ulimisana was the only one that was consistent in making sure that all individuals are performing closer to global minima. In the ABA algorithm, there are scout bee agents whose solutions are not used, it is these agents that are left behind in solution convergence. The SSA has similar issues where some spiders are left behind and not converging. Figure 6 shows the convergence curve of the test functions studied in this work. Penholder function has multiple global minima and Ulimisana algorithm under all four different configurations showed that they can find at least one in each experiment. The obtained mean objective values were very much closer to the theoretical values. The algorithm also showed a great ability to keep up with the changing directions of the Beale function especially when using the configurations which slow down the step updates by slowing down the position differences using sigmoid function.
The performance of Ulimisana on the Schaeffer 1 function shows that when the update is slowed by subjecting the position difference to the algorithm is able to avoid local minima which are located closer to the global minima.The close proximity of the local and global minima in the Schaeffer function leads to the divergence from optimal solution when the LTLW configuration as can be see in Figure 6. This is due to the large updating step that is resultant from the fact that neither the position difference of STN differences are slowed down by a sigmoid function.
The visualisation in Figures 3 and 5 show that within the community, the individuals performance can be viewed from a family perspective. Thus in that context the average performance of individuals in each family,Equation 1 influences that of the community, Equation 5. Figure 7 shows the average payoff values of families over iterations for corresponding configurations of each test function. The results show that the curves took the same shape as on the average individuals performances as was the case with community payoffs, Figure 8.
The Payoffs values for individuals, family and community were different as these were dependent on how many individuals are dependent in each family and how many families were poor. The average convergence of individuals might not provide adequate resolutions to what is happening to the search for global optima. An example for this is the cases where one family is stuck in the local optima with all the members of that family, but since there are small number compared to the rest of the individuals in the community, it looks as if every individual has converged. By using the average of the families payoffs as shown in Figure 7 it becomes clear to see that it is not every member in the community that has converged. At each iteration the community payoffs show the weighted total payoffs contributed by the families, so if there's a family which has not converged to where the other families are, it will be seen in Figure 8. Figure 6 shows how the average individual in the community is performing while Figure 7 shows how the average family is performing and Figure 8 indicates how far the community is still is from equality.  The average family payoffs are large because they are calculated based on the weighted average and gets updated based on the average gains or loses of the community from previous iteration using Equations 1 and 10. The same things happens to the community payoffs. The Powellsum and Schaeffer 1 Functions show cases where there was divergence from the global optima positions. Ulimisana algorithm easily fell into the traps of these functions because in this algorithm an individual best positions is not always aligned with the best position of the family and that of the community. So an individual may find themselves in the best position in relative to their past performance but their best position was not necessarily the best position from the community perspective. As such this individual will move out of their best position to follow that of the community which might at that iteration might not necessarily be the best. This issue was addressed by the configurations which uses sigmoid on the position difference as this makes the algorithm adopt the exploitation capabilities which they then do over the global minima search space.
Although this feature has potential to lead to such divergence, it is accepted in the algorithm since it is also due to the differences in STN properties and the failing to meet the Ubuntu incentive schemes. This type of divergence is only evident in certain configurations and for only few test functions. This property provides a great case to explain how the algorithm finds its best positions: An individual has their best performance over all iterations they have experienced so far, x localbest . Individual's family has the best performance time over all the iterations they have had and in such times, there is a particular individual who was the best performer, x glocalbest . Amongst all the families in a community there is a family which has performed the best at each iteration, so if they performed better than any other family in the past they become the new best performing family. This family thus has the best performing individual who then becomes the best performing individual that made her family to be best, x globalbest 1 . The last one is with respect to the community. The community best performance over all iterations, then at that iteration, she looks for the family that was best performer and ultimately the best individual in that family, x globalbest 2 .
Thus because of this dynamic nature of looking for local, glocal, and global positions and their constantly changing behaviour, the divergence of the LTLW and LTSW configurations which have very fast step updates can be expected when solving solutions for functions such ad Schaeffer 1 and Powellsum functions. One may tempted to add another term which is the best individual in the community determined at each iteration regardless of how the family performance or community performance was. This would as such collapse the Ubuntu philosophy which states that an individual is at best when the community is at best and the community is at best when the individual is at best. This work does not investigate the effects of this any further in terms of the convergence rates. However, the effects of trust threshold is investigated further and detailed below.
When convergence rate was viewed using the visualisation perspective shown in Figures 3 and 5 is was noted that there were cases where one family would be the first to converge and just as when other families converge to their position, they then diverge. This phenomenon is explained by the above explanation where the x globalbest 1 and x globalbest 2 positions change based on the overall performance within the whole community. In such observed cases, say Family A converged first and their best performance was from Individual 4 while the best ever performing family irrespective of community performance was Family D whose Individual 1 was the best performing and the best performing family when the community was at best performance was Family A where Individual 5 was the best performing individual at that time. If the the positions of Individual x in question and Individual 4 of whom they belong to same family is very different from Individual 1 and Individual 5, Individual 1 gets pulled towards these individuals even if their payoff was not greater that that of Individual x. This divergence is supported by the Kirundi proverb that says ''Ubugirigiri bugira babari'' which means that ''One cannot succeed without another''. This is also seen in the success of the Beale Function on the LTSW, Figure 6, configuration where the diverging agents eventually followed the converging agent. The divergence is due to the untruthful advisers that the family ends up with in their advisor network.
Due to its Ubuntu incentive scheme nature Ulimisana algorithm thus follows similar philosophies detailed in Kirundi proverb, ''Ahari abantu harangwa ubuntu'' which means '' Humanity is found where there are people''. In this case Family A, follows other families because it wants to be in the humanity space of the community. A similar proverb is found in the Shona language of Zimbabwe which says ''Akuruma nzeve chinoshura'' which literally says that ''He who bites your ear is truly yours'' and means that ''he who gives you advice is on your side''. This is shown in the following experiments where the families raise the value of who can ''bite their ear''. Figure 9 shows how the STSW configured algorithm performed on the Wolfe function where the average of all individuals is shown and how they converged. In Figure 10 it is shown how the average of individuals in each family converged. It can be seen that by the time an optimal position is found, each family has benefited. Thus the Ubuntu incentive scheme used in Ulimisana algorithm has been reached as each family and individual in the community now has acceptable payoffs.
The experiments above were done under same hyper-parameter values. The next figures, Figures 11, 12, 13 and 14, show results of the effect varying the trust threshold in the range of [0, 1] over few selected benchmark test functions. Equation 22 showed different conditions that should be met for a family to be considered an advisor [60]. In the experiments which vary the trust threshold, a value of δ = 0 means that anyone can be considered an advisor meaning UOA   takes advisor network at face value. The families that get advise from those who are not theirs get lost and follow them, ultimately not solving the communal problem according. This is in alignment with the Shona proverb ''Akuruma nzeve chinoshura'' which translates to ''he that bites your ear is truly yours'', which means that he who gives you advice is on your side. The results that come from instances when δ < 0.5 are unstable and do not converge. This is because the families are getting misleading ratings from dishonest families in the community.
The effects of this dishonest families in the community is very much apparent when the LTLW and LTSW configurations are used. This is because the rate of change in position in   these configurations is very fast. This can be seen in Figure 11 whose objective values under both instances are very far way from the global optima. When a family increases the level of trust threshold, it gets to only retain the families whose opinions it can truly trust and as a result, the members in that family start behaving optimally and converge to the optimal results. At higher thresholds such as δ > 0.8, there are possibilities that a family might end up not having any family as the advisor in their STN. This thus means that the family relies solely on itself as the only one who can provide herself with trustworthy information about the location of the global optima.
Each family updated their advisers network according to the threshold, so when the threshold is higher, the families would end up with no advisers and thus only rely on their own trustworthiness of the other families. Advisors information is then not used to update positions in this family. The advantages and disadvantages of this are well articulated in a SePedi proverb that say '' Momma ke nku, o lilela teng'' which means that ''when a man feels pain, he does not let it known in public''. This issue can be addressed by incorporating a forgetful element in the STN algorithm. This can be seen from the Kirundi proverbs that say ''Ntawuhisha umwotsi inzu irikio irisha'' which means that ''you cannot hide the smoke of the hut you set in fire'' and '' Intibagira ntibana'' which means that ''he who does not forget cannot live with others''. The STN as introduced by Zhang et al. Zhang et al. [60] did not consider this time element which considers forgetfulness in this work. This may help improve the algorithm as it moves over time.

VI. CONCLUSION
This work introduced a meta-heuristic algorithm based on African philosophy of Ubuntu which states that ''I am because you are'', which means that an individual is an element of the society and the society is an element of the individuals. This work introduced an Ubuntu Incentive scheme which was used as a fitness function on a family and community level. The family and community incentives relied on the weights of the collective incentive from dependents and providers, and poor families and wealthy families respectively, over each iteration.
This incentive determines the direction that individuals follow in the community. This algorithm uses the Social Trust algorithm introduced by Zhang and Cohen [59] with regard to how each family can rate the next family in terms of trustworthiness. The trustworthiness of the next family relied heavily on the trustworthiness that the families' advisers have on those families. The results showed that given the payoff function of the individual, family and community an optimal payoff can be reached where both individuals have reached a Pareto Efficiency. This also showed that when the family adviser deviate from the global optima, the other families are most likely to follow as they would when they converge.
The Ubuntu Optimisation algorithm introduced the concept of ''glocal best'' where this is the best solution of the agents that the belong to the small group (family) in which the agent belongs to. It also introduces using two ''global best'' positions where the first one is the best agent in the best performing family in each iteration and the second one being the best agent belonging to the best family when the community was at the best performance. This is in contrast to the conventional methods which only uses the ''local best'' and ''global best'' where their global best is equivalent to the ''glocal best'' position in Ulimisana Optimisation algorithm. The combination of the local, glocal, and the two global best positions give the UOA an advantage over other algorithms since as these work towards balancing the exploration and exploitation of the global optima search. The balance between these searches were balanced by the Trustworthiness-based features extracted from Social Trust Network.
By using UOA, different configurations can be used to tune the algorithm towards balancing the exploitation and exploration while looking for the global optima. The other algorithms are generally better performing in one and not the other whereas the UOA configurations allow it to be used to solve both problems. UOA achieve this by allowing linear or sigmoid transformation to be done on the position difference terms or the Social Trust based terms. The four configurations used in this work were LTLW, LTSW, STLW and STSW where 'L' represents linear transformation and 'S' represents the sigmoid transformation with 'T' representing the position difference term and 'W' the social trust difference weight.
The results show that the algorithm introduced in this work and the algorithm configurations are able to reach global optima results and at the same time maintain the Pareto efficiency as all agents follow the converging agents. The experiments in this work also looked at how the trust threshold affects the convergence of the results and found that when the agents in the family increases their threshold to allow other families into their adivors network, they perform better as they eliminate untruthful families from their network. The trust threshold has a significant effect on the convergence rate of UOA as this does determine how the position of the agents get updated and therefore how agents in a family and community give care to each other by assisting each other to reach the global optima.
UOA has a fast convergence rate as compared to other algorithms due to it's community-interested nature. Ubuntu Incentive requires that all agents should be well off, this gives it an advantage over the other algorithms such as GWO, SSA and ABA which also group agents into social groups.

FUTURE WORK
Agents in UOA tend to go converge towards the Pareto efficient optima which benefits the whole community. Due to this characteristic, UOA is likely to miss global optima if advisors missed it as well. To help avoid this, it might be useful to look into effects of efforts exerted by families into helping each other at each iteration. This can be done through a family member exchange exercise through a loan(temporary adoptions) or a permanent migration (marriage). Temporary adoptions are common practices in Ubuntu communities, where capable young adults move into the family with less abled individuals until they have an abled permanent member.
This problem might also be addressed by adding the advisor's network of the families advisor in computing trustworthiness. This will enhance the exploration quality of UOA. This work also introduced Ubuntu Incentive Mechanism which is important since it provides an alternative definition of rationality. This definition moves away from the traditional ''self-interest'' to ''community-interest''.
It will then be important to test the robustness of this incentive mechanism by introducing and observing a conventional ''global_best'' term where the individual is said to be so without regard of how the community benefited at that time, i.e. self-interested global best position. In UOA the community's ''global_best'' position is obtained from the individual who belongs to the best family when the community was at their best payoff, this becomes the community-interested global best position. In a robust Ubuntu Incentive Mechanism, individuals should converge towards the community-interested global best position. This work assumed binary ratings and that agents have new random ratings at each new iteration. In In Zhang and Cohen [59], Zhang et al. [60], Zhang [61], Zhao et al. [62] noted that ratings can also be real numbers and an agent can retain rating knowledge from previous iterations. They also introduced the forgetting discounter factor which after an arbitrary time window, agents forget with a certain factor. It would also be important to investigate these Social Trust Network characteristics with respective to their applications in UOA.