Hi everybody, thanks for joining us today and thanks for welcoming us to Helsinki and the lovely weather and temperature We were sharing the anecdote that I brought far more layers of clothing than Guillaume for this time around So I'm enjoying it the weather Guillaume may be a little less so so We have roughly 25 minutes and the objective of this is to make this a little bit conversational rather than an interview and to share really primarily Guillaume His story as well as the story of checkout and hopefully for the entrepreneurs in the in the room the founders in the room to learn a little bit About how Guillaume built checkout and maybe some lessons and learnings That he has first all So by way of quick background, my name is Tom Stafford. I'm managing partner of Investment firm called DST global and we have the honor of being investors and shareholders in checkout Having co-led a round of investment a number of years ago the first-ever round of investment the series a of checkout Guillaume is obviously the founder and CEO of checkout And why don't we start with the origin story as it were the story of checkout and The path through of the last few years. Sure. So thank you very much for having me here And I was a repeat founder. So fundamentally, this was like my third business I had two business before this one and both of them are in payments and by being in payments when you facilitate payments you have to work with banks historically and That whole model was mostly broken Simply because like banks do a lot of things and they were not pure play e-commerce, which was our focus and In 2009 when the payment service directive one appeared in Europe It gave the opportunity to fintech companies like ours to essentially disintermediate the whole value chain So instead of being forced to work with banks. We had the opportunity to basically become a bank or so become an acquiring bank That was a journey took a bit of time But essentially the moment we saw that opportunity it was the you know the idea behind checkout We have the opportunity to basically control that value chain control what we sell put the merchants directly to the payment methods instead of these like multiple layers of technology and you know Historical players who are there who are eating margin and not making a lot of sense And having a true tech first approach So the idea was really like based on the accumulated experience as a previous founder and employee also in the payment space since 2006 to do everything yourself And fundamentally It took you know seven years of bootstrapping until we had a product that we were really happy with And then you came into the story. I think that's a And and there's a kind of a two interesting parts of that one is The you ran the business profitably in order to be bootstrapped for that six seven plus years before we invested But also that you didn't go for investment until you had the product you were happy with Why did you wait for investment until that product you had that product you really were happy with so I think there's like a We have a very special story and we were actually very lucky because early in the journey So if I just rewrite history a little bit or I tell the story how it happened in 2012 we applied to the FCA which is the financial regulator of the UK at the end of 2012 They gave us the license and in 2013 we received what is called a principal membership of visa mastercard So at that point in time you're basically you have the right to connect directly to the schemes You're not going through Barclays, which was the historical provider. We were using and so fundamentally You know we had an early client who saw the the product because those licenses are public and they're like hey You have this and that merchant I mean still merchant today called deal extreme DX comm selling electronics all around the world And they created you know a Flow of revenue that allowed us to bootstrap intelligently the company and it didn't make us like rich in any way It was not a lot of capital and we were still in the early days where it was like, you know One higher per quarter and would make decisions as a team. Who is the person who we're hiring? But we were very methodical on how we build the business because to answer your question The time is so big in payments So the total addressable market what we go after that for us it was really a matter of building the product properly and There is a third step that quite often most people don't realize that when you have the gateway that connects the website or the Application to the bank when you have the bank you have a third piece of technology that is behind And that's what we call a payment processor and from 2013 to 2016 we build this Like you know heads down Not public but I gave up the CEO role for three years to be head of product because I was like That's how we create value over the long term and this is a life journey for me like like I said third company I'm gonna do this forever. I really enjoy what I'm doing. I enjoy building the company and The story goes that in 2016 we relaunched everything. We're now at that point in time in the UK You know with all the fun tech Blossoming and like the Revolut transfer wise transfer go as emo They all became her clients because they're themselves competing with the bank So seems kind of counterintuitive to go and work with a bank and then in 2018 we signed Netflix fair play For like a global deal and that's where we realized that you know We took the company really far on a bootstrapping perspective. We have nearly 300 employees But it's like I've never been to see of such a big business But I've never had that experience and I want to surround myself with like you know smarter people than me That are gonna help me build the global business that we have today essentially So so the catalyst then in sort of that 2018 time frame was sort of the the scaling the quality of customers You now succeeded in pulling which proved the product and you were at that point then an affliction point You then chose to take capital to take an external investment.  Have you copyrighted that the equation of value? Yeah, I probably should it's just like it's each time I raise capital I always try to say like what am I optimizing for it's like what am I looking what what is the investor gonna bring me and We were looking for four things We were looking for an operator somebody who had experience and go to market and building in scaling global businesses We were looking for somebody who had a very strong network and had you know Been part of some of the world's most meaningful tech companies and the Silicon Valley network and all the things We didn't have we're looking for somebody who had experience in fintech and like you know like because we believe that every fintech company is going to be a multi-product company so like you know who can see a lot of fintech and somebody in Asia and Who had that experience in Asia and the network in Asia and you know starting again from the bottom the Starting from the second one, which is the experience globally that was you I mean nobody is better than DST for like a global network being part of some of the most exceptional You know tech journeys that have been kind of written the number one was insight partner Who's been a very good firm to us also in terms of like helping us operate the business They're both on the very early stage and a true operator They buy businesses and operate those businesses and then Mickey from rivet capital for for the fintech piece and GIC for the Asia piece and You know that equation of value was like literally Britain. We were like that's what we want And we optimized from there going forward, you know, I think like and I was lucky that you give me a you know a chance I mean, maybe I should just return you the question is like why did you choose check out when you saw us across all these decks that you see? as an investor Well, I think Like you we have an equation It's not as copyrighted perhaps as your equation, but but our equation, you know has multiple factors But really you can distill tonight to three which is team TAM and traction and TAM is undeniable. It's so large We barely need to talk about the time of payments and indeed all the other things tangential the payments that you will touch Traction was incredible for a bootstrap company that no Capital base to work with essentially other than retained earnings to have won the merchants You'd won and to build a product you'd built to have the license You had and sort of Netflix as as one marquee client But many other clients that were very discerning clients and customers meant that traction was very very strong and Overall though we index almost all of our decision-making around the team and Really within team we index to the founder and so I Decided to invest within 25 30 minutes of meeting you in person That was in the days we used to meet in person does before before zoom or not before soon before we were doing deals over zoom and ultimately we we index ourselves to to to the human being right that's running the business because Like you're saying this is your your life's work, right? You're gonna run this for a long time the ultimate belief is that the founder embodies ownership both in terms of actual ownership of the shares and the company but also the ownership of the vision and as the only person therefore who can derive the ability and The credibility to deliver on the vision quarter in quarter out But also year in year out and decade in decade out and if we think about the big technology companies They're big because they compound they keep on taking risk and achieving a reward and we think founders can do that so to your question our equation is team time and traction and You check out and you hit all of those for us in a very meaningful way So then we have to go into battle mode and make sure we could win the deal, but ultimately You know the decision was made very quickly For the record and for the audience I never asked him this question So it's the first time he answers me so I'm completely leveraging being here and being able to ask questions in front of a lot of people Yeah, I mean the ultimate answer is that The asset of a great technology company. There's many assets There's licenses and customers and revenues and balance sheet But the biggest asset and the most important one is the team Because if you don't have the right team and you can't establish a team and keep it driving forward Particularly the founder the business and going to achieve. I think this is a good point So actually I could I could build on this There's a few things is like when we before when we were bootstrapping and you know I capitalizing on capital, which is here. There's we've done it in two different ways We've done it like when we had no capital at all And then it was mostly about selling a mission and vision to like, you know my colleagues and my partners at the time because we weren't playing the Traditional tech crunch game and raising a lot of money and our competitors were raising a lot of money And we were like heads down. Let's build the best product. We're the underdog It's like David versus Goliath and like we were like kind of, you know boosting our energy and around this like competitive spirit, which I think is still very much in the company and like Being frugal and smart on how we were using our resources So there's a huge amount of like resource allocation as a CEO is like, how do you make good decisions with what you have? But then we graduated with Sunday We have hundreds of million and I think we we have eight hundred million dollars or eight thirty that we have raised and Then it became a completely different ballgame because first of all The merchants who were telling us no because we didn't have enough balance sheet started keep telling us Yes, and you know think of Clarina Facebook like all these ones and then you have basically and you know the thing is growing so fast and And I think it was a good investment decision when we see how we're growing this year But I think like taking a step back if you want to build a meaningful company You're basically and I really mean like a really large one You're basically as a CEO designing an operating system for humans or a human operating system is like and people will call it like Processes and admin and things like this. I don't necessarily I think like you know processes like hinder innovation You need to be you need the right level of balance But getting all your teams to interact well properly and like creating velocity and product engineering and predictability All these things are super important And so the truth is when we raise the series a it was mostly the founding team like people who had been there Hey, they had grown through the ranks and across the last 24 months We have rebuilt the whole executive team and the founding team some and some of the founding team I like the people were there from the early days. They're still here many of them They were just like you know They agreed that they had taken the ship to like you know from zero to a thousand people and this year We hired like another thousand were at seventeen hundred and next year will hire fifteen hundred or two thousand and and the reality Is that you can only do this if you surround yourself with people who have the experience that you don't have and so We went through that whole exercise saying hey, we want people who've seen the movie before We did all these hires this year and like you know the CTO from Twilio the chief revenue officer from we were the CFO recently from Tiro price people who have seen scale who have you know seen the movie before and I think like that's a huge part of You know why I'm comfortable about where the company is going in terms of future because yes We have a ton of problems. We're growing super fast and you have all the high-growth problems still But I'm surrounded by people that I trust who I can delegate to these decisions entirely And I think a good this CEO should you know push decisions as much as possible away for him It's about pushing decisions down into the org But I wouldn't be able to do it if I hadn't had the right team So like huge amount of focus across like you know post fundraising was like building a team that can basically Execute at scale in terms of where we want to go But I think it's interesting. You said it's sort of post fundraising that happens. I think that's sort of almost Incorrect in some respects and that you're always building the team and ultimately building the best team Doesn't matter if you've raised money not raise money How much you've raised it comes from the vision that you can impart to people and the way in which you empower them to Help you build that vision. I think that's one of your strengths has been surround yourself with people That are very strong But who buy into your vision because you're very clearly communicating what the vision is and how it should work and I think what a One thing that that I've noticed over the last few years is as funny rounds. We got bigger and more sort of Glorified is people think that is the marker of success and how we win the team is because we've raised money Ultimately the best team come because they want to work with other great people around a vision They believe in and I think that's one of your strengths Actually imparting that vision imparting that desire that ambition and putting it all together to a team We have a lot of so we're very much on like simple formulas a check out and our three values are very basic It's like a spire excel and unite and as far as that you got a dream big and it's not a question of being ambitious It's just having a very big vision and wanting to go really far Excel is that there's no point in doing something if you don't do it right and unite because your decisions should unite people behind you So I think like the good leaders what they do is they attract people and if you're able to attract people It's a bit like a self-fulfilling prophecy You're gonna be able to dream bigger and I you know today we're considering and we're actually executing on certain things We didn't even dream or possible like five years ago, but we have so much more people and we have I think like you know funny enough For like large founders today are large CEOs your attrition the amount of people you have in New York and how you are basically like You know how you're able to engage your employees and your colleagues is like super important because it creates your output as a company You know there is it's and so fundamentally people will bond will get excited for a mission that is meaningful And in a certain sense the mission here a checkout is to help businesses grow It's help businesses recover after COVID and like we are we're not a company that people see We are behind most of these very large companies But we help them basically grow go to new markets and in a way We have if we were I don't have the numbers But I'd look the amount of people that are here in this room today We're probably touching 70% or 75% not only because of Netflix and everyone having a Netflix description But I think it's a it's just nice to know that you have a role to play in society Now when you say you touch all these people That sort of belies the fact that actually you're in an incredibly complex industry and I'm behind sort of that simple front end That when we check out at the e-commerce store or we set up our subscription on Netflix It feels relatively simple to us because of the work you and others have done But behind that is a huge amount of complexity How do you tackle that complexity within both payments itself financial services and then all the multiple jurisdictions you work across? What's the way would you simplify it for yourselves in the organization? So I think like I'm gonna try not to bore the whole audience with like a lot of technical terms We work in a and like you said there's the financial regulation to start with there's the the fact of moving money And at this point it's like hundreds of billions of euro that you're actually moving every year And so that that alone and that is only getting more complex by the way It's like you know compliance is only going into one direction So it's like it's more compliance, but you have you know you have different payment methods by regions You have different regulations by regions not on the financial side typically here in Europe We have strong customer authentication. You're gonna have 3ds to 3ds one. What do issuers want? You're gonna have open banking that is coming in actually most of the merchants They would choose a company like ours because we're essentially future-proofing their payments It's this whole logic that you know, I cannot I I could certainly not tell you what the future is about Of course, I have an idea But I think like you know what we can do is that as the world of payments evolve as you have you know Like GDPR compliance added on top of it because you know there or like you know data sovereignty Which you see in India for instance where you need to have your service there We can help solve some of those those problems for like large merchants and more importantly Historically a large merchant he would have had a service, you know payment service provider one for Europe one for Australia one for Asia One for the US and having the licenses everywhere allows to people to say hey single API single regulation Reconciliation single flow of funds if you want to large merchants quite often have different revenue centers So they're gonna ask you to split the payments across different like revenue centers But it's basically having a counterpart who's supporting your business as you're growing and as you're attempting new things being it like By now pay later or crypto or you know a lot of the topical topics of the moment So we can't have you here on stage at slush and not talk about crypto because you're obviously quite bullish on crypto and and you have you have built and are building a lot of solutions for Crypto first companies both around payments and other things that you're doing. Can you share a little bit about? first of all why you're so bullish on crypto and second of all why you've made it a sort of a Key focus within checkout. So I think there is a Many ways you could actually answer this question I'm gonna start first like just late the intellectual curiosity, which is a I was telling you I started in payments in 2006 For nearly 10 years. It was mostly the same thing And that's means like visa mastercard a few APMs But I mean or maybe a hundred of APMs, but you're still like, you know the same kind of rails and here comes a technology that has completely different rails and Fundamentally when you look at it from just like, you know in the helicopter view It's able to move money instantly from one way. Let's not even say I think the word money for now is wrong We can get to this later. It's able to move value from one point to another for free Instantly with the ability to track Exactly how the money is moving for so you have complete visibility to To everyone on how the money is moving That's why people can go and say on Twitter that Somebody has an eight billion dollar position on Shiba Inu that he bought for eight thousand dollars like, you know a few years ago I don't know what's the amount, but I mean it was it was one of those sweater feeds that we saw And and so if you take this and you take the intellectual curiosity and you're working payments You're like by the finishing that is cool I think like that's the way to look at it Then I have 1700 people I check out who have similar ambitions of like, you know building cool technology for merchants So you have different ways to look at it You have the merchants who are asking you you have my intellectual curiosity Yeah, my engineers are like hey, we should you know in the innovation team We should look at this like very carefully and I think like what we did realize is that we tried To be part of that what was originally the lead when we tried we are part of the Libra project that then turn into dm Project, which was like, you know the Facebook endeavor I should not say Facebook endeavor a consortium of like global companies which out of which many are our clients Spotify Shopify Facebook, you know like Uber getting together To ultimately build a stable coin that would essentially solve the problems that I was you know raising before and that they could embed So for us again intellectual curiosity behind You have this opportunity to brainstorm with people that are incredibly smart that run very large businesses and seeing like how can we make you know Financial system or an OS for money that works at scale would like super smart people And that project did not went as well as we would had hoped it's well documented Journalists wrote plenty out of it, but the truth is in parallel of this. I mean stable coins went from like, you know Zero to you know hundreds of villains at this point across USDC and the other ones that are available back source coin and I think if I now you know thing in terms of where we are We tackle the crypto industry in two ways a we in we embedded early with like web three developers on ramps Exchanges so we process for most the world's the largest exchanges and The American ones like Coinbase the Asian was like Binance. I mean we love that space We like to see what's happening and it's again like in the best part of my job If I just take one step back is that I get to work with some of the world's most innovative companies see them in action And I think this is like kind of fascinating But then you like you said there is the world is moving so quickly because just in the last 12 months This thing like exploded totally And so fundamentally now there's real applications. There is merchants who are asking you to get the stable coin sediment Which is a big thing. I think we'll see a lot of it. I'm not talking about a roadmap I think like you know my marketing team is like we'll talk about this another time But I think like stable coins sediments are a big thing payments and stable coins or payments and crypto is another big thing There's three trillion dollars of crypto out there. That's value I think like and I think right now I was like I said it's not necessarily a currency yet because for currencies You need regulation and you need a lot of things that are kind on top of it But the value is stored the value is locked in the ledger and the blockchain and more importantly And I think just taking a step back because I was saying, you know how my team is pushing me to go there I see two things happening I see people like you very smart investors putting money into crypto like companies and there is a lot So there's more money in crypto than there has ever been and then I see a lot of very smart kids out of University that would have historically, you know MIT Harvard Stanford you you name it They would have become an investment banker or whatever do something and now they want to build like a web 3 application And they want to be part of DeFi or something like this and one thing you have seen across the last 15 years of you know This internet life of mine from 2006 to now is that when you have at the intersection of money and smart people Usually good things happen, you know, there's gonna be a lot of crappy projects I think there's more than 500 block chains at this point and they keep being added all the time You look on coin market cap you have new coins being added every single day But the truth is there will be good stuff happening And I think like you cannot be a global fintech company and not have teams that are actually part of that thinking and that are challenging Themselves if anything we love to brainstorm in this company like we challenge ourselves a lot. So naturally You know, we have the clients and now we're we've always that's another thing also just the last thing We've always built for our customers. So we build with our customers in mind We have a very humble kind of European approach unlike some of the American companies that tell you hey This is the way to go. We know better than you we tend to go with customers saying what are your problems? Let us, you know, solve let us build products that solve your problems and Crypto merchants have you know, like, you know are growing so fast that they care about building the web 3 They don't care about how to bring fiat on the web 3 or move fiat out And you know, those are the problems we're solving for them and it's working pretty well Let me ask you a very quick question before we get to our last question, which is We talked earlier by complexity of payments generally and that was mostly we talked about in the fiat world that the traditional world And now we just talked about the crypto world For you, is it more complex to build payments within crypto or to build payments within the fiat world? There's no good way to answer this question the only thing I can tell you is that The the opportunity in crypto is that it's highly dynamic and we really don't know what the future holds So I mean you still have a scenario where like, you know, China bands like stable coins And so does the US and the whole thing kind of disappears, which I think is very unlikely at this point But I think like you still have the traditional financial systems that feel kind of threatened by defy by yield products by staking By everything that's available out there. That's actually pretty powerful when you think about it. So I think like the Building technology is what we do solving payment problems is what we do and actually building crypto products is not harder than building Fiat products and though we have like, you know, I can say it now nearly 10-year experience in the fiat world But I think you know the best engineers at checkout are very keen on crypto So there's like I have really bright minds that are going against it The one thing I will say is that fiat gives me the certainty of revenue you process the big merchants The crypto world is just like you have it's not uncertainty of revenue It's just like we the future will be there so we don't know what it's gonna look like So it's harder for planning perspective So the in the last minute or so that we have here I think would be really interesting for you to share one or two or even three if you have time sort of pearls of your wisdom Experience whatever phrase you want to use for the sort of the aspiring founders and entrepreneurs that we have here About what you've learned to one of the one two three key lessons for you about about being an entrepreneur being a founder And so I'll start with one thing I always say this is You gather all the data and the information with your head, but you should make decision with the heart I think it's like quite often I see people over engineering decisions like it's very important to trust your instinct I think as a CEO, maybe it's a collection of experiences and things like this But like making decisions with the heart is a very important one And I think the second one I would say is that it's the amount of good decisions that you do that is important Not your ratio of good decisions So I think like make decisions quickly and working you know like getting making sure your work streams are going You know moving fast is what's most important because success comes out of velocity And if I'm able to like make a lot of good decisions even have to make a few wrong ones, I don't care I think at the end of the day Being able to iterate move fast make a lot of decisions is what creates success and never forget to use the heart to Make the decision. I think that's wonderful. By the way, the phrase success comes out of velocity I think is a wonderful phrase. So on that note, thank you Guillaume. Thanks everybody for listening to us Thank you everyone. Nice


