Deterministic Finite State Automata (DFAs) are machines that read input strings and determine whether to accept or reject them based on their state transitions. A DFA is defined as a 5-tuple (Q, Σ, δ, q0, F) where Q is a finite set of states, Σ is a finite input alphabet, q0 is the starting state, F is the set of accepting states, and δ is the transition function that maps a state and input symbol to the next state. The language accepted by a DFA is the set of strings that cause the DFA to enter an accepting state. Nondeterministic Finite State Automata (NFAs) are similar but δ maps to sets of states rather
19 Mini Productivity Hacks For A Simple (But An Awesome) DayThomas Oppong
When a problem is large or complex, and the optimal solution is unclear, applying simple mini productivity hacks allow you to begin making progress towards a solution even though you can’t visualize the entire path from your starting point.
Consider these productivity hacks a reminder.
19 productivity hacks at workplace for chronic procrastinatorsProofHub
Procrastination is an evil that destroys our productivity. It is something that almost we all suffer from in our professional life. So, what can we do to root out this evil from our life? Check out this presentation to see some amazing and easy to implement life-hacks that can help you fight procrastination and become more productive.
Each one of us is called to greatness. We can have a significant impact on the world around us—if we so choose.
This is a stylization of an article by Robin Sharma, "11 Reminders for Your Greatness in 2016". Do check his web site - www.robinsharma.com
This presentation is designed to stand alone, without having to be presented in person. Enjoy
Millennials & Money: One Generation, Many Goals & ValuesEdelman
In the 2016 Millennials & Money research, the Edelman Financial Services Sector and Edelman Intelligence teams explored the role of money and financial services in the lives of Millennials throughout the U.S. The research revealed their beliefs and attitudes towards money and uncovered how their goals and values differ based on ethnic and cultural backgrounds.
Read more: http://edl.mn/20R27Tj
Discover The Top 10 Types Of Colleagues Around YouAnkur Tandon
The best part being with different colleagues is we learn a lot from them. Good or bad, sooner or later, better or best, we learn something unique from the different personalities working with and around us at our workplace. Read more interesting content, at www.thecareermuse.co.in - We intend to inform and inspire recruiters, job seekers and anyone with an interest in the workplace and HR technology.
Hope you enjoyed reading the Infographic.
Feel free to share your feedback with us at @CareerBuilderIn
Ten Characteristics Common To Highly Effective EntrepreneursAbhishek Shah
The document discusses the results of a study on the effects of exercise on memory and thinking abilities in older adults. The study found that regular exercise can help reduce the decline in thinking abilities that often occurs with age. Older adults who exercised regularly performed better on cognitive tests and brain scans showed they had greater activity in important areas for memory and learning compared to less active peers.
How to be as Productive as US PresidentsWeekdone.com
US Presidency is considered one of the hardest jobs in the world. Presidents work hard 24 hours a day. How do they do it?
They have a lot of valuable insights you can use to be more productive yourself.
19 Mini Productivity Hacks For A Simple (But An Awesome) DayThomas Oppong
When a problem is large or complex, and the optimal solution is unclear, applying simple mini productivity hacks allow you to begin making progress towards a solution even though you can’t visualize the entire path from your starting point.
Consider these productivity hacks a reminder.
19 productivity hacks at workplace for chronic procrastinatorsProofHub
Procrastination is an evil that destroys our productivity. It is something that almost we all suffer from in our professional life. So, what can we do to root out this evil from our life? Check out this presentation to see some amazing and easy to implement life-hacks that can help you fight procrastination and become more productive.
Each one of us is called to greatness. We can have a significant impact on the world around us—if we so choose.
This is a stylization of an article by Robin Sharma, "11 Reminders for Your Greatness in 2016". Do check his web site - www.robinsharma.com
This presentation is designed to stand alone, without having to be presented in person. Enjoy
Millennials & Money: One Generation, Many Goals & ValuesEdelman
In the 2016 Millennials & Money research, the Edelman Financial Services Sector and Edelman Intelligence teams explored the role of money and financial services in the lives of Millennials throughout the U.S. The research revealed their beliefs and attitudes towards money and uncovered how their goals and values differ based on ethnic and cultural backgrounds.
Read more: http://edl.mn/20R27Tj
Discover The Top 10 Types Of Colleagues Around YouAnkur Tandon
The best part being with different colleagues is we learn a lot from them. Good or bad, sooner or later, better or best, we learn something unique from the different personalities working with and around us at our workplace. Read more interesting content, at www.thecareermuse.co.in - We intend to inform and inspire recruiters, job seekers and anyone with an interest in the workplace and HR technology.
Hope you enjoyed reading the Infographic.
Feel free to share your feedback with us at @CareerBuilderIn
Ten Characteristics Common To Highly Effective EntrepreneursAbhishek Shah
The document discusses the results of a study on the effects of exercise on memory and thinking abilities in older adults. The study found that regular exercise can help reduce the decline in thinking abilities that often occurs with age. Older adults who exercised regularly performed better on cognitive tests and brain scans showed they had greater activity in important areas for memory and learning compared to less active peers.
How to be as Productive as US PresidentsWeekdone.com
US Presidency is considered one of the hardest jobs in the world. Presidents work hard 24 hours a day. How do they do it?
They have a lot of valuable insights you can use to be more productive yourself.
Having trouble falling asleep? Insomnia is one of the most common side effects of cancer treatment. This presentation provides tips for how you can get some rest without using medication.
Habits at Work - Merci Victoria Grace, Growth, Slack - 2016 Habit SummitHabit Summit
Presented at the 2016 Habit Summit at Stanford (see: www.HabitSummit.com)
Merci Victoria Grace leads the Growth team at Slack.
Prior to joining Slack, she started a venture-backed game company, designed The Sims Social at Electronic Arts, and worked at a range of consumer, mobile and enterprise startups.
Here she shares insights on putting "Habits to Work at Work".
Back of the Napkin / Blah-Blah-Blah SeminarDan Roam
Overview of my most comprehensive innovation and visual thinking seminar. A highly-interactive two-day session, ideal for generating breakthrough ideas for teams of ten to one-hundred.
Clickbait: A Guide To Writing Un-Ignorable HeadlinesVenngage
We looked at some of the top performing content on social media, from some of the top publications on the web. From this, we were able to figure out the recipe for crafting a click-worthy title. Here is what we learned...
Workshop on time and workload managementSahil Jain
Tasks can go through various states over their lifecycle according to a task management system. They begin in a ready state and can then be assigned, worked on, forwarded, finished, failed, or terminated. Effective task management requires organizing tasks into a hierarchy, tracking their status and dependencies, and using tools like Gantt charts to visualize progress. The level of functionality needed depends on the complexity of the project, ranging from basic features for individuals to more advanced collaborative tools for complex multi-stage projects.
10 Productivity Hacks Backed By ScienceWhen I Work
How do you get things done? Work harder? Faster? Become a slave to the job?
Being productive is a strange science, but it is a science. There are things we can do to help us do our work better that we don’t associate with work. These productivity hacks bring better results than sticking to the desk for over eight hours, pounding away at our work.
You might be surprised at how you can get things done better than before.
http://wheniwork.com/
I get a real kick out of seeing people achieve. This presentation is all about vanquishing the best of procrastination. This deck contains ideas that may help you actualize your goals.
10 Things your Audience Hates About your PresentationStinson
See it with animations! https://vimeo.com/179236019
It’s impossible to win over an audience with a bad presentation. You might have the next big thing, but if your presentation falls flat, then so will your idea. While every audience is different, there are some universal cringe-worthy presentation mistakes that are all too common. Whether you’re an amateur or a seasoned presenter, you should always avoid this list of top 10 things your audience hates. Are you committing any of these 10 fatal presentation sins?
For more presentation help, visit stinsondesign.com/blog
This document summarizes the key findings of a study conducted by Newsworks and PwC on attention to different media types. The study found that traditional print and broadcast media receive more focused attention from consumers compared to digital media. Specifically, newspaper readers were more likely to regularly set time aside for newspapers, feel personally connected to them, and trust their content more than most other media. The sustained attention received made newspaper readers more likely to discuss issues they read about and be influenced regarding purchases. Overall, the study showed that traditional media with higher attention levels can have a more powerful impact on consumers than digital media with less focused attention.
The State of Sales & Marketing at the 50 Fastest-Growing B2B CompaniesMattermark
There’s a lot of information out there for sales and marketing professionals. In fact, as our friend Erik Devaney at Drift.com points out, a quick search of the term “sales and marketing advice” yields more than 90 million results on Google.
What’s more, there are tons of industry influencers who, on a regular basis, share their views on everything from content marketing and sales, to pricing and customer success. It’s a noisy conversation, and for many, a confusing one.
So, how do you make sense of it all?
By focusing on the sales and marketing efforts that actually produce results, not flash-in-the-pan engagement. But finding those results is a little challenging. That’s why we decided to put together our latest report with Drift.com, The State of Sales and Marketing at the 50 Fastest-Growing B2B Companies.
Using Mattermark data, we were able to identify the fifty high-growth companies in the U.S. and evaluate their marketing activities to understand which practices really moved the needle. In order to make the qualitative portion of our research more tangible, we evaluated each company on the list in light of how they approached content, customer communication, path to purchase, and pricing.
What we and the team at Drift.com discovered was surprising, to say the least.
Our Business Team Composition In Circular FormatSlideTeam
Presenting this set of slides with name - Our Business Team Composition In Circular Format. This is a two stage process. The stages in this process are Our Team, Our Group, Our Members. https://bit.ly/3kYsLNc
It is important, no matter what the environment or situation, to remain productive and make the most of your time. Our latest work hack will guide you on how to optimise your time to achieve the most of your working day.
20 quotes from Larry Page...Just analyzing Larry Page’s quotes from the past ten years is a guidebook for “billion person success” and for personal success.
This document introduces Etienne Garbugli, a product design and marketing consultant. It provides details about his background, including where he was born, his ethnic heritage, education history spanning various subjects from design to marketing to technical fields. It also outlines his work experience from 2005-2012 at various companies. The document discusses his areas of expertise, including user experience design, usability testing, and helping evaluate products through research. It positions him as someone who can help design products that sell well, improve user experiences, and avoid issues in product delivery.
Our brain has two modes of thinking - focused and diffuse - that help with learning in different ways. Focused mode is for concentrating on a subject, while diffuse mode occurs when relaxed and allows for creative insights. To learn effectively, one must alternate between these modes, using focused time to study new concepts and diffuse time like sleep to process them. Another important learning technique is chunking, which involves breaking information into smaller, memorable pieces. Procrastination can be addressed using the Pomodoro technique of focused study sessions with breaks, focusing on the process rather than the product, and rewarding oneself upon completion of tasks.
It's difficult to stay productive when the to-do list keeps growing. Don't burn out. Here are 10 steps to help you stay productive and efficient so you can accomplish what you set out to do.
This document summarizes several factors that can lead to interpersonal attraction according to social psychology research: physical appearance/beauty, personality, proximity, and similarity. Studies discussed found that people tend to see attractive, beautiful people as more desirable and competent. Additionally, having a warm, kind, or exciting personality is attractive to others. Proximity, or spending time near others, increases comfort levels and likelihood of attraction. Similarity in characteristics and interests between people also reduces conflicts. Reciprocated liking and gaining the approval of someone who was initially unimpressed can be especially rewarding.
This document discusses Herpes Simplex Virus (HSV) esophagitis. It provides information on the management and treatment of HSV esophagitis, which includes hemodynamic stabilization, pain management, and specific antiviral therapy. The treatment of choice is oral or intravenous acyclovir for 7-10 days. It may require longer treatment or alternative medications like foscarnet for acyclovir-resistant cases. Primary and suppressive prophylactic acyclovir treatment is also discussed for high-risk immunocompromised patients.
The document outlines the research and planning that went into developing the concept and production of a music video for the band "Flawless". Key aspects that were researched included visual influences from other indie bands, the target indie/hipster audience, conventions like lighting and album covers, and example music videos. An animatic and storyboard were created to plan shot sequences. Careful consideration was given to the location, props, costumes, and scheduling of the shoot to capture the desired mood and style within the production timeline.
Having trouble falling asleep? Insomnia is one of the most common side effects of cancer treatment. This presentation provides tips for how you can get some rest without using medication.
Habits at Work - Merci Victoria Grace, Growth, Slack - 2016 Habit SummitHabit Summit
Presented at the 2016 Habit Summit at Stanford (see: www.HabitSummit.com)
Merci Victoria Grace leads the Growth team at Slack.
Prior to joining Slack, she started a venture-backed game company, designed The Sims Social at Electronic Arts, and worked at a range of consumer, mobile and enterprise startups.
Here she shares insights on putting "Habits to Work at Work".
Back of the Napkin / Blah-Blah-Blah SeminarDan Roam
Overview of my most comprehensive innovation and visual thinking seminar. A highly-interactive two-day session, ideal for generating breakthrough ideas for teams of ten to one-hundred.
Clickbait: A Guide To Writing Un-Ignorable HeadlinesVenngage
We looked at some of the top performing content on social media, from some of the top publications on the web. From this, we were able to figure out the recipe for crafting a click-worthy title. Here is what we learned...
Workshop on time and workload managementSahil Jain
Tasks can go through various states over their lifecycle according to a task management system. They begin in a ready state and can then be assigned, worked on, forwarded, finished, failed, or terminated. Effective task management requires organizing tasks into a hierarchy, tracking their status and dependencies, and using tools like Gantt charts to visualize progress. The level of functionality needed depends on the complexity of the project, ranging from basic features for individuals to more advanced collaborative tools for complex multi-stage projects.
10 Productivity Hacks Backed By ScienceWhen I Work
How do you get things done? Work harder? Faster? Become a slave to the job?
Being productive is a strange science, but it is a science. There are things we can do to help us do our work better that we don’t associate with work. These productivity hacks bring better results than sticking to the desk for over eight hours, pounding away at our work.
You might be surprised at how you can get things done better than before.
http://wheniwork.com/
I get a real kick out of seeing people achieve. This presentation is all about vanquishing the best of procrastination. This deck contains ideas that may help you actualize your goals.
10 Things your Audience Hates About your PresentationStinson
See it with animations! https://vimeo.com/179236019
It’s impossible to win over an audience with a bad presentation. You might have the next big thing, but if your presentation falls flat, then so will your idea. While every audience is different, there are some universal cringe-worthy presentation mistakes that are all too common. Whether you’re an amateur or a seasoned presenter, you should always avoid this list of top 10 things your audience hates. Are you committing any of these 10 fatal presentation sins?
For more presentation help, visit stinsondesign.com/blog
This document summarizes the key findings of a study conducted by Newsworks and PwC on attention to different media types. The study found that traditional print and broadcast media receive more focused attention from consumers compared to digital media. Specifically, newspaper readers were more likely to regularly set time aside for newspapers, feel personally connected to them, and trust their content more than most other media. The sustained attention received made newspaper readers more likely to discuss issues they read about and be influenced regarding purchases. Overall, the study showed that traditional media with higher attention levels can have a more powerful impact on consumers than digital media with less focused attention.
The State of Sales & Marketing at the 50 Fastest-Growing B2B CompaniesMattermark
There’s a lot of information out there for sales and marketing professionals. In fact, as our friend Erik Devaney at Drift.com points out, a quick search of the term “sales and marketing advice” yields more than 90 million results on Google.
What’s more, there are tons of industry influencers who, on a regular basis, share their views on everything from content marketing and sales, to pricing and customer success. It’s a noisy conversation, and for many, a confusing one.
So, how do you make sense of it all?
By focusing on the sales and marketing efforts that actually produce results, not flash-in-the-pan engagement. But finding those results is a little challenging. That’s why we decided to put together our latest report with Drift.com, The State of Sales and Marketing at the 50 Fastest-Growing B2B Companies.
Using Mattermark data, we were able to identify the fifty high-growth companies in the U.S. and evaluate their marketing activities to understand which practices really moved the needle. In order to make the qualitative portion of our research more tangible, we evaluated each company on the list in light of how they approached content, customer communication, path to purchase, and pricing.
What we and the team at Drift.com discovered was surprising, to say the least.
Our Business Team Composition In Circular FormatSlideTeam
Presenting this set of slides with name - Our Business Team Composition In Circular Format. This is a two stage process. The stages in this process are Our Team, Our Group, Our Members. https://bit.ly/3kYsLNc
It is important, no matter what the environment or situation, to remain productive and make the most of your time. Our latest work hack will guide you on how to optimise your time to achieve the most of your working day.
20 quotes from Larry Page...Just analyzing Larry Page’s quotes from the past ten years is a guidebook for “billion person success” and for personal success.
This document introduces Etienne Garbugli, a product design and marketing consultant. It provides details about his background, including where he was born, his ethnic heritage, education history spanning various subjects from design to marketing to technical fields. It also outlines his work experience from 2005-2012 at various companies. The document discusses his areas of expertise, including user experience design, usability testing, and helping evaluate products through research. It positions him as someone who can help design products that sell well, improve user experiences, and avoid issues in product delivery.
Our brain has two modes of thinking - focused and diffuse - that help with learning in different ways. Focused mode is for concentrating on a subject, while diffuse mode occurs when relaxed and allows for creative insights. To learn effectively, one must alternate between these modes, using focused time to study new concepts and diffuse time like sleep to process them. Another important learning technique is chunking, which involves breaking information into smaller, memorable pieces. Procrastination can be addressed using the Pomodoro technique of focused study sessions with breaks, focusing on the process rather than the product, and rewarding oneself upon completion of tasks.
It's difficult to stay productive when the to-do list keeps growing. Don't burn out. Here are 10 steps to help you stay productive and efficient so you can accomplish what you set out to do.
This document summarizes several factors that can lead to interpersonal attraction according to social psychology research: physical appearance/beauty, personality, proximity, and similarity. Studies discussed found that people tend to see attractive, beautiful people as more desirable and competent. Additionally, having a warm, kind, or exciting personality is attractive to others. Proximity, or spending time near others, increases comfort levels and likelihood of attraction. Similarity in characteristics and interests between people also reduces conflicts. Reciprocated liking and gaining the approval of someone who was initially unimpressed can be especially rewarding.
This document discusses Herpes Simplex Virus (HSV) esophagitis. It provides information on the management and treatment of HSV esophagitis, which includes hemodynamic stabilization, pain management, and specific antiviral therapy. The treatment of choice is oral or intravenous acyclovir for 7-10 days. It may require longer treatment or alternative medications like foscarnet for acyclovir-resistant cases. Primary and suppressive prophylactic acyclovir treatment is also discussed for high-risk immunocompromised patients.
The document outlines the research and planning that went into developing the concept and production of a music video for the band "Flawless". Key aspects that were researched included visual influences from other indie bands, the target indie/hipster audience, conventions like lighting and album covers, and example music videos. An animatic and storyboard were created to plan shot sequences. Careful consideration was given to the location, props, costumes, and scheduling of the shoot to capture the desired mood and style within the production timeline.
Legacy of Sound offers a great and secured platform to the vocalists who are willing to work on Original music Sydney. Contact them to know more and get a chance to shape up your singing carrier.
El documento habla sobre la diferencia entre traductor e intérprete, destacando que un traductor se enfoca en traducir textos escritos mientras que un intérprete se dedica a la traducción oral y simultánea.
3rd International Symposium on Controversies in Psychiatry
Mexico City, Mexico
June 12th - 14th, 2014
"Combined Treatments"
In Mexico City and live Online
Las habilidades son las que te hacen rico, no la teoría.Federico Bongiorno
Este documento presenta 5 frases inspiradoras de diferentes empresarios y líderes exitosos. La primera frase destaca la importancia de desarrollar habilidades prácticas más que solo teoría. La segunda enfatiza el valor de asumir riesgos para lograr éxitos. La tercera señala que es la implementación, no solo los planes, lo que lleva al éxito de una organización. La cuarta resalta priorizar la calidad sobre la cantidad. Y la quinta diferencia entre educación y aprendizaje, enfatizando la responsabil
This document is a collection of photo credits from various photographers and artists. It includes 12 photos with captions crediting the photographer or artist. It concludes by encouraging the viewer to create their own presentation using Haiku Deck on SlideShare.
Clean Bell is working to achieve 100% waste segregation in Bellandur Ward-150 using a 2-bin + 1-bag process. Their objectives are 100% segregation through colored bins for wet, dry, and reject waste, and eliminating plastic bag usage. Residents purchase an 8L green bin for wet waste, 8L red bin for reject waste, and use white bags for dry waste, costing around Rs. 100 per household. Standardizing bin colors helps create a universal culture of segregation where residents know which bin is for wet versus dry waste. Their goal is for 5,000 households to properly segregate using this process to keep reject waste out of landfills and send dry waste to recycl
1. The document discusses deterministic finite automata (DFAs) and nondeterministic finite automata (NFAs). DFAs have a single transition function, while NFAs have a transition function that can map a state-symbol pair to multiple possible next states.
2. Examples are given of DFAs and NFAs that accept certain languages over various alphabets. The DFA examples use transition diagrams to represent the transition functions, while the NFA examples explicitly define the transition functions.
3. Key properties of DFAs and NFAs are summarized, including their definitions as 5-tuples and how languages are accepted by looking for paths from the starting to a final state.
This document discusses deterministic finite automata (DFAs) and nondeterministic finite automata (NFAs). It provides examples of DFAs that accept certain languages over various alphabets. It also defines NFAs formally and provides examples of NFAs that accept languages. The key differences between DFAs and NFAs are that NFA transition functions can map a state-symbol pair to multiple possible next states, whereas DFA transition functions map to exactly one next state.
The document discusses Deterministic Finite Automata (DFAs) and Nondeterministic Finite Automata (NFAs). It defines the key components of a DFA/NFA including states, alphabet, transition function, initial state, and accepting states. It provides examples of DFAs and NFAs and their transition diagrams. It also discusses how to determine if a string is accepted by a DFA/NFA and the language recognized by a DFA/NFA.
The document discusses Noam Chomsky's classification of grammars and languages, which divides them into four classes based on the type of automaton that can recognize them: recursively enumerable grammars recognized by a Turing machine, context-sensitive grammars recognized by a linear bounded automaton, context-free grammars recognized by a pushdown automaton, and regular grammars recognized by a finite state automaton. It then provides details on finite state automata, including how deterministic (DFA) and nondeterministic (NFA) finite automata work, how to define, construct, and use them to accept or reject strings and describe languages.
Formal Languages and Automata Theory Unit 1Srimatre K
The document describes the minimization of a deterministic finite automaton (DFA) using the equivalence theorem. It involves partitioning the states into sets where states in the same set are indistinguishable based on their transitions. The initial partition P0 separates final and non-final states. Subsequent partitions P1, P2, etc. further split sets if states within are distinguishable. The process stops when the partition no longer changes, resulting in the minimized DFA with states merged within each final set. An example application of the steps to a 6-state DFA is also provided.
Finite Automata (FAs)
–Our third machine model, after circuits and decision trees.
•Designed to:
–Accept some strings of symbols.
–Recognizea language, which is the set of strings it accepts.
•FA takes as its input a string of any length.
–One machine for all lengths.
–Circuits and decision trees use a different machine for each length.
•Today’s topics:
–Finite Automata and the languages they recognize
–Examples
–Operations on languages
This document discusses Turing machines and the hierarchy of formal languages. It begins by introducing Turing machines as a model of computation that generalizes classes of formal languages like regular, context-free, and recursively enumerable languages. It then provides examples of deterministic Turing machines and their formal definition. The document discusses how Turing machines are used to define the concepts of recursive and recursively enumerable languages. It also explores questions about whether specific Turing machines or languages always halt.
This document summarizes Chapter 5 of a textbook on nondeterministic finite automata (NFAs). It discusses how NFAs relax the requirement that deterministic finite automata (DFAs) have exactly one transition from every state on every input symbol. NFAs allow multiple transitions from a state on a single symbol, making them more flexible but also nondeterministic. The chapter defines key concepts like spontaneous transitions, nondeterminism, the 5-tuple representation of an NFA, and how the language an NFA accepts is defined in terms of all possible sequences of transitions. It provides examples to illustrate these concepts.
This document discusses finite automata and their components. It defines key terms like alphabet, string, language, states, transitions, accepting states, and start state. It provides examples of deterministic finite automata (DFAs) and nondeterministic finite automata (NFAs) and how they are used to recognize patterns in input strings. The document also discusses epsilon-NFAs which allow epsilon transitions without reading an input symbol. It describes how to represent finite automata using transition tables and diagrams. Finally, it covers the relationships between different types of finite automata and how to convert an NFA to an equivalent DFA using subset construction.
This document discusses Turing machines and the hierarchy of formal languages. It provides examples of deterministic Turing machines that recognize specific formal languages. The key points are:
1) Turing machines can model any computable function and generalize classes of formal languages from regular to recursively enumerable.
2) A deterministic Turing machine is formally defined as a 7-tuple with states, alphabets, transitions, and acceptance conditions.
3) Examples show deterministic Turing machines that recognize the languages of strings ending in 0 and strings with equal numbers of 0s and 1s.
The document discusses non-deterministic finite automata (NFAs) and how they are equivalent to deterministic finite automata (DFAs). It shows examples of NFAs accepting various strings and languages. It then proves that NFAs and DFAs have equal computational power by showing that any language accepted by an NFA is also accepted by a DFA, and vice versa. This is done by describing a procedure to convert any NFA into an equivalent DFA, demonstrating that the languages they accept are the same. Therefore, NFAs and DFAs recognize the same class of formal languages called regular languages.
This document discusses nondeterminism in finite automata. It defines nondeterministic finite automata (NFAs) which can be in multiple states simultaneously, unlike deterministic finite automata (DFAs) which can only be in one state at a time. The document proves that NFAs and DFAs have equivalent power by describing a subset construction algorithm to transform any NFA into an equivalent DFA. It also discusses epsilon transitions in NFAs and how to remove them.
This document introduces finite automata and regular languages. It discusses that regular languages can be described by finite automata, regular expressions, and regular grammars. It then defines deterministic finite automata (DFAs) and nondeterministic finite automata (NFAs) formally, provides examples of each, and shows their equivalence in terms of the languages they accept. It also discusses extending the transition function to strings, regular expressions, converting between DFAs/NFAs and regular expressions, and properties of regular expressions.
The document provides an overview of concepts from a course on automata, computability, and complexity. It discusses expectations for prerequisites, collaboration policies, and examples of finite automata and the languages they recognize. The key points covered are:
- Finite automata are defined formally as 5-tuples representing states, alphabets, transitions, start states, and accepting states.
- Regular operations on languages, such as union, concatenation, and star are introduced.
- It is shown that the class of languages recognizable by finite automata (regular languages) is closed under all basic set operations on languages, including complement, intersection, union, and the regular operations. Proofs of closure properties use constructions to
The document discusses pushdown automata (PDA). It defines a PDA as a 7-tuple that includes a set of states, input alphabet, stack alphabet, initial/start state, starting stack symbol, set of final/accepting states, and a transition function. PDAs operate on an input tape with a stack, and can accept languages that finite automata cannot, such as anbn. The document provides examples of designing PDAs for specific languages and converting between context-free grammars and PDAs.
- An NFA can be converted to an equivalent DFA using the subset construction. This involves constructing states of the DFA that correspond to subsets of states of the NFA.
- The subset construction results in an exponential blow-up in the number of states between the NFA and DFA. There is an NFA with n+1 states that requires a DFA with at least 2^n states.
- An epsilon-NFA (ε-NFA) allows epsilon transitions and can be converted to an equivalent DFA using a similar subset construction approach.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
Trusted Execution Environment for Decentralized Process MiningLucaBarbaro3
Presentation of the paper "Trusted Execution Environment for Decentralized Process Mining" given during the CAiSE 2024 Conference in Cyprus on June 7, 2024.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Dive into the realm of operating systems (OS) with Pravash Chandra Das, a seasoned Digital Forensic Analyst, as your guide. 🚀 This comprehensive presentation illuminates the core concepts, types, and evolution of OS, essential for understanding modern computing landscapes.
Beginning with the foundational definition, Das clarifies the pivotal role of OS as system software orchestrating hardware resources, software applications, and user interactions. Through succinct descriptions, he delineates the diverse types of OS, from single-user, single-task environments like early MS-DOS iterations, to multi-user, multi-tasking systems exemplified by modern Linux distributions.
Crucial components like the kernel and shell are dissected, highlighting their indispensable functions in resource management and user interface interaction. Das elucidates how the kernel acts as the central nervous system, orchestrating process scheduling, memory allocation, and device management. Meanwhile, the shell serves as the gateway for user commands, bridging the gap between human input and machine execution. 💻
The narrative then shifts to a captivating exploration of prominent desktop OSs, Windows, macOS, and Linux. Windows, with its globally ubiquitous presence and user-friendly interface, emerges as a cornerstone in personal computing history. macOS, lauded for its sleek design and seamless integration with Apple's ecosystem, stands as a beacon of stability and creativity. Linux, an open-source marvel, offers unparalleled flexibility and security, revolutionizing the computing landscape. 🖥️
Moving to the realm of mobile devices, Das unravels the dominance of Android and iOS. Android's open-source ethos fosters a vibrant ecosystem of customization and innovation, while iOS boasts a seamless user experience and robust security infrastructure. Meanwhile, discontinued platforms like Symbian and Palm OS evoke nostalgia for their pioneering roles in the smartphone revolution.
The journey concludes with a reflection on the ever-evolving landscape of OS, underscored by the emergence of real-time operating systems (RTOS) and the persistent quest for innovation and efficiency. As technology continues to shape our world, understanding the foundations and evolution of operating systems remains paramount. Join Pravash Chandra Das on this illuminating journey through the heart of computing. 🌟
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
1. Deterministic Finite State Automata (DFA)
0
1
1
0
0
……..
Finite
Control
•
•
•
•
One-way, infinite tape, broken into cells
One-way, read-only tape head.
Finite control, I.e., a program, containing the position of the read head,
current symbol being scanned, and the current “state.”
A string is placed on the tape, read head is positioned at the left end,
and the DFA will read the string one symbol at a time until all symbols
have been read. The DFA will then either accept or reject.
1
2. •
The finite control can be described by a transition diagram:
•
Example #1:
1
0
q1
q0
1
0
1
q0
•
•
0
q0
0
q1
1
q0
1
q0
q0
One state is final/accepting, all others are rejecting.
The above DFA accepts those strings that contain an even number of
0’s
2
4. Inductive Proof (sketch):
Base: x a string with |x|=0. state will be q0 => rejected.
Inductive hypothesis: |x|=k, rejected -in state q0 (x must have 0 c),
OR, rejected – in state q1 (x must have 1 c),
OR, accepted – in state q2 (x already with 2 c’s)
Inductive step: String xp, for p = a, b and c
q0 and, xa or xb: q0->q0 rejected, as should be (no c)
q0 and, xc: q0 -> q1 rejected, as should be (1 c)
q1 and xa or xb: q1 -> q1 rejected, …
q1 and xc: q1-> q2 accepted, as should be ( 2 c’s now)
q2 and xa, or xb, or xc: q2 -> q2 accepted, (no change in c)
4
5. Formal Definition of a DFA
•
A DFA is a five-tuple:
M = (Q, Σ, δ, q0, F)
Q
Σ
q0
F
δ
A finite set of states
A finite input alphabet
The initial/starting state, q0 is in Q
A set of final/accepting states, which is a subset of Q
A transition function, which is a total function from Q x Σ to Q
δ: (Q x Σ) –> Q
δ(q,s) = q’
δ is defined for any q in Q and s in Σ, and
is equal to some state q’ in Q, could be q’=q
Intuitively, δ(q,s) is the state entered by M after reading symbol s while in
state q.
5
6. •
For example #1:
1
Q = {q0, q1}
0
Σ = {0, 1}
Start state is q0
q1
q0
1
0
F = {q0}
δ:
q0
0
q1
1
q0
q1
q0
q1
6
7. •
For example #2:
a
Q = {q0, q1, q2}
Σ = {a, b, c}
Start state is q0
q0
F = {q2}
b
δ:
q0
b
q0
q1
q1
q2
q2
q1
c
q2
b
q2
q2
c
c
q1
q1
•
a
q0
a/b/c
a
q2
Since δ is a function, at each step M has exactly one option.
7
8. Extension of δ to Strings
δ^ : (Q x Σ*) –> Q
δ^(q,w) – The state entered after reading string w having started in state q.
Formally:
1) δ^(q, ε) = q, and
2) For all w in Σ* and a in Σ
δ^(q,wa) = δ (δ^(q,w), a)
8
9. •
Recall Example #1:
1
0
q1
q0
1
0
•
•
What is δ^(q0, 011)? Informally, it is the state entered by M after
processing 011 having started in state q 0.
Formally:
δ^(q0, 011)
= δ (δ^(q0,01), 1)
= δ (δ ( δ^(q0,0), 1), 1)
= δ (δ (δ (δ^(q0, λ), 0), 1), 1)
= δ (δ (δ(q0,0), 1), 1)
= δ (δ (q1, 1), 1)
= δ (q1, 1)
= q1
by rule #2
by rule #2
by rule #2
by rule #1
by definition of δ
by definition of δ
by definition of δ
9
10. •
Note that:
δ^ (q,a) = δ(δ^(q, ε), a)
= δ(q, a)
•
by definition of δ^, rule #2
by definition of δ^, rule #1
Therefore:
δ^ (q, a1a2…an) = δ(δ(…δ(δ(q, a1), a2)…), an)
•
Hence, we can use δ in place of δ^:
δ^(q, a1a2…an) = δ(q, a1a2…an)
10
11. •
Recall Example #2:
1
q0
1
1
0
0
q2
q1
0
•
What is δ(q0, 011)? Informally, it is the state entered by M after
processing 011 having started in state q 0.
•
Formally:
δ(q0, 011)
by rule #2
= δ (δ (δ(q0,0), 1), 1)
by rule #2
= δ (δ (q1, 1), 1)
by definition of δ
= δ (q1, 1)
by definition of δ
= q1
•
= δ (δ(q0,01), 1)
by definition of δ
Is 011 accepted? No, since δ(q0, 011) = q1 is not a final state.
11
12. •
Recall Example #2:
1
q0
1
1
0
0
q2
q1
0
•
What is δ(q1, 10)?
δ(q1, 10)
by rule #2
= δ (q1, 0)
by definition of δ
= q2
•
= δ (δ(q1,1), 0)
by definition of δ
Is 10 accepted? No, since δ(q0, 10) = q1 is not a final state. The fact that
δ(q1, 10) = q2 is irrelevant!
12
13. Definitions for DFAs
•
Let M = (Q, Σ, δ,q0,F) be a DFA and let w be in Σ*. Then w is accepted by M
iff δ(q0,w) = p for some state p in F.
•
Let M = (Q, Σ, δ,q0,F) be a DFA. Then the language accepted by M is the set:
L(M) = {w | w is in Σ* and δ(q0,w) is in F}
•
Another equivalent definition:
L(M) = {w | w is in Σ* and w is accepted by M}
•
Let L be a language. Then L is a regular language iff there exists a DFA M
such that L = L(M).
•
Let M1 = (Q1, Σ1, δ1, q0, F1) and M2 = (Q2, Σ2, δ2, p0, F2) be DFAs. Then M1 and
M2 are equivalent iff L(M1) = L(M2).
13
14. •
Notes:
– A DFA M = (Q, Σ, δ,q0,F) partitions the set Σ* into two sets: L(M) and
Σ* - L(M).
– If L = L(M) then L is a subset of L(M) and L(M) is a subset of L.
– Similarly, if L(M1) = L(M2) then L(M1) is a subset of L(M2) and L(M2) is a subset of
L(M1).
– Some languages are regular, others are not. For example, if
L1 = {x | x is a string of 0's and 1's containing an even
number of 1's} and
L2 = {x | x = 0n1n for some n >= 0}
then L1 is regular but L2 is not.
•
Questions:
– How do we determine whether or not a given language is regular?
– How could a program “simulate” a DFA?
14
15. •
Give a DFA M such that:
L(M) = {x | x is a string of 0’s and 1’s and |x| >= 2}
0/1
q0
0/1
q1
0/1
q2
Prove this by induction
15
16. •
Give a DFA M such that:
L(M) = {x | x is a string of (zero or more) a’s, b’s and c’s such
that x does not contain the substring aa}
b/c
a/b/c
a
q0
b/c
q1
a
q2
16
17. •
Give a DFA M such that:
L(M) = {x | x is a string of a’s, b’s and c’s such that x
contains the substring aba}
b/c
a
a/b/c
a
q0
c
b
q1
q2
a
q3
b/c
17
18. •
Give a DFA M such that:
L(M) = {x | x is a string of a’s and b’s such that x
contains both aa and bb}
a
a
q1
b
q2
a
q0
a
a
q3
b
a/b
q7
b
b
b
q4
b
q5
a
b
q6
a
18
19. •
Let Σ = {0, 1}. Give DFAs for {}, {ε}, Σ*, and Σ+.
For {}:
For {ε}:
0/1
0/1
q0
q0
For Σ*:
0/1
q1
For Σ+:
0/1
0/1
q0
q0
0/1
q1
19
20. Nondeterministic Finite State
Automata (NFA)
•
An NFA is a five-tuple:
M = (Q, Σ, δ, q0, F)
Q
Σ
q0
F
δ
A finite set of states
A finite input alphabet
The initial/starting state, q0 is in Q
A set of final/accepting states, which is a subset of Q
A transition function, which is a total function from Q x Σ to 2 Q
δ: (Q x Σ) –> 2Q
δ(q,s)
-2Q is the power set of Q, the set of all subsets of Q
-The set of all states p such that there is a transition
labeled s from q to p
δ(q,s) is a function from Q x S to 2Q (but not to Q)
20
21. •
Example #1: some 0’s followed by some 1’s
0
Q = {q0, q1, q2}
Σ = {0, 1}
Start state is q0
q0
0/1
1
0
q1
1
q2
F = {q2}
δ:
q0
0
{q0, q1}
1
{}
{}
q1
{q1, q2}
{q2}
{q2}
q2
21
22. •
Example #2: pair of 0’s or pair of 1’s
Q = {q0, q1, q2 , q3 , q4}
Σ = {0, 1}
Start state is q0
q0
q1
q2
q3
0
{q0, q3}
1
{q0, q1}
{}
q3
0
q4
q2
{}
{q4}
q1
1
{q2}
{q4}
0/1
{q2}
{q2}
q0
0
1
F = {q2, q4}
δ:
0/1
0/1
{q4}
22
23. •
Notes:
– δ(q,s) may not be defined for some q and s (why?).
– Informally, a string is said to be accepted if there exists a path to some
state in F.
– The language accepted by an NFA is the set of all accepted strings.
•
Question: How does an NFA find the correct/accepting path for a
given string?
– NFAs are a non-intuitive computing model.
– We are primarily interested in NFAs as language defining devices, i.e., do
NFAs accept languages that DFAs do not?
– Other questions are secondary, including practical questions such as
whether or not there is an algorithm for finding an accepting path through
an NFA for a given string,
23
24. •
Determining if a given NFA (example #2) accepts a given string (001)
can be done algorithmically:
q0
0
q0
q3
0
q0
1
q0
q1
q4
•
q3
q4
accepted
Each level will have at most n states
24
26. •
Question: Why non-determinism is useful?
–Non-determinism = Backtracking
–Non-determinism hides backtracking
–Programming languages, e.g., Prolog, hides backtracking => Easy to
program at a higher level: what we want to do, rather than how to do it
–Useful in complexity study
–Is NDA more “powerful” than DFA, i.e., accepts type of languages that any
DFA cannot?
26
27. •
Let Σ = {a, b, c}. Give an NFA M that accepts:
L = {x | x is in Σ* and x contains ab}
a/b/c
q0
a/b/c
a
q1
b
q2
Is L a subset of L(M)?
Is L(M) a subset of L?
•
•
Is an NFA necessary? Could a DFA accept L? Try and give an
equivalent DFA as an exercise.
Designing NFAs is not trivial: easy to create bug
27
28. •
Let Σ = {a, b}. Give an NFA M that accepts:
L = {x | x is in Σ* and the third to the last symbol in x is b}
a/b
q0
b
q1
a/b
q2
a/b
q3
Is L a subset of L(M)?
Is L(M) a subset of L?
•
Give an equivalent DFA as an exercise.
28
29. Extension of δ to Strings and Sets of States
•
What we currently have:
δ : (Q x Σ) –> 2Q
•
What we want (why?):
δ : (2Q x Σ*) –> 2Q
•
We will do this in two steps, which will be slightly different from the
book, and we will make use of the following NFA.
0
q0
0
1
q1
0
1
q3
0
0
q2
0
q4
1
29
30. Extension of δ to Strings and Sets of States
•
Step #1:
Given δ: (Q x Σ) –> 2Q define δ#: (2Q x Σ) –> 2Q as follows:
1) δ#(R, a) =
•
δ(q, a)
q∈R
for all subsets R of Q, and symbols a in Σ
Note that:
δ#({p},a) = δ(q, a)
= δ(p, a)
q∈ p }
{
•
by definition of δ#, rule #1 above
Hence, we can use δ for δ#
δ({q0, q2}, 0)
δ({q0, q1, q2}, 0)
These now make sense, but previously
they did not.
30
31. •
Example:
δ({q0, q2}, 0) = δ(q0, 0) U δ(q2, 0)
= {q1, q3} U {q3, q4}
= {q1, q3, q4}
δ({q0, q1, q2}, 1) = δ(q0, 1) U δ(q1, 1) U δ(q2, 1)
= {} U {q2, q3} U {}
= {q2, q3}
31
32. •
Step #2:
Given δ: (2Q x Σ) –> 2Q define δ^: (2Q x Σ*) –> 2Q as follows:
δ^(R,w) – The set of states M could be in after processing string w, having
starting from any state in R.
Formally:
2) δ^(R, ε) = R
3) δ^(R,wa) = δ (δ^(R,w), a)
•
Note that:
δ^(R, a)
•
for any subset R of Q
for any w in Σ*, a in Σ, and
subset R of Q
= δ(δ^(R, ε), a)
= δ(R, a)
by definition of δ^, rule #3 above
by definition of δ^, rule #2 above
Hence, we can use δ for δ^
δ({q0, q2}, 0110)
δ({q0, q1, q2}, 101101)
These now make sense, but previously
they did not.
32
33. •
Example:
1
q0
0
0
1
q1
0
1
q2
1
q3
What is δ({q0}, 10)?
Informally: The set of states the NFA could be in after processing 10,
having started in state q0, i.e., {q1, q2, q3}.
Formally:
δ({q0}, 10) = δ(δ({q0}, 1), 0)
= δ({q0}, 0)
= {q1, q2, q3}
Is 10 accepted? Yes!
33
34. •
Example:
What is δ({q0, q1}, 1)?
δ({q0 , q1}, 1)
= δ({q0}, 1) U δ({q1}, 1)
= {q0} U {q2, q3}
= {q0, q2, q3}
What is δ({q0, q2}, 10)?
δ({q0 , q2}, 10) = δ(δ({q0 , q2}, 1), 0)
= δ(δ({q0}, 1) U δ({q2}, 1), 0)
= δ({q0} U {q3}, 0)
= δ({q0,q3}, 0)
= δ({q0}, 0) U δ({q3}, 0)
= {q1, q2, q3} U {}
34
35. •
Example:
δ({q0}, 101)
= δ(δ({q0}, 10), 1)
= δ(δ(δ({q0}, 1), 0), 1)
= δ(δ({q0}, 0), 1)
= δ({q1 , q2, q3}, 1)
= δ({q1}, 1) U δ({q2}, 1) U δ({q3}, 1)
= {q2, q3} U {q3} U {}
= {q2, q3}
Is 101 accepted? Yes!
35
36. Definitions for NFAs
•
Let M = (Q, Σ, δ,q0,F) be an NFA and let w be in Σ*. Then w is
accepted by M iff δ({q0}, w) contains at least one state in F.
•
Let M = (Q, Σ, δ,q0,F) be an NFA. Then the language accepted by M
is the set:
L(M) = {w | w is in Σ* and δ({q0},w) contains at least one state in F}
•
Another equivalent definition:
L(M) = {w | w is in Σ* and w is accepted by M}
36
37. Equivalence of DFAs and NFAs
•
Do DFAs and NFAs accept the same class of languages?
– Is there a language L that is accepted by a DFA, but not by any NFA?
– Is there a language L that is accepted by an NFA, but not by any DFA?
•
Observation: Every DFA is an NFA.
•
Therefore, if L is a regular language then there exists an NFA M such
that L = L(M).
•
It follows that NFAs accept all regular languages.
•
But do NFAs accept more?
37
38. •
Consider the following DFA: 2 or more c’s
a
Q = {q0, q1, q2}
Σ = {a, b, c}
Start state is q0
q0
F = {q2}
b
δ:
q0
a
q0
b
q0
q1
q1
q2
q2
q1
c
q2
b
q2
q2
c
c
q1
q1
a/b/c
a
q2
38
39. •
An Equivalent NFA:
a
Q = {q0, q1, q2}
Σ = {a, b, c}
Start state is q0
q0
F = {q2}
b
δ:
q0
a
{q0}
b
{q0}
{q1}
{q1}
{q2}
{q2}
q1
c
q2
b
{q2}
q2
c
c
{q1}
q1
a/b/c
a
{q2}
39
40. •
Lemma 1: Let M be an DFA. Then there exists a NFA M’ such that
L(M) = L(M’).
•
Proof: Every DFA is an NFA. Hence, if we let M’ = M, then it
follows that L(M’) = L(M).
The above is just a formal statement of the observation from the
previous slide.
40
41. •
Lemma 2: Let M be an NFA. Then there exists a DFA M’ such that L(M) =
L(M’).
•
Proof: (sketch)
Let M = (Q, Σ, δ,q0,F).
Define a DFA M’ = (Q’, Σ, δ’,q’0,F’) as:
Q’ = 2Q
= {Q0, Q1,…,}
Each state in M’ corresponds to a
subset of states from M
where Qu = [qi0, qi1,…qij]
F’ = {Qu | Qu contains at least one state in F}
q’0 = [q0]
δ’(Qu, a) = Qv iff δ(Qu, a) = Qv
41
42. •
Example: empty string or start and end with 0
0/1
Q = {q0, q1}
0
Σ = {0, 1}
Start state is q0
q0
0
q1
F = {q1}
δ:
q0
0
{q1}
{q0, q1}
1
{}
{q1}
q1
42
44. •
Theorem: Let L be a language. Then there exists an DFA M such
that L = L(M) iff there exists an NFA M’ such that L = L(M’).
•
Proof:
(if) Suppose there exists an NFA M’ such that L = L(M’). Then by
Lemma 2 there exists an DFA M such that L = L(M).
(only if) Suppose there exists an DFA M such that L = L(M). Then by
Lemma 1 there exists an NFA M’ such that L = L(M’).
•
Corollary: The NFAs define the regular languages.
44
45. •
Note: Suppose R = {}
δ(R, 0)
= δ(δ(R, ε), 0)
= δ(R, 0)
= δ(q, 0)
= {}
q∈
R
•
Since R = {}
Exercise - Convert the following NFA to a DFA:
Q = {q0, q1, q2}
Σ = {0, 1}
Start state is q0
F = {q0}
δ:
0
q0
{q0, q1}
{}
q1
{q1}
{q2}
{q2}
{q2}
q2
1
45
46. NFAs with ε Moves
•
An NFA-ε is a five-tuple:
M = (Q, Σ, δ, q0, F)
Q
Σ
q0
F
δ
A finite set of states
A finite input alphabet
The initial/starting state, q0 is in Q
A set of final/accepting states, which is a subset of Q
A transition function, which is a total function from Q x Σ U {ε} to 2 Q
δ: (Q x (Σ U {ε})) –> 2Q
δ(q,s)
•
-The set of all states p such that there is a
transition labeled a from q to p, where a
is in Σ U {ε}
Sometimes referred to as an NFA-ε other times, simply as an NFA.
46
48. Informal Definitions
•
Let M = (Q, Σ, δ,q0,F) be an NFA-ε.
•
A String w in Σ* is accepted by M iff there exists a path in M from q0 to a state
in F labeled by w and zero or more ε transitions.
•
The language accepted by M is the set of all strings from Σ * that are accepted
by M.
48
49. ε-closure
•
Define ε-closure(q) to denote the set of all states reachable from q by zero or
more ε transitions.
•
Examples: (for the previous NFA)
ε-closure(q0) = {q0, q1, q2} ε-closure(q2) = {q2}
ε-closure(q1) = {q1, q2}
ε-closure(q3) = {q3}
•
ε-closure(q) can be extended to sets of states by defining:
ε-closure(P) = ε-closure(q)
q∈
P
•
Examples:
ε-closure({q1, q2}) = {q1, q2}
ε-closure({q0, q3}) = {q0, q1, q2, q3}
49
50. Extension of δ to Strings and Sets of States
•
What we currently have:
δ : (Q x (Σ U {ε})) –> 2Q
•
What we want (why?):
δ : (2Q x Σ*) –> 2Q
•
As before, we will do this in two steps, which will be slightly different
from the book, and we will make use of the following NFA.
q3
1
0
0
ε
q0
0/1
ε
1
q1
0
q2
50
51. •
Step #1:
Given δ: (Q x (Σ U {ε})) –> 2Q define δ#: (2Q x (Σ U {ε})) –> 2Q as
follows:
1) δ#(R, a) = δ(q, a) for all subsets R of Q, and symbols a in Σ U {ε}
q∈R
•
Note that:
δ#({p},a) = δ(q, a) by definition of δ#, rule #1 above
= δ(p, a)
q∈ p }
{
•
Hence, we can use δ for δ#
δ({q0, q2}, 0)
previously
δ({q0, q1, q2}, 0)
These now make sense, but
they did not.
51
52. •
Examples:
What is δ({q0 , q1, q2}, 1)?
δ({q0 , q1, q2}, 1) = δ(q0, 1) U δ(q1, 1) U δ(q2, 1)
= { } U {q0, q3} U {q2}
= {q0, q2, q3}
What is δ({q0, q1}, 0)?
δ({q0 , q1}, 0) = δ(q0, 0) U δ(q1, 0)
= {q0} U {q1, q2}
= {q0, q1, q2}
52
53. •
Step #2:
Given δ: (2Q x (Σ U {ε})) –> 2Q define δ^: (2Q x Σ*) –> 2Q as follows:
δ^(R,w) – The set of states M could be in after processing string w,
having starting from any state in R.
Formally:
2) δ^(R, ε) = ε-closure(R)
3) δ^(R,wa) = ε-closure(δ(δ^(R,w), a))
•
- for any subset R of Q
- for any w in Σ*, a in Σ, and
subset R of Q
Can we use δ for δ^?
53
54. •
Consider the following example:
δ({q0}, 0) = {q0}
δ^({q0}, 0) = ε-closure(δ(δ^({q0}, ε), 0))
By rule #3
= ε-closure(δ(ε-closure({q0}), 0))
By rule #2
= ε-closure(δ({q0, q1, q2}, 0))
By ε-closure
= ε-closure(δ(q0, 0) U δ(q1, 0) U δ(q2, 0))
By rule #1
= ε-closure({q0} U {q1, q2} U {q2})
= ε-closure({q0, q1, q2})
= ε-closure({q0}) U ε-closure({q1}) U ε-closure({q2})
= {q0, q1, q2} U {q1, q2} U {q2}
= {q0, q1, q2}
•
So what is the difference?
δ(q0, 0)
δ^(q0 , 0)
- Processes 0 as a single symbol, without ε transitions.
54
- Processes 0 using as many ε transitions as are possible.
55. •
Example:
δ^({q0}, 01) = ε-closure(δ(δ^({q0}, 0), 1))
By rule #3
= ε-closure(δ({q0, q1, q2}), 1)
Previous slide
= ε-closure(δ(q0, 1) U δ(q1, 1) U δ(q2, 1))
By rule #1
= ε-closure({ } U {q0, q3} U {q2})
= ε-closure({q0, q2, q3})
= ε-closure({q0}) U ε-closure({q2}) U ε-closure({q3})
= {q0, q1, q2} U {q2} U {q3}
= {q0, q1, q2, q3}
55
56. Definitions for NFA-ε Machines
•
Let M = (Q, Σ, δ,q0,F) be an NFA-ε and let w be in Σ*. Then w is
accepted by M iff δ^({q0}, w) contains at least one state in F.
•
Let M = (Q, Σ, δ,q0,F) be an NFA-ε. Then the language accepted by
M is the set:
L(M) = {w | w is in Σ* and δ^({q0},w) contains at least one state in F}
•
Another equivalent definition:
L(M) = {w | w is in Σ* and w is accepted by M}
56
57. Equivalence of NFAs and NFA-εs
•
Do NFAs and NFA-ε machines accept the same class of languages?
– Is there a language L that is accepted by a NFA, but not by any NFA -ε?
– Is there a language L that is accepted by an NFA-ε, but not by any DFA?
•
Observation: Every NFA is an NFA-ε.
•
Therefore, if L is a regular language then there exists an NFA-ε M
such that L = L(M).
•
It follows that NFA-ε machines accept all regular languages.
•
But do NFA-ε machines accept more?
57
58. •
Lemma 1: Let M be an NFA. Then there exists a NFA-ε M’ such
that L(M) = L(M’).
•
Proof: Every NFA is an NFA-ε. Hence, if we let M’ = M, then it
follows that L(M’) = L(M).
The above is just a formal statement of the observation from the
previous slide.
58
59. •
Lemma 2: Let M be an NFA-ε. Then there exists a NFA M’ such
that L(M) = L(M’).
•
Proof: (sketch)
Let M = (Q, Σ, δ,q0,F) be an NFA-ε.
Define an NFA M’ = (Q, Σ, δ’,q0,F’) as:
F’ = F U {q0} if ε-closure(q0) contains at least one state from F
F’ = F otherwise
δ’(q, a) = δ^(q, a)
•
- for all q in Q and a in Σ
Notes:
– δ’: (Q x Σ) –> 2Q is a function
– M’ has the same state set, the same alphabet, and the same start state as M
59
– M’ has no ε transitions
68. •
Theorem: Let L be a language. Then there exists an NFA M such
that L= L(M) iff there exists an NFA-ε M’ such that L = L(M’).
•
Proof:
(if) Suppose there exists an NFA-ε M’ such that L = L(M’). Then by
Lemma 2 there exists an NFA M such that L = L(M).
(only if) Suppose there exists an NFA M such that L = L(M). Then by
Lemma 1 there exists an NFA-ε M’ such that L = L(M’).
•
Corollary: The NFA-ε machines define the regular languages.
68