These slides were submitted by Muskan Bathla, Nivedit Jain and Sanskar Mani (all sophomore undergrad in Computer Science and Engineering) as a part of lecture scribing for Theory of Computation Course at Indian Institute of Technology Jodhpur, under the guidance of Dr. Anand Mishra, IIT Jodhpur
simple problem to convert NFA with epsilon to without epsilonkanikkk
conversion of NFA,this will helps to easily solve the problems
by this small example you can solve large problems also.by solving this type of small problems we can get a more ideas to solve this type of problems
NFA Non Deterministic Finite Automata by Mudasir khushikMudsaraliKhushik
NFA Non Deterministic Finite Automata.
Basics
tuples of NFA
NFA Examples
Transition Table and man more things which you want to understand like Language, Rules, Alphabets, Descriptive Method, Regular Expression, String, and Finite Automata.
simple problem to convert NFA with epsilon to without epsilonkanikkk
conversion of NFA,this will helps to easily solve the problems
by this small example you can solve large problems also.by solving this type of small problems we can get a more ideas to solve this type of problems
NFA Non Deterministic Finite Automata by Mudasir khushikMudsaraliKhushik
NFA Non Deterministic Finite Automata.
Basics
tuples of NFA
NFA Examples
Transition Table and man more things which you want to understand like Language, Rules, Alphabets, Descriptive Method, Regular Expression, String, and Finite Automata.
In the automata theory, a nondeterministic finite.pdfannesmkt
In the automata theory, a nondeterministic finite automaton (NFA) or
nondeterministic finite state machine is a finite state machine where from each state and a given
input symbol the automaton may jump into several possible next states. This distinguishes it
from the deterministic finite automaton (DFA), where the next possible state is uniquely
determined. Although the DFA and NFA have distinct definitions, a NFA can be translated to
equivalent DFA using powerset construction, i.e., the constructed DFA and the NFA recognize
the same formal language. Both types of automata recognize only regular languages. NFAs were
introduced in 1959 by Michael O. Rabin and Dana Scott,[1] who also showed their equivalence
to DFAs. Informal introduction An NFA, similar to a DFA, consumes a string of input
symbols. For each input symbol, it transitions to a new state until all input symbols have been
consumed. Unlike a DFA, it is non-deterministic, i.e., for any input symbol the next state may be
any one of several possible states. Thus, in the formal definition, the next state is an element of
the power set of the states, which is a set of states to be considered at once. The notion of
accepting an input is similar to that for the DFA. When the last input symbol is consumed, the
NFA accepts if and only if there is some set of transitions that will take it to an accepting state.
Equivalently, it rejects, if, no matter what transitions are applied, it would not end in an
accepting state. Formal definition An NFA is represented formally by a 5-tuple, (Q, S, ?, q0, F),
consisting of a finite set of states Q a finite set of input symbols S a transition relation ? : Q × S
? P(Q). an initial (or start) state q0 ? Q a set of states F distinguished as accepting (or final) states
F ? Q. Here, P(Q) denotes the power set of Q. Let w = a1a2 ... an be a word over the alphabet S.
The automaton M accepts the word w if a sequence of states, r0,r1, ..., rn, exists in Q with the
following conditions: r0 = q0 ri+1 ? ?(ri, ai+1), for i = 0, ..., n-1 rn ? F. In words, the first
condition says that the machine starts in the start state q0. The second condition says that given
each character of string w, the machine will transition from state to state according to the
transition relation ?. The last condition says that the machine accepts w if the last input of w
causes the machine to halt in one of the accepting states. Otherwise, it is said that the automaton
rejects the string. The set of strings M accepts is the language recognized by M and this language
is denoted by L(M). We can also define L(M) in terms of ?*: Q × S* ? P(Q) such that: ?*(r, e)=
{r} where e is the empty string, and If x ? S*, a ? S, and ?*(r, x)={r1, r2,..., rk} then ?*(r, xa)=
?(r1, a)?...??(rk, a). Now L(M) = {w | ?*(q0, w) n F ? Ø}. Note that there is a single initial state,
which is not necessary. Sometimes, NFAs are defined with a set of initial states. There is an easy
construction that translates a NFA.
The slide is about Non-deterministic Finite Automata and Deterministic Finite Automata. Which we created on our Theory of Computation course from Notre Dame University Bangladesh.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
2. Contribution
Each person has contributed almost equally for this
presentation.
Whereas specific contributions include
Muskan Bathla(B18CSE036): 18 to 31
Nivedit Jain(B18CSE039): 1 to 9,16-17
Sanskar Mani(B18CSE048): 10 to 15
2
3. Hello!
I am NFA
I was very indecisive and confused about my
life…until yesterday….. when I attended Theory
of Computation lecture!
3
4. I realised that I am no less than DFA and
for every person of my kind, a DFA
counterpart exists!
I set onto a journey of finding my
counterpart…...
5. 5
This was me as NFA.
Then I got some ideas to
see myself as DFA.
Let’s think of powerset’s
state !!
6. 6
If I am at {1} I can go
nowhere if a is supplied,
which in maths can be
said Φ.
And if b is supplied,
then I reach {2}
7. 7
If I am at {3} I got a I can
reach to {1} but from {1},
I can go to {3}, so from
{3} with a I can reach to
{1} or {3} which is {1,3}.
I should also consider
this as one of my end
state as it contains {1}
And if I continued I get...
10. 10
Proof Idea :
If a language is recognized by an NFA, then we must show
the existence of a DFA that also recognizes it. The idea is to
convert the NFA into an equivalent DFA that simulates the
NFA.
In NFA’s we keep track of the various states that we are
currently at. We simulate the string by transitioning all the
current states to using their transition function. Then we get
another set of states which we will then call our current
states.
11. 11
Proof Idea (2):
If k is the number of states of the NFA, it has 2k
subsets of
states. Each subset corresponds to one of the possibilities
that the DFA must remember, so the DFA simulating the NFA
will have 2k
states.
Logically analysing the start state should be the initial start
state and the final states should be the subsets containing
any one of the original final states as reaching any of them
would mean acceptance of the string.
12. 12
Formal Proof :
Let N = (Q, Σ, δ, q0
, F) be the NFA recognizing some
language A.
We construct a DFA M = (Q1
, Σ, δ1
, q0
1
F1
) recognizing A.
The steps below explain the construction for the case when
N is devoid of any ε transitions. We would be modifying the
construction later in order to take them into consideration.
13. 13
Formal Proof (2):
1. Q1
= P(Q).
Every state of M is a set of states of N. ( P(Q) if the set of
all subsets of Q or the power set of Q )
2. For R ∈ Q1
and a ∈ Σ, let δ1
(R, a) = {q ∈ Q| q ∈ δ(r, a)
for some r ∈ R}. When M reads a symbol a in state R, we
transition all of the states in the set R and transition to the
state in M containing exactly the states that we have
transitioned to. The transition function δ1
(R, a) could be
expressed formally as - δ1
(R, a) = Ur∈R
δ(r, a)
14. 14
Formal Proof (3):
3. q0
1
= {q0
}.
M starts in the state corresponding to the collection
containing just the start state of N.
4. F1
= {R ∈ Q1
| R contains an accept state of N}.
The machine M accepts if one of the possible states that N
could be in at this point is an accept state. The reason is to
accept any such string which might stop at any such states
which contain a final state of N.
15. 15
Formal Proof (4):
This would have been the end of the construction if there
were no ε transitions. The modification has been explained
in the following slide.
LETs see Modification!!
16. 16
We now need to consider the ε arrows. For any state R of
M, define E(R) to be the collection of states that can be
reached from members of R by going only along ε arrows,
including the members of R themselves so as to include all
the states of N which could be reached without reading the
string. Formally, for R ⊆ Q let E(R) = {q| q can be reached
from R by traveling along 0 or more ε arrows}.
Modification :
17. 17
Now we need to modify the transition function of M to take
into consideration all states that can be reached by going
along ε arrows after every step. Replacing δ(r, a) by E(δ(r,
a)) achieves this effect. Thus δ1
(R, a) = {q ∈ Q| q ∈ E(δ(r, a))
for some r ∈ R}.
We also need to modify the start state of M to all the
states that could be reached by q0
without reading the
string including itself. Changing q0
1
to be E({q0
}) achieves
this effect as this will include all the states that are
reachable without reading a string.
With this our construction is complete.
Modification :
18. 18
1. Let Q’ be the set of states of DFA.
Let T’ be the transition table of DFA.
2. Add start state of NFA to Q’ as the start state of DFA.
Add the transitions of start state to T’.
3. If any new state is present in T’
Add the new state in Q’.
Add transitions of that state in T’.
4. Keep repeating step 3 until no new state is present in T’.
Finally, the transition table T’ so obtained is the complete
transition table of the required DFA..
Steps for converting NFA to DFA
19. 19
Note Points:
1. The start state of DFA is unique and is same as the start
state of NFA.
2. *q represents the final state.
3. If any state makes transition to multiple states for some
input alphabet, then treat those multiple states as a single
state in the DFA.
4. The set of multiple states will be final state of DFA if it
contains a final state of the NFA.
5. In NFA, if the transition of any state over some input
alphabet is null,then perform the transition of that state
over that input alphabet to a dead state in the DFA.
21. 21
State / Alphabet a b
→q0 q0 q0, q1
q1 – *q2
*q2 – –
Transition table of NFA (T)
22. 22
Step1:
Let Q’ be the set of states of DFA.
Let T’ be the transition table of DFA.
Step2:
Add transitions of start state q0 to T’
State / Alphabet a b
→{q0} {q0} {q0, q1}
Solution:
23. 23
Step3:
State / Alphabet a b
→{q0} {q0} {q0, q1}
{q0, q1} {q0} {q0, q1, q2}
New state present in Q’ is {q0, q1}.
Add transitions for set of states {q0, q1} to T’.
24. 24
Step4:
State / Alphabet a b
→{q0} {q0} {q0, q1}
{q0, q1} {q0} {q0, q1, q2}
{q0, q1, q2} {q0} {q0, q1, q2}
New state present in Q’ is {q0, q1, q2}.
Add transitions for set of states {q0, q1, q2} to T’.
25. 25
State / Alphabet a b
→{q0} {q0} {q0, q1}
{q0, q1} {q0} *{q0, q1, q2}
*{q0, q1, q2} {q0} *{q0, q1, q2}
Step5:
Since no new states are left to be added in T’, so we stop.
States containing q2 as its element are treated as final states
of the DFA.
Finally, Transition table for Deterministic Finite Automata
(DFA) is-