Hi folks. I think we'll go ahead and get started. I'm Rob Faris. I'm the Research Director at the Berkman Klein Center, and it is my great pleasure to introduce and welcome our speakers today. We are being live webcast, so be careful what you say. It'll be out there for posterity, and if you want to check out this talk again later, you can certainly do so. So I'm gonna read this because their resumes are so long and impressive, and I don't want to get it wrong. Nick Koldry is the Professor of Media Communications and Social Theory at the London School of Economics. He's written more books than we can mention now. They include Ethics of Society, Media Society World, and Why Voice Matters. We're lucky to have him in the neighborhood this year because he's a faculty affiliate at the Berkman Klein Center, as well as a visiting researcher at Microsoft Research. Andreas Hepn is Professor of Media and Communication Studies at the Center for Media Communication and Information Research at the University of Bremen. His books include Cultures of Mediatization and Transcultural Communication. One of these days, I'm gonna be able to say that word fluently, Mediatization. That's one of the things they're gonna talk about. We're here today to learn about and celebrate the recent release of their book, The Mediated Construction of Reality, which is uncomfortably important and salient today in the United States as it is around the world. They're incredibly impressionant in producing that work. So I'm gonna do us all a favor and let the speakers speak for themselves. We have just until five o'clock because they're on a shuttle to New York City. So I turn the floor over to you. Thank you so much for joining us today. Thank you. Thank you very much, Rob. It's great to be here. Yes, there are two copies of the book there, and leaflets, so discount leaflets. So please take advantage of that. Yeah, we're really pleased to have the chance to take us through the book and give you a key message, and we're gonna focus it towards the end. I put up there the first sentence of the book. Suppose the social to be mediated, what then? Those of you who philosophers might recognize in there an echo are the first sentence of Nietzsche's greatest work, Beyond Good and Evil, which starts, suppose truth to be a woman, what then? Nietzsche was trying to say the most shocking thing in a profoundly patriarchal society. Let's leave aside the politics of whether he was right about that or not. We're trying to say something shocking here. Suppose the social to be mediated. I suppose is to really take that reality seriously. What does that mean? And the idea of the starting point of the book is that we have to rethink the relations between three things on three levels. On the one hand, something which is quite wrong on classical media sociology, the relation between media and the social. Of course, this is something which is discussed for a long time. But if you look at classical social theory, this is not that long of a fact. With that book, we wanted to go further also to determine the social theory, literally. So the embeddedness of the everyday life and even as a third step to think about data and datafication, how to construction of the social changes when datafication becomes an important part of society. In all, we have to win that book as three-step argument. In the first part, we start with constructing the social world. So this more or less foundation of the further arguments within the book, we develop a communicative approach to the construction of the social world, reflect how mediaization is a lot in history. And then with a three-correction perspective, we'll talk later on about this. So this means how to think or rethink about social relations in terms of deep utilisation. The second part of the book is focused on the different dimensions of the social world, especially the whole argument process. It all goes together nowadays with data. And it's the reason why we think that many of the classical arguments about knowledge doesn't work anymore. And finally, the end of the book with agency and social world, how this changes the possibility of acting on various levels. The media construction of reality. So what do we mean by social reality? Looking backwards to classics, some logics of history, there are always the argument that we have two points or two aspects in mind. First of all, the level of mediation. This is construction of meaning. But on the other hand, the aspect of social relations that means how structure comes with a society. The core argument we develop within that book, which we started in that book, is that the process of constructing society is in all the common of this process. So it's about communication. Communication is a core for constructing the social world. But with communication, materiality plays a role, which means, first of all, that we do not only have to reflect about meaning, but also the built-in environment of this materiality.  And this is the point where we come to a core concept within that book. And this is the book. And this is the concept of deep mediation. So what do we understand by deep mediation? Deep mediation for us is an advanced stage of mediation, which all elements of our social world are deeply related to media and then for searches. And there are five points, five dimensions of five trends, which are driving forces of this deep mediation. First of all, the differentiation of media. So in the beginning, there was the idea that the digital media all would converge into some kind of super-media. So what we have nowadays is the diversity of media, the internet of things, so rather plurality of differentiation of media, which on however, and this is the second trend, connected by an infrastructure, the infrastructure of the internet, which interrelates these different kinds of media. Because of mobile communication, the third trend, these media are embedded everywhere. So there's nearly no social situation and even more at least in the western world, in which we do not have access at least to some kinds of media. But these media are, and this is the fourth trend, not so stable anymore like it has been. As these media became all software-based, we're not confronted with the situation that all these kind of media, platforms and so on, are developed ungovernedly. We are living in a situation of perpetual data. And finally, there's the trend of datafication. As these media are based on software, they are not just tools of communication anymore, they are nowadays all the time also tools of producing data, collecting data, and communicating data when we use these media. All of this results in what we call the media metaphor, which means a complexity of media, a world or an environment of media in which these media are closely interrelated with each other. And to think about social construction within this media manifold, this is the starting point for our implementation within the world. If you look here back to classics and social theory, like for example Berg and Blöckmann, who wrote a book about social construction for everybody, we immediately got a feeling about the difference of the times when they were writing the book and the times you're now living in. So they still had the idea that it was direct communication, faster face communication, by which the social world is constructed. And they do not reflect media anymore at all. Nowadays, we live in a situation where we can't talk about processes of social construction without having the variety of media in mind, because nowadays communication is not only direct communication, but it's communication which is deeply embedded in that media manifold. Social relations are because of that partly constructed through data and data verification. So, just taking a step back for a moment. There was a classic book written in 1966, a social construction of reality, believe it or not, a best seller in the days when sociological books could be best sellers, and we're trying to echo that 50 years later in a book about the mediated construction of reality. And it was one of the few books that tried to get a view of the whole social world, see it all in one go and see how it holds together. A problem, it doesn't talk about media, because television was already very present in 1966, but nonetheless, it's worth going back to as a starting point. There's just one problem though, that the whole classic starting point of phenomenology doesn't provide us with a secure enough foundation to make sense of what data actually do in the social world. And that's one I want to talk about for a few minutes, because this is a deep problem we had to confront in doing the book. So, we specifically identified data verification, the move to translate every particle of the social into data for further processing, as really the fourth wave of the mediatization of the world over the past two centuries. Digitization was the third wave. We're now entering a new phase, which is datification. We're just at the beginning of that, but what does it mean? Well, it certainly potentially poses a challenge to the classic thesis of social construction of reality, which basically assumed that you could build up a picture of how the social world hangs together by listening to what each person within it says and thinks about it. Add all those together and you get a world that somehow harmonizes into a coherent social world, more or less. Institutions involve two, but basically that's it. That doesn't work for a data-five world. Let me explain why. The first of all is that there's so much data being produced that human beings can't count it and collect it. It has to be done in an automated way. That means something other than human beings has agency in this. That's the first problem. The second problem is that those data processes are not doing what they do for us in a way that we plan. They're acting in accordance with the goals of external actors, corporate actors, commercial actors. Perfectly legitimate goals, but they are not the types of goals that single human beings can have, such as to make profit on the level of tens of billions a year. That's not a specific goal that an individual will have. It's a corporate institutional goal. It's external to what we do. And yet this is the key thing. It's not as if all of this is irrelevant to our lives like the way that electricity current is put together in the wires down which it's sent. Data actually contributes to the making of what we know about the social, or at least it passes for social knowledge. So we can't ignore it if we're trying to see what do we know about the social world. So we've got to think about the status of data-fied readings of the social world for social knowledge if we're going to understand what the social world is in spite of all these problems which are built into what data are for phenomenology. In other words to sum up, there's a whole premise of phenomenology at least in the traditional form that sums up their whole book that everyday life presents itself as a reality interpreted by men sorry, 1966 and subjectively meaningful to them as a coherent world. That's exactly what we all know we cannot assume now because something else which is data is involved in the mix, in the water if you like. That's just the start of the problems though because we know that data is designed to discriminate between human beings that is the point of collecting data. And those discriminations categorize us discriminators between us for various purposes, commercial others, other issues of justice there, but they're core to what data do, the world is remade in this way through the counting and sorting. But we can't see into that process. Some of it because it is commercially sensitive it is protected from us, the doors are barred some of it because it's so complex that even the inventors of Google's algorithm do not know how it plays out at every moment in time because it is machine learning it cannot be unpacked into something humans can know in full detail it's necessarily opaque actually just not staying on the opacity classical social theory thought about opacity. They had an idea that yes we don't know about what's going on and we certainly don't know the future but in the end we know who to ask and in the end the future becomes the present so we find out. So opacity isn't a deep problem in classical social theory, but it's a deep problem now because the social world is necessarily opaque to a large degree as the legal theorists duly co-inemphasize. That's important if we can't see into the way this world is made we can't intuitively understand it in the same way we used to take for granted also our relations the tools have changed tools are always black boxes to some degree but that doesn't matter whether you know how your car works you still know how to drive it. However there are different types of black boxes today. The tools we have today the digital tools are black boxes in the sense that as we use them we know they are already using us for their own purposes which are the collection of data as I said. So that's what we call in the book tool reversibility. Tools are meant to be things we put in our hands to achieve what we want. Now at this very same time they are already achieving something through us because of the fact we pick them up that's a radical change in what a tool can be and that changes again a basic assumption of classical phenomenology which creates a new way of thinking about complexity the world has always been complex but it's now complex in a very different way so the question is what concepts can help us understand that complexity back to Andreas and if you look here so for theory it is the concept of the network on the other hand the concept of fast and flash for sure those concepts have the strengths but the core argument we develop is that they are too weak to reflect what's going on and there's a reason why we go back to another concept the concept of affiguration originally developed by more liars and try to rethink so why that? If you look at network as a concept this is about structural lens and more or less it is not a concept which allows us also to in our analysis questions of meaning production we remain at that level of structural lens if you look at the concept of fast and flash like it is for example discussed by Latour and others the core thing which came into the discussion by this concept is on the one hand that we also have to reflect things and technology when it comes to the construction of social life or the social world the idea is that we have to follow the actors life so we follow from the various kind of actors processes constructed in the social reality integrated within that analysis also things, machines and as a certain kind of actors never the last this concept remains weak because it is linked to an idea that society would be flat consisting only out of us in parts and by that it does not become possible to integrate questions of power power relation and how society in total is feeling if you look now at the concept of figuration it is a different kind of thing it is also a concept that has a certain link to the idea of network so it is about the interrelations of different kinds of actors but it more reflects the tensions between these different kinds of actors the power relations between these different kinds of actors so the idea of figuration like a group for example like a dance for example these are the examples not well enough to use is that within a figuration you always have a certain kind of power balance between these different kind of actors which are involved in that figuration furthermore you already integrated network analysis the analysis of the construction of social meaning so for him the borders for the borderlines of the figuration are always defined by the meaning of this figuration and because of that it is not just an abstract structural thing like networks are just look at the diagram again just to summarize what Andrew is saying the arrows go both ways there's pulling I'm pulling on you, you're pulling on me and we're doing that because something matters about the game it's not just a link something's at stake something has to be got right something means something this is a dynamic way of thinking about complexity an amazing discovery we made there we're adding in it's not just between us because of course we're also being pulled by social forces Elias had the idea not only we're pulling on each other but each of us is being pulled laterally by society so there's a very complex play of forces and here's the amazing discovery we made in writing the book that Norbert Elias had conceptualized this at least 10 years ahead of La Tour actually it's more amazing that he had the concept of the figuration in the 1930s when he was in exile from Germany it's in the civilizing process in other words he was about 40 if not 50 years ahead of what we think is the most advanced thinking about social complexity today and that is sobering let me take you through how amazing his idea is it's a model of processes of interweaving within networks he stresses the networks like a game of cards but that's only the most simple example social interweaving with that special kind of order La Tour could have written this that starts from the connections the relationships and works out from there to the elements the elements are produced out of the connections and the key thing the behavior of many people intermeshes to form interwoven structures I think that metaphor is really important because when something meshes it's not just linked there's a pulling which gives the strength to the lattice work he actually uses the concept of lattice work from chemistry this is a very dynamic way of thinking about complexity it's not an engineering model well that's dynamic too operating in higher dimensions let me just bring that out because it's clearly not just to think about particular card games to understand contemporary society we have to move from there to complexity so in the book we develop the concept of figurations of figurations higher dimensional figurations all of them pulling on each other to produce higher dimensional tensions that intersect in our bodies and we have to live here's a diagram that explains that so there's the simple figuration but something's pulling it from outside another figuration and another figuration each of them being pulled there could be a hundred a thousand dimensions societies made out of many many dimensions and the tensions at the higher dimensions it's no good just looking at one dimension to see the complexity and that's I think familiar it helps us think about as it were wicked or insoluble problems we're now facing but Elias had already grasped this with a little addition from us so what does this mean for social order well the first thing we say in the book to get the handle on this difficult concept of figurations of figurations i.e. higher dimensional tensions is that Facebook is a clear example of this Facebook is both an infrastructure and it's a site of many levels meaning making it's both together not one or the other and it's being pulled and it's pulling in multiple directions and it gets into a lot of problems it will come to at the end of the talk so the question is what does a social order look like then if it's built out of many entities that have this sort of property as we know now today it is well one very striking thing about the platform the digital platform is that it's a space we can't draw a line anymore between the social and the economic of course the economic has always been a little social and vice versa but now when we are acting socially hanging out with our friends we are in the economy that is a radical shift in social space and economic space and it's part of increasing interdependence which is creating for good or ill new types radical new types of tension let's take the case of the law the law itself is a complex figuration emerging from many many competing parties pulling on each other but of course there are new parties platforms far beyond the state are doing whether they want to or not the work of regulating their content they may not want to do this but this is de facto what they are doing and they are being pulled on as they do this it creates a massive complexity because law has to try and be the attempt to regulate the whole social order that amounts from all of this but how is it going to do it how is it possible even to conceive of this problem well again this is the problem that facebook faces we had the global policy director of facebook here two or three weeks ago and I was struck by her answers which offered credible procedures for trying to decide certain things that are totally reasonable but the real problem that facebook faces is where does it get its authority from how can we imagine an institution that has a constituency bigger than even china two billion people now on facebook that has the authority to make legitimate decisions about the way the public world could be no government can yet do that why should we imagine that facebook can are we clear about the size of the problem in other words unless we start to see it from a social theoretical point of view this is not a technological or legal problem it is a profound problem about what social order can be so we want to leave with three questions and then have some discussion all of this leads in the last two chapters of the book focus on this once you get beyond the details of the concepts that get us to this point so some really urgent questions for thinking about the types of social societies or let's say social orders they go beyond national boundaries for sure that we're living how can governance either regulation for good human ends of this social how can it be effective anymore where does the effectiveness come from what resources can it draw on does it have the resources even if it's effective it still needs in the long run to be legitimate because I can hit you over the head and that's very effective in the short term but it's certainly not legitimate and you will hit me back and that's unstable effective governance has to also be legitimate but where does the legitimacy come from on the scale on which our platforms are now operating I genuinely don't think we know the answer to that question and it's a question that only starts to become clear when we put all this in social theoretical terms and think about the social relations we're talking about not just the mechanisms and that raises the third question society in the general sense any human society the social order we're trying to live now can it be governoral what are the consequences if it is no longer governable how is that compatible with democracy order I mean order not in the sense of closing things down but a basic order which we can live while remaining sane those are the questions we think that social theory forces us to ask and we don't have the answers but we hope they're interesting questions thank you for listening we look forward to your questions maybe we should go and sit on these wonderful chairs we do have a couple of mics floating around just in case we just want to make sure we get any questions a question that I'm not going to attempt to answer those those are really powerful important questions I hope we'll come back to those but I was struck at the confluence of datafication and reality in your talk and I realized that intuitively I would have thought that more information more data would more firmly root us in reality or at least a shared reality of some sort and we seem to be in interesting ways moving in the other direction is that consistent with what you would have expected or what your travels have led you to believe does it make sense well you could be right in the long run about the direction of travel if these gaps we're seeing these fissures if you like in the world that's offered to us through data get filled in we start to trust all sources of data we start to understand better how it's generated we understand how Facebook's algorithms work validly to present us with the news feeds and other things they present us to understand if those things can be filled in, patched up you could be right but at the moment these are big cracks and their cracks link to the very different way that the information is now sourced I mean Berger and Lukman had the idea which wasn't sentimental it was quite hard headed however complex institutions are in the end they're made out of human beings broadly are calling to rules we roughly understand and we can somehow ensure it okay that's how the government somehow reached a decision like that or that's how my school rejected my child and so on and so forth and on that basis we trust those institutions it's pretty obvious we're in a situation where trust in data platforms is at least uncertain at the moment it's being worked on earned uncertain and the reasons are not because these are bad institutions or bad people they're linked to the fundamental nature of what they have to do which is to deliver legitimacy for something that goes far beyond what human beings are doing it has to be automated this is a really big problem that Berger and Lukman could never imagine so you may be right in the long run we may solve all this right now we're not solving this is an example large parts of the stock market are based really on software negotiations which take place are not human actors anymore who do it? it's a software program so you get a completely different point of view to social construct it's not just by the humans it's a delegation to technology humans cannot over human and then you end with another perspective of regulation this kind of market completely different kinds of dimension you have to regulate together for example, stock markets like you have like Berger and Lukman imagine a market where people, human beings come together and engage and if you look at the financial crisis partly this is also driven by data vacation because of this really deep transformation of the stock market I have a question about the slide going back to hidden social discrimination so there were two two lines that you had summarized one being that the world now being remade through counting and sorting and another which is that algorithms are necessarily opaque and... necessarily partly opaque so I'm thinking back on for example early efforts of cartography where the world is actually made more legible by measurement through procedural abstraction and perhaps I think algorithms are not opacity is not a property of algorithms themselves right but incentives they're incentives to keep them opaque and so my question is from your from the social perspective how can we organize societal pressures to push for more transparency, for more equity and accomplish through market incentives or what other incentives or regulations can actually make a difference in the heavy agency well I'd step by one point I think there's one reason why we said that algorithmic produced knowledge is necessarily partly opaque which is because of machine learning there's an element of complexity which is non-linear which can't fully be unpacked and we might know what generates it in broad terms but it cannot be unpacked even by the engineers themselves so that's always going to be a problem maybe we can find ways of living with that and tell stories to ourselves that allows that to work the commercial force is massive because I think it's very interesting to do a historical comparison I've been doing this in the past month or two well I've been here 19th century you had a parallel explosion in social knowledge the birth of statistics the discovery there were means and averages there was an average man who behaved with this astonishing regularity this transformed what policy could be it led to new concepts of poverty and so on it got to an extraordinary revolution but as I was reading that history and that's where the quote about making the world comes from Ted Porter's book that was primarily a public infrastructure of knowledge people were pretty clear and out in the open they were intensely debated even Dickens and his novels made fun of it it was out there and it was debated we now know that's not the type of public space we're in at the moment maybe we can imagine a greater shift with an increase in literacy so that we start debating those issues but think about the issues around blockchain or something like that the structure itself is so complex that only a small number of people fully understand it it is not something that straightforwardly translatable in other words what put it at its crudest because of these greater interdependencies we're reaching a level where the complexity that underpins the infrastructure on which we rely just to live our lives is so complex we cannot fully see into it because of the complexity however hard we try and I think that makes it a different type of world it's from the ones with classical social theories assumed that you could there's always an element of opacity but it was solvable what if it's not solvable anymore that changes the basis on which we can trust that world which in the end tests its stability unless force is applied to which is not what we want to talk about we want to talk about democratic solutions you could be right but I don't see my progress at the moment you may be more optimistic you may can see more light I think there was a question at the back yeah thank you it's sort of a question towards methods so I'm quite struck with what's it like to develop social theories on these issues as they are evolving what both are perhaps the biggest challenges including in communicating them to people to get understanding to sort of have the relationship especially to topics that are so politically politically discussed so what's both challenging and also rewarding about that you want to start okay well Andres is being modest he's actually doing some very interesting empirical work on some of these things on the ground the quantitative by itself you might want to I'll start if you like because theory I love doing theory I do enjoy doing it I feel a new urgency in doing it when I am not understanding the situation of things around me and I feel we're struggling to get a sense of it that's what theory has to be useful there's no value in itself unless it gives us tools in our hands so we had to work on those tools for constant debate but we draw on a lot of secondary literature and try and distill the lessons from that and that's where the empirical comes into this especially for me many of the main parts of the books are based on a theoretical result and so for example what we did is compare different media generations how the community both have changed on our recently pioneer communities one defined self-maker movement and so on again from the point of view how getting more of the processes of change in the social construction and if you have this point of view in research or this perspective in research you you are confronted with the question which integrating concept might you use to compare really very different fields of society and then looking at a general discussion you and first of all either by network glasses and in empirical research of course we did network analysis and of course the idea to integrate technology in the analysis and follow the actor and so on like it is done in ANT or in other large concepts is a hell but as an integrative concept to compare so different things like community building in the everyday life the pioneer communities already there it falls short and this is the reason why we ended because of this empirical research with a figuration approach so for us it was a practical help to integrate various kinds of network with other forms of analysis which are more based on established qualitative methods like calculation per example or qualitative index it is an integrative concept which fits from our point of view very well with different kinds of empirical analysis and we had a quality research unit on that which really tried this approach, this figuration approach to compare very very different domains of society and how they change with media data application, things like for example school journalism organizations of journalism or for example communities all of them you can understand in some way as figurations with this kind of tensions and you can reflect or do an analysis how these different kinds of tensions change when certain kind of new media are involved in that and always it's not only one kind of media, it's a variety of media and by this you have a tool to compare very different social domains and how they change with media dataization so in core or in essence this figuration approach is for me especially an analytical approach to do empirical research on various social domains and compare how these social domains transform changes with the latest media but I have a question about your questions the term governance seems to preempt the object because in general I think certainly usage I'm acquainted with that governance points away from states as the origins of regulatory frameworks and towards mixed frameworks like let's say where we are internet governance which involves a huge variety of disparate bodies from corporations to expert bodies to international groups and nation state actors have you preempted the answer to your question by effectively saying the state isn't going to be the central actually I don't like the word governance I feel a compulsion to use it because it has become so now I completely share your critique of the word I don't like it because if we give up on the idea the state the only so far successfully means of representing a large number of wills has something to say they were in trouble so I couldn't agree more we used it for convenience could have put it in scare quotes if you like but there's no doubt and Julie Cohen's work is particularly strong here from the Georgetown Law School that and I've been doing separate work with her is that like it or not the regulation for the public good of this world we call a public domain which we want to be good rather than bad is increasingly being done by institutions which are driven by their own perfectly valid local as it were commercial ends not by entities that in any sense need or claim to represent a public wider interest we've operated with that market for while you mentioned the market and of course that's a very important philosophical position to say the market must be able to provide that I think at this scale it's extremely difficult and we're seeing that tension around entities like Facebook to give you an example of the Facebook manifesto published on 16 I think it was the 16th of February this year by Mark Zuckerberg which I'm sure everyone's read it if you read that addressed to the global community virtually every sentence is ambiguous because he's having to face two audiences at the same time he's having to say you are the real human beings who are independently choosing to use Facebook you're independent and and you are our community I've studied it closely he keeps sliding between the community which must be real beyond Facebook and our community and this is a serious problem that I have some sympathy that they are on this and it goes to these social theoretical roots we don't know how an organization that should be and yet we criticize it we're angry with it because we haven't modeled we haven't thought the complexity through to that level so yes you're right the thanks for drawing me into that governance is precisely slippery and difficult here and we've got to get a grip on it we cannot let down there the figuration perspective so when it comes to regulation this perspective is helpful in double sense first of all we can think about the agencies of regulation as a certain kind of figuration that changed a lot it is not just the state anymore when it comes to that governance for example we have a completely new kind of figuration and at the same time as the other level the problem is how to regulate this complexity of figuration and again it is not something you can think and work in the borders of a state if you talk about Facebook for example and so thinking in this figuration perspective allows us to have an analytical tool to grasp what changes within regulation so it is for us on one hand it is this normative aspect he was talking about on the other hand it is this analytical aspect to think about how regulation changed and when it comes to internet governance regulation of the internet the interesting thing is that partly these new forms of regulations new figuration of regulation only work because they are also mediated in a certain way so within that media and technologies they play a role so when this is the double complexity you have when it comes to internet or the internet governance which is completely different if you compare the problems of governance regulation at say 50, 60 years ago when classical social theory thought about these problems so I have a question about where the individual fits into this framework so we with deep mediatization we have a stronger centralization of information of data states corporations platforms like the Facebook, Twitter where does the individual fit and solely as a consumer of data source for data neither a sheep in the pack I'm just curious if you take this perspective the individual is never thought as isolated it is always in the crossing of various figurations and these figurations are nowadays also figurations which are mediated so the individual is always part of social groups within face of other kinds of social media and how he or she is constructed itself as a person as an individual has a lot to do with the tensions and the kinds of figurations he or she is involved in and by this means that you never can think about like for example datafication or commercialization which is outside of you always from the beginning the construction of the individual relates to processes like that and so the idea is of that kind of perspective not separate the individual from society but see from the beginning it's always as he or she is embedded in certain figurations part of society and the society as such as this complexity of figurations but never ever beyond these or beyond individuals so it's the kind of thinking which starts fundamentally from the argument that you cannot separate society from the individual you have always analyzed both together and that's the answer that Elias says is a very rich one but I think you've also asked a moral question in effect we could have the most complex theoretical vocabulary but if it's losing touch with the realities of everyday experience something is dislocated and actually Elias said that in one of his books he said that we can analyze as much as we want these figurations but if we don't understand in the end what matters is human beings in the figurations and this is why that diagram was so important because whatever the brilliance of Latour and other writers to tell us about linkages and non-human objects in the end when we have a serious conversation about the lies and whether it's good or not it's the human objects we care about and whether the lies will have been good in the end and that comes down not just to how they're linked but the meaning of those links and so on and these pushing so the individual is absolutely in there struggling, pulling, being pulled and that's I think how we start to get a sense of how deep these contradictions are we could have talked about time as well turns out that Elias used this theory to explain time pressure through system pullings that happen to be intersected with the person who has to be at the airport at 7 o'clock and you feel this absolute tension but so we're caught in this so it's both and but it's really important to ask that question where is the individual this a lot of social theories lost that moral ground in the past 20 years in my view so I'm glad you asked it, thanks I think we have time for one more question awesome maybe two quick ones take them together and then we can try and ask them together great and I'm sorry I don't mean to backtrack there's a lot to pick up on with the discussion just started about the role of the individual but I wanted to go back to the question of governance because it was one of two of your main concluding questions around the effectiveness and legitimacy and I take on board and I don't want to be the defender of the framework of governance but I think that your response to that question kind of presumed a level of functionality dare we say like democratic and functioning governments in this to play that role of regulators or as entities that are having something to say about regulation and I think that one of the appealing things around governance and one of the things that was supposed to be something that was positive in this power dynamic shift is when it comes to authoritarian countries or even liberal democracies like Britain France UK that are struggling with some authoritarian like policies especially when it comes to pressure on social media companies in particular that changes how we how we look at this a little bit and so I will stop there and just say I'd like to ask for you to say a little bit more about that in one sense I'm also not trying to come across as defense of the companies in this space because I think they're when we look at governments and corporations we have to look critically at both but at the same time I think one of the big pieces is the kind of collusion collaboration and the relationship between those two and how do we how do we approach it from that perspective electric and you ask a quick question to read good to hear see if we can actually I think it was quite related my question was I'm intrigued by what you say about companies that act for their own purposes and not the purposes of the community and not not that I disagree but I'm also I'm interested in the sort of rhetoric that you were mentioning about Facebook saying our community and trying to actually reflect the interests of the community and I think it plays into the question on governance so have you thought about whether a community such as the Facebook community could become a sort of form of self-organization I don't know yeah well these are great questions so let me go to the question what is it to do social theory what is it to a try we're trying to develop a general model of the minimal level of complexity of the problems we're dealing with today basically now you're adding quite rightly the additional levels of complexity which is a lot of governments don't work institutions don't have the resources and so on and so forth some on the other hand can fight back and can great but what we're trying to get at the social problems we face today are at least this complex and if they're at least this complex then we know we don't have any off the shelf solutions to problems this complex we've got to think at that level of complexity to understand there are these sort of tensions of order built in to the very baseline from which we're starting today that doesn't mean to say that things aren't a lot more difficult and we don't we try to abstract from the political debates around Trump and all the things and everything collapse of government in Britain you name it because those are the additional level of problems but they're linked to these baseline problems that we don't know where trusting government is coming from anymore we don't know how governments can function at this level of pressure to deal with the speed and so on we could go on and on and I think we need to get that baseline clear which is in no way to neglect the importance of the specifics but hopefully theory like this gives us a starting point to thinking where do we start to get into the empirical cases which you know Andrews does in his own work a lot and I do in other works so I think we'll but coming to the end where our own time complexities will force us to get the taxi we've carefully arranged but thank you for coming and for your questions and thank you to the online audience and the people watching at some later point in time. Thank you so much for joining us today. You've blessed us really a lot to chew on. I wish we could continue the conversation right now but not at the cost of you missing your flight but this is a really important material for us in the community to chew on and we will continue the conversation online as we see each other first so please join me in thanking professor