Hello, my public media. This is the weather forecast for Longmont. I'm chief meteorologist John insworth We're covering the period Thursday through Saturday, March 12th through 14th We're gonna first start with a spooky Friday the 13th moon It's waning gibbous. It'll be rising after 10 o'clock So if you're out for a date that night and it's not too cloudy There will be a pretty good moon rising up in the eastern sky But to the weather the story is a tale of two jet streams We have a jet stream up north going across Canada with ridge trough ridge trough Alternating and then down south we have this low that's been spinning there since last week and it's got over it trough ridge pattern and It is pumping moisture up into Mexico and off towards Texas looking at the satellite image This is the water vapor image for Tuesday and you can see the whites and the purples here are moist Atmosphere or high clouds I see cloud tops there and the oranges and the reds down here are very dry sinking air You can see the circulation around the low just at the edge of the screen here pumping this moisture Across Baja and up in Mexico and towards Texas eventually. This is our source of moisture for the next storm Putting the whole thing out in a spoiler here. We've got warm weather through the week Above freezing temperatures a day and night most of the time until Monday Tuesday And then the bottom drops out we go to temperatures below freezing. We have our first big rain event here It's all organized for Friday night and the Saturday morning, and then we have snow starting and Continuing on through most of next week. So why is that happening? Well, it's We have the low coming in off the Pacific Ocean into the desert Southwest We should see some flooding in Southern California probably in Arizona as that moisture heads our way The mountains will be squeezing a lot of the moisture out. So for a while, we stay dry Downstream of the Rockies, but that will change so looking at our two jet streams, we have the one coming out of Alaska across the Great Lakes, and then we have our Jet stream coming around the low down south and the two are disconnected with that low coming onshore Thursday night By Friday night It's starting to reconnect with the northern branch of the jet stream and the low is right around the four corners area This is a great location to pump moisture up into Colorado But the heat that we have is still in place because of this ridge just east of us So still pretty warm for snow on this part of the system But going on to Saturday You can see that low that was up in the Pacific Northwest coming down to the Oregon Washington area really getting strong the more lines you have around the low that the stronger it is You can even see the colors here wind speed So the tighter the lines are the higher the wind speeds and they color more of a pink color for What are called jet maxes when we get those overhead we get additional rain or additional snow But the ridge is kind of reconnected out over here in the Midwest And then going to Monday we see the two have disconnected again. We've got the low heading into southern Nevada we're right on the upstream side where all the exciting weather happens and Here comes our big snowy cold event So how much rain are we going to get well over the next five days? It's still not much This is our Friday into Saturday morning total It's about a tenth of an inch to a quarter of an inch around here But then going out for the full ten days and pulling in the beginning of the next Stormy period we're up to about half an inch to three quarters of an inch some locations near town We'll get up to an inch of of water up in the mountains. You can see this is actual water total So you've got an inch and a half to two and a half inches in some locations So if the resorts were starting to sweat because of all the warm weather in the first part of March They're going to be happier with what's coming Over the next five days. What's coming is a little bit of snow Maybe early Saturday morning if you go out in the dark in the coldest time You might see some snow in the air the latest model showed the snow not falling right near long It's confined to the foothills, but just a trace to an inch at maximum But I don't think it'll be much of anything but over the next ten days Four to five inches from this run in the latest run trended a little more heavy towards about six inches You can see pretty significant snows for the mountains There's a foot to foot and a half even some local spots to two feet of snow So winter is definitely coming back So looking at our big picture again Temperatures about freezing few Monday and Tuesday temperatures remaining below freezing after that Snow comes back next week. Now. How long will the snow go? It actually might stick around for a surprisingly long time So here's an animation of the same upper-level pattern Here's our low rolling around and then coming up into the four corners And then you can see another one dropping down From Western Canada into the West it's got another lobe rotating around it. We're out to Thursday Friday the 20th now. Here's another reinforcing shot coming down There's a piece ejecting out of rust probably dumping some more snow And this doesn't leave until about the 24th round Tuesday of March So all the way into the middle of the last full week of the month We'll have stormy conditions and snow around For the next seven days, we have temperatures in the 50s even for the weekend getting into the 60s again It's your last chance to get out and really enjoy some Colorado weather because next week we have temperatures Around freezing Tuesday, probably not as warm as 40 on Wednesday. It's just going to be really chilly So for more local news and more frequent weather updates, check out longmontobserver.org For a long amount of public media, I'm John Unsworth. Keep looking up


