All right, so welcome to today's library workshop. We're going to be talking about subject specific databases and effective keywords. My name is Christa Powell, I use she heard pronouns and I am a student success librarian. And I work mostly with first year composition students like English 101 102. And you can email me at pursa.utk.edu. And my name is Brianne Dosh. My pronouns are she her and hers. I'm a subject librarian, which means I specialize in a specific subject and my subject is psychology. I also help with social sciences data related questions. I'm excited to deep dive with you guys today and you can email me at be dash at utk.edu. All right, so just to make sure everyone's on the same page. We are going to be finding and using subject specific databases today. Everyone's going to learn how to contact your subject librarian. And then we're going to also be talking about how to use keywords and synonyms when you're looking for articles and things to back up your research. So we wanted to first start out with just some definitions make sure everyone is on the same page. When I say database, I'm talking about a collection of resources. These could be full text citations abstract. And then if you have heard any of these words or hear them in the future, like academic search complete, psych info, web of science, those are all databases. And then when we're talking about keywords, we're talking about specific words that represent the main concept in your research topic. And it's typically the most important concepts within your research question. So I have a few examples here in just a moment. But we also wanted to define synonyms. So if we're asking you to come up with a synonym of your keyword, we're asking you to think of another word that could also be used to describe your keyword. And that can just help broaden some of the search results you're getting. And so we just wanted to start off with some of those definitions. So we're going to do a little activity and just a little bit to help folks brainstorm their own keywords. But if you ever get stuck, I wanted to highlight a few things that I personally find really helpful if I'm having a hard time. One of them is credo reference, which I'll show in a moment. But another is that sometimes I will just Google the word and then synonym to try and find something. The sources are really helpful for that as well. And you can always ask a librarian so you can reach out to me, we'll show you make sure folks know how to get help after today. One specific tool you can use which Grace just put in chat is credo reference. And this is one of my favorite tools if you're just briefly exploring a topic, maybe you don't have a full fledged research question yet. This can be a great place to just kind of brainstorm and get some ideas. And so if you look at the little word cloud thing over here. Like maybe I'm researching mental health but I'm not sure where else to go from there. Maybe I'm interested in psychology and schizophrenia so you can kind of like once you're in this tool, you can click through these and kind of explore further. So to link to that in chat. You do have to log in with your net ID and password if you're off campus but this is a really amazing tool, highly recommend. So just taking a quick poll in chat how many people have heard of Boolean operators before. Yes, no, kind of. Not sure. I've got a no, I've got some knows okay I've got one. One solo yes to yeses. Okay. So I'm getting a lot of no so we're going to go over it and if you have heard of it. kudos. So, if we're pretending that my research question is something along the lines, looking into college students and mental health. This is going to be really helpful when you get into actually searching our and operator is combining. If I wanted to make sure an article had both mental health and college students, I would use the and operator.  You, this would be the articles that have both of those. If I was looking into either or like, if it was about mental health or college students, I'm just interested going to see what's out there, want to really broad search. I can do that. And the not operator is if maybe I was getting a ton of search results about high school students, and I was like, Oh, I'm really, really just want to focus on college, tired of getting high school students and my search results you can kick that out with not. What are your Boolean operators that basically just a language you can use to speak to the search engine. Okay, and then Brian is also going to like show all of these things so this is just kind of like a little preview. And this is what some search strings could look like so before here you have like the visual representation of that would look like. Especially in a database and a search engine. It could look like any of these. So mental health and college students, we can add stress on to that. We can use some of our synonyms here so education or college students and now we're adding on anxiety so I definitely recommend kind of starting on. The broad side of things but then, as you want to whittle down your search results you can add more and more keywords. All right, we're going to do a quick practice round. So grace will be putting in a link to tablet in chat. And if you click there you should get to a screen that looks like this. So we would love to hear from you what your research question or topic is like again, we're pretending that mine was mental health and college students. And then you can list out some of your keywords over here. And the nice thing about this is that you can comment on someone else's and you know if you're having a hard time thinking of some keywords or synonyms, someone else can comment on yours. So I'm going to give everyone about one minute to work on that I'm going to set a timer. And take your time. Again you're going to be commenting your research question over here, and then your keywords over here. So it kind of looks like that. All right, so we've got some different topics going on over here for anyone who just joined I'm going to re put a link to tablets in chat and again. We're commenting our research question or our keywords. So we've got some folks who are interested in history, this interpretation. Oh, greatest writers in English history, how genetics impact history. We've got, let's see. Best ways to study. And then over here. Some folks are interested in either like real bloodline slash family. And like, Oh, I just I forgot I could move cards. So maybe if this person I almost wish I could like match these together but if someone's looking into greatest writers in English history maybe they're also looking for some of these keywords. Brian, any. Anything standing out to you. What I love is what I'm seeing is, you have a question and you realize like I can't just throw like choose a subject in history. That's been misinterpreted and throw that into a database or even Google right like it's helpful to, or you can throw that into Google but you have to learn how to take that into the keyword. Demonstrations you were showing and make it speak to the database so I love seeing where people's brains are, or like best types of studying what what a fear of visual learner right kind of connecting those two. Those two things that line of how do I take my common sense language and make the database understand it. So, I think we have a group of smarted pants in here. And I know that we're doing this for this workshop but this is something I do on my own before I get started on a topic and I just find if you ever run into a wall or you're kind of like losing steam on your research process it can kind of be nice to come back to this and kind of like ground yourself back in what you were originally looking into. All right. So, we are going to do something else. We would love to hear from folks where they go to deep dive on topics so you can scan the QR code on this page or go to slido.com. And I'm going to put the numbers in chat. The way I like to think about deep diving is I like to think about where do I go when I've decided I want to become an expert on a topic, whether it's I disagree with my friend at lunch and I need to prove them right or wrong. Or when I need to learn about something that I'm curious about like where do you go when you want to get subject specific or deep dive on something. Google is one of my number one Wikipedia. I love that somebody said Wikipedia Google scholar. Internet pro quest and seeing some really promising responses. Oh, Wikipedia sources. Oh, that's a really, that's a really great one. Buzzfeed going to some news articles. Sometimes Buzzfeed's lists make me feel like I'm an expert afterwards of like wow I did not know about that 90s trend that has made a comeback. Overall, these are all fantastic I love that you guys mentioned Google scholar versus Wikipedia versus scrolling down to the bottom of a Wikipedia off article and clicking on the sources. These are all really great examples of a really good place to start when you want to deep dive on a topic. So YouTube also, there is so many good YouTube academies and other things, but the internet is kind of endless for where we can start finding resources to make us experts on a specific topic. And so what I'm going to do is I'm going to demonstrate how to use library resources to deep dive and get subject specific on a topic. So I'm going to use the keywords that Carissa demonstrated earlier today. So I'm going to go ahead and share my screen. All right. So here we are. First, what I'm going to do is I'm going to walk through my process when I'm going to get subject specific on something. And then I'll kind of go backwards and show you resources that I might have lost over our other kind of key points on the library website for getting subject specific. So now I'm on the library homepage, which is lib.utk.edu. You can also just Google utk library, and it will be the first ones that come up. So I'm going to go ahead and go to one search, which is one of our big discovery portals to research on the in the library, and I'm going to search mental health and college students. Let's see what I get. All right, so I got over half a million results. I'm getting books and ebooks. I'm seeing a lot on my topic, but mental health. When I'm thinking about it I see everything that I'm getting. It is kind of a broad, a broad topic mental health. So I think what I'm going to do is I'm going to Google types of mental health problems because I think I'm curious about what type of mental health problems college students might have. And this is what I love about some of the updates in Google over the recent years is it gives you these really help it's helpful snippets. So this is from one of the first results where it starts listening, listing different mental health disorders.  I may not have thought of using the word mental disorder, right. So I'm going to click on the first result and see what I can learn from it and so this is kind of that beginning part, when you want to deep dive I'm going to familiarize myself on the topic and so Google is a really good place to start. This looks like a pretty interesting resource that's from an Australian government agency actually, but it looks like it lists these different types of mental health issues. And so I was scanning through it I'm scanning through it and I think I'm interested in what one search would have to say about depression and college students I wonder if that would change my search at all. So I'm going to go back to my search. I'm going to take away mental health and type in depression and college students. I'm going to go back to my search. Okay, it took down my results by a couple hundred thousand, which is pretty significant but there's still a lot to get through here. Important things to know about one search quickly before I take you to some databases is, you can quickly use the filters on the side to find more of a format that you're looking for. You are looking just for articles, or just for print books. I like to click this peer reviewed journals filter if I'm knowing I'm going to be looking for a peer reviewed journal article type thing. But I think I would actually like to go to where Carissa was talking about with pre-do reference and I want to look at what I can learn like what subject, should I be looking in to maybe go find the more precision tool of a database. So I'm going to search mental health and credo reference. And what I really like about credo reference is that it lets you kind of know what bigger topics it might be in because sometimes you might have a research topic and you're really not sure what bigger discipline it fits in. So I know mental health and psychology might make more sense logically, but I can come here and I can see okay psychology psychiatry. I could click around a little bit but I think I want to go back to the library and figure out if they have any databases specifically for psychology. So I'm going to go back to one search. I'm going to click on our header to go back to the library's homepage. And then I'm going to come up and click on databases right here. So I know that databases might be that more subject specific. So I can scroll through and see wow they have leads to a lot of different subjects. So I'm going to scroll and see what I'm looking for. I'm going to click on psychology. So like there is a subject librarian that I can get in contact with for this topic that's really great to know. And also this subject librarian has suggested that this is my best bet for psychological research. So I'm going to click on it. And like it takes me to something that looks a lot like one search. So I'm going to do my same search that I was doing in one search and I'm going to do depression. I'm going to have a million operator and college students. And I'm going to see what my results look like. So I still have 11,000 results which lets me know I might be able to even get more specific, but it's not half a million results. I can really tell that I am getting more subject specific and already glancing these journal articles tend to be more on what I was looking for. So like an open like depression and COVID-19, but an interesting timely topic to look at. And I can come here and I can scan the abstract I can look at the different subject headings, and I can follow the power T to click find text to get that full text PDF for me. I can click on article link. And here I am I can read the full text online or I can download it. And that was kind of a fast way that I decided to get subject specific to deep dive on something starting with an idea I had Google using a tool like credo reference. And so to go over some things. I am on the library homepage. And if you are interested in learning who the library has that as an expert on a different subject or what we have available on a specific subject. I recommend coming over to where I spent a lot of my time and clicking on this databases tool. And what this page is it does give you some of your best bets in general some of our most popular databases, kind of more interdisciplinary databases like Web of Science. But no matter where you are if you just cleared a major or not or you know here subjects librarian is or not, you can open one of these databases. Subjects within the database it list, and you can see what your best bets are, and where your subject library is and librarian is and how to get in contact with them. So essentially, I just wanted to share that you can get deep on on a topic using the library website using Google using other tools and making sure you find that subject specific database. And with that, I'm Chris that do you have anything to add. Oh, you're muted. No. Yep, so close. Um, no. Thank you so much. We are going to put a link to the end of workshop survey in chat. If you need proof of attendance from your professor for being here today, that will be the last step in the survey. And if you're not here for proof of attendance we would also love to hear from you anyways. And then the next week's workshops are going to be on Tuesday, September 7 at 11am talking about research and writing. And then on Wednesday, September 8 at 2pm is how to write a research question. So we're going to stop the recording and then take questions.


