[SOUND] We've talked a lot about formal concepts and concept analysis. Now let's talk about how we can compute them from formal contexts. Well actually, there are a lot of ways to compute them. We're not going to cover all of them. We're not even going to cover the most efficient ones. But we'll cover a few that work reasonably well. Let's start with an intuitively clear technique and we'll illustrate it on a formal context. So this is a formal context of triangles, we have seven triangles and five attributes. A triangle can be equilateral like T4. This means it has all its sides are equal. This is attribute a. Attribute b is isoceles. So some of the triangles have two sides or at least two sides equal. Like this one for instance. This is attribute b. Attribute c is acute angle which means that all angles are acute like for T3. Acute angle triangles have an obtuse angle like T5 and right angle triangles have a right angle like T7. So this is all formal context. Let's compute its concept lattice. Well, we'll start by computing concept extents. Once we have a concept extent, A, we can compute the correspondent concept intent easily using the context. The correspondent intent is just a prime. So let's start with extents. And we'll compute intents later. And then we'll also draw a live diagram. Some extents are easier to compute than others. Let's start with attribute extents. We have five attributes and each attribute defines an attribute extent. So the first extent E1 is going to be the attribute extent of a, a prime and this is the set of all objects that have all attributes from the set. So all objects that have attribute a. And that's just one such object, T4. So E1 is the set consistent of T4. E2 is b prime. So which objects have b, T1, T2, T4, T6. T1, T2, T4 and T6. For E3, we have c prime and this is T3, T4 and T6. E3, sorry, this was E3, and now E4. E4 is d prime. And this is all objects that have d, T1 and T5. E5 is e prime and that's T2 and T7. Okay, so these are attribute extents. There are other concepts, concepts that have different extents. But the basic theorem tells us that all other concept extents can be represented as intersections of attribute extents. This is because the set of attribute concepts is infimum dense in the concept lattice. So all we need to do now is to compute the intersections, all possible intersections of attribute extents. Let's start by comparing pairwise intersections. So E6, it could be the intersection of E1 and E2. But E1 intersection E2 is T4. And T4 is already on the list. So we will not write it down. It may happen that some of the extents that are on the list are intersections of other extents. In this case, we don't try them. So let's intersect E1 and E3, we'll get T4 again, so we don't need this. Intersect E1 and E4 and we get the empty set, which is not on the list yet. So E6 is going to be the intersection of E1 and E4, and that's empty. Now E1 intersection E5 gives us the empty set, but we already have it. So we ignore it. Now E2 intersection E3 is T4 T6, and we don't have it. So let's write it out. So E7 is E2 intersection E3. And this is T4, T6. E2 intersection E4 gives us T1 which is also new. So this is going to be E8, E8 is E2 intersection E4 and it's T1. E2 intersection E5 is T2 and that's also new. So E9 is E2 intersection E5 and this gives us T2. Good. Now, E3 intersection E4 is empty, we already have it. E3 intersection E5 is empty, we already have it. E4 intersection E5 is empty, we already have it. So then we could also continue to intersect this set together but you might check that we'll get nothing new. So basically that's all the extents, except for the one which we always have. It's the extent that contains all objects. And because we haven't obtained it as the intersection of any bit extents. Let's add it, explicitly. So E10, is the set of all objects. So it's T1, T2, T3, T4, T5, T6, and T7. Well, formally this aerial extent is the infimum of the empty set but It's not that important for us. We always need this extent. The extent that contains all objects. So, if we don't get it at any of the previous steps, we just add it explicitly to our list, okay. So, these are extents and to get the concepts, we also need to compute intents. But we know that for Any set A which is a subset of G, will have that a prime is the set of all attributes Shared by all objects from A. And if A is a concept extent, then A prime is the corresponding concept intent. But what is this set? Well, here we compute the set of all attributes shared by all objects from A. But we can do this as follows. We can look at the objects from A and intersect the corresponding object intents. So, let me write this down. It's going to be, we can look at all objects in A and we compute the intersection of the intents. And that's how we can compute the intents corresponding to the extents we've just computed. Let's do this. So these are our extents. And let's look at intents. So the first extent E1 has only one object, T4, so the correspondent intent is abc. The second extent E2 has four objects T1, T2, T4, T6. And we can compute the correspondent intent by intersecting the roles correspondent to T1, T2, T4 and T6. So for T1, we have bd, for T2, we have bd 42., we have be. So, we intersect and we get b. Then T4 also has b and T6 also has b. So here, the intersection, this intersection equals b. For E3, we get c intersection abc intersection bc, and this is c. For E4, we get T1 prime intersection T5 prime and this is d. For E5 we get T2 prime intersection T7 prime, and that's going to be E. Well, when a is empty, a prime is always the set of all attributes. Because empty set doesn't contain any object that doesn't have attribute a. It doesn't contain any object that doesn't have attribute b and so on. So, every attribute from M satisfies this property if a is empty. So here we have M, the set of all attributes, a, b, c, d, e. E7 is the intersection of object intents of T4 and T6 and this is {b,c}. For E8 we get the object intent of T1 which is {b,d}. And for E9, E9 is T2 so we have b e. And for the tenth concept we need to look at attributes that are shared by all objects. And we don't have any such attributes. So here the correspondent concept intent is empty. And this is the list of our formal concepts. [MUSIC]