Rhodri Davies, Programme Leader, Giving Thought

Rhodri Davies

Head of Policy

Charities Aid Foundation

The role of giving


14 November 2017

The idea of “AI philanthropy” is one that I have explored previously on this blog (also see our submission to the House of Lords Select Committee on AI Call for Evidence for a good overview). In this post I want to delve a bit deeper into what that might actually mean in practice and what some of the challenges might be.


For clarity, there are potential charitable applications of AI that, whilst interesting in their own right, are not the focus of attention here. This includes the various examples of using AI to help solve social and environmental problems (some examples of which I have highlighted here), or its use in grantmaking to filter grant applications (As suggested in this blog from Nesta’s Geoff Mulgan). What I want to focus on here, however, is the potential for using algorithms to determine the allocation of assets to the most effective interventions in order to address the most pressing needs at any given time. I’m going to call these “philgorithms” (and I’m assuming I will face no competition in laying claim to that particular ugly neologism…)

Feynman Algorithm

Before we get into the detail of what a philgorithm might look like, it’s worth saying a word on why I believe that this is an idea we need to explore. There are those who might say that the idea of algorithmic giving is nonsense; and that we will never remove the element of human choice and emotion from philanthropy. However, I think there are a number of reasons to think that this objection may not be as strong as it seems in the longer term:

1. Firstly, this is not necessarily about the direct replacement of human-led giving with AI giving. As in many other aspects of life, it is likely (in the medium term at least) to be more about the augmentation of human decision making by data-driven algorithmic processes. Hence there will still be an element of heart as well as head in the system.

2. As AI becomes more ubiquitous, and we all become more accustomed to getting advice from bots, conversational interfaces etc., it will not only become natural to expect the same to apply to our giving decisions, but it will seem actively odd if we are not able to rely on AI in this context.

3. There is likely to be a huge increase in high-volume/low value transactions as a result of the expansion of the Internet of Things and the corresponding increase in machine-to-machine transactions (an idea I have explored in a previous blog). The monetisation of personal data through self-sovereign identity may likewise create huge new volumes of micro-transactions (as I have explored in another blog). We could harness this for charity by introducing mechanisms that direct a percentage of each transaction automatically to good causes, but it will not be possible to have human oversight of each of these decisions. Hence the application of some form of algorithmic process seems inevitable (for more on this see our ‘philanthropic washing machine’ infographic and mock instructions).


Having (hopefully) convinced you that this is worth thinking about, let’s move on to consider how a philgorithm might be designed in practice. In order to do that we first need to understand a bit about how approaches to AI have evolved over the years (and why the pace of development has accelerated so much in the last few years).

To illustrate some of these points, I’ll use the analogy of the game Go as this has been a traditional benchmarking device for AI research for a long time. This is not just frivolity: the crucial thing about Go is that the space of combinatorial possibilities (i.e. the number of possible complete games that could be played) is absolutely vast (brief aside for maths fans: even if we limit it to games of 400 moves or less- i.e. those that might conceivably be played - there are something on the order of 10˄800. This is roughly 10 ˄720 games for every atom in the known universe. And if that doesn’t mean anything to you, tyake my word for it: that’s proper big). The combinatorial possibilities of Go dwarf those of chess; one of the other traditional yardsticks beloved by AI researchers. Hence creating an algorithm that can effectively play Go is seen as a pretty good marker of progress in AI development.

Many original approaches to AI were based on the idea that you needed to determine all the rules governing how your algorithm(s) would respond in all conceivable circumstances and then translate these into computer code. The problem is that in many cases this is not feasible. When it comes to Go, as outlined above, the number of possibilities is staggeringly large so there is no way we could ever write down a program governing “how to play Go”. (NB: obviously we could write down the rules of Go, but what we are talking about here is the strategies to win in all possible games).


In many other, perhaps more practical, potential applications of AI what we want to be able to do is create algorithms that can effectively replicate human abilities (such as natural language conversation or image recognition). The problem here is that although we as humans are usually pretty good at doing these things, we are actually extremely bad at explaining how we do them. So again, our ability to program computers to do these things by direct instruction is very limited.