Alright guys, welcome back to the Independent Investor Channel. I think it's important for investors that have been investing for a while and have evolved with their own program as well as new investors understand what the options are out there. The investing opportunity has changed immensely with the ability to invest for free. The ability to enter into certain stocks for partial share purchases, and the ability to invest across a dynamic pie, the way that M1 Finance allows you to do this. In this video, I'm going to drop you guys into my dividend growth portfolio. It's comprised of 71 holdings. 61 of them are up. 10 are actually just marginally in the red right now. So I'm going to go over the full list for you. You're going to find this to be extremely valuable because for most people, they don't know what strategy they want to deploy and they really don't know what kind of investor profile they want to fill. But this can absolutely deliver the products in way of stock investing in a way that has never been possible before. So with that guys will kick you into the account and we'll conduct the review. Welcome everybody into the M1 Finance account here. This is somewhat exploratory. A lot of you guys will find a lot of value in this in that I find that there's a lot of people who are interested in single stock. Unfortunately, being interested in single stock can sometimes put people over allocated in way too few of stocks and it moves away from the idea of ample diversification within your portfolio. M1 Finance allows you to invest what you want in the names that you want. Okay, so for example, in this portfolio, I've got 71 positions here and I've changed my philosophy a little bit on what it means to take advantage of the M1 Finance opportunity at least from this perspective.  Okay, 10 of them are actually down in value and there is only one that's just over 10% down and that's next Tara that takes the cake for the biggest down name in this portfolio. But I've got some on the upside 61 of these holdings are in the green. So not too bad from a percentage perspective. I would beg to differ and argue with anybody that says that a retail investor can't succeed in stock market investing and that we need to crawl to the services of a financial planner. I guess I'm just breaking the mold for people out there who maybe want to buy into that they're going to continue to push that propaganda because there's always going to be people out there that don't believe that they've got what it takes to invest in stock market investing. But as we start to creep through this, these are some serious gains here. Now, you know, a lot of these are 234, you know, eight share positions, nothing too crazy. Some of them are partial share positions like this one in Broadcom where I've got just less than one share, right? The whole idea here is to grab exposure to these companies that I want to own. A lot of these are just great companies. I mean the top I've got 12345 the first top five or Dow components, right? So, you know, these are these are it's a great way to grab exposure. I didn't I don't get too cute with this. These are all big established companies. I'm a value investor at heart, but I can't own the entire stock market. With that said, M1 Finance really allows you to go out there and grab some broad exposure and put your dollars to work in a capacity that, you know, you may not want to put big positions in these stocks. You may just want to have some shares in them. And that's good enough. But if you start to look at some of these up over 20% in Goldman Sachs, you know, on an average price here of 303 a share cost basis less than than 500, and the current value up over $600 for a 22% return, not not too bad. And this is what I'm talking about when I look I know how good of a company Goldman Sachs is been around forever. Very well established global business fantastic financial company and this just adds to the the the financial sector that I have in my total overall portfolio. Right. It's just another arm of the portfolio that adds to the financial element. And right below it, one of the largest insurers in the business here with travelers company, another Dow component, I might add nice up nicely up over 8% and you start to think, Well, you know, shoot, this is incredible, you know, on an aggregate, you know, these aren't rendering that much return in real dollars. Okay, this is just over $43. But when you start to add these up one after another, you can really start to understand the method to my madness and that I'm getting broad exposure in some capacity to some of these companies.  So I buy them all and in one finance allows us to do that. So here as we breeze through the list here, you can see here the majority are green. Like I said, I queued up the statistics for you guys 61 total holdings here are up and we've got 10 that are down just I mean if it's in the red I counted it as a down here only down a couple percent look I can live through that Intel's going to come back eventually I would find that in a conducive market most of these are going to return to the green anyway but at the time of filming this video for transparency I really just wanted to show you the granular nature of performance within each of these holdings.  These are all companies that I may in some capacity or another own in the portfolio, but the majority of them I don't. Right. So you can see some names here that I grabbed some exposure to here in AT&T here in some Canadian banks as well so pretty cool. And then in the energy space I mean I would have never thought I would have been up 25% you know had I thought that that was the case I would have put a larger position on it but stock market picking is very very difficult to do. So sometimes when you have high conviction on a name and you enter a big position in it and it doesn't work out for you those can be really damaging to the portfolio. So what this allows you to do is it allows you to enter into some positions here from a broad perspective and you're going to win some and obviously some aren't going to work out very well at the time I bought next era. I was actually very very bullish on this position but look we've digressed and we've come back about 10% in the name here. But Charles Schwab look at that performance up over 30% you know got a couple shares of it nothing to shake a stick at and again on an aggregate these real dollar amounts that are returned in the portfolio are quite impressive and I would challenge anybody out there that wants to really be down on the retail investor and say that it's impossible. For a retail investor to win at investing I beg to differ and I don't believe that I've broke the mold I really don't I believe that my strategy is very very simple very very scalable. The majority of these if not in its totality if you reviewed this list of companies that I'm scrolling down for you guys this is basically a 71 stock pick portfolio roll out for you guys. I think you'll find that you're very very familiar if not familiar with all of these names that I'm throwing out there to you guys I'm not trying to reinvent I'm not trying to out think investing here. I'm just trying to grab exposure to those best companies out there that I know are going to grow their businesses over time and reward shareholders by paying that dividend. Back to the shareholders that own these fine companies so with that guys will conclude the video and we'll kick you back thank you so much for joining me on this portfolio review here. 61 of them are up 10 or down will continue to monitor this as we as we roll out these portfolio reviews for you guys thanks a ton. Alright fantastic guys so we've come out of the M one finance dividend growth portfolio hope you appreciated us rolling these out periodically for you guys I will share the portfolio for you guys in the description below. So you can use it as a template to break down the sectors in a manner that I have that helps a lot to be able to provide some structure to new investors free of charge if you want the information it's there. And just looking to empower one investor at a time by showing multiple strategies, all of which work in the market, looking to align all those different investors out there that are going to take their own independent approach to investing and helping them along the way to financial success if you enjoy what you got coming through the channel and the independent investor. I would invite you to subscribe to the channel hit the notification bell of your comments at the bottom of the video. And most importantly, you need to share this message with anybody out there that you know is interested in getting involved with or finding out more information about the stock market opportunity, it couldn't be a better time to be an investor and now is the time to share it with those folks. Bring them on to my message very very genuine I do this for you guys, and I'm glad to do it and we're going to be around for a long, long time guys thank you so much for tuning into the message and good luck in your investment future.