Okay, good. So welcome everyone. It's really a pleasure to have a full house today for a talk by Nima Amari. So before I do the presentations, the introduction, let me go around the table and say hi to everyone and see if I managed to put you in full screen. So our first group is a group led by Andre from MPI. And you can see that these guys know how to do TCS plus events. So just two minutes ago, the thing was full of pizza, but now it seems like it's starting to run out. So we have a lot of talks from Europe, a lot of participants from Europe today, maybe because Europeans are good at algorithms or maybe because the time change sort of is slightly more helpful than usual. So that was a group from MPI. Then we have Benjamin from Madison. Then there's a group with Budhima from EPFL. So more Europeans, welcome guys. Then Dixia from University of Toronto, welcome. Then there is Irfan from Indiana University in Bloomington. Hi. Then we have Guillerm from University of Lisbon. Then there's Junish just around the corner from Caltech. Jiang Yang is joining us from Virginia Commonwealth University. Li Boer is joining us from RCQI. I'm actually not sure what RCQI is, I'm sorry. Okay. So Li Boer is joining us from RCQI. And finally, we have our speaker, Nima Amari, joining us from Stanford. So welcome, everyone. I should say that those not present here but part of the team are doing a lot of work in the background. So that's Clemence Kanon, and India Day who is here, Gautam Kamat, Ilya Razenstein, and Oded Ragev. So thanks guys for the TCS Plus team. I'll also say before we start that the next talk two weeks from now will be given by Artur Sumaj from Warwick and Artur will tell us about one compression for parallel matching algorithms. So onto today's talk now. So it's a great pleasure to have Nima Amari give the talk. So Nima got his PhD a couple years ago with Satish Rao from Berkeley. And then he spent a little time as a postdoctoral fellow at the Simons Institute in Berkeley. And since I think one year he's been at Stanford as a postdoctoral fellow. So Nima has done a lot of work on algorithms, including algorithms for approximating the permanent and many others. But today he's going to tell us about joint work with Vijay Vazirani showing that the planar perfect matching is in NC. So welcome Nima. Thanks. So hi everyone. This is a joint work with Vijay Vazirani. Let me just jump into the problem.  If you're given a graph you want to pick a set of edges such that every vertex is adjacent to one of the edges you picked. So there are basically three main computational questions you can ask about perfect matchings. I've written all of them here. This talk is about the middle one. So let's go over them. So the decision problem is given a graph. Does it have a perfect matching? The search problem which we're discussing today is if the graph has a perfect matching just output one of them. And there is also a counting problem which is how many perfect matchings there are. So the type of algorithms in this talk that we are considering are in this computational model called NC. So this is a theoretical model for parallel algorithms. You can roughly think of it as you have polynomially many processors. So the number of processors you have is very large. Not a very realistic setting. But it can be as large as a polynomial in the input size. But then by getting this many processors you want to be super fast. So the running time of your algorithm has to be poly logarithmic in the input size. And then all of these processors have access to the shared memory. Again, an unrealistic assumption in the real world. But this is a theory whether or not you have access to randomized bits actually makes a lot of difference in parallel algorithms. So I have to make this distinction. See an RNC is where you don't. And this talk is about the deterministic NC. So no randomization is allowed. Okay. So if this is such a real unrealistic model of computation, why do we even care about it? It all goes, sorry, is the, is everybody hearing me fine? Well, yeah, we can hear you. But sometimes it gets caught a little bit. And I was wondering if that could be because you're on a wireless network. The connection is a little jumpy. Yeah. I mean, if you have a cable, you can plug in right away. You can do it. Otherwise, I think it's, it's fine. It wasn't. Yeah, I can't do anything about it. Sorry. Okay. So if it's really a problem, I'll let you know. If it's a problem, then in the worst case, we can always switch off the video. Okay. That's true. Yeah. But let's, let's try it this way. And I'll ask you if you need to stop the VLC maybe. Sure. Okay. Sorry. So, yeah, so it all goes back to this central problem in computational complexity called polynomial identity testing. So what is this problem? You're given a multivariate polynomial in m variables. The way you're given such a polynomial can be in many different ways. You're you can assume that you're given a circuit, a formula, or even an oracle that evaluates this polynomial at arbitrary points for you. And your task is to determine whether this polynomial is identically zero or not. So there is a very simple randomized algorithm. And Schrodinger's Ippel were the first ones to prove that this simple randomized algorithm works. And the way this randomized algorithm works is you just plug in random values for the variables. The output is zero. The polynomial is identically zero. Then the evaluation is always zero. And Schrodinger's Ippel showed that if you're taking your random bits, if you're taking your random inputs from a large enough set, then if your polynomial is not identically zero. Yeah. The problem is still there. So maybe can you just close the VLC window? Sometimes this is what uses most of the bandwidth and it'll be easier. Okay. All right. Is it better now? Well, you have to speak for a while, but it looks okay now. Yeah, sure. Okay. All right. So real identity testing has this very simple randomized algorithm. And one of the central questions has been whether we can design deterministic algorithms for it. There are a lot of works on this problem. It's quite likely a very hard problem, because if you can provide polynomial time deterministic algorithms for this problem, then you can prove non-trivial circuit lower bounds. Okay. So because polynomial identity testing is likely very difficult in general, people have considered several special cases of it. I've listed three of them here. The first one is bipartite perfect matching. The way it reduces to polynomial identity testing is the following. So suppose that you have a bipartite graph and you consider it's bipartite at JCC matrix given by the Aijs. So Aij is one whenever there is an edge between i and j and zero whenever there is none. And then you multiply these by symbolic variables Xij. So if you compute the determinant of this symbolic matrix, it becomes the polynomial in the variables Xij. And if you just look at the formula for the determinant, this polynomial is exactly non-zero whenever there is a perfect matching. Any term you get in the determinant would have distinct variables Xij, so there is no cancellation in the computation of the determinant. Is the sound fine? Yes, so far so good. So bipartite perfect matching, you can generalize this idea to perfect matching in non-bipartite graphs. Over there you have to work with this slightly more general matrix called the taut matrix. But again, the same reduction holds. The determinant of a symbolic matrix is identically non-zero if and only if the graph has a perfect matching. I'll go back to what this taut matrix is later in the talk. And then there is this third problem, which is a slight generalization of the previous two. So you're given a graph, even a bipartite graph, and you've colored its edges red and blue. And you're asked whether there is a perfect matching that uses exactly k red edges. So all of these problems can be reduced to polynomial identity testing. And because of this reduction, there is randomized NC algorithms for all three problems. Okay, all right, perfect matching and perfect matching in general graphs. We already know polynomial time algorithms that don't use any randomization. And these algorithms don't use this reduction at all. So it's for a completely different reason that these two problems are in P. So if we really want to de-randomize polynomial identity testing in these three cases, we have to be working at the right level of complexity. So asking whether there are deterministic P algorithms for perfect matching is not the right question. So we have to go down one level and ask whether there are NC algorithms for perfect matching and bipartite perfect matching. If you're working with exact matching, then it's fine to ask the question whether there is any polynomial time algorithms because we don't know any such algorithm for this problem. Finally, there is also you can define a search version of polynomial identity testing. So the search version would be if your polynomial is not identically zero, just give me a monomial whose coefficient is nonzero. In the three problems I mentioned, these reductions basically also preserve the search version. So if you can answer that for polynomial identity testing, you can answer that for bipartite perfect matching, perfect matching and exact matching. There is a very general technique called the isolation lemma that basically also solves the search version of all of these things in randomized NC. So this is the main reason we are interested in this question. So here is a brief history of the algorithms found for perfect matching, parallel algorithms for perfect matching. So Lovage was the first one to show that there is a randomized NC algorithm for the decision problem and then later Carp Apfel and Wittkerson showed that even the search is in RNC. And then a year later, using this very general technique called the isolation lemma, Momuli Vazirani and Vazirani gave a different proof for why search is in RNC. And then over the last couple of years, there has been renewed interest in these problems because of this amazing discovery by Fenner, Gordje and Thierryph that if you slightly relax your definition of NC and allow for not just polynomial lemma processors, but quasi polynomial lemma, then search and decision, both of those problems can be solved in quasi NC. And then this idea was later extended to general non-bipartite graphs by Svenson and Tarnofsky. Okay, by the way, if you have any questions, just feel free to interrupt me. Okay, so this talk is about the special case of planar graphs. So why do we why do we consider planar graphs at all? In general, the decision search and counting problems for perfect matching are perceived to be in the increasing order of difficulty. The reason for this is both search and counting. I mean, decision can be reduced to both search and counting. So search and counting must be at least as difficult. And for general graphs, counting is known to be sharply hard, whereas the previous two are in RNC or even in polynomial time. But for planar graphs, there has been a for planar graphs, it's been known for a long time that counting can be done in NC. So this is a result of Castellan and then Vazirani generalized this to a slightly more general class of graphs called K33 free graphs. Okay. But the the search version was still a question mark. So we know polynomial time algorithms for it, but no deterministic parallel algorithms. Okay. I should mention that for the even more special case of bipartite planar graphs, it was known that the search version is in NC. So the first proof of this fact appeared in a paper by Miller and Naur. And then later, Mahajan and Varadarajan gave a very different proof. And our algorithm is actually inspired by this work of Mahajan and Varadarajan. So I'm going to go over it in details. Okay. So this is formally the result that we obtained, that there is an NC algorithm for finding a perfect matching on planar graphs. Okay. I should mention that since since our results, there has been Vazirani have generalized this to a more general class of graphs called one minor crossing free. So this includes planar graphs as well as some other graphs. And then Sankovsky has shown an alternative algorithm for the same problem. And he has already, he has also shown that the relevant problem of maximum cardinality matching in bipartite planar graphs can also be solved in NC. So in general, maximum cardinality matching, there's a reduction for it to perfect matching. But the reduction destroys planarity in general. So this is why the second result is non-trivial. All right. So Vazirani have matching in them. So how do you count perfect matchings in a planar graph? So let's consider a bipartite planar graph for simplicity. You have an adjacency matrix. It's a bipartite adjacency matrix. So the rows show the vertices on the top and the columns show vertices on the bottom. There's a one whenever there is an edge. And this is exactly the quantity that you want to compute. The permanent of this matrix is exactly the number of perfect matchings. Right? So permanent is in general a sharp hard to compute. So it's not clear why planar graphs make it easy. And there is a similar quantity to permanent that we can always efficiently compute. And that's the determinant. So there is a superficial similarity between the determinant and the permanent in that you have, you're summing over the same terms in both. But in the determinant, all of the terms appear with either a plus sign or a minus sign. So there could be cancellations here. Right? So Polia was the first person to ask this question. When you are given a zero one matrix, can you maybe change some of the ones to minus one so that the determinant becomes the permanent of the original matrix? Right? So in other words, you want to change some of these ones to minus one so that all of the signs here become plus. Okay? So that there are no cancellations. And unsurprisingly, for bipartite planar graphs, you can always do this. That's the reason planar graphs are special. So if you're working with non-bipartite graphs, you have to work with a slightly more general matrix called the taut matrix. So this is a skew symmetric matrix, meaning that its transpose is its negative. So here, the rows and the columns are both all of the vertices in the graph. And whenever there is an edge, you put a plus one on one side and a minus one on the other side. So you have a choice here, whether to put a minus one on the top and a plus one on the bottom or vice versa. Okay? So what we know in general about the taut matrix is that its determinant is very related to the perfect matchings. So it's a sum over perfect matchings of some particular sign. The sign is determined by the way you chose the signs. And then the whole thing is squared. Okay? So again, if you can manage to find a signing so that there is no cancellation in the sum, you can compute the number of perfect matchings by computing the determinant and then taking the square root. Okay? And this is what Castellan showed that in planar graphs, you can always choose the signs in the taut matrix so that there are no cancellations. Okay? And then Schanke had shown that you can compute the determinant in NC using parallel algorithms. And so this gives you a way to count the number of perfect matchings in NC. Nima? Yeah. So if you're trying to compute the permanent of a matrix and the underlying zero non-zero pattern is actually, let's say, a bipartite planar graph, is it easy to then compute the permanent? Yes. Yes, exactly the same signing gives you the same. Okay. Yeah. So it's not necessary for your matrix to be to consist of plus ones and minus ones. You can have arbitrary coefficients as long as the non-zero patterns form a planar graph, you can do this. All right? So we can count in planar graphs, but how does that help search? Okay? So for this, I'm going to go over the algorithm of Mahajan and Varadarajan who used counting to solve search in bipartite planar graphs. Okay? So roughly the sketch of their algorithm is the following. You find a point in the matching polytope. So what is the matching polytope? It's a polytope whose vertices are the indicators of all perfect matchings. Okay? So this is a pictorial depiction. So you find this point that could be in the interior of the whole polytope. The vertices of this polytope are basically all of the perfect matchings. And then from this point that you found, you move to a lower dimensional face, and then from that lower dimensional face, you move to an even lower dimensional face, and so on until you reach a vertex. Okay? So where does counting come into the picture? Counting is exactly used in the first step of this algorithm. Okay? To get the initial point in the perfect matching polytope. So if I wanted to compute the average of all of the vertices of my polytope, which is by definition in the convex hall, then I could use this trick. So think of an edge E and count the number of matchings, perfect matchings that contain that edge E, and divide that by the number of perfect matchings. So this gives you some number between zero and one. And if you consider all of these numbers for all of the edges, this is exactly the average of all of the indicator vectors of all perfect matchings. Okay? So you can use counting to find that starting point. And then the rest of the algorithm of Mahajan and Varadarajan doesn't use counting anymore. So the polytope that I mentioned whose vertices are all the perfect matchings in the bipartite case is, it's a very simple problem. Nina? Yeah. One more question. So you use this counting algorithm to find an initial point in the interior of the polytope. Right.  No, no, no. Just one call at the beginning of the algorithm. Okay. Yeah. So Neema, just, yeah. Sorry. Go ahead. Describing on that. So how do you, how like this step by step should take too many rounds? How do you do this? Right, right, right. Yeah, I'll go over that in the next couple of slides. Yes. So yeah, so this is the matching polytope. This is basically the inequalities and equalities describing it. So for each edge, you have a variable describing whether that edge is in the perfect matching or not. And then the first constraint, equality constraint is just telling you that each vertex must be adjacent to exactly one edge. And then the second type of constraint is just that X is should be non-negative. Okay. So this is known to be the exact description of the perfect matching polytope in the bipartite case. Right. And how do you move inside the polytope described by these equalities? You can move using this thing called the, using, using a cycle basically. So consider this highlighted cycle here. If I add epsilon to the, to the even edges and remove epsilon from the odd edges, then I'm again, I'm still satisfying the first type of constraints. Okay. Because at every vertex, my changes just plus epsilon and minus epsilon. So they cancel each other. Right. So as long as I can do this and, and have my X is being non-negative, then I'm moving inside the matching polytope. Okay. So you can, you can basically increase epsilon on this cycle until one of the edges becomes zero. Right. Once one of the edges becomes zero, you have basically made one of these constraints tight and you're at a lower dimensional phase. Okay.  Right. But if you want to do this naively, this can take a palmily many steps. So, so the way you, you paralyze this is you find many, many disjoint cycles. So, so let's say in this picture, we have three cycles, they are all edges joined. And then on each one of them, you can do this operation in parallel. Okay. So, so in planar graphs, you can generally find omega and edge disjoint alternating cycles as long as some minor conditions are satisfied for the planar graph. I'll get to that conditions at the end. But that's the rough idea. You can always find rough linearly many edge disjoint alternating cycles. And then you can, you can do this operation of removing an edge for each one of them. And this basically reduces the dimension of the face that you're at by at least a constant factor. Okay. Because you made omega n of these constraints tight. All right. So you rotate these in parallel. And then omega n edges disappear. And then you have to clean up the remaining graph and repeat. So this cleanup is related to what I said about the conditions you need on the planar graph. So in general, not all graphs have this many edge disjoint cycles. Think of just a single large cycle, right? It only has one cycle, right? So the condition you need here is roughly that the graph doesn't have any vertices of degree two. Okay. So this cleanup basically gets rid of the vertices of degree two. And it's very easy to deal with those vertices. Okay. So once you clean up, you again find linearly many alternating cycles. And you can repeat this until you get basically to a perfect matching. Okay. So what's the challenge in non-bipartite graphs? The challenge is that the polytope is not much more complicated. So Edmonds was the first person to show that this is the description of the perfect matching polytope in non-bipartite graphs. So we have the two constraints we had before, but these are not enough. You have to also add a third type of constraint, which is saying that an odd set of VCs. So here in this example, I have three vertices. Any perfect matching must have an outgoing edge from the set. Okay. This is easy because all of the internal edges basically cover an even number of vertices. So there must be at least one vertex not covered by the internal edges, which must be covered by an external edge, right? And Edmonds showed that if you add this third type of constraint, then you have exactly the description of the perfect matching polytope. Notice that the third type of constraint is much more complicated than the previous two because there are exponentially many of them. Okay. All right. So how does that make our lives harder? So previously we were finding an even cycle and I can still try to add epsilon and remove epsilon from the edges of it. But now the third type of constraints might be the one that blocks me, right? So here is an example. So if you consider this graph and you put one third on all of the edges, this is a point in the perfect matching polytope. But if you try to add epsilon to the even edges of this cycle and remove epsilon from the odd edges, then the constraints for this cut becomes violated for any epsilon bigger than zero. Okay. That's because before you did this operation, the value of this cut was one third plus one third plus one third one. And now you're removing two epsilon from this value. So the cut would go below one, right? So the third type of constraint can still block us and it might not be possible to remove an edge from such an even cycle, right? But here is the saving grace. So if you have a set, an odd set of vertices that's blocking you, meaning that the cut value of it is already one, then there is a well-known operation that basically preserves perfect matchings and reduces the size of the graph. So this operation is basically you shrink all of the vertices inside the set S into a single vertex S.  And the point is that if you had a point in the perfect matching polytope before the shrinking, the new point induced by the previous point is inside the polytope of the new graph, right? The reason for this is that because this set S was tight, now the degree constraint for this new vertex S is satisfied, okay? And there is also a second fact, which is that if you find a perfect matching in this shrunk graph, you can always extend it to a perfect matching in the original graph, okay? So it seems that if I'm blocked by the third type of constraint, I can still make progress, right? So for each cycle, you basically go until you are stuck by one of the constraints, you've either removed an edge or you are able to shrink an odd set, and that reduces the size of the graph, okay? Now the challenge is that we want parallel algorithms. So we don't want to just remove one edge or shrink just a small set, but we want to remove either many edges or basically shrink a lot of the graph. So here are the three main ingredients that our algorithm uses. So the first ingredient is about moving inside the polytope. So before in the bipartite case, we were doing this by moving along each cycle in parallel. I'll show you that in the non-bipartite case, you can't do that naively anymore. You have to be more careful and more clever. Then there is this question of once you're basically blocked by an odd set, how do you find it, right? Because there are potentially exponentially many odd sets and you can't just enumerate over all of them. And then once you find these odd sets, potentially many odd sets, one for each of the cycles that you're working with, how do you basically shrink them? Because these odd sets, you've found an odd set basically for each cycle, but they can be crossing each other arbitrarily. So it's no longer clear that you can basically shrink them at the same time. You have to somehow make them disjoint. So I'll go over these ingredients one by one. Let's go over the first one. So remember that in the bipartite case, we were able to find omega n edge disjoint cycles as long as your graph doesn't have vertices of degree two. That's still true for non-bipartite graphs, right? But the cycles can be odd, right? So in this graph, we have these two cycles and they have odd length. So you can no longer do the previous operation of adding and removing epsilon because if you just do that, then the degree constraints for these two vertices wouldn't be satisfied, right? So how do you fix this? You can basically join the odd, the cycles that you find by some path. So morally, you should think of two joint cycles as a single cycle with repeated edges. So if I'm joining these, traversing one triangle first, then going over the joining edge, then traversing the other triangle, and then going back on the joining edge, okay? So this is morally an even cycle with just repeated edges. And if you do the accounting of the plus epsilons and minus epsilons, you'll see that you have to basically remove twice the epsilon from this joining edge. So you can still move within the perfect matching polytope by these even cycles, right? But here's the big problem. If you have disjoint even cycles in the bipartite case, you can move along them in parallel, and nothing goes wrong. So what do I mean by that? So here is the quick matching poly at the central point, and we've found two disjoint cycles. Each one of them gives me a movement. So basically the two yellow arrows show you the direction of the movement. If I increase the size of my arrows until I basically hit a face for each one of my cycles, then the combination of the moves still takes me to a point that's inside the polytope. This is because the constraints, the inequality constraints defining the bipartite case, are very simple. They're just coordinate non-negativity. So yeah, so moves can be done in parallel when your graph is bipartite. But in the non- bipartite graphs, things are more complicated. The picture is more like this. So you can think of this additional face as one of the odd set constraints. So now if I have two moves, there's some no longer takes me to a point inside the polytope. It can just jump outside of the polytope. So here is how that situation happens in the graph. So think of an odd set S and two disjoint cycles that basically intersect it. Now if I find the slack for epsilon, the maximum slack for this set with respect to epsilon 1 and the maximum slack for this set with respect to epsilon 2, then the maximum slack for the addition of these two moves is the maximum of the two slacks, epsilon 1 and epsilon 2, not the addition of epsilon 1 and epsilon 2. So if I do my operations on these two edge disjoint cycles, this set can go, the constraint for this set can become violated. So how do we fix this? The way we fix this is by invoking the counting algorithm again. So here is the idea. So suppose that I'm at this point in my perfect matching polytope and I have two moves denoted by the yellow arrows. Suppose that I found the hyperplane which basically separated these arrows from the rest of the space. So all of the arrows live on one side of the hyperplane. So this hyperplane is basically defined by a weight vector w. So it's equivalent to saying that there is a vector w such that the dot product of w with all of my moves is negative. Now if I found the minimizer of w dot x for this weight vector w, this would be maybe this point denoted in the black. This point has already exhausted the moves parallel to the yellow arrows. In other words, starting from this new point, this new black point, I can't move along any of my cycles anymore. Because if I could, I would be able to reduce w dot x. So that's the whole idea. You find a vector w such that the dot product of w and all of your moves is negative. And then you find the minimizer of w dot x. So here is what it translates to. So you can think of w as a weight vector on the edges. And this condition that the dot product of w and each of my moves is negative is basically saying that for all of my even cycles that I found, the alternating sum of the weights should be negative. Now if I have a bunch of edge disjoint cycles, it's very easy to construct such a weight vector. You basically make the weights of all of the edges zero, except for one in each cycle. So for each cycle, you just pick one of the edges that appears with a negative sign in here. You put the weight of that edge to be one, and all of the other edges you put their weights to be zero. So this makes sure that the dot product is negative. But then how do you find the minimizer of this w dot x? That's the main question. So it seems like you're solving an optimization problem. And we couldn't even find the vertex of this polytope to begin with. The point is that this minimizer doesn't have to be a vertex. You can find a point inside the minimizer phase. So here is the lemma. If you put weights on the edges of the graph, as long as the weights are bounded by some polynomial in n, then a fractional minimizer of w dot x can be found in nc. And the way you find that is by counting the number of minimum weight perfect matchings. So similar as before, except that everywhere you replace matchings by minimum weight perfect matchings. Okay. So how do you find minimum weight perfect matchings? It's just a simple generalization of the previous idea. So previously we had this dot matrix, which had plus one, negative one, and zero entries. Now you replace those entries by in this symbolic variable t. I raise t basically to the weight of every edge. And I put that instead of the plus ones and minus ones in my top matrix. Now if you have a perfect matching, the term that appears in the determinant of this matrix for that perfect matching is just t raised to the weight of that perfect matching. So if I can evaluate this as a polynomial in t, I can basically extract the lowest order term. And that gives me the number of perfect matchings of the lowest possible minimum weight, the lowest possible weight. Okay. So there are many ways to do this. One very simple way of computing this as a polynomial in t is to just evaluate it at different points and then use polynomial interpolation. Okay. So you just plug in different values for t, determinant, you already know how to compute in NC. And then finally you just do polynomial interpolation to find the coefficients of t. Okay. So this shows you a way of finding the minimizer of w.x, not necessarily a vertex minimizer, but some minimizer and some point in the minimizer face. But that's enough for moving inside the polytope. So now let me go to the second ingredient, which is finding the tight outsets. Okay. So the idea was that if you had a cycle and you moved along it or you exhausted it, so it no longer can be, so you no longer can move alongside it, then it must be either blocked by an edge or by an offset constraint. It's easy to determine whether it's blocked by an edge. You just figure out whether x is zero for any of the edges. But if that's not true, then it must be blocked by an offset. How do you find that offset? Okay. So you want to basically find the violate, so you want to find the set s such that the value of the cut for that set s is exactly one. So the idea is that if you move alongside the cycle slightly by a very tiny amount epsilon, then now you've exactly violated that constraint. And if you choose your epsilon to be small enough, you've exactly violated that constraint alone and no other constraint. So you move by a tiny amount epsilon along that even cycle, and then you find the violated constraint that has taken you outside of the polytope. But by solving this problem called the minimum odd cut problem. So in this problem, you're given some weighted graph. Now the weights are given by XEs. And you want to find among all odd sets s the one that minimizes the cut value. So previously, before moving outside of the polytope, this minimum was exactly one, or at least one. Now that you've violated the constraint, this minimum has gone below one. So it's fine. So it's enough for you to basically find the odd set that minimizes this. So finding minimum odd cut is an old problem that has been solved by Pat Bergen-Rau. And their idea was that you can use this thing called a Gomori Hutri.  So suppose that you're given an undirected graph. It's potentially weighted. There is a tree on this undirected graph that has the same set of vertices, but whose edges do not have anything to do with the edges of the graph. So here's an example. You have this graph and you can find the tree on it with the highlighted edges. And the property that this tree satisfies is that all of the ST cuts in the graph are given by cuts in the tree. All of the ST minimum cuts in the graph are given by ST cuts in the tree. So let me parse that for you. So given a graph, there are exactly n minus one cuts defined, given a tree, there are exactly n minus one cuts defined by the tree. The way you find the tree cut is you just remove an edge of the tree and then it just decomposes the vertices into two subtrees. So any tree defines this n minus one cuts. And the property that the Gomori Hutri satisfies is that this exhausts all of the minimum ST cuts for all pairs of vertices ST in the graph. So what Pat Berg and Rao showed was that not only does a Gomori Hutri exhaust all of the ST minimum cuts, but it also exhausts the minimum odd cuts. So as long as you're able to construct this Gomori Hutri, you can basically try all of the n minus one cuts defined by it, and you're guaranteed to find the minimum odd cuts amongst those. Now, how do you construct this Gomori Hutri? There is a standard polynomial time algorithm for doing that. It just uses algorithms for finding the minimum ST cuts or maximum ST flow. What we showed was that if you can do this in NC, which for planar graphs we can, due to a result of John's sense, also construct the Gomori Hutri in NC. So we basically took the same construction for polynomial time and made it into an NC algorithm. So that's how you find an odd set. So for each of your cycles, you can find an odd set that intersects it. Now the question is if you have many different cycles and all of them give you some odd set, these odd sets can be crossing each other. How do you make them disjoint so that you can shrink them at the same time? So as I said, tight odd sets can cross each other arbitrarily, and this really genuinely creates a problem that you can't shrink them at the same time. But there is a standard way of uncrossing, which is that if you have two sets, S and T, that cross each other, remember these are odd sets, right? Then depending on whether or not their intersection is also odd or not, you can either uncross them into S minus T and T or S union T, and both of these are guaranteed to be again tight. So the reason for the tightness of these two is that it's basically the submodularity of the cut function. So we have this inequality, the cut value for S plus the cut value of T is bigger than both the cut value of S intersection T plus the cut value of S union T and the cut value of S minus T plus the cut value of T minus S. So if S intersection T is odd, let's say, then S union T is also odd by just the standard parity argument. So there are these two odd cuts, and the sum of these two odd cuts is at most the sum of the cuts values for S and T, which are both guaranteed to be one, because these are tight cuts, right? But these can't be lower than one, therefore both of them must be equal to one. The same standard argument applies in the other case, when S intersection T is even, you can consider S minus T and T minus S, and then both of them are going to be tight odd cuts, right? Notice that in this picture, I haven't drawn S intersection T, or in this case, or T minus S in this case. The reason I haven't drawn those is that they are subsets of these larger sets, right? T minus S is a subset of T and S intersection T is a subset of S union T, right? At the end of the day, I want to shrink sets, so sets that are contained inside other sets automatically get shrinked at the same time, right? So I'm only tracking the high level sets, okay? So what I just said basically boils down to this, that if you have two sets that cross each other, you can either replace both of them by S union T or remove their intersection from one of the two sets arbitrarily from either of the two sets, okay? And which, and whether you can do case one or case two only boils down to the parity, right? Whether this set is odd or not, or whether this set is odd or not, and you're guaranteed that one of these two cases happens, okay? All right? So you can basically uncross two given sets, but if you do this arbitrarily, it might take a long time. It's not even clear that it takes polynomial time, let alone polylogarithmic time. So how do we basically parallelize this procedure? We use the standard trick of designing a divide and conquer algorithm. So what's the goal of this problem? You're given some odd sets S1 through SM that cross each other arbitrarily, and the goal is to uncross them out with this joint set of odd type sets that basically span the original ones. So you can basically divide this list into two roughly equal sized halves and then uncross them recursively to get P1 through PK and Q1 through KL, right? Now, the only type of intersection that remains is between a PI and a QJ, right? These sets are already uncrossed. These sets are already uncrossed. So you only have PI QJ intersections, right? So the last step is to basically remove these intersections, okay? Now, this merge procedure is where the meat of the argument is. You can basically distill all of the information about PIs and QJs into this thing called the intersection parity graph, okay? So this is the one side, you have PIs. On the other side, you have the QJs, and then you put an edge between a PI and a QJ when they have an odd intersection, and you put a non-edge when they have an even intersection, right? The point is that PIs and QJs have no tree-wise intersections because if you pick any three sets, two of them are going to be either on the PI side or on the QJ side, therefore the intersection is empty, and you only care about the parities of the intersections or the parities of the regions in the Venn diagram of these sets, and this graph basically captures all of those parities. So you can distill all of the information you need into this bipartite graph formed by the PIs and QJs, okay? So now given such a graph, how do you uncross it? Lucky question, which we can hope for. Remember that one of the two operations we could do for uncrossing was taking the union, right? So in the previous graph here, I can basically uncross by merging P1 with Q1, then merging the results with P2, then merging the results with Q2, and all the time I'm just taking the union, right? So the lucky situation would be if I could do this for my graph and take the union of all of the oddsets, right? So there are two things that basically prevent you from doing this. One is that if my graph is disconnected, then I can't do this, and I can never basically take the union of two things from two different connected components, because there would be never an edge between any sets I get from one connected component and any set I get from another connected component. So this is needed. There is also one other thing which is needed, which is that this union, if I wanted to be an odd tight set, it better be odd, right? So the parity of this union is basically the same as the parity of the number of edges plus the number of vertices on my graph. This is a standard parity argument. So this is also needed for the whole union to be a tight odd set. And what we showed was that these are the only things needed. So if you have a graph that's connected and whose number of edges plus the number of vertices is odd, then you can take the union and the union is an odd tight set. The way you prove such a thing is by induction. You basically find subgraphs that satisfy, again, the same properties. And then you find two subgraphs that satisfy the same properties. And then you show that you can merge each subgraph into one set and then take the union of the two subgraphs. Now, if my graph is connected, but the second condition is not satisfied, in other words, this whole set is even, then there's a slightly more tricky thing that you can do, which is to find two subgraphs for which the number of edges plus the number of vertices is odd. And you can basically get two sets as the output of this procedure. So for every connected component in my graph, I can either merge it into a single set or two sets. Now, the point is that once you do this, the rest of the problem is easy because now my graph is basically empty. I no longer have any odd intersections between my sets. And now you can just basically order your sets and remove the intersections of sets one through i from set i plus first. So removing intersections is a trivial operation. And these two lemmas allow you to get to a situation where you only have to remove the intersections. So that's how you uncross. Now, if you've seen the three main ingredients I've shown, you might be tempted to try this algorithm, which is you find many, many even cycles. So this is a recap of the ingredients. So you try to find many, many edge disjoint cycles, then you move alongside all of them at the same time by finding a weight vector. And then from each cycle, you've either removed an edge or you found a tight odd set crossing it basically. So if you remove many edges, you just recourse on the remaining graph, as in the bipartite case. If you didn't remove many edges, you found many odd sets, you uncross them, and then you shrink the uncross sets. So from the graph on the top, I get to this graph, which has only four vertices. Now in the shrunk graph, I find the perfect matching and then I extend this perfect matching into each of the shrunk pieces to get a perfect matching in the whole graph. The thing that's guaranteed is that this shrinking procedure reduces the size of my graph by a constant factor. So the recursion depth here is logarithmic. But here's a problem with this procedure. The problem is that even though the recursion depth is logarithmic, the time it takes is not polylagorithmic. And the reason is that there is an inherent sequentiality here. So I have to find the perfect matching in this shrunk graph before I can extend it into the shrunk pieces. So I can't go ahead and basically extend the matching in each of the shrunk pieces because I don't know which external edge I'm using. So this algorithm is not polylagorithmic, but there is a fix to it, which is suppose that when I uncrossed all of my odd sets, I didn't find many, many odd sets, but I only found one giant odd set. So this is what I call a balanced tight odd set. So an odd set who's inside and outside are both linear in the number of vertices. Now, if you have this balanced odd tight set, you can basically decompose your problem into two independent problems and recurse on that. But how do you find such a balanced tight odd set? Yeah, it is used as before by finding many small pieces of odd sets and reduce the size of the graph multiple times. So from the graph on the left, I go to the middle one. In the middle one, I find two odd sets, I shrink them again. And if I do this many, many times, I get to a constant size graph, let's say a graph with 100 nodes. Now, one of the nodes in this 100 node graph must contain at least 1% of the original vertices. So I've highlighted that by this ACDEF node in the last graph. Now, if you unshrink all of the things that we shrunk, this gives you an odd set in the original graph. And this odd set is balanced. It has a linear number of vertices inside and outside. Now, you can basically decompose your problem into two pieces by just selecting an edge, crossing this single odd set, and just extending this single edge into each of the pieces whose sizes have been reduced by a constant factor. So that's basically the whole algorithm. So a couple of nodes. I think I'm running out of time. Do I have a couple more minutes, or should I just go to the end of this slide? I think if you are at the conclusion slides, you should have time to go over them. So the same ideas can be extended to find the minimum weight perfect matching, not just a perfect matching, but a minimum weight one, as long as the weights are palomaly bounded. Now, there are exactly three places where I used the planarity of the graph. One was to count perfect matchings. One was to find linearly many edge disjoint cycles. And one was to find maximum ST flows. So all of these three places, you can do the same three operations for bounded genus graphs. So basically, the whole algorithm works for bounded genus graphs as well. And then, as I mentioned in the beginning, recently, it has also been extended to this class called one crossing minor free graphs. So the graphs in this class are not necessarily bounded genus. Okay.  So the main open question is, is planarity needed? Whether or not the matching problem in non-planar graphs can be found, can be solved in NC. So here, the decision problem is not solved either. So that's the main question. So this weird problem of, remember, the red-blue graph, the red-blue matching problem called the exact matching, we don't even know a polynomial time deterministic algorithm for it. So if you're not very interested in parallel algorithms, you can think about this problem. So as I said, maximum cardinality matching in general can be reduced to perfect matching, but the reduction doesn't preserve planarity. So in a surprising result, Sankovsky has recently shown that if you have bipartite planar graphs, then you can solve the maximum cardinality matching problem by reducing it to non-bipartite planar perfect matching. But the question is still open for maximum cardinality in non-bipartite planar graphs. And then the final question, which I think might be slightly easier than the rest, is exact matching in planar graphs. Because you can count matchings in planar graphs, you can also solve exact matching, the decision version, or even the counting version in planar graphs. But can you solve the search problem for exact matching in planar graphs in NC? And that's the end of the talk. Thanks. Okay. Thanks, Neva. So if there's questions, speak up or type something in the chat. So the reason you put a single cop for the last question is that? That's my evaluation of how much coffee you need to solve those problems. So even the hard ones are not that bad, right? You have to scale it by something. Questions? I mean, do you have anything more to say about the first question? So is it, I mean, you said where you said things about how planarity is used.  So the reason that, so okay, so I'll maybe say a few things about the first question. So the two recent developments have been about this problem and they've shown that matching in non-planar graphs can be solved in quasi-NC, right? So the way they work is by just de-randomizing the so-called isolation lemma, right? So the isolation lemma is that you want to find random weights such that, and that's basically the only way we can these problems, right? We don't know of a way to basically reduce the, there is no known way. So what the two papers have shown is that you can find quasi-polymally many weight functions, one of which is guaranteed to isolate a perfect matching, right? I think it's, that's the main hurdle. The only way we know how to attack these problems is by the isolation lemma and it's not likely that there are polymally many weights that basically isolate a perfect matching in a graph. So the weights, the weight functions they construct are sort of oblivious to the graph. The weight functions do not even look at the graph and they're just quasi-polymally many of them. You can just try all of them. I think if you want to be oblivious, it might not even be possible to isolate a perfect matching. Yeah. But there's no lower bounds of that form. Are there lower bounds on? I'm not sure exactly. I think, I think if you're not talking about perfect matchings, but slightly more general class of polytopes, then there are no lower bounds. Not really sure if they're the same holds for perfect matchings or not. Someone has a question. Maybe can you read it, Nima? Or maybe I'll read it for everyone. Can you mention which of these open questions are still open questions? I see. Even if you allow randomization. I see. So none of them. Yeah. Because none of them are open when you allow randomization. Do we have other questions? Okay. If not, maybe I'll take us offline. So thanks. Thanks again, Nima, for giving the talk. A couple weeks from now we'll have our tour humus from our week telling us about round compression. Okay. So thanks everyone for joining and I'll see you now in a couple of weeks. Thanks.