This is why a totally different approach to AI research has taken precedence in recent years: namely machine learning. This is a catch-all term for a variety of approaches which (as the name suggests) work on the basis that rather than trying to program all the rules into our algorithms up front, instead we should equip them with a basic set of rules and give them the ability to “learn” for themselves by repeated experimentation and self-refinement. Interestingly, this was actually an approach posited by the father of modern computing, Alan Turing, back in 1950 in his seminal paper Computing Machinery and Intelligence, in which he says: “Instead   of  trying  to  produce  a  programme  to  simulate  the adult  mind,  why  not rather try to  produce one which simulates the  child's?If  this  were  then  subjected  to  an  appropriate course of  education  one  would  obtain  the  adult  brain.”

This machine learning approach has been developed by computer scientists over many years, but has accelerated recently. This is largely due to a combination of developments in the types of algorithms available (in particular, so-called “deep learning” algorithms;) and a massive proliferation in data, which has provided the raw material that these algorithms need in order to learn.

Alphago v Lee Sedol


Deep learning is behind pretty much all of the examples of AI developments that you will have read about in the news. For example, coming back to Go, Google Deep Mind famously developed a deep learning algorithm called AlphaGo that was able, as a result of studying data on hundreds of thousands of previously-played games, to become good enough at Go to beat the human World Champion, Lee Sedol, in 2016 :  a feat many experts thought would prove impossible for the conceivable future. The application of deep learning algorithms to the vast data sets created through use of the internet also explains why algorithms are now getting increasingly good at activities that traditionally proved almost impossible for them, such as conversing convincingly in natural language or recognising images.

There is one further development that we need to touch on before we come back to considering the relevance to philanthropy, and that is reinforcement learning. This is another form of machine learning that is starting to gain traction, and may bring significant advantages above and beyond other approaches. The basic idea behind reinforcement learning is that rather than tasking an algorithm with trawling through vast data sets that reflect past human behaviour (and which contain a clear indication of those examples that count as “good” and those that count as “bad”); or having to supervise the algorithm (i.e. having a human overseer tell it when it is getting things “right” or “wrong”), you instead give it a goal and a scoring system and task it to maximise performance against that goal.

In our Go example, this is the difference between letting the algorithm look at data sets on previously-played games (as the original AlphaGo did) in order to determine the best strategies for winning, and giving it the rules of Go and a defined goal to maximise (in this case winning games) and letting it play repeated simulated games in order to determine its own strategies for winning and refine itself accordingly.

One significant theoretical advantage of reinforcement learning is that the algorithm need not be tied to existing approaches that reflect human cognitive capabilities and biases. Any deep learning algorithm can do this to some extent, as it can spot patterns in the data sets that humans would not be able to and can thus formulate seemingly novel approaches (indeed this was one thing that many Go experts commented on about AlphaGo: not only was it winning, but it was doing so in ways they had never seen before). However, reinforcement learning algorithms can be totally freed of human influence and hence enjoy an even greater degree of freedom to come up with their own strategies and tactics that might never have occurred to a human; or might be impossible for a human to have ever developed (perhaps because they rely on processing vast quantities of data in very short spaces of time or performing large numbers of simultaneous calculations). And the intriguing thing is that this theory has now been borne out in practice. It was recently reported that a successor to AlphaGo based on reinforcement learning called AlphaGo Zero had been pitted against the original algorithm (which, remember, had already managed to beat the best human player) and had not just beaten it but trounced it by 100 games to nil.

So, having had that whistle-stop tour of AI developments, what does it all mean for philanthropy and the prospect of developing philgorithms? Let’s break this down into three sections, corresponding to the three types of algorithms outlined above.


OK, we can probably deal with this fairly briefly. What is the likelihood of developing a philgorithm by directly programming a set of rules governing its behaviour? Extremely low, I would think. It is far from clear that we even know (or could agree) how to do philanthropy well, let alone that we could explain how we do if we could. Partly this is because no one has (as far as I know) sat down and collated all existing instances of philanthropy in order to try and determine which ones produced the “best” result, so there is no objective answer to the question. And partly it is because there is an inherently subjective element to philanthropy (or at least human-led philanthropy), based on emotional response, cultural context etc, and it just doesn’t seem as though we would be able to translate that into the formal language of a computer program even if we did understand it.


There is an inherently subjective element to philanthropy, based on emotional response, cultural context etc, and it just doesn’t seem as though we would be able to translate that into the formal language of a computer program even if we did understand it.