Let us prove two more languages to be regular, just to get our ideas about DFA and their capabilities fixed in our mind. These two languages are like this. The first language is gain strings of binary over the binary alphabet. Here, we want that the third bit from the left end is 1 and this other language similar looking, but you will see it is kind of fairly different in the implementation. Third bit of x from its right end is 1, so that two things are similar except here, we want some condition from the left end in the first case l 1 and here from the right end. So, let us say I have this string 0 0 0 1 0 0. Is this in l 1? It is not because the third bit from the left end. So, for l 1 you are interested in the third bit from the left end. This bit is 0, but it is not 1. So, therefore, this is not in l 1. On the other hand, the same string 1 0 0 0 1 0 0. This if you look at from the right end, the third bit is 1. So, string satisfies the bracket here. Therefore, this is actually in l 2. How do we design DFA's for these two languages l 1 and l 2? Well, l 1 should be fairly simple. So, what is the kind of information the finite state head should keep in its mind? Imagine you are looking at binary string starting from the left end. So, the first bit is not of interest to you, but you should remember that I have seen the first bit. So, when you see the next symbol, you know it is the second bit. Again that is not of interest except to the point, except to the extent that the next bit is going to be of interest to you. So, you will agree with me that consider this machine m 1 on either 0 or 1. It just goes to this state. So, basically this state means I have seen no bits of the string. When you come to this state, when the DFA comes to this state it remembers that I have seen the first bit from the left. Then when the DFA comes to this state that means it has seen exactly two bits from the left end and now the bit that comes that would determine whether the input is in the language or not. Now, if this bit is 1, the third bit 1, 2, 3. So, now you should accept the string and what more if that third bit is 1, then it does not matter what bits comes subsequently. It should remain in this state which is the accepting state, the final state. On the other hand, if this bit was 0, then it goes to a state. Now, any further augmentation on the bit string cannot make the string in the language l 1 because the third bit is 0. So, it gets into a trap state and both for 0 and 1 it remains here and that is it. So, I claim if this machine is m 1, I claim that l of m 1 is l 1 and you will see that you will agree with me. This is fairly simple to see. We are just this DFA is looking at the third bit from the left and deciding whether to accept the string or not depending on the bit is 1 or 0. Now, let us consider the language l 2. So, you see the one problem immediately we face that we cannot go to the end of the string and then start back to check what the third bit from the right end was. So, imagine the string. So, you cannot, the DFA cannot do this that it cannot go all the way to the end and then say the input has ended. So, let me trace back and check what the third bit from the right end was. So, what it should try to keep in its head, what the of the current string, let us see the DFA has seen. Let us see the DFA has seen an input string up to this point. This is the last bit it has seen. It is the last bit it has seen. This is the last bit it has seen. What is of importance to the DFA is whether or not that this bit is it 0 or 1. If this bit is 1 then if the string ends here then that string should be accepted by the DFA that we are trying to design. If that bit is 0 then that string is not going to be accepted. Problem is it is not just the third bit that you need to remember because you see let us see after this this is the part that you have seen of the input and this is not the end of the input. So, another bit comes then which is the bit you should remember or which is of importance to you is now not this bit because now because of the addition of 1 more bit in the input string this string that I have seen so far. This is the bit which has become of importance and then if you see another bit this is the bit which has become important. So, one can see it is not difficult to see if you pause a moment that if I keep track of all the 3 bits that I have seen at the end of the string that I am currently looking at. In other words supposing I have seen a string up to this point and what I should remember is the these 3 bits. Now to remember 3 bits how many different combinations of these bits can be there that you know there are 8 possible combinations because this can be 0 or 1 this can be 0 or 1. All these 8 possibilities must be keep track of separately because for example, this was 1 0 1 and this bit was different let us say 1 1 1 when the next bit came let us say 0 came. Then if this was the entire string then and this the string ends here then this string should be accepted the 1 below the 1 above should not be accepted because the third bit from the right is 0 here. So, let us see we keep track of our DFA will remember what are the last 3 bits it has seen and in the sequence it has seen right. So, in this case you can see it should must have 8 different states at least. So, let me and let me right here let us say this state means the DFA my what I am trying to ensure the DFA should be in this state if the last 3 bits it has seen is 0 0 0 last 3 bits 0 0 0 here it is let us say 0 0 1 0 1 0 0 1 1 here it is 1 let me put it this way 1 0 0 1 0 1 1 1 1. So, 1 0 0 1 1 1 1. What is the goal what is our goal for the DFA that we are trying to design that this DFA will remember the last 3 bits it has seen the sequence of last 3 bits it has seen if it has seen the last 3 bits that it has seen if it was 0 1 0 it should be in this state and so on. So, now let us think of the transitions right. So, now here a 0 comes. So, last 3 bits it is in this state if the last 3 bits were 0 0 0 and now a 0 came. So, which is the state it should go to on 0 clearly even now the last 3 bits that sequence is 0 0 0. So, it should remain here on the other hand if a 1 came last 3 bits it has seen will now be 0 0 1. So, this comes to this state now we have taken care of this state and so from this state what are the. So, 0 0 1 and now a 0 came. So, the last 3 bit we are talking of this particular state if the machine was here at some point then the last 3 bits it has seen the sequence is 0 0 1 now a 0 came. So, it is the sequence now it has seen 0 1 0. So, it should come here on 0 and on 1 it should go to 0 1 1 we have completely taken care of this state and now let us just consider one more state. So, if this is the state the machine was in that means the last 3 bits it has seen are 0 1 0. So, now a 0 came. So, the last 3 bits became 1 0 0. So, on 0 it should go to this state and if the last bit is next bit is 1 it should go to the state 1 0 1 that remembers 1 0 1. So, this is 1 to be the last 3 bit sequence and this way we can complete the diagram. So, this way when we complete the same things for all the states our transitions from the states will look like this looks somewhat club somewhat untidy, but conceptually it is fairly simple that we have realized. Now, but the DFA is not complete I need to say what are the final states that is easy a final state should be that state in which the third bit from the right end that it has seen so far is 1. So, for example, if the machine was in this state then clearly the last 3 bits and the string ends there and string ends there and machine finally finds itself in this state then that string should be accepted because the third bit from the right end then would be 1. So, you can see all those states in which the first of the sequence that we are remembering which is the third bit from the right end of the string that I have seen so far if that is 1 it should be an accepting state. So, clearly then this should be accepting state and so should be this and this and this on the other hand these 4 states are should not be accepting states all right do we need more states than this you might wonder that the meaning of the these states that we have put here is this that the last 3 bits that I have seen, but when I start right supposing when the DFA starts it has not seen anything. So, there is nothing like last 3 bits similarly when it has seen just the first bit it has seen. So, when it is here at this point having seen the first bit it has seen only 1 bit there are no 3 bits that it has seen. So, what we do for this you could have states for the initial part, but as it happens let me just say this that if you start here the thing is all right because although you have not. So, you have not seen the last 3 obviously when you are starting what you have seen is empty language empty string, but it is all right to think as if you have seen 0 0 0 because why because whatever happens the next 2 bits whatever be the next 2 bits are right next 2 bits will make next bit will make this bits to be the last bit another symbol comes in this will be the last bit these on no 2 bit strings the machine should accept because the last the third bit from the right is not 1. So, you know you can convince yourself this is all right to keep this as the initial state if I wanted. So, that that gives a that completes the description for a DFA for L 2. So, if I say this machine is M 2 then claim is language accepted by M 2 is L 2. Now, I can there is nothing very sacrosanct about the third bit supposing I had said the 10th bit from the right end this similar machine I could have designed, but if I use the same idea as was used here then how many states that machine will have which tries to accept all string whose 10th bit from the right end is 1 it will have 2 to the power 10 states 1024 rather too many. Now, you may wonder is it really necessary can we do for example, could we have taken care of could we have accepted this language L 2 using a DFA with less than 8 states. The DFA that we designed had 8 states 2 to the power 3 8 states because we are remembering all sequences of all 3 bit sequences which came at the end that is the end. So, far encountered and therefore, I have 8 states can we have done with less number of states and it is not too difficult to see and that for accepting L 2 any DFA needs at least 8 states. And in fact, if my language was instead of trying to check whether the third bit from the right end is 1 if it was 10th bit from the right end is 1 then I would have claimed that for accepting L 2 any DFA would have needed 2 to the power 10 which is 1024. Let me just prove this statement for L 2 that we need at least 8 states in this manner just consider these 8 strings 0 0 0 0 0 1 1 1 1 0 1 1 1 these are 8 strings the 8 strings of length 3 binary strings. And I am trying to prove this statement and I am trying to prove this statement that any DFA that accepts L 2 must have at least 8 states. And we will prove it by contradiction suppose m accepts L 2 and has less than 8 states. Now, remember the machine has this machine m has strictly less than 8 states. So, it has 7 or less states and here I have a list of 8 strings. So, what I do is this machine let us say m consider running m with these 8 strings. So, of course, it will start with its initial state m's initial state and let us say at the end it goes to some state q 1 here it is q 2 and so on. So, there are total number of states is 7 or less number of strings we have 8. So, now you remember from pigeonhole principle it means that there will exist 2 strings here which will take the machine from the initial state to the same state. So, can these 2 strings be like that that this string 1 1 0 and 0 1 0 took m to the same state. But that is not possible because this string should be accepted whereas, this string should not be and that state is either an accepting state a final state or an auto not a final state. So, it cannot behave differently that it should it will accept this and not accept this because the state is either final state or not a final state. So, clearly these kinds of things are not possible, but may be you may say that let us say this string and this string took the machine to the same state. So, let us say that is ok because both are final both are strings with the third bit is from the right end is 1. So, both should be accepted. So, that is fine. So, suppose it took this took this string took the machine to q and this string also took the machine q. One thing you can assert that q should be a final state there is no contradiction. So, far, but imagine now another state is bit comes. So, let us say another 0 comes now what is going to happen because here in both these cases the machine m went to the same state q and now a 0 came. So, again it will go to the identical state let us say q dash. So, q on 0 goes to q dash some q dash and now we have a problem because now what should q dash be is it a accepting state or a non-accepting state. Because what is the problem this string should not be accepted on the other hand this string should be accepted because this is this we have a 1 from the which is the third bit from the right end. And so we have a problem we have a contradiction for this I need q dash to be non-accepting non-final here I need q to be a final state and that is a contradiction. So, we got into the contradiction because we assumed that this machine m which accepts L 2 has less than 8 states. So, therefore, my conclusion is any D F A which accepts L 2 must have at least 8 states. And therefore, we can by the way you can this argument that I have given you can check that that will be the case whatever be the 2 strings which take the machine to the 2 3 bit strings that take the machine to the same state. If the machine had less than 8 states it has to happen the 2 of these must take the machine to the same state and you can derive the contradiction. So, if we had the language another language where we are trying to see whether the 10th bit from the right end is 1 or not. Then by the same argument if you are doing it by D F A that D F A necessarily will have 1024 states at least. Now, we have seen many examples of languages accepted by D F A. We know that every finite language can be accepted by D F A that means every finite language is regular. Then we have seen several examples of infinite languages which are also regular. We have also seen that if a language is regular then its complement is also regular. If 2 languages are regular then their union as well as their intersection both are regular. So, we have a fairly large class of languages we feel intuitively which is that class of regular languages is fairly large. At this point of course, you will wonder can all languages for which I can decide the membership problem by means of a computer program is it possible that all such languages are regular. Now, intuitively the answer is should be no why because you see suppose you see L is regular. In that case necessarily there is a D F A M to accept it. Now, suppose I am interested in solving the membership problem of this language which is a set of course. That means, somebody will give me an input x which is a string and I am both side if x is in L this language. So, this is set membership problem. Now, since L is regular there is a D F A to accept L and given x I can just run the D F A on x. Of course, you can vary the number of languages easily. I am not going into those details, but you can see you can easily write a computer program to simulate a D F A. That computer program will take symbol of the symbol of the string from the left end and implement the D F A to check which is the state the machine would be having scanned the some part of the string. The initial each for each initial prefix for each prefix it would the your computer program will figure out where the D F A will be. It is fairly easy to write that program and what you will be the time complexity and that program of course, will solve this problem because when the program at the end of the input string reaches a state of the D F A which is a final state then it would know the string x is in the language otherwise the string x is not in the language. So, this program and since you have studied some simple I mean some amount of algorithms and you know about time complexity. When you implement the D F A to solve this problem that algorithm time complexity is going to be order n where n is the length of the input here the input is a string. So, that means now if you thought if somebody tells you that look I think that all membership problems can be solved by D F A's then you know you will realize that there is something wrong because all membership problems if they are going to take order n time which which is too much to expect you know you expect that some membership problems will be harder even if these membership problems are computable maybe it will take n log n time n square time n cube time and so on. So, intuitively we feel therefore that there will be many languages which are not regular right even if we can solve the membership problem of such problems by computer programs and now we will argue we will give you a methodology for proving a concrete languages to be not regular. So, so for example we will prove we will show that this language L which is 0 n 1 n. So, basically these are strings where you have a number of zeros followed by number of ones only constraint is that that the number of zeros is equal to the number of ones. So, 0 0 0 1 1 1 that should be in the in this language L on the other hand 0 0 0 1 1 that this should not be in the language L this should not be in the language L because the number of zeros here is 4 here it is 2 how do we show in fact how do we show that a language to be not regular. That means I should be able to prove that there is no DFA to accept let us say this language and one standard method you can imagine will be that I will prove this statement. So, we will show I did not complete the sentence we will show that this L is not regular. So, proof method could be likely to be that assume L is accepted by a DFA because if it is regular then. So, we are we are we are giving a proof by contradiction and there will assume that L is accepted by a DFA we assume that L is regular. So, therefore, L is accepted by a DFA and then we should try to reach a contradiction well it is we we we we we we can intuitively see may be this thing will work and indeed it works this this proof methodology will work out and let me give you the intuition behind such proofs that see there is one severe limitation once you say L is accepted by a DFA comes about in this manner suppose L is accepted by a DFA let that DFA some case states. Remember that DFA can have any number of states, but once you say that this DFA accepts this language. So, you have fixed a particular DFA and that DFA has you know number of states which is a constant. Now, the DFA which accept some language L it has some case states and imagine there is a very long string which is in the language in L and consider the sequence of states the machine goes through. So, remember that if you had supposing these are the symbols of the string you will start with q 0 and then let us say q i 1 q i 2. So, seeing the first two symbols it is in the state and so on and here is another state and all that. So, we talked about it now if that string had let us say 2 the length of the string is 2 k and so this state sequence is going to be therefore length of that state sequence is going to be 2 k plus 1. So, then what that means again by pigeonhole principle that here is the sequence which is much which is the length of that sequence is larger than the number of states and each element of that sequence of states is of course, a state what it means therefore that some two states must be identical because we just have do not have so many different states to put states differently when the string is large. So, imagine a situation like this that I have a string and first part of the string. So, this is the string I am thinking in three parts that this part took the machine from q 0 to some q and since the string is long some states are going to repeat. So, let us say this state is repeating that is first part of the string let me call it u took the machine from q 0 to q second pair part of the string v let me call it v took the machine to the same state q because the state is repeating and then from here it go went to a final state. So, and let me call this w right. So, the way I have drawn this picture is it clear. So, in fact let me use this that delta hat of my machine m is let us say q sigma delta q 0 f. So, what we are seeing through that picture is that delta hat of q 0 u is q delta hat of q v is the same state q and this is the state q. So, this and delta hat of q w is q f some q f which is in the set of final states. Now, clearly the string u v w takes the machine from q 0 to one of the final states. So, u v w is in the language f what about u v v w look at these three things u takes the state of the machine from q 0 to q v takes the machine from q to q the first copy of v second copy of v again it is a deterministic machine it cannot remember that whether it is the first copy or second copy. So, it has to behave identically on both the copies. So, on this copy also takes the machine from q to q and now w comes. So, this machine also will take the machine take the this string will also take the machine from q 0 to q f. So, therefore, this string u v v w also will be in l and so on u v v v w also will be in l and so on. So, we can pump the string in which state is repeating on which a state repeats in such strings can be pumped to get larger and larger and larger strings all of which will be in the language if this string is in the language. Now, that is actually a severe limitation and we will see it how that is used see this intuition that I just told you is captured by a lemma what is called pumping lemma which is invariably useful for proving languages to be some non regular. So, let me state the lemma first and then before proving with the proof ideas like this let me first I will give you an example usually we use a particular result known as pumping lemma to prove some language to be non regular. So, let me state the lemma pumping lemma for regular languages the statement is something like this suppose l is regular then there exists a constant k that depends only on the language l on the language l such that for all x x is of course a string for all x in the language length of x being greater than equal to k greater than equal to k we have there exists or let me let me state it like this for all x in l the length of x greater than equal to k there exists u v w which are again three strings satisfying condition one is that u v w that is the concatenation of the three strings u v w is actually the string x second that length of u v is the length of the string is less than equal to k and the length of v is strictly greater than 0 that means v is a non empty string third this is where the name lem pumping lemma is coming from for all i i greater than equal to 0 u the string u v i w is also in the string u v i w is also in the language a couple of things when I say that this constant k that depends only on the language all we mean is that from language to language of course this constant may be different however once you fix a language this is constant that means it does not matter about the string that you are talking of and notice that remember our what we said right in the beginning that v to the power 0 also makes sense because i is greater than equal to 0 v to the power 0 is empty string that would mean basically we are saying that the string u w is in the language as well as u v w is in the language which of course begin with it was but now with i equal to 2 u v v w is in the language u v v v w is in the language. So, another way of stating this is that you can pump this v any number of times 0 or more times and yet the string that will get is going to be is guaranteed to be in the language l right before we prove this lemma let me show an example of its use l language we talked of little earlier set of all binary strings such that x is of the oh just say this language let me prove this using the lemma pumping lemma the way these proofs will go like this let l be regular we are I will prove this essentially by contradiction assuming l is regular then I will invoke this pumping lemma to get a contradiction let he be the pumping lemma constant consider the string x which is k 0's and k 1's now you can invoke the pumping lemma for the string because length of x is greater than equal to k in fact the length of x here is 2 k. So, the pumping lemma says that there exist from pumping lemma from the lemma there exist u v w satisfying these three conditions the three conditions of the lemma. So, this is your string there are k 0's here and k 1's here and now the what this lemma says that this string I can look at as a concatenation of three strings u v and w now the entire u v part that is concatenation of u v is less than equal to k that means where see this string I am saying is same as u v w do you therefore see because of this condition v u v together must be somewhere within 0's only and 0's because you have k 0's and length of u v is less than equal to k. So, in particular condition 1's conditions 1 and 2 imply that v consists only of 0's because u v itself consists only of 0's and therefore v necessarily will have only 0's and what more v is a non-empty string v is a non-empty string now consider the string on pumping 0 times that means let us see we just remove v. So, I will get u and w according to the lemma this u and w is in the language what did I do there was some v which is non-empty which I removed from this string of 0's they were k 0's to begin with now on removal of v length of v is at least one. So, clearly in u w can I claim this is clear in u w the number of 0's is strictly less than the number of 1's right 1's did not change because all we had removed was the string v and v consisted only of 0's u also consisted only of 0's of course, but so once we did not touch all we did was to take out a few 0's at least one 0 from this k 0's and now I have a string u w which the lemma tells me that will also be in the language but now that string has number of 0's which is strictly less than the number of 1's this string u w therefore, cannot be by definition of l l is the set of all languages in which 0's and 1's have the same number by definition of l u w this string u w cannot be in the language u w is not in the language. Now, your lemma says u w is in the language u w is in the language and definition of the language says u w is not in the language therefore, you have a contradiction and the way to resolve the contradiction will be that to assert one of the assumptions that you have made in the proof that is false and only assumption you have made in all this is that which could be false is l is regular. So, therefore, this proves that l is not regular. So, this is the use of this lemma we have seen one example of how to make use of the lemma to prove some language to be non regular we will show some more examples of the use of the lemma and then we will also of course, need to prove that the lemma is with correct. So, we need to prove this lemma and there are some simple variations of the lemma we should also talk about that we will do that in the next lecture.


