The document discusses kernelization, which is a polynomial-time transformation that maps an instance of a parameterized problem to an equivalent instance whose size is bounded by a function of the parameter k. If a problem admits a kernelization algorithm, then it is fixed-parameter tractable. The document introduces kernelization and provides definitions. It also notes that every fixed-parameter tractable problem has a kernelization algorithm.
Artificial intelligence (AI) and machine learning (ML) are undergoing revolutionary changes that will affect wide swaths of our society. And the applications of this technology are increasingly diverse. Join us as we narrow in on how researchers in AL and ML are using AWS to identify and prevent financial market manipulation in a high-volume, high-velocity stock market. We also explore how to use natural language processing to aid emergency response organizations in real time during deadly disasters, such as during hurricanes and catastrophic wildfires.
As artificial intelligence (AI) continues to advance and become more integrated into our daily lives, it has become increasingly important to consider the ethical implications of this technology. AI has the potential to transform many industries and improve our lives in numerous ways, but it also raises important ethical questions.
In this presentation, the ethical concerns surrounding AI are explored and discussed, with a focus on the need for ethical guidelines to be developed for AI development and use. We will examine issues such as privacy, bias, transparency, accountability, and the impact on jobs and society as a whole.
Through this exploration, we will consider the various perspectives on these issues and weigh the benefits and drawbacks of different ethical approaches to AI. We will also examine some of the current efforts being made to address these concerns, including the development of ethical frameworks and best practices.
The most important goal of this presentation is to disseminate a deeper understanding of the ethical considerations surrounding AI and the need for ethical guidelines to ensure that this technology is developed and used in a way that benefits all of us while respecting our values and principles.
Artificial Intelligence Machine Learning Deep Learning Ppt Powerpoint Present...SlideTeam
Choose our Artificial Intelligence Machine Learning Deep Learning PPT PowerPoint Presentation Slide Templates to understand this popular branch of computer science. Acquaint your audience with the process of building smart, capable machines that can perform intelligent tasks with the help of this neural network PPT presentation. Exhibit the difference between AI, machine learning, and deep learning through this informative robotics PPT design. Elaborate on the wide range of areas that can benefit from artificial intelligence like supply chain, customer experience, human resources, fraud detection, research, and development by taking the aid of this computer science PPT slideshow. Highlight the booming rate of AI business and its future revenue forecast by downloading this thought-provoking and indulging information technology PowerPoint graphics. Save your time and efforts with these pre-ready and professionally crafted content-specific slides. It will educate your audience about this complex process in an easy yet efficient way. Download this AI functioning PowerPoint deck to create a roadmap for the growth and expansion of your business. https://bit.ly/3x135nD
Artificial intelligence (AI) and machine learning (ML) are undergoing revolutionary changes that will affect wide swaths of our society. And the applications of this technology are increasingly diverse. Join us as we narrow in on how researchers in AL and ML are using AWS to identify and prevent financial market manipulation in a high-volume, high-velocity stock market. We also explore how to use natural language processing to aid emergency response organizations in real time during deadly disasters, such as during hurricanes and catastrophic wildfires.
As artificial intelligence (AI) continues to advance and become more integrated into our daily lives, it has become increasingly important to consider the ethical implications of this technology. AI has the potential to transform many industries and improve our lives in numerous ways, but it also raises important ethical questions.
In this presentation, the ethical concerns surrounding AI are explored and discussed, with a focus on the need for ethical guidelines to be developed for AI development and use. We will examine issues such as privacy, bias, transparency, accountability, and the impact on jobs and society as a whole.
Through this exploration, we will consider the various perspectives on these issues and weigh the benefits and drawbacks of different ethical approaches to AI. We will also examine some of the current efforts being made to address these concerns, including the development of ethical frameworks and best practices.
The most important goal of this presentation is to disseminate a deeper understanding of the ethical considerations surrounding AI and the need for ethical guidelines to ensure that this technology is developed and used in a way that benefits all of us while respecting our values and principles.
Artificial Intelligence Machine Learning Deep Learning Ppt Powerpoint Present...SlideTeam
Choose our Artificial Intelligence Machine Learning Deep Learning PPT PowerPoint Presentation Slide Templates to understand this popular branch of computer science. Acquaint your audience with the process of building smart, capable machines that can perform intelligent tasks with the help of this neural network PPT presentation. Exhibit the difference between AI, machine learning, and deep learning through this informative robotics PPT design. Elaborate on the wide range of areas that can benefit from artificial intelligence like supply chain, customer experience, human resources, fraud detection, research, and development by taking the aid of this computer science PPT slideshow. Highlight the booming rate of AI business and its future revenue forecast by downloading this thought-provoking and indulging information technology PowerPoint graphics. Save your time and efforts with these pre-ready and professionally crafted content-specific slides. It will educate your audience about this complex process in an easy yet efficient way. Download this AI functioning PowerPoint deck to create a roadmap for the growth and expansion of your business. https://bit.ly/3x135nD
Artificial Intelligence (AI) Interview Questions and Answers | EdurekaEdureka!
(** Machine Learning Engineer Masters Program: https://www.edureka.co/masters-progra... **)
This PPT on Artificial Intelligence Interview Questions covers all the important concepts involved in the field of AI. This PPT is ideal for both beginners as well as professionals who want to learn or brush up their knowledge on AI concepts. Below are the topics covered in this tutorial:
1. Artificial Intelligence Basic Level Interview Question
2. Artificial Intelligence Intermediate Level Interview Question
3. Artificial Intelligence Scenario based Interview Question
Check out the entire Machine Learning Playlist: https://bit.ly/2NG9tK4
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Algorithmic Impact Assessment: Fairness, Robustness and Explainability in Aut...Adriano Soares Koshiyama
The workshop session focuses on the following topics:
Introduction to AI & Machine Learning (Algorithms)
Key Components of Algorithmic Impact Assessment
Algorithmic Explainability
Algorithmic Fairness
Algorithmic Robustness
Artificial Intelligence is increasingly playing an integral role in determining our day-to-day experiences. Moreover, with proliferation of AI based solutions in areas such as hiring, lending, criminal justice, healthcare, and education, the resulting personal and professional implications of AI are far-reaching. The dominant role played by AI models in these domains has led to a growing concern regarding potential bias in these models, and a demand for model transparency and interpretability. In addition, model explainability is a prerequisite for building trust and adoption of AI systems in high stakes domains requiring reliability and safety such as healthcare and automated transportation, as well as critical industrial applications with significant economic implications such as predictive maintenance, exploration of natural resources, and climate change modeling.
As a consequence, AI researchers and practitioners have focused their attention on explainable AI to help them better trust and understand models at scale. The challenges for the research community include (i) defining model explainability, (ii) formulating explainability tasks for understanding model behavior and developing solutions for these tasks, and finally (iii) designing measures for evaluating the performance of models in explainability tasks.
In this tutorial, we will first motivate the need for model interpretability and explainability in AI from societal, legal, customer/end-user, and model developer perspectives. [Note: Due to time constraints, we will not focus on techniques/tools for providing explainability as part of AI/ML systems.] Then, we will focus on the real-world application of explainability techniques in industry, wherein we present practical challenges / implications for using explainability techniques effectively and lessons learned from deploying explainable models for several web-scale machine learning and data mining applications. We will present case studies across different companies, spanning application domains such as search and recommendation systems, sales, lending, and fraud detection. Finally, based on our experiences in industry, we will identify open problems and research directions for the research community.
Generative AI: Responsible Path forward, a presentation conducted during DataHour webinar series by Analytics Vidhya and attended by more than a hundred data scientists and AI experts from around the world. The presentation address the importance of AI ethics and the development of responsible AI governance at tech firms to help mitigate AI risks and ethical issues.
A Theory of Knowledge Lecture given by Mark Steed, Director of JESS Dubai on Monday 4th March 2019
The lecture explains how AI works and then looks at some of the ethical implications
Slide for Arithmer Seminar given by Dr. Daisuke Sato (Arithmer) at Arithmer inc.
The topic is on "explainable AI".
"Arithmer Seminar" is weekly held, where professionals from within and outside our company give lectures on their respective expertise.
The slides are made by the lecturer from outside our company, and shared here with his/her permission.
Arithmer株式会社は東京大学大学院数理科学研究科発の数学の会社です。私達は現代数学を応用して、様々な分野のソリューションに、新しい高度AIシステムを導入しています。AIをいかに上手に使って仕事を効率化するか、そして人々の役に立つ結果を生み出すのか、それを考えるのが私たちの仕事です。
Arithmer began at the University of Tokyo Graduate School of Mathematical Sciences. Today, our research of modern mathematics and AI systems has the capability of providing solutions when dealing with tough complex issues. At Arithmer we believe it is our job to realize the functions of AI through improving work efficiency and producing more useful results for society.
A fast-paced introduction to Deep Learning concepts, such as activation functions, cost functions, back propagation, and then a quick dive into CNNs. Basic knowledge of vectors, matrices, and derivatives is helpful in order to derive the maximum benefit from this session.
Artificial Intelligence And Machine Learning PowerPoint Presentation Slides C...SlideTeam
Artificial Intelligence And Machine Learning PowerPoint Presentation Slides arrange insightful data using industry-best design practices. Highlight the differences between machine intelligence, machine learning, and deep learning through our PPT format. Utilize this PowerPoint slideshow to present advantages, disadvantages, learning techniques, and types of supervised machine learning. Further, cover the merits, demerits, and types of unsupervised machine learning. Communicate important details concerning reinforcement learning. Familiarize your viewers with the expert system in artificial intelligence. Outline examples, characteristics, constituents, uses, advantages, drawbacks, and other aspects of the expert system. Compile the deep learning process, recurrent neural networks, and convolutional neural networks through this PowerPoint theme. Present an impactful introduction to artificial intelligence. Introduce kinds, algorithms, trends, and use cases of artificial intelligence. This presentation is not only easy-to-follow but also very convenient to edit, even if you have no prior design experience. Smash the download button and start instant personalization. Our Artificial Intelligence And Machine Learning PowerPoint Presentation Slides Complete Deck are explicit and effective. They combine clarity and concise expression. https://bit.ly/3hKg7PV
Explainable AI: Building trustworthy AI models? Raheel Ahmad
Building trustworthy, transparent and unbiased machine learning models?
Get started with explainX that brings state-of-the-art explainability techniques under one roof accessible via one-line of code.
Learn the major modules within the explainX explainable AI and model interpretability framework.
These slides are taken from Raheel's presentation at the UnpackAI's forum on Data Ethics in AI.
Internet of Things(IoT) Applications | IoT Tutorial for Beginners | IoT Train...Edureka!
*** IoT Certification Training: https://www.edureka.co/iot-certificat... ***
This Edureka tutorial on "IoT Applications" takes you through the 6 domains which IoT has reinvented, namely,
1. IoT in Everyday LIfe
2. IoT in Healthcare
3. IoT in Smart Cities
4. IoT in Agriculture
5. IoT in Industrial Automation
6. IoT in Disaster Management
Know real-time examples of IoT applications in the most interesting use cases of today's world. Understand how they work and how can IoT be used to its complete potential.
Follow us to never miss an update in the future.
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
What really is Artificial Intelligence about? Harmony Kwawu
AI systems are growing. But what is AI, where did the idea behind it come from, what is intelligence, how does expert level intelligence work, and perhaps most importantly, would AI systems eventually make human beings redundant?
Artificial Intelligence (AI) Interview Questions and Answers | EdurekaEdureka!
(** Machine Learning Engineer Masters Program: https://www.edureka.co/masters-progra... **)
This PPT on Artificial Intelligence Interview Questions covers all the important concepts involved in the field of AI. This PPT is ideal for both beginners as well as professionals who want to learn or brush up their knowledge on AI concepts. Below are the topics covered in this tutorial:
1. Artificial Intelligence Basic Level Interview Question
2. Artificial Intelligence Intermediate Level Interview Question
3. Artificial Intelligence Scenario based Interview Question
Check out the entire Machine Learning Playlist: https://bit.ly/2NG9tK4
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Algorithmic Impact Assessment: Fairness, Robustness and Explainability in Aut...Adriano Soares Koshiyama
The workshop session focuses on the following topics:
Introduction to AI & Machine Learning (Algorithms)
Key Components of Algorithmic Impact Assessment
Algorithmic Explainability
Algorithmic Fairness
Algorithmic Robustness
Artificial Intelligence is increasingly playing an integral role in determining our day-to-day experiences. Moreover, with proliferation of AI based solutions in areas such as hiring, lending, criminal justice, healthcare, and education, the resulting personal and professional implications of AI are far-reaching. The dominant role played by AI models in these domains has led to a growing concern regarding potential bias in these models, and a demand for model transparency and interpretability. In addition, model explainability is a prerequisite for building trust and adoption of AI systems in high stakes domains requiring reliability and safety such as healthcare and automated transportation, as well as critical industrial applications with significant economic implications such as predictive maintenance, exploration of natural resources, and climate change modeling.
As a consequence, AI researchers and practitioners have focused their attention on explainable AI to help them better trust and understand models at scale. The challenges for the research community include (i) defining model explainability, (ii) formulating explainability tasks for understanding model behavior and developing solutions for these tasks, and finally (iii) designing measures for evaluating the performance of models in explainability tasks.
In this tutorial, we will first motivate the need for model interpretability and explainability in AI from societal, legal, customer/end-user, and model developer perspectives. [Note: Due to time constraints, we will not focus on techniques/tools for providing explainability as part of AI/ML systems.] Then, we will focus on the real-world application of explainability techniques in industry, wherein we present practical challenges / implications for using explainability techniques effectively and lessons learned from deploying explainable models for several web-scale machine learning and data mining applications. We will present case studies across different companies, spanning application domains such as search and recommendation systems, sales, lending, and fraud detection. Finally, based on our experiences in industry, we will identify open problems and research directions for the research community.
Generative AI: Responsible Path forward, a presentation conducted during DataHour webinar series by Analytics Vidhya and attended by more than a hundred data scientists and AI experts from around the world. The presentation address the importance of AI ethics and the development of responsible AI governance at tech firms to help mitigate AI risks and ethical issues.
A Theory of Knowledge Lecture given by Mark Steed, Director of JESS Dubai on Monday 4th March 2019
The lecture explains how AI works and then looks at some of the ethical implications
Slide for Arithmer Seminar given by Dr. Daisuke Sato (Arithmer) at Arithmer inc.
The topic is on "explainable AI".
"Arithmer Seminar" is weekly held, where professionals from within and outside our company give lectures on their respective expertise.
The slides are made by the lecturer from outside our company, and shared here with his/her permission.
Arithmer株式会社は東京大学大学院数理科学研究科発の数学の会社です。私達は現代数学を応用して、様々な分野のソリューションに、新しい高度AIシステムを導入しています。AIをいかに上手に使って仕事を効率化するか、そして人々の役に立つ結果を生み出すのか、それを考えるのが私たちの仕事です。
Arithmer began at the University of Tokyo Graduate School of Mathematical Sciences. Today, our research of modern mathematics and AI systems has the capability of providing solutions when dealing with tough complex issues. At Arithmer we believe it is our job to realize the functions of AI through improving work efficiency and producing more useful results for society.
A fast-paced introduction to Deep Learning concepts, such as activation functions, cost functions, back propagation, and then a quick dive into CNNs. Basic knowledge of vectors, matrices, and derivatives is helpful in order to derive the maximum benefit from this session.
Artificial Intelligence And Machine Learning PowerPoint Presentation Slides C...SlideTeam
Artificial Intelligence And Machine Learning PowerPoint Presentation Slides arrange insightful data using industry-best design practices. Highlight the differences between machine intelligence, machine learning, and deep learning through our PPT format. Utilize this PowerPoint slideshow to present advantages, disadvantages, learning techniques, and types of supervised machine learning. Further, cover the merits, demerits, and types of unsupervised machine learning. Communicate important details concerning reinforcement learning. Familiarize your viewers with the expert system in artificial intelligence. Outline examples, characteristics, constituents, uses, advantages, drawbacks, and other aspects of the expert system. Compile the deep learning process, recurrent neural networks, and convolutional neural networks through this PowerPoint theme. Present an impactful introduction to artificial intelligence. Introduce kinds, algorithms, trends, and use cases of artificial intelligence. This presentation is not only easy-to-follow but also very convenient to edit, even if you have no prior design experience. Smash the download button and start instant personalization. Our Artificial Intelligence And Machine Learning PowerPoint Presentation Slides Complete Deck are explicit and effective. They combine clarity and concise expression. https://bit.ly/3hKg7PV
Explainable AI: Building trustworthy AI models? Raheel Ahmad
Building trustworthy, transparent and unbiased machine learning models?
Get started with explainX that brings state-of-the-art explainability techniques under one roof accessible via one-line of code.
Learn the major modules within the explainX explainable AI and model interpretability framework.
These slides are taken from Raheel's presentation at the UnpackAI's forum on Data Ethics in AI.
Internet of Things(IoT) Applications | IoT Tutorial for Beginners | IoT Train...Edureka!
*** IoT Certification Training: https://www.edureka.co/iot-certificat... ***
This Edureka tutorial on "IoT Applications" takes you through the 6 domains which IoT has reinvented, namely,
1. IoT in Everyday LIfe
2. IoT in Healthcare
3. IoT in Smart Cities
4. IoT in Agriculture
5. IoT in Industrial Automation
6. IoT in Disaster Management
Know real-time examples of IoT applications in the most interesting use cases of today's world. Understand how they work and how can IoT be used to its complete potential.
Follow us to never miss an update in the future.
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
What really is Artificial Intelligence about? Harmony Kwawu
AI systems are growing. But what is AI, where did the idea behind it come from, what is intelligence, how does expert level intelligence work, and perhaps most importantly, would AI systems eventually make human beings redundant?
Kernelization algorithms for graph and other structure modification problemsAnthony Perez
Thesis defense on November 14th, 2011, in Montpellier.
Jury:
Stéphane Bessy, Bruno Durand, Frédéric Havet, Rolf Niedermeier, Christophe Paul & Ioan Todinca.
Mit203 analysis and design of algorithmssmumbahelp
Dear students get fully solved assignments
Send your semester & Specialization name to our mail id :
help.mbaassignments@gmail.com
or
call us at : 08263069601
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
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/
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
1. IN
OM
.F
O RV
D
FE
Parameterized Algorithms I
PART I
St. Petersburg, 2011
2. Classical complexity
A brief review:
We usually aim for polynomial-time algorithms: the running
time is O(nc ), where n is the input size.
Classical polynomial-time algorithms: shortest path,
mathching, minimum spanning tree, 2SAT, convext hull,
planar drawing, linear programming, etc.
It is unlikely that polynomial-time algorithms exist for
NP-hard problems.
3. Classical complexity
Unfortunately, many problems of interest are NP-hard:
Hamiltonian cycle, 3-coloring, 3SAT, etc.
We expect that these problems can be solved only in
exponential time (i.e., cn ).
Can we say anything nontrivial about NP-hard problems?
4. Parameterized complexity
Main idea: Instead of expressing the running time as a function
T (n) of n, we express it as a function T (n, k) of the input size n
and some parameter k of the input.
In other words: we do not want to be efficient on all inputs of size
n, only for those where k is small.
5. Parameterized complexity
What can be the parameter k?
The size k of the solution we are looking for.
The maximum degree of the input graph.
The diameter of the input graph.
The length of clauses in the input Boolean formula.
...
6. Parameterized complexity
Problem: Min Vertex Cover Max Independent Set
Input: Graph G, integer k Graph G, integer k
Question: Is it possible to cover Is it possible to find
the edges with k vertices? k independent vertices?
7. Parameterized complexity
Problem: Min Vertex Cover Max Independent Set
Input: Graph G, integer k Graph G, integer k
Question: Is it possible to cover Is it possible to find
the edges with k vertices? k independent vertices?
Complexity: NP-complete NP-complete
8. Parameterized complexity
Problem: Min Vertex Cover Max Independent Set
Input: Graph G, integer k Graph G, integer k
Question: Is it possible to cover Is it possible to find
the edges with k vertices? k independent vertices?
Complexity: NP-complete NP-complete
Complete O(nk ) possibilities O(nk ) possibilities
enumeration: O(2k n2 ) algorithm exists No no(k) algorithm known
9. Bounded search tree method
Bounded search tree method
Algorithm for M INIMUM V ERTEX C OVER :
Algorithm for Minimum Vertex Cover:
e1 = x1 y1
x1 y1
e2 = x2 y2
x2 y2
height: k
k
Height of of the search tree k ⇒ number of leavesof leaves is ≤ 2k ⇒
Height the search tree is is ≤ k ⇒ number is 2 ⇒ complete search
requires 2k ·search requires
complete poly steps. 2k · poly steps.
Fixed Parameter Algorithms – p.5/98
10. Exercise
Problem: Minimum Dominating Set
Input: Graph G, integer k
Question: Is it possible to cover
all vertices with k vertices?
11. Exercise
Problem: Minimum Dominating Set
Input: Graph G, integer k
Question: Is it possible to cover
all vertices with k vertices?
12. Fixed-parameter tractability
Definition: A parameterization of a decision problem is a function
that assigns an integer parameter k to each input instance x.
The parameter can be
explicit in the input (for example, if the parameter is the
integer k appearing in the input (G, k) of Vertex Cover),
or
implicit in the input (for example, if the parameter is the
diameter d of the input graph G).
13. Fixed-parameter tractability
Definition: A parameterization of a decision problem is a function
that assigns an integer parameter k to each input instance x.
The parameter can be
explicit in the input (for example, if the parameter is the
integer k appearing in the input (G, k) of Vertex Cover),
or
implicit in the input (for example, if the parameter is the
diameter d of the input graph G).
Main definition:
A parameterized problem is fixed-parameter tractable
(FPT) if there is an f (k)nc time algorithm for some constant
c.
14. Fixed-parameter tractability
Example: Minimum Vertex Cover parameterized by the
required size k is FPT: we have seen that it can be solved in time
O(2k + n2 ).
Better algorithms are known: e.g, O(1.2832k k + k|V |).
Main goal of parameterized complexity: to find FPT problems.
15. FPT problems
Examples of NP-hard problems that are FPT:
Finding a vertex cover of size k.
Finding a path of length k.
Finding k disjoint triangles.
Drawing the graph in the plane with k edge crossings.
Finding disjoint paths that connect k pairs of points.
...
16. FPT algorithmic techniques
FPT algorithmic techniques
Significant advances in the past 20 years or so (especially in
Significantyears). in the past 20 years or so (especially in recent years).
recent advances
Powerful toolbox for designing FPT algorithms:
Powerful toolbox for designing FPT algorithms:
Bounded Search Tree
Kernelization
Color coding
Graph Minors Theorem
Treewidth Iterative compression
Fixed Parameter Algorithms – p.8/98
18. Goals of the course
Demonstrate techniques that were successfully used in the
analysis of parameterized problems.
Determine quickly if a problem is FPT.
Design fast algorithms (improve the function f (k)).
19. Notes
This course and slides are based on
D´niel Marx’s lectures on parameterized
a
complexity
http://www.cs.bme.hu/~dmarx/
20. What is missing but worth to discuss
Complexity:
W-hierarchy, reductions,
Exponential Time Hypothesis and lower bounds for FPT
algorithms
ETH and parameterized complexity
Polynomial Time Hierarchy and lower bounds on the sizes of
kernels
Algorithms:
Integer programming
Meta theorems: First Order Logic, Finite Integer Index
Multi-cut algorithms and Directed FVS
21. Notes
Warning: The results presented for particular problems are
not necessarily the best known results or the most useful
approaches for these problems.
Conventions:
Unless noted otherwise, k is the parameter.
O∗ notation: O∗ (f (k)) means O(f (k) · nc ) for some constant
c.
Citations are mostly omitted (only for classical results).
We gloss over the difference between decision and search
problems.
22. Kernelization
FPT algorithmic techniques
Significant advances in the past 20 years or so (especially in recent years).
Powerful toolbox for designing FPT algorithms:
Bounded Search Tree
Kernelization
Color coding
Graph Minors Theorem
Treewidth Iterative compression
Fixed Parameter Algorithms – p.8/98
23. N
TIO
L IZA
RNE
KE
Introduction and definition
Part I: Crown Decomposition
Part II: Sunflower Lemma
24. Kernelization
Definition: Kernelization is a polynomial-time transformation that
maps an instance (I, k) to an instance (I , k ) such that
(I, k) is a yes-instance if and only if (I , k ) is a yes-instance,
k ≤ k, and
|I | ≤ f (k) for some function f (k).
25. Kernelization
Definition: Kernelization is a polynomial-time transformation that
maps an instance (I, k) to an instance (I , k ) such that
(I, k) is a yes-instance if and only if (I , k ) is a yes-instance,
k ≤ k, and
|I | ≤ f (k) for some function f (k).
Simple fact: If a problem has a kernelization algorithm, then it is
FPT.
Proof: Solve the instance (I , k ) by brute force.
26. Kernelization
Definition: Kernelization is a polynomial-time transformation that
maps an instance (I, k) to an instance (I , k ) such that
(I, k) is a yes-instance if and only if (I , k ) is a yes-instance,
k ≤ k, and
|I | ≤ f (k) for some function f (k).
Simple fact: If a problem has a kernelization algorithm, then it is
FPT.
Proof: Solve the instance (I , k ) by brute force.
Converse: Every FPT problem has a kernelization algorithm.
Proof: Suppose there is an f (k)nc algorithm for the problem.
If f (k) ≤ n, then solve the instance in time f (k)nc ≤ nc+1 ,
and output a trivial yes- or no-instance.
If n < f (k), then we are done: a kernel of size f (k) is
obtained.
27. Kernelization for Vertex Cover
General strategy: We devise a list of reduction rules, and show
that if none of the rules can be applied and the size of the instance
is still larger than f (k), then the answer is trivial.
Reduction rules for Vertex Cover instance (G, k):
Rule 1: If v is an isolated vertex ⇒ (G v, k)
Rule 2: If d(v) > k ⇒ (G v, k − 1)
28. Kernelization for Vertex Cover
General strategy: We devise a list of reduction rules, and show
that if none of the rules can be applied and the size of the instance
is still larger than f (k), then the answer is trivial.
Reduction rules for Vertex Cover instance (G, k):
Rule 1: If v is an isolated vertex ⇒ (G v, k)
Rule 2: If d(v) > k ⇒ (G v, k − 1)
If neither Rule 1 nor Rule 2 can be applied:
If |V (G)| > k(k + 1) ⇒ There is no solution (every vertex
should be the neighbor of at least one vertex of the cover).
Otherwise, |V (G)| ≤ k(k + 1) and we have a k(k + 1) vertex
kernel.
29. Kernelization for Vertex Cover
Let us add a third rule:
Rule 1: If v is an isolated vertex ⇒ (G v, k)
Rule 2: If d(v) > k ⇒ (G v, k − 1)
Rule 3: If d(v) = 1, then we can assume that its neighbor u is
in the
solution ⇒ (G (u ∪ v), k − 1).
If none of the rules can be applied, then every vertex has degree at
least 2.
⇒ |V (G)| ≤ |E(G)|
If |E(G)| > k 2 ⇒ There is no solution (each vertex of the
solution can cover at most k edges).
Otherwise, |V (G)| ≤ |E(G)| ≤ k 2 and we have a k 2 vertex
kernel.
30. Kernelization for Vertex for V ERTEX C OVER
Kernelization Cover
Let us add a fourth rule:
urth rule:
Rule 4a: If v has degree 2, and its neighbors u1 and u2 are
v has degree 2, and its neighbors u1 that u21 , u2 adjacent, then we ⇒
adjacent, then we can assume and u are are in the solution
n assumethat1 , u, uv}, k − 2). solution ⇒ (G {u1 , u2 , v }, k − 2).
(G {u u1 2 , 2 are in the
u1
v
u2
G
31. Kernelization for Vertex Cover
Kernelization for V ERTEX C OVER
s add a fourth rule:
Rule 4b: If v has degree 2, then G is obtained by identifying
ule 4b: If v has degree 2, then G is obtained by identifying
the two neighbors of v and deleting v ⇒ (G , k − 1).
the two neighbors of v and deleting v ⇒ (G , k − 1).
u1
v ⇒ u
u2
G G
Fixed Parameter Algorithms – p.16/98
32. Kernelization for V ERTEX C OVER
Kernelization for Vertex Cover
s add a fourth rule:
Rule 4b: If v has degree 2, then G is obtained by identifying
ule 4b: If v has degree 2, then G is obtained by identifying
the two neighbors of v and deleting v ⇒ (G , k − 1).
the two neighbors of v and deleting v ⇒ (G , k − 1).
u1
v ⇒ u
u2
G G
Correctness:
Let S be a vertex cover of size k − 1 for G .
If u ∈ S ⇒ (S u) ∪ {u1 , u2 } is a vertex cover of size k for G.
Fixed Parameter Algorithms – p.16/98
If u ∈ S ⇒ S ∪ v is a vertex cover of size k for G.
33. Kernelization for Vertex Cover
s add a fourth rule:
Rule 4b: If v has degree 2, then G is obtained by identifying
ule 4b: If v has degree 2, then G is obtained by identifying
the two neighborsand deleting v ⇒ (G , k v 1). (G , k − 1).
the two neighbors of v
of v and deleting − ⇒
u1
v ⇒ u
u2
G G
Correctness:
Let S be a vertex cover of size k for G.
If u1 , u2 ∈ S ⇒ (S {u1 , u2 , v}) ∪ u is a vertex cover of size
k − 1 for G . Fixed Parameter Algorithms – p.16/98
If exactly one of u1 and u2 is in S, then v ∈ S ⇒
(S {u1 , u2 , v}) ∪ u is a vertex cover of size k − 1 for G .
If u1 , u2 ∈ S, then v ∈ S ⇒ (S v) is a vertex cover of size
k − 1 for G .
34. Kernelization for V ERTEX C OVER
Kernelization for Vertex Cover
s add a fourth rule:
Rule 4b: If v has degree 2, then G is obtained by identifying
ule 4b: If v has degree 2, then G is obtained by identifying
the two neighborsand deleting v ⇒ (G , k v 1). (G , k − 1).
the two neighbors of v
of v and deleting − ⇒
u1
v ⇒ u
u2
G G
Kernel size:
If |E(G)| > k 2 ⇒ There is no solution (each vertex of the
solution can cover at most k edges).
Otherwise, |V (G)| ≤ 2|E(G)|/3 ≤ 2 k 2 and we have a 2 k 2
3
Fixed Parameter Algorithms – p.16/98
3
vertex kernel.
35. Covering Points with Lines
Task: Given a set P of n points in the plane and an integer k, find
k lines that cover all the points.
36. Covering Points with Lines
Task: Given a set P of n points in the plane and an integer k, find
k lines that cover all the points.
Note: We can assume that every line of the solution covers at
least 2 points, thus there are at most n2 candidate lines.
37. Covering Points with Lines
Task: Given a set P of n points in the plane and an integer k, find
k lines that cover all the points.
Note: We can assume that every line of the solution covers at
least 2 points, thus there are at most n2 candidate lines.
Reduction Rule:
If a candidate line covers a set S of more than k points ⇒
(P S, k − 1).
If this rule cannot be applied and there are still more than k 2
points, then there is no solution ⇒ Kernel with at most k 2 points.
38. Kernelization
Kernelization can be thought of as a polynomial-time
preprocessing before attacking the problem with whatever
method we have. “It does no harm” to try kernelization.
Some kernelizations use lots of simple reduction rules and
require a complicated analysis to bound the kernel size. . .
. . . while other kernelizations are based on surprising nice
tricks (Next: Crown Reduction and the Sunflower Lemma).
Possibility to prove lower bounds.
40. Crown Reduction
Definition: A crown decomposition is a partition C ∪ H ∪ B of
the vertices such that
C
C is an independent set,
there is no edge between C and H
B,
B
there is a matching between C
and H that covers H.
41. Crown Reduction
Definition: A crown decomposition is a partition C ∪ H ∪ B of
the vertices such that
C
C is an independent set,
there is no edge between C and H
B,
B
there is a matching between C
and H that covers H.
Crown rule for Vertex Cover:
The matching needs to be covered and we can assume that it is
covered by H (makes no sense to use vertices of C)
42. Crown Reduction
Definition: A crown decomposition is a partition C ∪ H ∪ B of
the vertices such that
C
C is an independent set,
there is no edge between C and H
B,
B
there is a matching between C
and H that covers H.
Crown rule for Vertex Cover:
The matching needs to be covered and we can assume that it is
covered by H (makes no sense to use vertices of C)
⇒ (G (H ∪ C), k − |H|).
43. Crown Reduction
Key lemma:
Lemma: Given a graph G without isolated vertices and an integer
k, in polynomial time we can either
find a matching of size k + 1, ⇒ No solution!
44. Crown Reduction
Key lemma:
Lemma: Given a graph G without isolated vertices and an integer
k, in polynomial time we can either
find a matching of size k + 1, ⇒ No solution!
find a crown decomposition, ⇒ Reduce!
45. Crown Reduction
Key lemma:
Lemma: Given a graph G without isolated vertices and an integer
k, in polynomial time we can either
find a matching of size k + 1, ⇒ No solution!
find a crown decomposition, ⇒ Reduce!
or conclude that the graph has at most 3k vertices.
46. Crown Reduction
Key lemma:
Lemma: Given a graph G without isolated vertices and an integer
k, in polynomial time we can either
find a matching of size k + 1, ⇒ No solution!
find a crown decomposition, ⇒ Reduce!
or conclude that the graph has at most 3k vertices.
⇒ 3k vertex kernel!
47. Crown Reduction
Key lemma:
Lemma: Given a graph G without isolated vertices and an integer
k, in polynomial time we can either
find a matching of size k + 1, ⇒ No solution!
find a crown decomposition, ⇒ Reduce!
or conclude that the graph has at most 3k vertices.
⇒ 3k vertex kernel!
This gives a 3k vertex kernel for Vertex Cover.
48. Proof
Lemma: Given a graph G without isolated vertices and an integer k, in polynomial time
we can either
find a matching of size k + 1,
find a crown decomposition,
or conclude that the graph has at most 3k vertices.
For the proof, we need the classical K˝nig’s Theorem.
o
τ (G) : size of the minimum vertex cover
ν(G) : size of the maximum matching (independent set of
edges)
Theorem: [K˝nig, 1931] If G is bipartite, then
o
τ (G) = ν(G)
49. Proof
Proof
Lemma: Given a graph G without isolated vertices and an integer k, in polynomial time
we can either
find a matching of size k + 1,
Lemma: Given a graph G without isolated vertices and an integer k , in polynomial
find a crown decomposition,
time we can either
or conclude that the graph has at most 3k vertices.
find a matching of size k + 1,
find a crown decomposition,
or conclude that the graph has at most 3k vertices.
Proof:
Find (greedily) a (greedily) a matching; if
Proof: Find maximal maximal matching; if its
its size is atat least k + 11,then wewe are The rest
size is least + , then are done. X I
done. of the graph of an independent set I .
The rest is the graph is an
independent set I.
Fixed Parameter Algorithms – p.23/98
50. Proof Proof
Lemma: Given a graph G without isolated vertices and an integer k, in polynomial time
we can either
find a matching of size k + 1,
Lemma: Given a graph G without isolated vertices and an integer k , in polynomial
find a crown can either
time we decomposition,
or conclude that the graph has at most 3k vertices.
find a matching of size k + 1,
find a crown decomposition,
or conclude that the graph has at most 3k vertices.
Proof:
Find (greedily) a maximal matching; if if its
Proof: Find (greedily) a maximal matching;
its size isis at least+k1+thenthen we are The rest
size at least k , 1, we are done.
I
done. The restan independent set an
of the graph is of the graph is I .
independent set I.
Find a maximum matching/minimum vertex cover in X
the bipartite graph between X and I .
Find a maximum matching/minimum
vertex cover in the bipartite graph
between X and I.
Fixed Parameter Algorithms – p.23/98
51. Proof
Proof
Lemma: Given a graph G without isolated vertices and an integer k, in polynomial time
we can either
find a matching of size k + 1,
find a crown decomposition, G without isolated vertices and an integer k , in polynomial
Lemma: Given a graph
time we can either
or conclude that the graph has at most 3k vertices.
find a matching of size k + 1,
find a crown decomposition,
Proof: or conclude that the graph has at most 3k vertices.
CaseProof: minimum vertex cover
1: The
contains at The minimumvertexcover contains at least
Case 1: least one vertex of X
I C
⇒ There is a of X
one vertex crown decomposition.
⇒ There is a crown decomposition.
X H
Fixed Parameter Algorithms – p.23/98
52. Proof Proof
Lemma: Given a graph G without isolated vertices and an integer k, in polynomial time
we can either
find a matching of size k + 1,
Lemma: Given a graph G without isolated vertices and an integer k , in polynomial
find a crown decomposition,
time we can either
or conclude that the graph has at most 3k vertices.
find a matching of size k + 1,
find a crown decomposition,
or conclude that the graph has at most 3k vertices.
Proof:
Case 1: The minimum vertex cover
Proof:
contains1: The minimum vertexcoverX
Case at least one vertex of contains at least
I
⇒ There is a crown decomposition.
one vertex of X
⇒ There is a crown decomposition.
Case 2: The minimum vertex cover X
contains 2: Thevertices of I ⇒cover contains
Case only minimum vertex It only
vertices of I ⇒ It contains every vertex of I
contains every vertex of I
⇒ There are at most 2k k k vertices.
⇒ There are at most 2k + +vertices.
Fixed Parameter Algorithms – p.23/98
53. Dual of Vertex Coloring OF V ERTEX C OLORING
D UAL
Parameteric dual of k-Coloring. Also known as Saving k
Colors.
Parameteric dual of k -C OLORING. Also known as S AVING k C OLORS.
Task: Given a graph G and an integer k, find a vertex coloring
Task: Given a graph G and an integer k , find a vertex coloring with |V (G )| − k
with |V (G)| − k colors.
colors.
Crown rule for Dual of Vertex Coloring:
Crown rule for D UAL OF V ERTEX C OLORING:
Suppose there is a crown decomposition for the complement
Suppose there is a crown decomposition for the complement graph G .
graph G.
C isC clique in G : each vertex needs a distinct
a is a clique in G: each vertex
C
needs
color. a distinct color.
Because of the matching, it is
Because of the matching, it is possible to color H
possible to color H using only these
H using only these |C | colors.
|C| colors.
These colors cannot be used for B . B
These colors cannot be used for B.
(G (H ∪ C ), k − |H|)
(G (H ∪ C), k − |H|)
Fixed Parameter Algorithms – p.24/98
54. Dual of Vertex Coloring OF V ERTEX C OLORING
D UAL
Parameteric dual of k-Coloring. Also known as Saving k
Colors.
Parameteric dual of k -C OLORING. Also known as S AVING k C OLORS.
Task: Given a graph G and an integer k, find a vertex coloring
Task: Given a graph G and an integer k , find a vertex coloring with |V (G )| − k
with |V (G)| − k colors.
colors.
Crown rule for Dual of Vertex Coloring:
Crown rule for D UAL OF V ERTEX C OLORING:
Suppose there is a crown decomposition for the complement
Suppose there is a crown decomposition for the complement graph G .
graph G.
C isC clique in G : each vertex needs a distinct
a is a clique in G: each vertex
needs a distinct color. C
color.
Because of the matching, it is
Because of the matching, it is possible to color H
possible to color H using only these
H using only these |C | colors.
|C| colors.
These colors cannot be used for B . B
These colors cannot be used for B.
(G (H ∪ C ), k − |H|)
(G (H ∪ C), k − |H|)
Fixed Parameter Algorithms – p.24/98
55. Dual of Vertex Coloring OF V ERTEX C OLORING
D UAL
Parameteric dual of k-Coloring. Also known as Saving k
Colors.
Parameteric dual of k -C OLORING. Also known as S AVING k C OLORS.
Task: Given a graph G and an integer k, find a vertex coloring
with |V (G)| − k G and an
Task: Given a graph colors. integer k , find a vertex coloring with |V (G )| − k
colors.
Crown rule for Dual of Vertex Coloring:
Crown rule for D UAL OF V ERTEX C OLORING:
Suppose there is a crown decomposition for the complement
Suppose G. is a crown decomposition for the complement graph G .
graph there
C is a clique in G: each vertex
C is a clique in G : each vertex needs a distinct
needs a distinct color. C
color.
Because of the matching, it is
Because of the matching, it is possible to color H
H using onlyto color| H using only these
possible these |C colors.
|C| colors.
These colors cannot be used for B . B
These colors cannot be used for B.
(G (H ∪ C ), k − |H|)
(G (H ∪ C), k − |H|)
Fixed Parameter Algorithms – p.24/98
56. Crown Reduction for Dual of Vertex Coloring
Use the key lemma for the complement G of G:
Lemma: Given a graph G without isolated vertices and an integer
k, in polynomial time we can either
find a matching of size k + 1, ⇒ YES: we can save k colors!
find a crown decomposition, ⇒ Reduce!
or conclude that the graph has at most 3k vertices.
⇒ 3k vertex kernel!
This gives a 3k vertex kernel for Dual of Vertex Coloring.
58. Sunflower lemma
Sunflower lemma
Definition: Sets S1 , S2 , . . . , Sk form a sunflower if the sets
Si Definition:S2 ∩S·1 ,· S2∩... , k ) form a sunflower if the sets
(S1 ∩ Sets · , S Sk are disjoint.
Si (S1 ∩ S2 ∩ · · · ∩ Sk ) are disjoint.
petals
center
˝
Lemma: [Erdos and Rado, 1960] If the size of a set system is greater than
(p − 1)d · d! and it contains only sets of size at most d , then the system contains a
Lemma: [Erd˝petals. Furthermore, in thisIf the size sunflower can be foundis
sunflower with p
os and Rado, 1960] case such a of a set system in
greater than (p − 1)d · d! and it contains only sets of size at most d,
polynomial time.
then the system contains a sunflower with p petals. Furthermore,
in this case such a sunflower can be found in polynomial time. Fixed Parameter Algorithms – p.27/98
59. Sunflowers and d-Hitting Set
d-Hitting Set: Given a collection S of sets of size at most d Sunflower lemma
and an integer k, find a set S of k elements that intersects every
set of S. Definition: Sets S , S , ... , S form a sunflower if the sets
1 2 k
Si (S1 ∩ S2 ∩ · · · ∩ Sk ) are disjoint.
petals
center
˝
Lemma: [Erdos and Rado, 1960] If the size of a set system is greater than
(p − 1)d · d! and it contains only sets of size at most d , then the system contains a
Reduction Rule: p petals. Furthermore, inform a sunflower, be found in
sunflower with If k + 1 sets this case such a sunflower can then remove
these sets polynomialS and add the center C to S (S does not hit one
from time.
of the petals, thus it has to hit the center). Fixed Parameter Algorithms – p.27/98
Note: if the center is empty (the sets are disjoint), then there is no
solution.
If the rule cannot be applied, then there are at most O(k d ) sets.
60. Sunflowers and d-Hitting Set
d-Hitting Set: Given a collection S of sets of size at most d Sunflower lemma
and an integer k, find a set S of k elements that intersects every
set of S. Definition: Sets S , S , ... , S form a sunflower if the sets
1 2 k
Si (S1 ∩ S2 ∩ · · · ∩ Sk ) are disjoint.
petals
center
˝
Lemma: [Erdos and Rado, 1960] If the size of a set system is greater than
(p − 1)d · d! and it contains only sets of size at most d , then the system contains a
Reduction Rule (variant): Suppose such a sunflower cank + 1insets form a
sunflower with p petals. Furthermore, in this case more than be found
sunflower. polynomial time.
If the sets are disjoint ⇒ No solution. Fixed Parameter Algorithms – p.27/98
Otherwise, keep only k + 1 of the sets.
If the rule cannot be applied, then there are at most O(k d ) sets.
61. Branching and bounded search trees
FPT algorithmic techniques
Significant advances in the past 20 years or so (especially in recent years).
Powerful toolbox for designing FPT algorithms:
Bounded Search Tree
Kernelization
Color coding
Graph Minors Theorem
Treewidth Iterative compression
Fixed Parameter Algorithms – p.8/98
62. EE
H TR
ARC
SE
Part I: Branching Vectors
Part II: Forbidden Subgraphs
Part III: Hereditary Properties
63. Bounded search tree method
Bounded search tree method
Algorithm for M INIMUM V ERTEX C OVER :
Recall how we solved Minimum Vertex Cover:
e1 = x1 y1
x1 y1
e2 = x2 y2
x2 y2
height: k
Height of the search tree is k ⇒ number of leaves is 2k ⇒ complete search
requires 2k · poly steps.
Fixed Parameter Algorithms – p.5/98
64. Bounded search tree method
We solve the problem by one or more branching rules.
Each rule makes a “guess” in such a way that at least one guess
will lead to a correct solution.
If we have branching rules such that
each rule branches into at most b(k) directions, and
applying a rule decreases the parameter,
then the problem can be solved in time O∗ (b(k)k ).
In many cases, this crude upper bound can be improved by better
analysis.
65. Vertex Cover
Improved algorithm for Vertex Cover.
If every vertex has degree ≤ 2, then the problem can be
solved in polynomial time.
Branching rule: If there is a vertex v with at least 3
neighbors, then
either v is in the solution,
or every neighbor of v is in the solution.
Crude upper bound: O∗ (2k ), since the branching rule decreases the
parameter.
66. Vertex Cover
Improved algorithm for Vertex Cover.
If every vertex has degree ≤ 2, then the problem can be
solved in polynomial time.
Branching rule: If there is a vertex v with at least 3
neighbors, then
either v is in the solution, ⇒ k decreases by 1
or every neighbor of v is in the solution. ⇒ k decreases by at
least 3
Crude upper bound: O∗ (2k ), since the branching rule decreases the
parameter.
But it is somewhat better than that, since in the second branch,
the parameter decreases by at least 3.
67. Better analysis
Let t(k) be the maximum number of leaves of the search tree if
the parameter is at most k (let t(k) = 1 for k ≤ 0).
t(k) ≤ t(k − 1) + t(k − 3)
There is a standard technique for bounding such functions
asymptotically.
We prove by induction that t(k) ≤ ck for some c > 1 as small as
possible.
What values of c are good? We need:
ck ≥ck−1 + ck−3
c3 − c2 − 1 ≥ 0
We need to find the roots of the characteristic equation
c3 − c2 − 1 = 0.
Note: it is always true that such an equation has a unique positive
root.
68. Better analysis Better analysis
3
x3 − x2 − 1
2
1
0
1.4656
-1
-2
-3
-1 -0.5 0 0.5 1 1.5 2
c = 1.4656 is a good value ⇒ t(k) 1.4656k
c= ⇒ We haveis O ∗good kvalue ⇒ for V ERTEX1.4656k
1.4656 a a (1.4656 ) algorithm t(k) ≤ C OVER.
⇒ We have a O∗ (1.4656k ) algorithm for Vertex Cover. Fixed Parameter Algorithms – p.34/98
69. Better analysis
We showed that if t(k) ≤ t(k − 1) + t(k − 3), then t(k) ≤ 1.4656k
holds.
Is this bound tight? There are two questions:
Can the function t(k) be that large?
Yes (ignoring rounding problems).
Can the search tree of the Vertex Cover algorithm be that
large?
Difficult question, hard to answer in general.
70. Branching vectors
The branching vector of our O∗ (1.4656k ) Vertex Cover
algoritm was (1, 3).
Example: Let us bound the search tree for the branching vector
(2, 5, 6, 6, 7, 7).
(2 out of the 6 branches decrease the parameter by 7, etc.).
The value c > 1 has to satisfy:
ck ≥ ck−2 + ck−5 + 2ck−6 + 2ck−7
c7 − c5 − c2 − 2c − 2 ≥ 0
Unique positive root of the characteristic equation: 1.4483 ⇒
t(k) ≤ 1.4483k .
It is hard to compare branching vectors intuitively.
73. Forbidden subgraphs
General problem class: Given a graph G and an integer k,
transform G with at most k modifications (add/remove
vertices/edges) into a graph having property P.
Example:
Triangle deletion: make the graph triangle-free by deleting at
most k vertices.
Branching algorithm:
If the graph is triangle-free, then we are done.
Branching rule: If there is a triangle v1 v2 v3 , then at least one
of v1 , v2 , v3 has to be deleted ⇒ We branch into 3 directions.
74. Triangle deletion
T RIANGLE DELETION
Search tree:
Search tree:
T
v1 v2 v3
height k +1
The search tree has at most 3k leaves and the work to be done is polynomial at
each step ⇒ O ∗treetime algorithm.
The search (3k ) has at most 3k leaves and the work to be done is
∗ k
Note: If the answer each step ⇒ O (3 tree has exactly 3k leaves.
polynomial at is “NO”, then the search ) time algorithm.
Note: If the answer is “NO”, then the search tree has exactly 3k
leaves.
Fixed Parameter Algorithms – p.40/98
75. Hereditary properties
Definition: A graph property P is hereditary if for every G ∈ P
and induced subgraph G of G, we have G ∈ P as well.
Examples: triangle-free, bipartite, interval graph, planar
Observation: Every hereditary property P can be characterized by
a (finite or infinite) set F of forbidden induced subgraphs:
G ∈ P ⇐⇒ ∀H ∈ F, H ⊆ind G
76. Hereditary properties
Definition: A graph property P is hereditary if for every G ∈ P
and induced subgraph G of G, we have G ∈ P as well.
Examples: triangle-free, bipartite, interval graph, planar
Observation: Every hereditary property P can be characterized by
a (finite or infinite) set F of forbidden induced subgraphs:
G ∈ P ⇐⇒ ∀H ∈ F, H ⊆ind G
Theorem: If P is hereditary and can be characterized by a finite
set F of forbidden induced subgraphs, then the graph modification
problems corresponding to P are FPT.
77. Hereditary properties
Theorem: If P is hereditary and can be characterized by a finite
set F of forbidden induced subgraphs, then the graph modification
problems corresponding to P are FPT.
Proof:
Suppose that every graph in F has at most r vertices. Using
brute force, we can find in time O(nr ) a forbidden subgraph
(if exists).
If a forbidden subgraph exists, then we have to delete one of
r
the at most r vertices or add/delete one of the at most 2
edges
⇒ Branching factor is a constant c depending on F.
The search tree has at most ck leaves and the work to be
done at each node is O(nr ).
78. Cluster Editing
Task: Given a graph G and an integer k, add/remove at most k
edges such that every component is a clique in the resulting graph.
79. Cluster Editing
Task: Given a graph G and an integer k, add/remove at most k
edges such that every component is a clique in the resulting graph.
Property P: every component is a clique.
Forbidden induced subgraph:
O∗ (3k ) time algorithm.
80. Chordal Completion
Definition: A graph is chordal if it does not contain an induced
cycle of length greater than 3.
Chordal Completion: Given a graph G and an integer k, add
at most k edges to G to make it a chordal graph.
81. Chordal Completion
Definition: A graph is chordal if it does not contain an induced
cycle of length greater than 3.
Chordal Completion: Given a graph G and an integer k, add
at most k edges to G to make it a chordal graph.
The forbidden induced subgraphs are the cycles of length greater 3
⇒ Not a finite set!
82. C HORDAL CCompletionGiven a graph G and an integer k
Chordal OMPLETION :
Definition: A graph is chordal if it does not contain an induced
to Gcyclemake it greater than 3.
to of length a chordal graph.
Chordal Completion: Given a graph G and an integer k, add
The at most k edges to G to make it a chordal graph. cycles of length g
forbidden induced subgraphs are the
⇒ Not a finite set! subgraphs are the cycles of length greater 3
The forbidden induced
⇒ Not a finite set!
Lemma: AtAt least k − 3 3 edgesneededneededato make a k -cyc
Lemma: least k − edges are are to make k-cycle
chordal.
Proof: By induction. k = 3 is trivial.
Proof: By induction. k = 3 is trivial.
Ck
83. C HORDAL CCompletion
Chordal OMPLETION : Given a graph G and an integer k ,
Definition: A graph is chordal if it does not contain an induced
to Gcycle make it a chordal graph.
to of length greater than 3.
Chordal Completion: Given a graph G and an integer k, add
Theat most k edges to G to make it a chordal graph. cycles of length gr
forbidden induced subgraphs are the
⇒ Not a finite set! subgraphs are the cycles of length greater 3
The forbidden induced
⇒ Not a finite set!
Lemma: AtAt least k − 33 edges needed to make tok-cycle a k -cycle
Lemma: least k − edges are are needed a make
chordal.
Proof: By induction. k = 3 is trivial.
Proof: By induction. k = 3 is trivial.
Cx : x − 3 edges
Cx Cx : x − 3 edges
Ck−x+2 : k − x − 1k−x+2 : k − x −
C edges
Ck Ck : (x − 3) + (k − x : (x +
Ck − 1) −3)+(k −x
Ck−x+2 1 = k − 3 edges
edges
84. Chordal Completion
Algorithm:
Find an induced cycle C of length at least 4 (can be done in
polynomial time).
If no such cycle exists ⇒ Done!
If C has more than k + 3 vertices ⇒ No solution!
Otherwise, one of the
|C|
− |C| ≤ (k + 3)(k + 2)/2 − k = O(k 2 )
2
missing edges has to be added ⇒ Branch!
Size of the search tree is k O(k) .
85. C HORDAL C OMPLETION – more efficiently
Chordal Completion – more efficiently
Definition: Triangulation of a cycle.
Definition: Triangulation of a cycle.
Ck
Lemma: Every chordal supergraph of a cycle C contains a triangulation of the
Lemma:
cycle C . Every chordal supergraph of a cycle C contains a
Lemma: The number the cycle C.
triangulation of of ways a cycle of length k can be triangulated is exactly the
− 2)-nd Catalan number
(k Lemma: Thenumber of ways a cycle of length k can be
triangulated is exactly the (k − 2)-nd Catalan number
1 2(k − 2) k−3
Ck−2 = 4 .
k −1 k −2
1 2(k − 2)
Ck−2 = ≤ 4k−3 .
k−1 k−2 Fixed Parameter Algorithms – p.46/98
86. Chordal Completion – more efficiently
Algorithm:
Find an induced cycle C of length at least 4 (can be done in
polynomial time).
If no such cycle exists ⇒ Done!
If C has more than k + 3 vertices ⇒ No solution!
Otherwise, one of the ≤ 4|C|−3 triangulations has to be in the
solution ⇒ Branch!
Claim: Search tree has at most Tk = 4k leaves.
Proof: By induction. Number of leaves is at most
Tk ≤ 4|C|−3 · Tk−(|C|−3) ≤ 4|C|−3 · 4k−(|C|−3) = 4k .
87. Iterative compression
FPT algorithmic techniques
Significant advances in the past 20 years or so (especially in recent years).
Powerful toolbox for designing FPT algorithms:
Bounded Search Tree
Kernelization
Color coding
Graph Minors Theorem
Treewidth Iterative compression
Fixed Parameter Algorithms – p.8/98
88. Iterative compression
A surprising small, but very powerful trick.
Most useful for deletion problems: delete k things to achieve
some property.
Demonstration: Odd Cycle Transversal aka Bipartite
Deletion aka Graph Bipartization: Given a graph G
and an integer k, delete k vertices to make the graph bipartite.
Forbidden induced subgraphs: odd cycles. There is no bound
on the size of odd cycles.
89. Bipartite Deletion
Solution based on iterative compression:
Step 1:
Solve the annotated problem for bipartite graphs:
Given a bipartite graph G, two sets B, W ⊆ V (G),
and an integer k, find a set S of at most k vertices
such that G S has a 2-coloring where B S is
black and W S is white.
90. Bipartite Deletion
Solution based on iterative compression:
Step 1:
Solve the annotated problem for bipartite graphs:
Given a bipartite graph G, two sets B, W ⊆ V (G),
and an integer k, find a set S of at most k vertices
such that G S has a 2-coloring where B S is
black and W S is white.
Step 2:
Solve the compression problem for general graphs:
Given a graph G, an integer k, and a set S of k + 1
vertices such that G S is bipartite, find a set S of
k vertices such that G S is bipartite.
91. Bipartite Deletion
Solution based on iterative compression:
Step 1:
Solve the annotated problem for bipartite graphs:
Given a bipartite graph G, two sets B, W ⊆ V (G),
and an integer k, find a set S of at most k vertices
such that G S has a 2-coloring where B S is
black and W S is white.
Step 2:
Solve the compression problem for general graphs:
Given a graph G, an integer k, and a set S of k + 1
vertices such that G S is bipartite, find a set S of
k vertices such that G S is bipartite.
Step 3:
Apply the magic of iterative compression. . .
92. Step 1: The annotated problem The annotated problem
Step 1:
Given a bipartite graph G, two sets B, W ⊆ V (G), and an integer
Given a bipartite graph G, two sets B, W ⊆ V (G ), and an integer k , find a set S of
k, find a set S of at most k vertices such that G S has a
at most k vertices such that G S has a 2-coloring where B S is black and W S
2-coloring where B S is black and W S is white.
is white.
B
W
93. Step 1: The annotatedStep 1: The annotated problem
problem
Given a bipartite graph G, two sets B, W ⊆ V (G), and an integer
Givenfind a set S of at mostsets B, W ⊆ V (Gthat G S has a , find a set S of
k, a bipartite graph G, two k vertices such ), and an integer k
at most k vertices such that G S hasand W S is white. S is black and W S
2-coloring where B S is black a 2-coloring where B
is white.
B0 W0
B
W
Find an arbitrary 2-coloring (B0 , W0 ) of G .
Find an arbitrary 2-coloring (B0 , W0 ) of G.
94. Step 1: The annotated problem
Given Given a bipartite G, two G, two sets ⊆ V (G⊆, V (G), and an integer a set S
a bipartite graph graph sets B, W B, W ) and an integer k , find
k, find a set S of at most k vertices such that G S has a
at most k vertices such that G S has a 2-coloring where B S is black and W
2-coloring where B S is black and W S is white.
is white.
B0 W0
C B
C W
Find an arbitrary 2-coloring (B0 , W0 ) of G .
Find an arbitrary 2-coloring (B0 , W0 ) of G.
C := (B0:= W ) ∪ (W) ∪ (W should should change while Rwhile 0 ∩ B) ∪ (W0 ∩ W
C ∩ (B0 ∩ W 0 ∩ B) 0 ∩ B) change color, color, := (B
shouldR := (B0 ∩ B) ∪ (W0 ∩ W ) should remain the same color.
remain the same color.
95. Step 1: The annotated problem
Given aGiven a bipartite G, two G, two sets ⊆ V (G ),V (G), and an integer a set
bipartite graph graph sets B, W B, W ⊆ and an integer k , find
k vertices such at G k vertices such that G S S
t mostk, find a set S ofthatmostS has a 2-coloring where Bhas ais black and W
2-coloring where B S is black and W S is white.
s white.
B0 W0
R C B
C R W
Find an arbitrary 2-coloring (B0 , W0 ) of G .
Find an arbitrary 2-coloring (B0 , W0 ) of G.
C := (B0 ∩ W ) ∪∩ W0) ∩ B) should should change while R := (B0 ∩ B) ∪ (W0 ∩
C := (B0 (W ∪ (W0 ∩ B) change color, color, while
hould remain the same (W0 ∩ W ) should remain the same color.
R := (B0 ∩ B) ∪ color.
Lemma: G S hasthehas the required 2-coloring only if only if S
Lemma: G S required 2-coloring if and if and S separates C and R ,
separates C and R, i.e., no component of G S contains vertices
o component of G S contains vertices from both C S and R S .
from both C S and R S.
96. Step 1: The annotated problem
Lemma: G S has the required 2-coloring if and only if S
separates C and R, i.e., no component of G S contains vertices
from both C S and R S.
Proof:
⇒ In a 2-coloring of G S, each vertex either remained the same
color or changed color. Adjacent vertices do the same, thus every
component either changed or remained.
⇐ Flip the coloring of those components of G S that contain
vertices from C S. No vertex of R is flipped.
Algorithm: Using max-flow min-cut techniques, we can check if
there is a set S that separates C and R. It can be done in time
O(k|E(G)|) using k iterations of the Ford-Fulkerson algorithm.
97. Step 2: The compression problem
Given a graph G, an integer k, and a set S of k + 1 vertices such
Given that G S ,is bipartite, findand a S ofS vertices 1 vertices G S that G
a graph G an integer k , a set set k of k + such that such is
bipartite, find a set S of k vertices such that G S is bipartite.
bipartite.
S
98. Step 2: The compression problem
Given a graph G, an integer k, and a set S of k + 1 vertices such
Given a graph G , an integer k , and a set S of k + 1 vertices such that G
that G S is bipartite, find a set S of k vertices such that G S is
bipartite, find a set S of k vertices such that G S is bipartite.
bipartite.
S
black white deleted
Branch 3k+1 k+1 cases: each vertex of is is either black, white, or
Branch intointo 3cases: each vertex of S S either black, white, or deleted.
deleted.
Trivial check: no edge between two black or two white vertices.
Trivial check: no edge between two black or two white vertices.
99. Step 2: The compression problem
Given a graph G, an integer k, and a set S of k + 1 vertices such
Given a graph G , an integer k , and a set S of k + 1 vertices such that G S
that G S is bipartite, find a set S of k vertices such that G S is
bipartite, find a set S of k vertices such that G S is bipartite.
bipartite.
W
S
black white deleted
k+1 k+1
Branch into into 3cases: each vertex of S of S is either black, white, or
Branch 3 cases: each vertex is either black, white, or deleted.
Trivial check: no edge between two black or two white vertices.
deleted.
Neighbors check: black vertices in S two black or two and the neighbors of the
Trivial of the no edge between should be white white vertices.
white vertices in S should be black.in S should be white and the
Neighbors of the black vertices
neighbors of the white vertices in S should be black.
100. Step 2: The compression problem
Given a graph G , an integer k , and and a S of kof k + 1 vertices such G S
Given a graph G, an integer k, a set set S + 1 vertices such that
that G S is bipartite, find a set S of k vertices such that G S is
bipartite, find a set S of k vertices such that G S is bipartite.
bipartite.
W B
S
black white deleted
k+1 cases: each vertex
Branch into 3k+1 3
Branch into cases: each vertex of Sofis either black, white, or deleted.
S is either black, white, or
deleted.
Trivial check: no edge between two black or two white vertices.
Trivial check: no edge between two black or two white vertices.
Neighbors of the black vertices in Sinshould be white andand the
Neighbors of the black vertices S should be white the neighbors of th
white vertices in S should vertices in S should be black.
neighbors of the white be black.
101. Step 2: The compression problem
Step 2: The compression problem
Given a graph G, an integer k, and a set S of k + 1 vertices such
that G S is bipartite, find a set S of k vertices such that G S is
bipartite. a graph G , an integer k , and a set S of k + 1 vertices such that G S is
Given
bipartite, find a set S of k vertices such that G S is bipartite.
W B
The vertices of S can be disregarded. Thus we need to solve the
annotated problem can be disregarded. Thus we G S .solve the annotated
The vertices of S
on the bipartite graph need to
Running time: O(3k · k|E(G)|) time.
problem on the bipartite graph G S .
Running time: O(3k · k|E (G )|) time.
Fixed Parameter Algorithms – p.53/98
102. Step 3: Iterative compression
How do we get a solution of size k + 1?
103. Step 3: Iterative compression
How do we get a solution of size k + 1?
We get it for free!
104. Step 3: Iterative compression
How do we get a solution of size k + 1?
We get it for free!
Let V (G) = {v1 , . . . , vn } and let Gi be the graph induced by
{v1 , . . . , vi }.
For every i, we find a set Si of size k such that Gi Si is bipartite.
For Gk , the set Sk = {v1 , . . . , vk } is a trivial solution.
If Si−1 is known, then Si−1 ∪ {vi } is a set of size k + 1 whose
deletion makes Gi bipartite ⇒ We can use the compression
algorithm to find a suitable Si in time O(3k · k|E(Gi )|).
105. Step 3: Iterative Compression
Bipartite-Deletion(G, k)
1. Sk = {v1 , . . . , vk }
2. for i := k + 1 to n
3. Invariant: Gi−1 Si−1 is bipartite.
4. Call Compression(Gi , Si−1 ∪ {vi })
5. If the answer is “NO” ⇒ return “NO”
6. If the answer is a set X ⇒ Si := X
7. Return the set Sn
Running time: the compression algorithm is called n times and
everything else can be done in linear time
⇒ O(3k · k|V (G)| · |E(G)|) time algorithm.
106. Color coding
FPT algorithmic techniques
Significant advances in the past 20 years or so (especially in recent years).
Powerful toolbox for designing FPT algorithms:
Bounded Search Tree
Kernelization
Color coding
Graph Minors Theorem
Treewidth Iterative compression
Fixed Parameter Algorithms – p.8/98
107. Color coding
Works best when we need to ensure that a small number of
“things” are disjoint.
We demonstrate it on the problem of finding an s-t path of
length exactly k.
Randomized algorithm, but can be derandomized using a
standard technique.
Very robust technique, we can use it as an “opening step”
when investigating a new problem.
108. k-Path
Task: Given a graph G, an integer k, two vertices s, t, find a
simple s-t path with exactly k internal vertices.
Note: Finding such a walk can be done easily in polynomial time.
Note: The problem is clearly NP-hard, as it contains the s-t
Hamiltonian Path problem.
The k-Path algorithm can be used to check if there is a cycle of
length exactly k in the graph.
109. k-Path
Assign colors from [k] to vertices V (G) {s, t} uniformly and
Assign colors from [k] to vertices V (G ) {s, t} uniformly and independently at
independently at random.
random.
s t
110. k-Path
Assign colors from [k] to vertices V t} {s, t} uniformly and
Assign colors from [k] to vertices V (G ) {s,(G)uniformly and independently
random. independently at random.
s t
111. k-Path
Assign colors from [k]from [k] to V (G ) {s, (G) {s, t} and independently at
Assign colors to vertices vertices V t} uniformly uniformly and
independently at random.
random.
s t
there if there is a s -t path: a path: a path where appears exactly
Check ifCheck is a colorful colorful s-tpath where each coloreach color
once onappears exactly once output “YES” or vertices; output “YES”
the internal vertices; on the internal “NO”.
or “NO”.
Fixed Parameter Algorithms – p.69
112. k-Path
Assign colors from [k]from [k] to V (G ) {s, (G) {s, t} and independently at
Assign colors to vertices vertices V t} uniformly uniformly and
independently at random.
random.
s t
there if there is a s -t path: a path: a path where appears exactly
Check ifCheck is a colorful colorful s-tpath where each coloreach color
once onappears exactly once output “YES” or vertices; output “YES”
the internal vertices; on the internal “NO”.
or “NO”.
If there is no s-t k-path: no such colorful path exists ⇒ “NO”.
If there is an s-t k-path: the probability that such a path is
colorful is
k! ( k )k
> e k = e−k ,
kk k
thus the algorithm outputs “YES” with at least that
probability.
Fixed Parameter Algorithms – p.69
113. Error probability
Useful fact: If the probability of success is at least p, then
the probability that the algorithm does not say “YES” after
1/p repetitions is at most
1/p
(1 − p)1/p < e−p = 1/e ≈ 0.38
Thus if p > e−k , then error probability is at most 1/e after ek
repetitions.
Repeating the whole algorithm a constant number of times
can make the error probability an arbitrary small constant.
For example, by trying 100 · ek random colorings, the
probability of a wrong answer is at most 1/e100 .
114. Error probability
Useful fact: If the probability of success is at least p, then
the probability that the algorithm does not say “YES” after
1/p repetitions is at most
1/p
(1 − p)1/p < e−p = 1/e ≈ 0.38
Thus if p > e−k , then error probability is at most 1/e after ek
repetitions.
Repeating the whole algorithm a constant number of times
can make the error probability an arbitrary small constant.
For example, by trying 100 · ek random colorings, the
probability of a wrong answer is at most 1/e100 .
It remains to see how a colorful s-t path can be found.
Method 1: Trying all permutations.
Method 2: Dynamic programming.
115. Method 1: Trying all permutations
Method 1: Trying all permutations
The colors encountered on a colorful s-t path form a permutation
π of {1, 2, . . . , k}:
The colors encountered on a colorful s -t path form a permutation π of {1, 2, ... , k}:
s t
π(1) π(2) ... π(k)
We try all possible k! permutations. For a fixed π, it is easy to check if there is a
We try all possiblecolors.
path with this order of k! permutations. For a fixed π, it is easy to
check if there is a path with this order of colors.
116. Method 1: Trying all permutations
Method 1: Trying all permutations
We try all possible k! permutations. For a fixed π, it is easy to
check if there is k! permutations.this a fixed π, it colors.to check if there is a
We try all possible a path with For order of is easy
path with this order of colors.
s t
π(1) π(2) ... π(k)
Edges connecting nonadjacent color classes are removed.
The remaining edges are directed.
Edges connecting nonadjacent color classes are removed.
All we need to check if there is a directed s -t path.
Running time is O(k! · |E (G )|).
Fixed Parameter Algorithms – p.72/98
117. Method 1: Trying all permutations all permutations
Method 1: Trying
We try all possible k! permutations. For a fixed π, it is easy to
check ifall possible k! path with this a fixed πof colors.to check if there is a
We try there is a permutations. For order , it is easy
path with this order of colors.
s t
π(1) π(2) ... π(k)
Edges connecting nonadjacent color classes are removed.
Edges connectingare directed.
The remaining edges
nonadjacent color classes are removed.
The remaining edges area directed.t path.
All we need to check if there is directed s -
Running time is O(k! · |E (G )|).
Fixed Parameter Algorithms – p.72/98
118. Method 1: Trying all permutations
Method 1: Trying all permutations
We try all possible k! permutations. For a fixed π, it is easy to
We try all possible k! permutations. For a fixed π, it is easy to check if there is a
check if there is a path with this order of colors.
path with this order of colors.
s t
π(1) π(2) ... π(k)
Edges connecting nonadjacent color classes are removed.
The remaining edges are directed.
Edges connecting nonadjacent color classes are removed.
AllThe remaining edges are directed s -t path.
we need to check if there is a directed.
Running time is O(k!check )|). there
All we need to · |E (G if is a directed s-t path.
Fixed Parameter Algorithms – p.72/98
Running time is O(k! · |E(G)|).
119. Method 2: Dynamic Programming
We introduce 2k · |V (G)| Boolean variables:
x(v, C) = TRUE for some v ∈ V (G) and C ⊆ [k]
There is an s-v path where each color in C appears
exactly once and no other color appears.
120. Method 2: Dynamic Programming
We introduce 2k · |V (G)| Boolean variables:
x(v, C) = TRUE for some v ∈ V (G) and C ⊆ [k]
There is an s-v path where each color in C appears
exactly once and no other color appears.
Clearly, x(s, ∅) = TRUE. Recurrence for vertex v with color r:
x(v, C) = x(u, C {r})
uv∈E(G)
121. Method 2: Dynamic Programming
We introduce 2k · |V (G)| Boolean variables:
x(v, C) = TRUE for some v ∈ V (G) and C ⊆ [k]
There is an s-v path where each color in C appears
exactly once and no other color appears.
Clearly, x(s, ∅) = TRUE. Recurrence for vertex v with color r:
x(v, C) = x(u, C {r})
uv∈E(G)
If we know every x(v, C) with |C| = i, then we can determine
every x(v, C) with |C| = i + 1 ⇒ All the values can be determined
in time O(2k · |E(G)|).
There is a colorful s-t path ⇐⇒ x(v, [k]) = TRUE for some
neighbor of t.
122. Derandomization
Using Method 2, we obtain a O∗ ((2e)k ) time algorithm with
constant error probability. How to make it deterministic?
Definition: A family H of functions [n] → [k] is a k-perfect
family of hash functions if for every S ⊆ [n] with |S| = k, there is
a h ∈ H such that h(x) = h(y) for any x, y ∈ S, x = y.
123. Derandomization
Using Method 2, we obtain a O∗ ((2e)k ) time algorithm with
constant error probability. How to make it deterministic?
Definition: A family H of functions [n] → [k] is a k-perfect
family of hash functions if for every S ⊆ [n] with |S| = k, there is
a h ∈ H such that h(x) = h(y) for any x, y ∈ S, x = y.
Instead of trying O(ek ) random colorings, we go through a
k-perfect family H of functions V (G) → [k]. If there is a solution
⇒ The internal vertices S are colorful for at least one h ∈ H ⇒
Algorithm outputs “YES”.
124. Derandomization
Using Method 2, we obtain a O∗ ((2e)k ) time algorithm with
constant error probability. How to make it deterministic?
Definition: A family H of functions [n] → [k] is a k-perfect
family of hash functions if for every S ⊆ [n] with |S| = k, there is
a h ∈ H such that h(x) = h(y) for any x, y ∈ S, x = y.
Instead of trying O(ek ) random colorings, we go through a
k-perfect family H of functions V (G) → [k]. If there is a solution
⇒ The internal vertices S are colorful for at least one h ∈ H ⇒
Algorithm outputs “YES”.
Theorem: There is a k-perfect family of functions [n] → [k]
having size 2O(k) log n
(and can be constructed in time polynomial in the size of the
family).
⇒ There is a deterministic 2O(k) · nO(1) time algorithm for the
k-Path problem.
125. k-Disjoint Triangles
Task: Given a graph G and an integer k, find k vertex disjoint
triangles.
Step 1: Choose a random coloring V (G) → [3k].
126. k-Disjoint Triangles
Task: Given a graph G and an integer k, find k vertex disjoint
triangles.
Step 1: Choose a random coloring V (G) → [3k].
Step 2: Check if there is a colorful solution, where the 3k vertices
of the k triangles use distinct colors.
Method 1: Try every permutation π of [3k] and check if
there are triangles with colors (π(1), π(2), π(3)),
(π(4), π(5), π(6)), . . .
Method 2: Dynamic programming. For C ⊆ [3k] and
|C| = 3i, let x(C) = TRUE if and only if there are |C|/3
disjoint triangles using exactly the colors in C.
x(C) = (x(C {c1 , c2 , c3 }) ∧ ∃ with colors c1 , c2 , c3 )
{c1 ,c2 ,c3 }⊆C
127. k-Disjoint Triangles
Step 3: Colorful solution exists with probability at least e−3k ,
which is a lower bound on the probability of a correct answer.
Running time: constant error probability after e3k repetitions ⇒
running time is O∗ ((2e)3k ) (using Method 2).
Derandomization: 3k-perfect family of functions instead of
random coloring. Running time is 2O(k) · nO(1) .
128. Color coding
We have seen that color coding can be used to find paths, cycles
of length k, or a set of k disjoint triangles.
What other structures can be found efficiently with this technique?
The key is treewidth:
Theorem: Given two graph H, G, it can be decided if H is a
subgraph of G in time 2O(|V (H)|) · |V (G)|O(w) , where w is the
treewidth of G.
Thus if H belongs to a class of graphs with bounded treewidth,
then the subgraph problem is FPT.