The only current possible framework that I can think of for even attempting to do this is Effective Altruism. This is the approach to philanthropy based on utilitarian ethics (and the work of the philosopher Peter Singer in particular), which posits that our approach to giving should be agnostic as to cause and that our sole aim should be to maximise the amount of good that we do with our donations in terms of the impact they have on number of lives saved or improved.

There are some valid and important criticisms of the EA approach (which I have covered here and here), which in a very small nutshell can be summarised as: it doesn’t work as a practical approach to philanthropy in the round because it doesn’t reflect the reality of donor motivations, and it skews action towards that which is easily measurable at the expense of longer-term, systems change approaches that might be more powerful but are harder to quantify.

More importantly for our current conversation, I’m not sure EA actually makes it any easier to create a directly-programmed philgorithm. Even if it provides a strong theoretical framework, and perhaps the  best current candidate for determining a universal and objective “goal for philanthropy”, that still doesn’t mean that we can spell out precisely how it should be applied in practice in a way that could determine the operation of an algorithm with any degree of generality. It seems more likely that this “goal” could be used to determine a metric for success for proposed philanthropy strategies within a machine learning approach (as we shall explore in more detail below).



Having ruled out the direct approach, let’s imagine for a moment that we could instead do in the context of philanthropy what AlphaGo did with Go: namely, design a machine learning algorithm that could be equipped with a basic set of rules and then crunch data (with appropriate supervision) to determine an optimal philanthropy strategy. That raises two obvious and immediate questions: what are the rules and what is the data set the algorithm is operating on?

The former is probably the starting point for a vociferous debate, as it basically amounts to determining what should count as philanthropy and what should not. Given how much ink has been spilled debating the distinction between philanthropy and charity in the past, or the line between charity and social enterprise, or the role of social responsible business in doing social good, it seems unlikely that we are going to solve this question to everyone’s satisfaction anytime soon. Which doesn’t mean that we can’t define rules; only that we must acknowledge that they are likely to contain a certain amount of subjectivity or ideological baggage.

But then, as many critics point out (notably Cathy O’Neill in her book Weapons of Math Destruction) many existing examples of algorithms contain biases that reflect ideological views on the part of those who designed them, so philanthropy certainly wouldn’t be alone in this regard. The crucial thing is that any such biases are transparent so that anyone using the algorithm or on the receiving end of its decisions is clear about its parameters and limitations and can challenge them if needs be. The problems arise when these processes become “black boxes” which churn out decisions with real-world consequences without it being clear on what basis those decisions were made.

In terms of the data set, obviously we want part of that to be data on social and environmental need and part of it to be data on the impact of interventions; since what we are aiming for in our philgorithm is a way of effectively matching need to interventions at any given point. However, if we are also following the example of AlphaGo in terms of giving the algorithm the opportunity to learn by analysing previous human-led games, then we need to give our philgorithm data on previous and ongoing instances of philanthropic decision making so that it can learn.

The big question when it comes to all of these data sets is whether they actually exist currently. Arguably a lot of the data on need is already out there - although probably stuck in siloes within organisations across the public, private and charity sectors, and recorded in wildly incompatible formats - but I doubt the same can be said for data on social impact or data on philanthropic decisions. That is why I have previously argued that the prospect of AI-drive philanthropy a few years down the line should be one of the key arguments for developing consistent social impact measurement and reporting now (e.g. in this blog) Those organisations that stay ahead of the curve will be the ones that thrive in the new environment, whilst those that don’t may find themselves marginalised and struggling.


Assume for the sake of argument, however, that we have got all of these data sets, and we have agreed some rules for philanthropy, so our philgorithm can be set loose to analyse data on need, social impact and past instances of philanthropy. Is our work done? Not quite, from what I can see. We still need a way of assessing which of the approaches to philanthropy or donation strategies the philgorithm proposes (or adopts, if it is acting directly) is “better”. Hence we have to establish some sort of metric. Since we are assuming that we have data on outcomes, do we just look at which approaches deliver the best outcomes? We could, but one problem is that we would have to compare outcomes across totally different cause areas (or “impact verticals” as I was informed the other day they are now to be called. Although not by me anytime soon…)

