How do we formally define a DFA?

Here we introduce what a DFA (deterministic finite automaton) is, and how to formally define one. We use the example from the last lecture and formally defin...

Easy Theory•10.9K views•14:51

🔥 Related Trending Topics

LIVE TRENDS

This video may be related to current global trending topics. Click any trend to explore more videos about what's hot right now!

THIS VIDEO IS TRENDING!

This video is currently trending in Singapore under the topic 'itoto system 12'.

About this video

Here we introduce what a DFA (deterministic finite automaton) is, and how to formally define one. We use the example from the last lecture and formally define that DFA. Contribute: Patreon: https://www.patreon.com/easytheory Discord: https://discord.gg/SD4U3hs Live Streaming (Saturdays, Sundays 2PM GMT): Twitch: https://www.twitch.tv/easytheory (Youtube also) Mixer: https://mixer.com/easytheory Social Media: Facebook Page: https://www.facebook.com/easytheory/ Facebook group: https://www.facebook.com/groups/easytheory/ Twitter: https://twitter.com/EasyTheory Merch: Language Hierarchy Apparel: https://teespring.com/language-hierarchy?pid=2&cid=2122 Pumping Lemma Apparel: https://teespring.com/pumping-lemma-for-regular-lang If you like this content, please consider subscribing to my channel: https://www.youtube.com/channel/UC3VY6RTXegnoSD_q446oBdg?sub_confirmation=1 â–¶ADDITIONAL QUESTIONSâ—€ 1. How do you formally define the DFA in the thumbnail? 2. What is the fewest number of states a DFA can have? â–¶SEND ME THEORY QUESTIONSâ—€ ryan.e.dougherty@icloud.com â–¶ABOUT MEâ—€ I am a professor of Computer Science, and am passionate about CS theory. I have taught over 12 courses at Arizona State University, as well as Colgate University, including several sections of undergraduate theory. â–¶ABOUT THIS CHANNELâ—€ The theory of computation is perhaps the fundamental theory of computer science. It sets out to define, mathematically, what exactly computation is, what is feasible to solve using a computer, and also what is not possible to solve using a computer. The main objective is to define a computer mathematically, without the reliance on real-world computers, hardware or software, or the plethora of programming languages we have in use today. The notion of a Turing machine serves this purpose and defines what we believe is the crux of all computable functions. This channel is also about weaker forms of computation, concentrating on two classes: regular languages and context-free languages. These two models help understand what we can do with restricted means of computation, and offer a rich theory using which you can hone your mathematical skills in reasoning with simple machines and the languages they define. However, they are not simply there as a weak form of computation--the most attractive aspect of them is that problems formulated on them are tractable, i.e. we can build efficient algorithms to reason with objects such as finite automata, context-free grammars and pushdown automata. For example, we can model a piece of hardware (a circuit) as a finite-state system and solve whether the circuit satisfies a property (like whether it performs addition of 16-bit registers correctly). We can model the syntax of a programming language using a grammar, and build algorithms that check if a string parses according to this grammar. On the other hand, most problems that ask properties about Turing machines are undecidable. This Youtube channel will help you see and prove that several tasks involving Turing machines are unsolvable---i.e., no computer, no software, can solve it. For example, you will see that there is no software that can check whether a C program will halt on a particular input. To prove something is possible is, of course, challenging. But to show something is impossible is rare in computer science, and very humbling.

Video Information

Views
10.9K

Total views since publication

Likes
256

User likes and reactions

Duration
14:51

Video length

Published
May 22, 2020

Release date

Quality
hd

Video definition

Tags and Topics

This video is tagged with the following topics. Click any tag to explore more related content and discover similar videos:

Tags help categorize content and make it easier to find related videos. Browse our collection to discover more content in these categories.