I'm just going to work with a little piece of wall, okay? So first one, you're just going to put like two guys from the side one on the other side. But first one, I'm just going to put one touch. I'm going to alternate feet every time. But I don't want to see this. This is not working. I want me to make sure that I'm not going to punch in. I'm just going to punch in here. Ready? Fight. Go in here on the back. Wait.


Is everything that's going on in the world today making you feel like this? Got hurricanes Wildfires Justin Bieber's tourist cancel Well, here's a great easy cocktail to help you take the edge off To build your what punch you're gonna start with two cups of hot water just off the boil You'll add in two black tea bags of the flavor of your choice You're gonna let this steep just until you get a good overall color and a good amount of flavor and try not to let It steep too long because if you do you'll get a lot of that tannic acid Which is not pleasant once it comes time to make the cocktail and next we're gonna add Three tablespoons of sugar while it's still warm and give it a good stir so it dissolves into the tea Now we're just gonna put this tea in the refrigerator and let it chill In your chilled tea, you're gonna add three ounces of the whiskey of your choice and One ounce of fresh lemon juice Give it a good stir Let's put the contents between two glasses And then you're gonna top it off with ginger ale Give it a quick stir and garnish with a lemon wheel and easy as that you have your what the fuck cocktail And please remember to always drink responsibly because everybody likes to make friends, but no one likes to make them in a prison shower We're gonna need to do another one of that. That was perfect. No, it wasn't