Hello everyone, welcome to the video note series for STM32WB Nucleo Evaluation Kit. In this video, we will take a look at how to download all the necessary tools required for you to get started from st.com. Here is a quick introduction to show what aspects we will be covering in this video. STM32WB is supported by Comprehensive Setup Software Tools. Traditional IDEs with CC++ compilers and debuggers from major third party suppliers as well as the embedded software libraries required to configure and initialize the MCU to monitor its behavior in runtime. Now let's take a look at how to download these tools. Log on to st.com and search for the tool you need, for example, Cubamex. For a generation of corresponding C code, you can download STM32 Cubamex. For compilation and debuck features, you can search for QIDE and for an easy-to-use environment for reading, writing and verifying device memory, you can download Cubeprogrammer. If you want to test out the radio performances on BLE and A02.15.4 technologies and fine-tune STM32 applications at runtime, you can download Cubemotor RF and Cubemotor Power respectively. STM32WB gathers in one single package all the generic embedded software components required to develop an application on STM32WB microcontrollers. Now let's take a look at some of the embedded software tools which we can download for STM32 Cubewb. Log on to st.com and search for PNWB55 and then click on the tools and software tab. You can scroll down and select the software you want to download. In this video, we recommend these three softwares which can be helpful to get you started. Let's talk about the SDKs provided by ST for STM32WB. In order to download the SDKs, log on to st.com and search for the SDK you wish to download. ST BLE sensor application is available for Android and iOS and shows the data exported by a BLE device using the BLE-ST protocol. In order for you to download the software, make sure you have an ST and a GitHub account to download the package. BlueST SDK is a multi-platform library that enables easy access to the data exported by a Bluetooth low-energy device implementing the BlueST protocol. ST BLE mesh application for Android and iOS allows you to create your own Bluetooth mesh profile-compliant mobile apps. Let's talk about the technical resources like data sheets, application nodes and other useful nodes you will be needing when using the STM32WB RGB device. First, let's see how to navigate to the STM32WB RGB product page in order to download the resources. You can download the data sheet by clicking the link above when you open the product page. For reference manuals, erotic sheets and application nodes, you can either choose to click them from the resources tab or scroll down to see the list of all the resources. For application nodes, you can follow the same protocol, but make sure you download the nodes specific to the STM32WB55 RGB device. Some of the useful application nodes can be the ones which are shown in the video. Once you select all the files you want to download, click on the icon to get the files. Let's talk about the technical resources like data sheets, user manuals, schematics and other useful nodes you will be needing when using the PNUCLEOWB55 development kit. Log on to st.com and search for PNUCLEOWB55 and click on the resources tab. Here you can find links to all the resources or you can simply scroll down to see the list. Click on the user manual to download the file. For schematics, builds of materials, board manufacturing specifications, select the file related to the model number of the evaluation board. Once you select all the files you need to download, click on the icon to get the files. Share your knowledge or post your question to people who might know the answer by asking the community. If you still don't find the information you need, please describe your problem in our support request form and we will reply to you as quickly as possible. Log on to st.com and click on support and community tab and select support home. Select the support request via web form section and click on the support request form. Click on new case and fill out the fields in asterisks and additional fields if you wish to provide more information. Click submit and monitor the case. ST's STM32 learning portfolio helps you upgrade your skills. You will benefit from ST's free online courses in MOOC format given by our technology experts that will help boost the performance of your application. Let us look at some of the courses specifically tailored for STM32 WB and where can you find them? Log on to st.com, select support and community tab and click on support home. Select the learning tab and select STM32 MOOCs. Here you can find all the courses for STM32 microcontrollers. STM32 WB Workshop MOOC. It provides basic information about the MCU line with its hardware and software tools introduction and multiple hands-on sessions. STM32 WB networking BLE mesh MOOC provides information on how to build Bluetooth mesh network with STM32 WB using STM32 WB55 nuclear pack and its software package. For knowledge on how to update STM32 WB code using different tools and techniques, STM32 WB firmware over the air MOOC is suitable. And lastly, STM32 WB RF guidelines MOOC provides empowering knowledge for correct RF design of application. Thanks for watching this video. For more information on how to install all these tools, please check out the next video in our STM32 WB Getting Started video note series.