Perhaps [INAUDIBLE] perhaps in a, in a, in a couple years back, right? >> Yeah, one and half years back. >> One and half years and he's one of the I guess school mentors of, of Markov logic. [INAUDIBLE]. >> right, I learned to [INAUDIBLE] but maybe the first person who had influence in learning on that, yeah. He cares about this interesting area of integrating. [COUGH]. >> Logic and statistics. So welcome, thanks for visiting >> Thanks Gautham. Yeah. So, so this topic is going to be about Markov logic and I see some people, who probably would have at least parts of this talk. before, but hopefully there'll be something new, new for you also. And so here is the brief outline of the doc. so, I'll give some motivation for the language, right? That Markov logic that will propose. The background, of some of the languages which have been proposed earlier, what is the relationship within them. Then I'll formally define the language and I'll, describe some inference and learning [UNKNOWN] to that. Describe two applications that are well known, using Markov logic. And there are plenty of them, that people have, all over the world, in fact, using Markov logic. And, some future directions, and then conclude the talk. Okay. So, I'll try to give you two different kinds of motivations for, for the frame that has been proposed. Right? So this is the first, first motivation. So ideas of interface layer. Right, so if you think about any area [UNKNOWN] then you can think about applications being developed at one, at one friend and also you can think about infrastructure. And I'll use some examples and typically what people have seen is that, initially when an area sort of comes. In, fashion then, you have all these n-square combinations. There are n, maybe n different applications that you need to worry about and maybe there are n different so of infrastructure companies that you need to worry about. And for every little developing at the lowest level you need to worry about what application, might, how that application might be affected. So you have to worry about all this, cross connections. And all the time what people realizes that, maybe there's an interface layer that. Separates these two, then application layer can, really talk to interface layer and then interface layer can talk to infrastructure, right? So this separation really helps instead of having order n-square combinations, you will have now, linear number of combinations, right? So, just to give an example that will, make it clearer. If you think about networking, you have, applications like www, email and so, right? And infrastructure level, contains protocols, routers, and all such things. Now, after some time of, you know, thinking about networking, people thought that, maybe there is something like Internet, which really serves as interface layer. So what I mean by that, is that, once you've built to the, sort of the interface, how. What the protocols are or what the how you should, the application should be communicating. [COUGH]. >> With the internet then you don't need to worry about what exactly, how exactly the Routers, are implemented or what is happening at the infrastructure level. Let all the application be developed, almost independently of what is happening at the lowest level. Similarly, someone who works at the infrastructure level doesn't have to worry about exactly what applications are been. Implement it, right? As long as they are true, to the interface, to the middle layer, everything is good, right? So that is right, yah? So similarly, when you think about databases, you have various things like, ERP, online transaction processing systems, CRMs, and many such applications and, the infrastructure could be query optimization, transaction management,. And various things, you know, where you really work at the backend. And what is the interface layer? Well, people could argue various sort of things like maybe relational model or XML but for large part you could say maybe the relational model is something which serves as an interface layer. And as, long as you are true to that schemer, how we talk with the relational model, the applications can be developed independently. They can be optimized. They can come up with endless applications, without really worrying about the lowest level. Similarly people at the lowest level can't really optimize and come up with new algorithms, in [UNKNOWN] or whatever that is. Without really affecting the top level of, applications. Right? And similarly for A.I. right? . So, for A.I. there are a number of applications. Robotics, vision, NLP, planning, multi-agent systems. And infrastructure of course, corresponds to knowledge presentation, how do you do learning, to do inference, right, how can you make it efficient. And all those questions, are, are there, and, over last you know, 50, 60 years, people have heard about. Since that went of A.I. right? People have talk about what could be the interface layer. And then, like, one of the choices that, people talked was, maybe first-order logic was the right choice, right? Like [UNKNOWN]. Why so? Because it's very powerful and it can present entities, relationships, and. When we talk about high human level intelligence then it really is very compact, right, you can talk about, groups of people at one, time and then you can talk about the properties, infractions, or all that. Right. But then, all the time people realize that it is a problem with this, and the problem is that there is no explicit way to handle [UNKNOWN], right? There is no way to incorporate the fact that. The, rules that you have are noisy. Right? And that's, almost always true in the real world. So that did not really fly. Of course, first-order logic is still, very important languages, but there are issues in terms of if you have noisy data or, if you want to have ex, if you want to have explicit motion of probability, then, it doesn't really handle that. Last 15 or 20 years or maybe, at least, last 10, 15 years have seen lot of, progress in something called statistical machine learning. Right. So the methods have become very, very well founded. And one set of models which has become really popular is called graphical models. Things like Bayesian networks or Markov networks. And, people thought that, maybe that gives you, an potentially an interface layer for A.I. right? And, that also. Was, quite a bit of success was there, but again, now the issue is sort of complimentary to, sort of logic. The graphical models in their, in the way they propose, are proportional. Right, so you really argue about each division separately. There's no. [COUGH]. >> Way or explicit notion of how to really handle relations in, into such a language, right. And the idea is that. Can we really combine, the power of these two together to potential provide a interface layer for artificial intelligence? And I guess next, right, so this is area, which has really been for the last 10 years or so. So people from statistically and logically have combined. Their strengths, and this area called statistical-relational learning, has come about, which really combines the power of logic and probability. On one side, logic, and probability on the other side. And which potentially can provide an interface layer. >> So, in the recording [UNKNOWN], that doesn't mean that you don't have exactly [UNKNOWN]. I can edit out anything that we don't want to. >> Surely, yeah, yeah, so, so feel free to ask, ask questions. I guess that is appropriate, yeah. So I should mention that, at, at least this part of the slide has been, borrowed from my advisor Pedro Domingos. Right, so, I should, I should mention that I did, right. And I guess this, this, is a still, in the sense this is, I wouldn't really claim that this is entirely true and, but I will in this talk I will try to maybe. Try to, give you some argument that how Markov Logic which combines sort of, strength of Markov networks and infrastructure logic, infrastructure logic, could potentially serve as an interface layer and hopefully when we look at the inference learning and various applications that have been developed. Hopefully we'll get some idea and maybe, some of you [INAUDIBLE] is that this can potentially serve as an interface later. Of course a long way to go, but it, it's a good motivation to look at it in this, in this way. Right, so, Markov Logic as an interface layer, potential interface layer, [INAUDIBLE] you can develop applications, and then you can develop infrastructure, almost independently, and as long as you are familiar with the semantics of this, of this interface layer, in this case Markov Logic. Right. So this is, this is the first, sort of, motivation for the talk. And the second one is, little different. Coming from a different perspective. Let's say if you are a pragmatist, you won't really worry about all this big bowls of, you know, having an interface layer for a year, right? Then, maybe, what you really care about are, you know, small application. Little applications and if you can do good on that. And so this example is from that. Right? So, think about let's say if you have a social network analysis, and, you're looking to model your world, or your domain. Let's say it is a university, or your community, where people are smoking. People have cancer. People have friendships. And, you know that smoking leads to, cancer. Right, so this is a very good. [COUGH]. >> Rule of thumb, but we know that this is not always true. Right? People who smoke, they, may or may not have cancer, but at the same time we know that, if someone smokes then they're more likely to have cancer, and, than not. Right, so this is a very rough rule of thumb. Right? And again think about, that you don't want to really go for every little person your community and your domain saying that John has, if John smokes, John has cancer. If Anna smokes, Anna has cancer. And so on. Right? So, you want to, really specify this, very compactly. May be some kind of, using some kind of logic, logical language at the same time you want to have this, explicit notion of uncertainty and we will, really formally see what that notion of uncertainty is. Right? So similarly you could say that, friendship leads to similar smoking habits. Right, so if I am, friend with lot of people who smoke, then I am more likely to. To smoke that not. Right? >> Similarly if I'm friends with a lot of people who don't smoke, than I'm more likely to, not be smoking than, having smoking habits. Right, so this is again, a very good rule of thumb, and this has been verified by social science that, this in fact is true. Right? So how do capture both of these facts? Right. That is where bio automatic logic will, comes in. Right, so this is, the idea, right? This is, a goal that we, start with, so combining logic and probability, right, so the real world, problem that are characterised by entities and relationships, right, and there is explicit motion of certain behavior that you want to capture, so you want to capture both these things, the relational aspect of the problem. And the probabilistic aspect of the problem, right? Logical languages can handle relationships, horn clauses, first-order clauses. Different logical languages, right, you could, really choose depending on your application what might be the right choice. Probability can represent uncertainty, right? So there is, things like Markov networks, Bayesian networks. There are many different statistical, learning techniques, but here we'll focus mostly on graphical models. Like and then how do we really combine the two. Right? So when I say combine, you don't want, something that is heuristic based but you want something which is really well founded. Both in, terms of the theory which has been developed for logical languages and for the probabilistic languages. Right. So that is the goal. And if you look at the history of this, this goes way past in 1980's, right. There is, something called probabilistic logic by Nilsson. And as you see there has been, consistent progress in this direction of course I go, in all the details of this but just to give you summary, [UNKNOWN] each language is different in terms of, the two components I just listed. What is the logical language and what is sort of the, inference or the statistical part of it. Right, for example, if you think about basic logic programs proposition casting and loop rate. Right, in 2001 they combine horn clauses with Bayesian networks. Right. So similar rela, relation Markov networks [UNKNOWN] the combined language which is essentially sequel queries, with Markov networks. There is a series called BLOG which has, slightly complicated language and it combines with the, Bayesian networks on the, probabilistic side. And again, there's a lot of literature on this you can read. And Markov logic is in fact, is sort of a latecomer. It was proposed back in 2006. There was one short page which came earlier but the general paper appeared in 2006 and that combines about a full first order logic. For this talk, we'll focus on finite first order logic. But there are extensions where you can really go, to the powerful first order logic. And Markov networks, right? And and I believe there have been, couple more later, but I won't really say that Markov logic is probably the most popular ones among these and one of the reasons is that it has very well developed software system which you can freely download and use it for your own application. So that, really has helped to make it popular and lot of people as I said in the beginning, not just at University of Washington, where it was proposed but all across the world people are using it for their own, application and programs. Right? [BLANK_AUDIO] Okay, so I guess that, ends the motivation. I guess it would, maybe a good point to ask any questions or interrupt at this point. And then, if not then I guess I'll continue with the, with the rest of the talk.