Lately, the Supreme Court has been subject to numerous corruption scandals involving multiple Supreme Court justices and to make matters worse, they refuse to adopt a binding code of conduct or recuse themselves from cases where there is a clear conflict of interest. And furthermore, Chief Justice John Roberts won't even testify before the Senate Judiciary Committee about ethical concerns that U.S. senators have. Yet Justice Samuel Alito says that all of this talk about Supreme Court corruption and them being illegitimate is a mean, and we're hurting his feelings by discussing their corruption and we should totally stop it. I'm of course paraphrasing what he said, but that was basically the sentiment that he echoed in an interview to The Wall Street Journal. As Jezebel reports, Alito told The Wall Street Journal in an interview published Friday that attacks on the legitimacy of the High Court are new during his lifetime. Quote, we are being hammered daily and I think quite unfairly in a lot of instances and nobody, practically nobody is defending us, he said. The idea has always been that judges are not supposed to respond to criticisms, but if the courts are being unfairly attacked, the organized bar will come to their defense. But if anything, the justice continued, they've participated to some degree in these attacks. Interesting. Have you ever considered, Alito, that if the bar is supposed to come to judges' defense if they're attacked unfairly, maybe you're not being attacked unfairly? Probably perhaps it's the case that these criticisms are actually legitimate and the court being in a legitimacy crisis currently is really bad for the US judiciary. Have you ever considered that? No, of course not. See, he's actually telling us that everyone else is wrong and they're right. These nine unelected justices, they're correct. Now we'll talk about that in a moment here, but I got to address that in the same interview he claimed to have a pretty good idea, who the Dobbs leaker was, and he says that the draft decision was likely leaked to intimidate the justices and instigate an assassination of one of the justices in order to stop Roe v. Wade from being overturned. But I mean, after finding out that Alito himself leaked the Hobby Lobby decision, I don't think it's unreasonable to assume that the Dobbs leak could have been done by him. I mean, there were reports that the leaked draft actually sealed Roe's fate, because if conservative justices backed down after they were expected to vote to overturn Roe v. Wade, will the forced birther movement would eat them alive? So it's plausible to assume that the leaker was trying to solidify the decision by basically getting the majority of justices to harden their stance, which means there was a conservative priority here, a conservative justification for the leak. And since Alito, again, leaked cases before, you put two into together, it's not outrageous to assume it's him. But I mean, either way, it's evident that Alito has a victim complex and like all conservatives, he's trying to make it seem as if powerful people, people with power and authority, they're the real victims, like Supreme Court justices. And we're all just being really mean. It's not that they're victimizing us by taking away our rights and destroying worker rights and the planet. No, we're being too mean to them. That's his actual argument here. What a baby. But I mean, for all this talk of quote unquote unfair attacks being lobbed at the Supreme Court, let's just remember why people are concerned about ethical issues with regard to the Supreme Court. Remember, Thomas's wife, Ginny Thomas, is an insurrectionist who literally tried to overthrow the US government. That is no small thing. And Thomas didn't recuse himself from that case. Now, not to mention his sugar daddy, Harlan Crow, who was an admirer of Nazis, showered him with gifts for decades and that almost certainly had an impact on his decisions directly. For example, the lever reports that Thomas voted to end federal protections for tenants put in place during the pandemic after Harlan Crow's company complained that that was hurting his company's profits. And additionally, after Thomas voted to allow unlimited sums of dark money in US elections in the 2010 Citizens United decision, well, contributions from his sugar daddy, Harlan Crow subsequently rose by 862%. And as Americans for Tax Fairness explained in a Twitter thread, the Crow family has spent over $25.8 million trying to influence elections over the past 35 years. But nearly 80% of that spending has come in just the 13 years since Citizens United. That figure doesn't include donations to conservative organizations that don't have to be reported. So Thomas has made votes that conspicuously benefit his sugar daddy, never recused himself from those cases, never disclosed the lavish vacations that Harlan Crow took him on. But according to Alito, it is unfair to question the court's legitimacy. I mean, it's just a hilarious thing to say at this point. And while Thomas may be the most corrupt, he's not the only unethical justice. Neil Gorsuch, for example, failed to disclose that the buyer of a property that he co-owned was a law firm that frequently argues cases before the Supreme Court. And this matters because prior to his confirmation, the property sat there for two years without a buyer. But all of a sudden, once he's confirmed to the Supreme Court, nine days after specifically, he has this law firm who argues before the Supreme Court buy up this property. I mean, maybe it's a coincidence. But if you believe that I have a bridge to sell you, they were probably trying to butter him up. But see, justices are supposed to avoid the appearance of impropriety. And that right there, him not disclosing that is the appearance of impropriety. But the problem is that there's nothing that is legally binding them to avoid the appearance. And the way that they're avoiding the appearance is to just like not be transparent, not disclose these things. But furthermore, Chief Justice John Roberts has refused to hold justices to the same standard as even district and appeals court judges are held to by refusing to adopt a binding code of conduct. And on top of that, he's refusing to testify before the Senate Judiciary Committee, as I stated earlier. Oh, and if that wasn't bad enough, his wife, Jane Roberts, raked in $10.3 million in commission as a law recruiter between 2007 and 2017. And she got this job two years after her husband became the Chief Justice, and probably because her husband was the Chief Justice. And while there's no evidence that she placed lawyers with firms to deliberately influence her husband, it's likely the case that at least some of her clients landed at firms that had business before the Supreme Court. And the question is, would Roberts be more sympathetic towards their arguments if he knows that they're former clients of his wife, where she was paid extremely handsomely to get them their job? I mean, given how unethical the court has been, that is a real concern. Furthermore, Roberts mischaracterized his wife's income. As Truthout explains, in financial disclosures, John Roberts characterized his wife's compensation as salary rather than commission, which Kendall Price, a colleague of Jane Roberts, described in the affidavit as misleading. Pace University law professor Bennett Gershman went further and said that the alleged mischaracterization of the income is against disclosure laws. So if the Chief Justice to the US Supreme Court is potentially violating disclosure laws, needless to say, it's not unfair to call them out for being illegitimate, to call them out for these ethical issues that they continue to face. So none of them seem to feel the need to disclose gifts or purchases or potential conflicts of interest, and there's just an overall fundamental lack of transparency here. But putting aside the ethical concerns with regard to their own personal financial corruption, the court is also unethical in the sense that they are one of the most hyperpartisan pro-corporate theocratic courts in American history. The Roberts Court is responsible for Citizens United, McCutcheon, Overturning Roe, gutting the EPA, opening the door to prayer in schools, destroying worker rights. I mean, we're not even scratching the surface here. And also, they might possibly limit the authority of regulatory agencies that have the ability to protect us from environmental destruction. As Zach Schoenfeld of The Hill explains, the Supreme Court on Monday announced that will hear a case that could significantly scale back federal agencies authority with major implications for the future of environmental and other regulations, named the Court's decision in Chevron, USA, the Natural Resources Defense Council, the Chevron deference has become one of the most frequently cited precedents in administrative law since the decision was first handed down in 1984. It involves a two-step test. First, judges decide if Congress has in the statute directly spoken to the precise question at issue. If it is ambiguous, courts defer to agencies as long as their actions are based on a permissible construction. And the justices in this case are being asked to explicitly overturn the Chevron case, which is bad, needless to say. And some justices have already kind of expressed concern about the sweeping nature of the Chevron case. In other words, they've expressed interest in doing just that, overturning it. So I expect them to do that and screw us over once again. But I mean, to be fair, the Roberts Court has given us some good decisions. It's not all bad, right? Domo has struck down gay marriage bans were also struck down. But ironically, those same bans could be reinstated by the same court that struck them down in the first place, proving that all justices are basically partisan hacks. And the ideological makeup of the court matters more than anything else, right? But getting back to Alito, if he's concerned about the legitimacy of the court and things that everyone is being too unfair by attacking them. Well, I mean, there's something that he can do that will easily remedy the situation. First and foremost, the court can adopt a binding code of conduct, but they won't do that. So they simply are required to avoid the appearance of impropriety. But again, that is when I say requirement, that's a bit of a misnomer because it's a recommendation. They don't actually have to comply with the code of conduct that lower court judges are forced to comply with. So if they want to be taken seriously and regain the legitimacy that they lost, they can adopt a binding code of conduct and also justices like him and Clarence Thomas can resign. That would help a lot as well. But given how they won't even recuse themselves from cases when there is a clear conflict of interest, I'm not going to hold my breath on that one. But he can't have it both ways, right? At the same time, he wants us to stop questioning the legitimacy of the court, while the justices are brazenly corrupt and refuse to disclose things that we should know about. But it doesn't work that way.