Good morning, everyone. Welcome to Functional Conference 2022. We are at the talk by John Azaria about nature-inspired optimization algorithms. So John, thank you so much for joining us and I'm handing over the mic to you. Thanks very much. It's a pleasure to be in a functional conference. I've been in a specifically functional conference for some time now. And over the last couple of years, I've been fully around with writing some optimization algorithms and I thought, well, this would be a good time to actually share some of the learnings that I've had in terms of implementing nature-inspired optimization code in EFSA and Rust. So my name is John Azaria and I'm a principal architect at Microsoft. I work on that as a Kubernetes team. I used to work with these fine people up at the Microsoft quantum team where I was one of the people who built the first version of QShop, Programming Language and Quantum Computers. I wanted to acknowledge Dr. Helmholtz-Kreber specifically for giving me a lot of mentorship and helping me along in trying to build out my skills in the optimization space. There's a disclaimer that this is not an official Microsoft talk. So for actual official Microsoft quantum material, you will need to contact the Microsoft Quantum team. All right. So we have a lot of material to cover today. I just want to walk through the agenda a little bit and then sort of get moving. I'm happy to take your questions at the end. So please put your questions in there. I'll be happy to address each of them as we go along. So let's start by talking a little bit about the current state of classical computing. What are the big problems we have and why we can't actually solve them? A little bit of an introduction to quantum computing and then segueing into quantum optimization and optimization in general. And we'll wrap up with showing some code and talking about magnets and long walks. All right. So in terms of classical computing, 48 years, we have seen the trend. It's very clear about how machines have actually evolved over time. We have a lot of transistors on chips and the transistors are really, really small now. But the clock speeds have patterned for 20 years. This is reality. This is fundamentally because we are hitting the limits of physics at this point. For example, this trend, the orange trend that you see in terms of the number of transistors on the chip. You can't make chips any bigger. You can't make the transistors any smaller because we are now reaching the point where transistors are literally toggled on by one electron. And you can't remove the heat fast enough. So this trend, while it's been held for a long time in terms of Mohr's law, will actually plateau off.  So we've reached, in some sense, a dead end and we need to do something to improve further. Now a reasonable question to ask is why bother, right? Like we solved all the big problems, why do we need to even look at bigger and faster machines? The reality is that there are some problems that we can't really solve. For example, when we want to do drug discovery or carbon capture, any of the sort of emerging technologies that are needed, anytime we want to simulate a natural process, it turns out that classical computing actually doesn't scale up well enough. So for example, let's look at hydrogen, which is a single electron system. And just to map the states out of that single electron requires us to know quite a bit about its quantum state. Now as you add electrons to a molecule, every electron that you add doubles the space required and we hit a very hard limit very fast in that when you want to simulate a thousand electron system like a reasonably sized molecule, you don't have space, right? Because there are only two to the 400 and something atoms in the universe and you need to store at least for a thousand electron systems in the order of two to the thousand coefficients for the calculation. So we don't have space, we just run out of space in the universe to be able to do this kind of thing. And that's a reality. So we're going to hit that very fast if you want to solve any problem relating to molecule simulation. This is cryptography. I mean this is a 2048 bit system. To factorize that number is necessarily hard. In fact, we depend on the fact that getting the two individual factors of that supply to actually work properly in semi time to work properly. Now, if you wanted to look at a 1024 bit number which is half the length of that thing, you need half a million four years to factor. You need this complexity because we depend on it. And if you want to now build systems that actually need to either defeat the cryptography or get better systems, then you need systems where just doing the math is more difficult than you can do classically. Another common class of problems are the NP-complete problems. These are provably non polynomial type problems. They turn out to be profoundly useful for industry. Like you would have all come across time and says when or free sample, the integer map sample, a couple of others, which are in wide increase. It turns out that all NP-complete problems are equivalent for some reasonable meaning of the word equivalent. They can all in polynomial time be transformed into each other. So solving one problem effectively gives you within polynomial time transformation solution to any other problem. But by definition, these are not solvable in polynomial time and you can prove that they're provably not solvable. So there are very, very difficult problems. Unfortunately, we are really, really dependent on those problems for any number of real world solutions. Like any time you want to send a box to Amazon or you want to optimally pack a ship or you want to route a packet across one place to another, you're running to the limits of the applications of these solutions. So it's a very vital importance for us to be able to solve NP-complete problems and let's quickly take a look and see how quantum computing has some impact on any of these problems. So in a nutshell, and I'm going to really rush over this because there is a wealth of information out there. You know, we have some basic quantum computing concepts. The key takeaway in this game is that solving a problem twice as big only requires one addition qubit. So if you just add an extra qubit, you can solve a problem twice as big. And you can easily do the simulation piece for molecules by mapping qubits to electrons. We have well-known, well-researched mathematical transforms to do this kind of thing. So this is fairly straightforward as long as you have enough qubits. Similarly, we also have a provably fast exponential speed up for intensive activation. This is the one sort of like core algorithm that everybody knows, the Schoes algorithm. It basically proves that you can in polynomial time actually factorize and integer. So this vastly improves the amount of time it takes to actually do integer factorization. However, the state of the art in quantum computing isn't very happy at the moment. But quantum hardware is still in its infancy. We're still researching what kind of qubits we can build and what those characteristics are. The current qubits that we have are effectively extremely noisy. And what that means is that they only hold their value for a very short period of time. And they're also incredibly susceptible to interference by the environment. And trying to build a logical qubit, which can actually do a computation for a significant period of time, is still a challenge. It's an engineering challenge that's out there at the moment. So we don't have any record of logical qubits at this point. So if you want to really be brutal about it, depending on the technology that you use to build the physical qubit, you need between 1,000 and 10,000 physical qubits to create one logical qubit. And because we only have the order of a few dozen physical qubits at this point, you can safely say that we don't even have one logical qubit. Mass manufacturing is not possible. Engineering wise, there are a lot of challenges involved because you have to work with really exotic environments like super low temperatures and very, very fine tolerances for the material that you build. So the engineering challenges involved in actually building on qubits is not at the state of what you might call maturity. Similarly, on the software side, you know, everything's ad hoc, different programming devices have different programming interfaces, and a support of different programming languages and libraries and different mechanisms for actually interfacing with them. They don't know industry standards at this point, even though I was actually involved in building the first language for programming, quantum computer, we aren't the only one. Our language at the time anyway was still relatively rudimentary. There's a lot of scope for improvement in terms of code optimization type theory and so on. And all of that is very primitive. It's interesting because you might expect that after a few decades of people working on one of algorithms that we would have a whole slew of algorithms that we could basically employ. Not the case at all. Literally the entire canon of algorithms that we know of that use quantum mechanical phenomena to do quantum computing, three on one webpage, and in fact that webpage is maintained by Dr. So we are still struggling very hard to find new algorithms to do so. I think, charitably, we can say that we are hampered by the fact that there is no hardware or no computer that actually support the development of new algorithms. So it's entirely possible that we'll have new algorithms for programming quantum devices. It's possible that the inventors of those algorithms are in kindergarten at this point, and we need, we owe it to them to give them as much of a head start in terms of hardware and infrastructure so that they can actually come up with new algorithms. But the reality is at the moment we have a very small number of algorithms. We have demonstrated actually that quantum computing is real and has a significant advantage over classical computing. But that comes with a caveat that the proof was not actually some real world use cases that very contrived engineered question that was asked so that the answer would come back with yes this is faster with quantum hardware than it is with classical hardware. And now about the hard problems, what about the NP-complete stuff? So we can solve, as I mentioned, the molecule simulation problem, which is the canonical classical, I mean quantum computing problem. And in order to do that, we need a lot more qubits than we have. We need between 1000 and 10,000 logical qubits to solve anything that's sufficiently useful. We would like to solve a whole bunch of really interesting problems that surround things like carbon capture and fertilization manufacture, nitrogen capture and so on, which we cannot do classically because the molecules involved are large and complex. So we can estimate that if we have 1000 logical qubits we can get started to do something useful. In terms of the integer factorization, well, we've made some progress there. We can successfully factor 35 into 7 and 5 on quantum hardware. And we occasionally get the right answers as is common in statistical computing. But you need 4000 logical qubits to crack 2048 at least. So we are some way from this we can safely say to this point. And in terms of the NP completeness, let's introduce the savages in the problem. This guy is a well-known problem. It's very easy to state. Given a bunch of cities find the fastest way that traveling says we can get all those cities and come back to where they started by meaning the word fast as being either the shortest possible time or the shortest possible distance for some other metric. And depending on how you lay a problem out, it turns out that finding out even if you've got the best solution is actually quite hard. So once you get beyond a bunch of 50 or 60 cities, if we start hitting some really, really hard limits like this particular problem scales worse than exponentially. But it's profoundly as well as we said, and the kicker is that there is no quantum known, there's no known quantum algorithm that can claim to solve NP complete problems any better than classical machines. That is to say you don't get a quantum advantage to go on an NP complete problem. And this is very important because I mean, we don't know what the relationship between NP and P is that's still an open question. But any claim that you have a quantum algorithm that sort of defeats NP completeness is viewed with extreme suspicion and then it usually turns out to be for good reason because there's still no known quantum algorithm that has actually been successfully shown to be any better solving NP complete problems than classical ones. So, let's come to the meat of this talk. And I want to spend the next 20 minutes or so, actually walking through some some real interesting problems, where we actually talk about those NP complete type problems and how to use, how to write some code and how to use that shop and, you know, other functional languages to actually solve these problems. So I want to introduce you to the Ising model. The Ising model, you know, just sort of schematic of to the Ising problem. The Ising model is a very good approximation of what how magnetism works. Right. So if you think of each of these arrows as representing some form of an electron spin around something, then depending on whether this pin is clockwise or not, you will find dipole moments that basically interact with the electrons next to. So, by basically trying to induce order system, all the spins will try to flip in such a way that the system reaches a ground state. So in this particular case, we have very clear rules about what the interaction patterns between each cell and its neighbors is and we've we basically define that the lowest energy state is when all the spins are aligned, and then we try to find a way to solve that problem. Now, the classical way of solving this is to basically use a mechanism like it's a kind of a Monte Carlo system where you start with a random setup, and then you check to see when you flip an electron, whether it actually knows the ground state of the system. And if it does, then you accept it. And if it doesn't, then probabilistically, you accept it, if the temperature of the system is high enough to allow you to jump over local minimum. And when you do this kind of simulated annealing type approach, you can then pull the temperature down little by little to actually come up with a ground state solution that's very quick. That actually represents the solution to the problem. Now in the case of ferromagnets and two dimensions code is actually very, very straightforward. So it's a really, it's a demoing piece of code. I'm going to just show you what that looks like. So this code is written in F sharp. A few interesting things to point out about it is the fact that we use units of measure to keep our numbers different. I mean, I have loads, some of which represent energy, some of which represent temperatures. I want to make sure that I don't add temperature and energy together to give us some answers. So in this particular case, as I mentioned, we create the matrix that says, well, my energy between myself and my neighbor is lowest when both our spins are aligned. And we represent that by saying that the coordinate, the difference, I mean, the coefficient between the two nodes in this graph or in this lattice basically is one when I'm a neighbor and zero when I'm not. And this is in effect. Now, it turns out that if you create a checkerboard type pattern, not when it's all constantly one, this turns out represent ferromagnetic model. If it's a checkerboard pattern, then the energy is lowest when every spin is anti aligned with this paper, and that is called an anti ferromagnet. When these coefficients start getting to be random numbers between zero and one, that is to say arbitrary numbers between zero and one, you have an energy landscape that's no longer just a simple step where you have high energy and then it sort of becomes a ground state very quickly. You end up with a very complex energy landscape with many hills and valleys, and trying to find the ground state of that problem is empty complete, and that is colonizing spin glass. So you can use the same problem program that I've written here to solve the spin glass by just providing the appropriate mapping matrix to it. So if you notice very clearly here, you know the computation of the interaction energy, and the combination of the solution of the thing is literally 125 lines of code. It's very, very close. So if in that you can actually see, I don't know if you can actually see this, I've zoomed everything in, but you can see that the units of the beta delta is actually energy per degree Kelvin, which is exactly what you want when you want to actually do this. So we have the ability to keep pipe safe and measure safe while doing this computation. If we run this program, we can actually see that we come up with a ground state that works. So, in this particular case, the ground state that we have is actually an island. We're not going to be able to relax the ground state any further all of these things are in one direction all of these things are another, but it went from this chaotic set of spins to that care expect seven spins, after 50,000 iterations at point man. You can see that the performance is actually relatively good we did this with a 20 by 20 matrix in about 250 milliseconds. This is, let's just go back and take a look at what made the score cool about it. So one of the first things that I mentioned earlier is the fact that the whole Metropolis algorithm, which is over here is under 50 lines long, and it actually matches the mathematical description of what we are trying to do as in to give the before energy and if the energy has reduced and accepted, if not, then decide whether you want to accept it, and then go ahead and flip the spin and try to see if that gets you into a better state. Now, this algorithm was actually published in a paper. And code here is actually very close to the kind of pseudo code that was published in paper. And we got that because of the expressive and test method of programming that that gives us. So units of measure basically gives us safety. So like I said, we have two very two types of floats here, one is going to represent temperature the other one represents energy, and we're going to constantly keep adding things in terms of energy but we don't want to be able to make the mistake of adding a temperature and energy together, and we're able to do that if you notice that we now annotate the energies appropriately, and the pipes interaction energy returns to us, the type which is a representative of the energy as we expect. And so this gives us confidence in being able to reason about the code. Similarly, as I mentioned, even when you do computations based on these units of measure, we get reasonable results in terms of in terms of what what the expression represents. Again, as I mentioned to you, this algorithm which is the, the system turns out to be very, very close to the, to the expression of the algorithm in the mathematics paper so when somebody wants to check or reason about the correctness of your code, and they have a reference on the paper, does this code represent what the paper represents? Well, we're able to do that in a relatively easy fashion because of the expressiveness of the language. So, in summary, we've used mutation judiciously so this isn't like a pure functional system, but we've used the, we've used the benefits of the language to give us the performance that we need, the clarity that we need, the expressivity that we need. However, we do have a system limitation in that it would have been nice to be able to say, well, in this situation, I would like the, I would like the system to be dependently typed and we create a nice involving that is based on the size of the matrix that we want, and there's no way to parameterize that given our type system. Indeed, there is a rust implementation which I wrote which does this parameterize engine because they allow us to do that, and also compiling down the native with rust gives us an implementation that's two times as fast as ZFRA, but two times as fast is actually not as profoundly important. 20 times as much would have been like, you know, an indictment on the lack of performance on the Fsharp side of things, but writing completely type safe, managed to be able to get reasonably fast solutions turns out to be possible to the Fsharp. Now, let's come back to the traffic assessment problem, right. As I mentioned, the problem is easy to state. In the 50 cities, you have a graph, you have weights between each of the cities, and now you're trying to tell me to find me the Hamiltonian cycle that has the lowest weight. And it turns out that this problem is super well studied. There's a lot of canonical problem sets that you can go in and take you to the page at some point and show you what that looks like. And there's lots of problem variations as well. So if you want to get started taking a crack on the traffic assessment problem, rather than look at leadboard, which may sort of emphasize the fact that you want to go with some kind of dynamic programming sort of model, which actually will not scale at all. To solve a real problem and get some real data sets, you can actually go into this area and start looking for some problems to solve. And indeed that's what I did. So I'm going to take a look at the code again and we're going to use a genetic algorithm in order to be able to solve it. So we'll come back to the algorithm in a minute. But the first part of the problem that I want to show you is the fact that we have in the in the problem specification, there is an eight or nine page document that tells us how the problem specification is made up. What is the format of your data input? And it turns out that when you look at that, functional programmers have a very different way of approaching a problem like that. When we see a problem like that, we think DSL, we think that there's a domain specific language you're trying in halting terms to tell me what the grammar of this language is by giving me a written document. Well, I can do better. I have a type system that I can actually represent stuff with.  I'm going to have a string that come in dimension. A problem type can be one of those things. The node better be a number. It's based on zero. And I might want to consider a one base system. Or maybe based on one and I want to consider a zero base system. Right. And then there's 2D coordinates, there's 3D coordinates, there's edges and there's doors and weights and so on and so forth. Everything that you pulled me in eight pages of text, I have now put into 120 lines of code. And now I have an expressive way to reason about your language and be able to say, look, when I see a line in your data file, I can pause it into something that I can actually operate on. In fact, I can build out a complete way to graph based on the kind of problem that you gave me and I can compute for a completed graph I can compute it given to a link. So if you give me a tour, I can go down with that graph and compute the weight and tell you how long it takes to make that trip. Well, that's going to turn out to be something super useful. And we need to basically, we need to set ourselves up for success. And the first bit in there is actually about understanding how to block the data. And so, then you can write a puzzle. So here, again, I've taken the expressions that were outlined in the code and built out a puzzle that would actually build a structure that allowed me to traverse a given data input as if it was data structure that I could play with. And this code is actually quite good. So if you look at the first 300 lines or so of the problem, it's really just the creation of weighted graph. And you have a puzzle that basically has all the past functions. And that's literally another 150 lines of code. And most of what that code is is actually diagnostic information that allows me to go back and look at what kind of data is being passed and how I got the information that I got so that I can test how everything works. So it's actually very simple to think about the problem with a puzzle. So if you have the puzzle as one of your puzzle combinator library as one of the tools in your tools that you can play with. So, as an FP person, having the ability to map the domain into a type system, I mean a type library, and then having the ability to quickly come up with a puzzle to grab the data files, basically gives us an enormous amount of power in order to be able to run with the code. So let's go ahead and take a look at the genetic algorithm for building out a solution to this, to the transpace problem.  It may not represent the most efficient walk through the graph, but if you start with a given point and end at the same point, then you create a Hamiltonian cycle. Say you've got five nodes, and your random number generator gave you a sequence that looked like five, three, two, one, four. Well, that means that that represents a tour that goes to the fifth city first, the second city next, the third city next, the second city after that, the first city after that, and then the fourth city after that, and then we'll come back to the first, the fifth city. So all we need to do is to represent a tour is to basically have an array with an ordering of nodes, ordering of numbers between one and end. So given that, you can basically start working on a genetic algorithm. And this is what a genetic algorithm looks like. So in our system, what we'll do is we'll create a population of random solutions. Each of these random solutions is that random ordering of nodes as I mentioned earlier. And we'll rank them according to the weights, because once you have a random solution, then we can go through and compute how long it takes to go down that tour. And we'll find the best tours and put them at the top of the list. Then we'll take this population and divide it into two bits somewhere and say, okay, this bit of the population is the elite population, and the other ones are not so elite. And what we'll do is we'll pick up parents from each of the groups and start trying to create a child from that. And we'll do that by trying to take as much of, we'll create a gene for each of the children from either the elite parent or the plebian parent. And we'll bias towards picking more of the genes from the elite parent. That's the bias key piece. Then we'll record the child genes to get its ordering, the ordering that it represents, compute its fitness. And then we'll create a new generation where we keep all the elites from this generation. A large number of children that we've now generated, which presumably are going to be better. And then to break out of any sort of local minima that we get, we'll introduce some fresh blood in terms of adding some new random candidates in there to try and see if they can actually maybe randomly become better than a form part of the next generation's elite. Now you can repeat this evolution cycle many times and you can come up with a solution. Now notice when you do this, you're not actually solving anything specifically about the transition problem. The constraints of the problem are embedded into the encoding of the problem, but the actual solution isn't like a dynamic programming one where you go off and try to find oh, is this better? Is this whole chain better than previous chain? No, throwback, go and backtrack one and do something better and so on and so forth. You don't have to do any of that. Here you're actually letting the system evolve towards a better solution stochastically. And so in order to do that, we can actually take a look at the code. As I told you, the parsing was an advantage and now let's take a look at the genetic algorithm that we have. So in this situation, again, the description that I told you about how to actually create a population is actually all in this 30 lines of code. It's literally right here, right? So get the members of this population, get the elites, pick a random elite, get some random children, get some random mutants. This is basically introducing the new population. And here, what we do is do a parameterized variable crossover with a bias towards the elite parent and you pick the elite parent and the other parent and you go off and you create this child. Now, we take advantage of the fact that once the solution is built, it is completely immutable. So the problem is represented in terms of immutable components. So parallelization literally falls out of the mix. So we just go from map crossover to array parallel map crossover, which basically allows us to do the building of the next generation in parallel. Similarly, it is possible because the elites are always going to be pulled into the mix and the mutants will be somewhat random as well. And the children are going to come back with a, with the fitness and a, you know, we compute the fitness only once because again the program doesn't change. So because we do that, we're able to basically replace the sort by a three way bridge. And in fact, this will improve performance even further by reducing it from the n log n type limit to just literally being linear. You swap things in until you get the new elite population, which is the only thing you care about. And then after that, you basically just make sure that they're unsorted and it doesn't really matter. So effectively, by looking at the problem and taking advantage of the office immutability, we're immediately able to write very clean code. But that's also leveraging the problems properties to be super performant from that perspective. So in this particular case, we're able to actually run and show that this works. So the FDA advantage is effectively going to take advantage of the fact that the properties of the problem. Come with immutability properties of the problem have you really really good and therefore we can take advantage of that and take advantage of parallelism and the fact that you can actually compute. So limit the compilation to one or one time and be able to also reduce the amount of sorting required because you can take advantage of the fact that linear merge will actually be faster than a nn log n type of sort. So, as I mentioned, this is again another example where the code that is actually written follows very closely with the specification written in the paper. The entire evolution of the code is yet to be 30 times long, and it exploits parallelism that comes inherently with the problem. So as I said, the summary for this problem is that this is a showcase of using positive DSLs and making that a part of your toolkit, and then using immutability is part of the solution when it offers itself as part of the problem and try to keep the code as close and readable. The code is actually still fast. I can give you a quick demo. So for example, let me run this code. And it's going to basically. Yes, that's more like it. Yeah, so we actually had traffic says no problem. We ran over 5000 times. We kept daily population to 25% added 15% nutrients in there and 75% of daily parents chromosomes as opposed to 50. We started with a population of 96, and we had an initial random fitness of 102,000, and the final fitness of 27,000. So we actually can do it very fast. In fact, if we want to see what that looks like. We can take a look at the graph that we've written out. It's, it's quickly done this, and she give you a sense of how just by reinforce reinforcing good characteristics of a solution over others, you come up with a solution that actually lands up converging fairly quickly. So as you can see here, we started around about 100,000, and we basically came down to about 25 30,000 fairly quickly exponentially fast. You'll also be able to tell that the code. We didn't pay for the expressivity by by by by writing performance. And that's the conclusion I had so the key points that we have, we went through the material here. We approaching limits of Moore's law. We have some quantum computing advantages for some problems that classical computing can't solve. We are where we are in the quantum computing stages that we're not all that far ahead in terms of being able to solve real world problems. The hard problems continue to stay insoluble at this point. Optimization scales hard. And as of NP complete problems and equivalent, we evolved solutions for two NP complete problems, the icing spin glass and the the Hamiltonian cycle ESP, and we use two nature inspired approaches for solving these using using ESP and leveraging the benefits of the language in order to do so. So that's my talk. Here are some links I will post these later we can come and ask you for this. This information is available if you follow me and find the nature inspired optimization report there. I think we're out of time we have maybe one minute for time for questions, but I will actually pop over to the table and hang out with me after. Thank you very much. Thanks John. Thanks a lot for your talk.