We could, of course, make our philgorithm domain-specific i.e. we would stipulate one or more cause areas to focus on and the algorithm could then determine how best to allocate resource to address those causes. This would introduce an element of human involvement back into the process (at least up front), which obviously takes us further away from the goal of a truly independent philgorithm but also has the advantage that it might be more palatable in practice.

At least initially, donors are likely to want to retain the ability to set certain criteria within which any proposed philanthropy algorithm can operate- very few will be comfortable painting themselves entirely out of the picture.

This is definitely likely to be the case in the early days of developing AI philanthropy, as very few donors (or indeed advisors) are likely to be comfortable painting themselves entirely out of the picture. They will almost certainly want to retain the ability to set certain criteria within which any proposed philgorithm will operate. This may simply be the choice of cause area, as suggested above, but it might also include other preferences that shape the eventual nature of the algorithm: e.g. a preference for social change advocacy or direct service provision, a preference for small/local organisations over large/national ones, a preference for social enterprise over traditional charity etc. Obviously imposing criteria like these would make the philgorithm far more subjective, as it would no longer be able to determine the optimal approach based solely on an objective determination of what would deliver the best outcomes, but it would make it a better reflection of the reality of philanthropy as it is now. Donors might also be able to “toggle” the degree to which a philgorithm was based on purely objective criteria or on subjective ones; and it is possible that over time their behaviour would shift towards embracing objective criteria to a greater degree (or perhaps it wouldn’t – I think this is a fascinating thought experiment!)


If we don’t want to introduce any element of subjectivity or cause-area specificity into our philgorithm, then we need to look for an objective measure not just of which interventions are better than others within a given domain, but which causes themselves are “better” than others. And that brings us back to Effective Altruism, because it is currently the only attempt to do precisely that.

So developing a philgorithm to identify the best ways to allocate resources to the most effective interventions in order to address the most pressing needs, based on Effective Altruism principles and trained using data on previous instances of human philanthropy, might be a possibility. But it would still be subject to the criticisms levelled at EA that we touched on above. And unless we believe that EA is a credible general prescription for philanthropy as a whole (which I don’t happen to think it is), what we have designed is an EA machine learning algorithm rather than a truly general purpose philgorithm.

The question is: is that as far as we can go…? Perhaps not, as we shall see in the next section.


Could we carry the AlphaGo analogy one step further, and use unsupervised reinforcement learning to create the equivalent of AlphaGo Zero for philanthropy? I.e. rather than feeding our philgorithm data on previous instances of philanthropy and supervising it to rate them in terms of EA principles, could we let it operate simply on the raw data about need and social impact, give it a metric against which it could score itself and then run vast numbers of simulations to determine which philanthropy strategies came out most highly?

The exciting possibility, as with Go, is that a philgorithm developed in this way might come up with approaches to philanthropy that we have never seen before or never could have thought of. (Although that might also be a cause for concern, as we shall see!)

A philgorithm developed via unsupervised reinforcement learning might come up with approaches to philanthropy that we have never seen before or never could have dreamed of.

The absolutely fundamental question here is what the goal of the algorithm is. That will entirely determine how it learns and the approach to philanthropy it develops, so there is an enormous amount riding on it. Again, we might take as our starting point Effective Altruism. But this (as I have argued) is just one approach, and if it is posited as a system of rules for philanthropy as a whole, those rules are clearly normative rather than descriptive (i.e. they represent a view about how things should be rather than an attempt to capture how things are). Using reinforcement learning might enable us to come up with an algorithm that applied EA in entirely novel and intriguing ways to come up with philanthropy strategies, but this would still be an EA-specific philgorithm rather than a general-purpose one.

It should be apparent at this point that if we are going to come up with a general purpose philgorithm at any point in the future, the real work to be done is not so much in terms of the computer science or programming required to design the algorithm, but rather in terms of the philosophy, political science, economics and so on required to give us a theoretical framework to describe what philanthropy is for and how it works that is broader than Effective Altruism. This will then enable us to define what the goal of our reinforcement learning algorithm should be. It should also be obvious that I will have to leave that question unanswered, as it is beyond my capabilities at this point to come up with an entire philosophical system for philanthropy (and certainly not within the context of an already over-long blog!)

lot of work to do

