The document describes the Boyer-Moore string search algorithm, which improves on the naive string matching algorithm. It uses two rules - the bad character rule and good suffix rule - to skip unnecessary character comparisons, making string searches more efficient. The bad character rule uses a table to determine how far to shift the pattern when a mismatch occurs, while the good suffix rule allows reusing matches when they are found. Together these rules allow Boyer-Moore to significantly outperform the naive algorithm.
Given presentation tell us about string, string matching and the navie method of string matching. Well this method has O((n-m+1)*m) time complexicity. It also tells the problem with naive approach and gives list of approaches which can be applied to reduce the time complexicity
The Rabin-Karp algorithm is a string-searching algorithm that uses hashing to find patterns in strings.
The Rabin-Karp algorithm makes use of hash functions and the rolling hash technique.
Here i discuss 3 algorithm about String matching.
Those algorithm are:
1. The naive algorithm.
2. The Rabin-Krap algorithm.
3. The Knuth-Morris-Pratt algorithm.
i hope,by readinng this slide, it is easy to undarstand those algorithm.
RABIN KARP algorithm with hash function and hash collision, analysis, algorithm and code for implementation. Besides it contains applications of RABIN KARP algorithm also
Given presentation tell us about string, string matching and the navie method of string matching. Well this method has O((n-m+1)*m) time complexicity. It also tells the problem with naive approach and gives list of approaches which can be applied to reduce the time complexicity
The Rabin-Karp algorithm is a string-searching algorithm that uses hashing to find patterns in strings.
The Rabin-Karp algorithm makes use of hash functions and the rolling hash technique.
Here i discuss 3 algorithm about String matching.
Those algorithm are:
1. The naive algorithm.
2. The Rabin-Krap algorithm.
3. The Knuth-Morris-Pratt algorithm.
i hope,by readinng this slide, it is easy to undarstand those algorithm.
RABIN KARP algorithm with hash function and hash collision, analysis, algorithm and code for implementation. Besides it contains applications of RABIN KARP algorithm also
Algorithms Discussed
Knuth–Morris–Pratt algorithm
Boyer–Moore string search algorithm
Bitap algorithm (for exact string searching)
-------------------
Checking whether two or more strings are same or not.
Finding a string (pattern) into another string (text). --> Looking for substring
In this section we will be discussing about the Boyer-Moore algorithm defined by Robert S. Boyer and J Strother Moore in 1977 and used to improve the search of a pattern in a given text. Copy the link given below and paste it in new browser window to get more information on Boyre Moore Algorithm:- http://www.transtutors.com/homework-help/computer-science/boyre-moore-algorithm.aspx
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
Algorithms Discussed
Knuth–Morris–Pratt algorithm
Boyer–Moore string search algorithm
Bitap algorithm (for exact string searching)
-------------------
Checking whether two or more strings are same or not.
Finding a string (pattern) into another string (text). --> Looking for substring
In this section we will be discussing about the Boyer-Moore algorithm defined by Robert S. Boyer and J Strother Moore in 1977 and used to improve the search of a pattern in a given text. Copy the link given below and paste it in new browser window to get more information on Boyre Moore Algorithm:- http://www.transtutors.com/homework-help/computer-science/boyre-moore-algorithm.aspx
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaYara Milbes
Discover the transformative power of the WhatsApp API in our latest SlideShare presentation, "Top 7 Unique WhatsApp API Benefits." In today's fast-paced digital era, effective communication is crucial for both personal and professional success. Whether you're a small business looking to enhance customer interactions or an individual seeking seamless communication with loved ones, the WhatsApp API offers robust capabilities that can significantly elevate your experience.
In this presentation, we delve into the top 7 distinctive benefits of the WhatsApp API, provided by the leading WhatsApp API service provider in Saudi Arabia. Learn how to streamline customer support, automate notifications, leverage rich media messaging, run scalable marketing campaigns, integrate secure payments, synchronize with CRM systems, and ensure enhanced security and privacy.
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
2. SEARCHING A SPECIFIC PATTERN IN A
TARGET TEXT
THE NAÏVE METHOD
G T T T A C G G T C T T C T T G G C C G A T T A
# comparisons
0
C G A T
3. SEARCHING A SPECIFIC PATTERN IN A
TARGET TEXT
THE NAÏVE METHOD
G T T T A C G G T C T T C T T G G C C G A T T A
# comparisons
1
C G A T
4. SEARCHING A SPECIFIC PATTERN IN A
TARGET TEXT
THE NAÏVE METHOD
G T T T A C G G T C T T C T T G G C C G A T T A
# comparisons
2
C G A T
5. SEARCHING A SPECIFIC PATTERN IN A
TARGET TEXT
THE NAÏVE METHOD
G T T T A C G G T C T T C T T G G C C G A T T A
# comparisons
3
C G A T
6. SEARCHING A SPECIFIC PATTERN IN A
TARGET TEXT
THE NAÏVE METHOD
G T T T A C G G T C T T C T T G G C C G A T T A
# comparisons
4
C G A T
7. SEARCHING A SPECIFIC PATTERN IN A
TARGET TEXT
THE NAÏVE METHOD
G T T T A C G G T C T T C T T G G C C G A T T A
# comparisons
5
C G A T
8. SEARCHING A SPECIFIC PATTERN IN A
TARGET TEXT
THE NAÏVE METHOD
G T T T A C G G T C T T C T T G G C C G A T T A
# comparisons
6
C G A T
9. SEARCHING A SPECIFIC PATTERN IN A
TARGET TEXT
THE NAÏVE METHOD
G T T T A C G G T C T T C T T G G C C G A T T A
# comparisons
7
C G A T
10. SEARCHING A SPECIFIC PATTERN IN A
TARGET TEXT
THE NAÏVE METHOD
G T T T A C G G T C T T C T T G G C C G A T T A
# comparisons
8
C G A T
11. SEARCHING A SPECIFIC PATTERN IN A
TARGET TEXT
THE NAÏVE METHOD
G T T T A C G G T C T T C T T G G C C G A T T A
# comparisons
9
C G A T
12. SEARCHING A SPECIFIC PATTERN IN A
TARGET TEXT
THE NAÏVE METHOD
G T T T A C G G T C T T C T T G G C C G A T T A
# comparisons
27
C G A T
13. BOYER–MOORE STRING SEARCH ALGORITHM
developed by Robert S. Boyer and J Strother
Moore in 1977
Smart naïve method
tries to match the pattern with target text
Use two rules to skip unnecessary matches
Match from the end of pattern
14. FIRST RULE: THE BAD CHARACTER RULE (BCR)
Text : bowling green state university computer science department
Pattern : science
Letter s c i e n *
BCR 6 1 4 1 2 7
15. FIRST RULE: THE BAD CHARACTER RULE (BCR)
B OW L I NG G R E E N S T A T E U N I V E R S I T Y C OMP U T E R S C I E N C E
Letter s c i e n *
BCR 6 1 4 1 2 7
S C I E N C E
16. FIRST RULE: THE BAD CHARACTER RULE (BCR)
B OW L I NG G R E E N S T A T E U N I V E R S I T Y C OMP U T E R S C I E N C E
Letter s c i e n *
BCR 6 1 4 1 2 7
S C I E N C E 7 shifts
17. FIRST RULE: THE BAD CHARACTER RULE (BCR)
B OW L I NG G R E E N S T A T E U N I V E R S I T Y C OMP U T E R S C I E N C E
Letter s c i e n *
BCR 6 1 4 1 2 7
S C I E N C E 7 shifts
18. FIRST RULE: THE BAD CHARACTER RULE (BCR)
B OW L I NG G R E E N S T A T E U N I V E R S I T Y C OMP U T E R S C I E N C E
Letter s c i e n *
BCR 6 1 4 1 2 7
S C I E N C E 7 shifts
19. FIRST RULE: THE BAD CHARACTER RULE (BCR)
B OW L I NG G R E E N S T A T E U N I V E R S I T Y C OMP U T E R S C I E N C E
Letter s c i e n *
BCR 6 1 4 1 2 7
S C I E N C E 4 shifts
20. FIRST RULE: THE BAD CHARACTER RULE (BCR)
B OW L I NG G R E E N S T A T E U N I V E R S I T Y C OMP U T E R S C I E N C E
Letter s c i e n *
BCR 6 1 4 1 2 7
S C I E N C E 7 shifts
21. FIRST RULE: THE BAD CHARACTER RULE (BCR)
B OW L I NG G R E E N S T A T E U N I V E R S I T Y C OMP U T E R S C I E N C E
Letter s c i e n *
BCR 6 1 4 1 2 7
S C I E N C E 7 shifts
22. FIRST RULE: THE BAD CHARACTER RULE (BCR)
B OW L I NG G R E E N S T A T E U N I V E R S I T Y C OMP U T E R S C I E N C E
Letter s c i e n *
BCR 6 1 4 1 2 7
S C I E N C E1 shifts
23. FIRST RULE: THE BAD CHARACTER RULE (BCR)
B OW L I NG G R E E N S T A T E U N I V E R S I T Y C OMP U T E R S C I E N C E
Letter s c i e n *
BCR 6 1 4 1 2 7
S C I E N C E
24. FIRST RULE: THE BAD CHARACTER RULE (BCR)
B OW L I NG G R E E N S T A T E U N I V E R S I T Y C OMP U T E R S C I E N C E
Letter s c i e n *
BCR 6 1 4 1 2 7
S C I E N C E
25. BUILDING BCR TABLE
• Length – index – 1
• The BCR value can’t be less than 1
• If we have repeated letters we count the minimum BCR value, because it
should be the rightmost occurrence of the letter
• We use symbol “*” for any other letter that is not in the pattern and the BC
value is the length of the pattern, because we can skip the whole pattern
knowing that character “*” is not in the pattern.
26. BUILDING BCR TABLE • Length – index – 1
• Length = 7
index 0 1 2 3 4 5 6 7
pattern s c i e n c e *
BCR 6 5 4 3 2 1 0>>>1 7
•Length – index – 1
•7-0-1 =6
•The BCR value can’t be less than 1
•Why?
27. BUILDING BCR TABLE • Length – index – 1
• Length = 7
index 0 1 2 3 4 5 6 7
pattern s c i e n c e *
BCR 6 5 4 3 2 1 0>>>1 7
•Minimum BCR for repeated letters
Letter s c i e n *
BCR 6 1 4 1 2 7
28. SECOND RULE: GOOD SUFFIX RULE (GSR)
It used when we have some
successful matches
Reusing the already matched
string
32. PERFORMANCE
The Boyer–Moore is work faster
and better with longer pattern
with less repeated characters
Most of the time the BCR win
over the GSR
many implementation don’t use
the GSR at all
Algorithm Preprocessing time Matching time
Naïve 0 (no preprocessing) Θ((n−m)m)
Rabin–Karp Θ(m) average Θ(n + m),
worst
Θ((n−m)m)
Finite-state Θ(mk) Θ(n)
Knuth–Morris–Pratt Θ(m) Θ(n)
Boyer–Moore Θ(m + k) best Ω(n/m), worst O(n)
Bitap Θ(m + k) O(mn)
33. REFRENCES
[1] Robert S. Boyer and J. Strother Moore. 1977. A fast string searching
algorithm. Commun. ACM 20, 10 (October 1977), 762-772.
DOI=http://dx.doi.org/10.1145/359842.359859
[2] Wikipedia contributors, "Boyer–Moore string search algorithm," Wikipedia,
The Free Encyclopedia,
https://en.wikipedia.org/w/index.php?title=Boyer%E2%80%93Moore_string_sear
ch_algorithm&oldid=688111014 (accessed November 20, 2015).