Hello everybody. This is Roberto Scarella from University of Naples Federico II. Today, we are going to talk about our Quantum Fuzzy Inference Engine. Here, you have my email so you can contact me if you have question after this presentation. Let's start with a natural question you can have when you approach to this new Innovative Paradigm of computation that is quantum computer. So, the question is why should we use quantum computers? The answer is reported here because quantum computers offer a massive parallelism during the computation. Thanks to phenomena like the superposition or the entanglement. In Quantum Computing, we have a different unit of information from the classical bit that is known as qubit. The qubit is represented over here with this representation that is formed of two basic states 0 and 1 and two coefficients alpha and beta. So, basically this means that qubits can live simultaneously in two states 0 and 1 differently from the classical bits that can be 0 or 1 and the square modules of alpha and beta that are complex number represent the probability that when we measure the qubit it will end up in the state 0 or in the state 1. We can represent a qubit as a point over the sphere known as Bloch Sphere and making computation quantum computers means to rotate the sphere, the arrow, and the point on this sphere. Thanks to proper design algorithms but the cool thing happens when we consider n qubits because with n qubits we can deal with the vector like this one over here that is a composite of 2 to the power of n of possible basic states. If you have two qubits, you have 00, 01, 10, and 11. If you have three qubits, youwill have eight possible states to measure. If you have 50 qubits, you have 2 to the power of 50 possible states to measure and 2 to the power of 50 is higher than number of atoms that are composed of the actual universe. So, image how powerful this tool can be. How do we manipulate qubits? How can we design Quantum algorithms by means of Quantum gates? That's the answer. So, basically we have some matrices that can modify the state of our qubits and in particular today we are going to focus on this concept that is known as Quantum Oracle. So, a particular Quantum gate that is represented here and it permits to implement on Quantum Computers by the evaluation of Boolean function. So, for instance, let's suppose that we have an oracle like this where each input is composed of two qubits 00, 10, 01, or 11, and the output is a string of three bits. Thanks to if you want to evaluate all the possible inputs in the Oracle classically, you should one by one see which is the value of H of 00, then you are going to see the value of H of 10 and etc etc. So, you will need to perform four steps because four are the possible inputs. Instead, if you work with a Quantum Computer, you can do the evaluation of all the possible inputs with just one step. This is done thanks to the concept of superposition because you can design a Quantum Oracle like this U of H, the axes on a Quantum state of input that is a superposition of all the possible input states. So, you have both 00, 01, 10, and 11, and you have an output register like this initially in the state 000. And, when you apply your Oracle U of H, you get that for each input, the second register contains the output with just one call to the Oracle and this is a huge speed up with respect the classical system. So, let's move on to the cool part of this presentation. I hope you can understand a bit more of Quantum Computing. Now, let's deal with our Quantum Fuzzy Inference Engine (QFIE) that we recently published together with Professor Acampora and Professor Vitiello on prestigious Journal, IEEE Transactions on Fuzzy Systems. This is the very first Quantum Fuzzy Inference Engine, the very first fuzzy inference engine that can be executed on Quantum Computers. It is based on two features that we are going to exploit during the remaining of this presentation. The first one is the way in which we encode fuzzified values in Quantum States and the second feature is the formulation of the fuzzy rule base as a Quantum Oracle model. The resulting advantages of QFIE (Quantum Fuzzy Inference Engine) with the respect the classical fuzzy inference system is that we have an exponential advantage in the number of queries to the Oracle for computing all the fuzzy system. Classically, when you compute all fuzzy rules you have to evaluate them sequentially step by step, rule by rule. Here, we can exploit the parallelism of Quantum Computers to evaluate all the fuzzy rules in your database simultaneously. Secondly, we have a collateral effect that Quantum Computers can now be programmed by means of linguistic use and this is huge because programming Quantum Computers is now a bit complicated because some deep knowledge of mathematics and quantum mechanics are still needed. So, by using the fuzzy inference system instead, we can design classical fuzzy inference systems by means of linguistic rules and then we can use the Quantum Computers for executing them without any knowledge of quantum programming. So, before of going deeping inside QFIE, let's recap for a moment, a classical Mamdani Inference. As you remember the first step is to have two some input variables and in this case is the rate of service and food in a restaurant, some fuzzy rules, and for each fuzzy variable basically you have a fuzzy partition that consists of linguistic terms associated to the variable service that can be poor, good, or excellent. And, to each linguistic rule, you have associate a fuzzy system so you get the crisp output and you perform fuzzification so you are going to compute the membership degree of that fuzzy rule of that crisp input to each fuzzy set and you perform this for all the input variables. Then, you sequentially evaluate all the fuzzy rules. You perform the implication by cutting the output the consequent fuzzy system, the related firing strength by computing the strength of the antecedent part of the rule, and in the end you perform the aggregation so you put everything together for getting the output fuzzy system from which you perform the defuzzification and you get the crisp output. Let's keep this in mind because we are going to transform some part of this process in a Quantum way. First, let's see how we can encode fuzzified values inside Quantum state. So, the first step of a fuzzy inference system is to perform the fuzzification. So, let's perform this step. We have a fuzzy variable X1 on which are defined four in this example possible fuzzy sets. Each one is related to a linguistic terms mf1, mf2, and mf3, for instance, service good, poor, and excellent, so we get rate of service and we perform the fuzzification so we have the membership degree that we can denote with alpha so alpha 11 will be the membership degree of fuzzy variable X1 to the membership function mf1, alpha 21 is the membership degree of the crisp input to the membership function mf2, etc, etc. So, we are going to encode each membership function as amplitude of a Quantum state that has many basic States as the number of fuzzy sets defined for that variable in more formal term. We can use this representation over here where we are putting this sum as by using this notation over here. That is more compact but let's go ahead. Now, the cool thing happens when you consider this initalization procedure for all the possible input fuzzy variables in your system because this results in this Quantum State over here that contains as many basis States so as many possible outcomes of a measurement process as the number of possible antecedants in rule base of this form over here. So, a conjunction of different input fuzzy variables and in particular the amplitude represents the five strength of rules of the this shape by using the product of membership degree and so by using the productor in a fuzzy linguistic with term of the end connection over here. So, we can rewrite this Quantum State over here like this so we have a superposition of all the possible antecedants you can have in your system and the related coefficients is the five strength of that antecedant and this is done in a very very cheap way in the sense that basically we do not need to perform any kind of operation. This state comes out just by using the initialization procedure I have shown you before. Now, we have the antecedent and we have computed the firing strength of each antecedent and now we need to perform the implication on th consequent part and to do that we can design a proper Quantum moral I'm not going to enter in the detail of this design because it's hard to understand in such a small amount of time but the concept is that basically to each antecedent. Thanks to the Oracle, we designed and associated a consequent and so basically by measuring the consequent register. We can measure the probability. We can have the probability of measuring each possible consequent in your system. We take this probability and we are going to cut the output fuzzy sets at the related level of probability and by considering the colored part over here. We are obtaining the output fuzzy system from which we can perform the defuzzification and retreat the crisp output. Let's end up this theoretical part about QFIE. I hope you have some ideas in your mind and let's see an application of QFIE to the inverse pendulum control system where basically we want to bring this pendulum in a vertical position by applying some current according to the value of the angle with respect the vertical position theta and the angular velocity omega. We designed the fuzzy system and I can show you this animation that is displaying the fact that Quantum Fuzzy Inference Systems are able to control this kind of systems like classical fuzzy inference system and this is a huge result because we are able to obtain a result as well as the classical result but in a less amount of computational time with a less amount of operation performed by a machine. I'm going to conclude this brief presentation by showing you two QR codes. One is related to the paper that introduces the fuzzy inference engine I explained you before and the other QR code is related to the python package for implementing your own QFIE in a very easy way. Thanks a lot and see you soon. Bye!