If anyone wants a starting point for how we might go about deciding what the goal of our future philgorithm might be, there are places to look. I would recommend the work of the philosopher Nick Bostrom, for example. In his book “Superintelligence”, which is primarily concerned with the question of how we might design a general purpose AI without succumbing to the existential threat that it would simply destroy or enslave the human race (so it is a jolly old read…), he touches on various ways that we might design algorithms to “maximise good” from the point of view of human beings. This includes things like taking a naïve view (i.e. literally saying “maximise good/happiness/quality of life” and helping the algorithm to refine its understanding of what this means), or allowing the algorithm to determine for itself what constitutes “good” (with some appropriate human involvement, one assumes!)

The choice of goal for any future philgorithm will be crucial: if we get it wrong we may end up with significant negative impacts on charities and their beneficiaries through unintended consequences.

The other thing that Bostrom talks a lot about is the danger of unintended consequences when choosing a goal for AI development. Whilst his concern is general, the same thing applies to the specific case of philanthropy. That is why the choice of goal for any proposed future philgorithm will be so crucial: because if we get it wrong it will not necessarily just be a case of having a less effective version of automated giving than we might like – we might end up with significant negative impacts on charities and their beneficiaries as a result of perverse interpretations of well-meaning instructions. To give you a sense of what I mean, I will leave you with a few examples. Some are obviously quite far-fetched, but they are designed to illustrate the point. Also, once you start playing my new parlour game of “Suggest unintended consequences of AI philanthropy”, you’ll see that it becomes quite easy to get carried away…


Goal : “Maximise Good Outcomes”

Unintended consequence: AI decides to redefine criteria of “good” or what constitute relevant outcomes to make it easier to maximise performance based on existing strategies.


Goal : “Maximise the number of Quality Adjusted Life Years (QUALYs) for the greatest number of people”

Unintended consequence A: AI falls victim to “Pascal’s mugging” i.e. deciding that resources should be directed toward an event with a vanishingly small probability but an enormous impact on human lives if it were to occur. E.g. collision with an extra-terrestrial object that might cause a mass extinction event.

Unintended consequence B: One interesting twist on this scenario is if the AI determines that the biggest risk to humanity comes from a future technological singularity (i.e. when machine intelligence accelerates past the point where humans would ever be able to catch up). It might therefore think that the best strategy is to put all of its resources into finding ways to undermine advances in AI research and technology i.e. it would direct its energies at ensuring its own development was stifled.


Goal: “Make everyone happy”

Unintended consequence : AI puts all of its resources into pharmacological and neurological research to design a substance with no physical side effects that induces a constant state of euphoria, and then designs mechanisms to ensure that the maximum number of people get access (e.g. by addition to water supply)


Goal: “Maximise average human happiness over time”

Unintended consequence A: AI determines that the major problem facing the world is overpopulation, and that actually by reducing the population to a lower level, the average amount of happiness can be dramatically increased. Hence it develops a strategy that includes taking money away from prevention for certain diseases, actively funding anti-vaccination propaganda and promoting lifestyle choices that lead to known health problems whilst also lobbying for changes to healthcare that would reduce the chances of people with certain conditions surviving.

Unintended consequence B: Or, to take this to the extreme, perhaps the AI decides that the best way to maximise average happiness is to concentrate its efforts on making a very small number of people happy to an extreme degree for as long as possible. Hence it develops euphoria-inducing substances (as above) and gives these to a small cohort of humans kept in laboratory conditions, whilst using life extension technologies to keep them alive as long as possible (perhaps even in perpetuity). So, over time, the extreme level of happiness of this cohort would ensure a higher average, even if the rest of the population lived in abject poverty and misery.

As I acknowledged, these examples are merely thought experiments (and ones of an increasing dystopian nature, obviously!) The point is not to suggest that these are in danger of happening now, or indeed at any point in the future: rather it is to make it clear that the process of designing algorithms to deliver social good could have significant unintended negative consequences so we need to be very careful how we proceed. There is a great deal of work still to be done in developing the philosophical, political, social and psychological frameworks around philanthropy; because what are currently intended as efforts to describe what philanthropy is now could unwittingly become criteria that determine what philanthropy can be in the future if they are enshrined in code that governs how it operates. This means that the stakes are potentially very high.