SlideShare a Scribd company logo
1 of 11
Dynamic
Programming
Ahsan Raza
EXAMPLE(Fibonacci Sequence/Series)
f(n)
{
if(n==0)
return 0;
if(n==1)
return 1;
if(n>1)
return (f(n-1)+f(n-2);
}
n : 1 2 3 4 5 6 7 8 9 1 0
f(n): 0 1 1 2 3 5 8 13 21 34 55
F(5)
F(3)
F(4)
F(3)
F(1)
F(2)
F(2)
F(0)
F(1)
F(1)
F(2)
F(0)
F(1)
F(0)
F(1)
• It's a powerful algorithm
technique.
• •Used for Optimization
problems
• Solve complex problems by
breaking them into smaller
subproblems.
• Optimal substructure and
overlapping subproblems.
INTRODUCTION
Two Fundamental
Principles
• Optimal Substructure
• Overlapping Subproblems
FUNDAMENTALS
Optimal Substructure means we
can break a big problem into smaller
subproblems, and if we solve those
smaller subproblems optimally, we
can combine their solutions to solve
the big problem optimally.
OPTIMAL SUBSTRUCTURE:
EXAMPLE: JIGSAW PUZZLE
Overlapping Subproblems refers to
the situation where the same smaller
problems are encountered and solved
multiple times when solving a larger
problem.It's about reusing solutions to
avoid redundant work.
OVERLAPPING SUBPROBLEMS
Memoization(Top-Down)
A lookup table is maintained and
checked before computation of any
state.Recursion is involved.
WAYS TO HANDLE OVERLAPPING SUBPROBLEMS
Tabulation(Bottom-Up)
Solution is built from base.It is an
iterative process.
Dynamic programming, specifically memoization or
tabulation, helps here by storing the results of these
subproblems the first time you solve them.When you
need the same result again, you simply look it up,
avoiding redundant calculations.This significantly
improves efficiency, especially for larger problems.
• Space complexity
• Complexity of identifying subproblems
• Inability to handle problems without
optimal substructure:
LIMITATIONS
LIMITATIONS
• Efficiency: It can improve the efficiency of
algorithms by avoiding redundant computations.
• Optimality: The algorithms are guaranteed to
find optimal solutions to problems with optimal
substructure.
• Generality: Dynamic programming can be
applied to a wide variety of problems.
ADVANTAGES
ADVANTAGES
Thank you.

More Related Content

Similar to Dynamic Programming Intro in Algorithm Design

NON LINEAR PROGRAMMING
NON LINEAR PROGRAMMING NON LINEAR PROGRAMMING
NON LINEAR PROGRAMMING karishma gupta
 
Solving Optimization Problems using the Matlab Optimization.docx
Solving Optimization Problems using the Matlab Optimization.docxSolving Optimization Problems using the Matlab Optimization.docx
Solving Optimization Problems using the Matlab Optimization.docxwhitneyleman54422
 
Balaji-opt-lecture5-linear program sp13.ppt
Balaji-opt-lecture5-linear program sp13.pptBalaji-opt-lecture5-linear program sp13.ppt
Balaji-opt-lecture5-linear program sp13.pptgokulkumaraguru8
 
What Is Dynamic Programming? | Dynamic Programming Explained | Programming Fo...
What Is Dynamic Programming? | Dynamic Programming Explained | Programming Fo...What Is Dynamic Programming? | Dynamic Programming Explained | Programming Fo...
What Is Dynamic Programming? | Dynamic Programming Explained | Programming Fo...Simplilearn
 
Algorithm_Dynamic Programming
Algorithm_Dynamic ProgrammingAlgorithm_Dynamic Programming
Algorithm_Dynamic ProgrammingIm Rafid
 
Algorithm review
Algorithm reviewAlgorithm review
Algorithm reviewchidabdu
 
dynamic programming Rod cutting class
dynamic programming Rod cutting classdynamic programming Rod cutting class
dynamic programming Rod cutting classgiridaroori
 
10 - Recursive.pptx
10 - Recursive.pptx10 - Recursive.pptx
10 - Recursive.pptxbernadusseno
 
lecture4-recursion.pptx
lecture4-recursion.pptxlecture4-recursion.pptx
lecture4-recursion.pptxLizhen Shi
 
Introduction to TreeNet (2004)
Introduction to TreeNet (2004)Introduction to TreeNet (2004)
Introduction to TreeNet (2004)Salford Systems
 
Dynamic programming class 16
Dynamic programming class 16Dynamic programming class 16
Dynamic programming class 16Kumar
 
Skiena algorithm 2007 lecture16 introduction to dynamic programming
Skiena algorithm 2007 lecture16 introduction to dynamic programmingSkiena algorithm 2007 lecture16 introduction to dynamic programming
Skiena algorithm 2007 lecture16 introduction to dynamic programmingzukun
 
Reading papers - survey on Non-Convex Optimization
Reading papers - survey on Non-Convex OptimizationReading papers - survey on Non-Convex Optimization
Reading papers - survey on Non-Convex OptimizationX 37
 
Problem Understanding through Landscape Theory
Problem Understanding through Landscape TheoryProblem Understanding through Landscape Theory
Problem Understanding through Landscape Theoryjfrchicanog
 
2 chapter2 algorithm_analysispart1
2 chapter2 algorithm_analysispart12 chapter2 algorithm_analysispart1
2 chapter2 algorithm_analysispart1SSE_AndyLi
 
9. chapter 8 np hard and np complete problems
9. chapter 8   np hard and np complete problems9. chapter 8   np hard and np complete problems
9. chapter 8 np hard and np complete problemsJyotsna Suryadevara
 

Similar to Dynamic Programming Intro in Algorithm Design (20)

NON LINEAR PROGRAMMING
NON LINEAR PROGRAMMING NON LINEAR PROGRAMMING
NON LINEAR PROGRAMMING
 
Solving Optimization Problems using the Matlab Optimization.docx
Solving Optimization Problems using the Matlab Optimization.docxSolving Optimization Problems using the Matlab Optimization.docx
Solving Optimization Problems using the Matlab Optimization.docx
 
Balaji-opt-lecture5-linear program sp13.ppt
Balaji-opt-lecture5-linear program sp13.pptBalaji-opt-lecture5-linear program sp13.ppt
Balaji-opt-lecture5-linear program sp13.ppt
 
What Is Dynamic Programming? | Dynamic Programming Explained | Programming Fo...
What Is Dynamic Programming? | Dynamic Programming Explained | Programming Fo...What Is Dynamic Programming? | Dynamic Programming Explained | Programming Fo...
What Is Dynamic Programming? | Dynamic Programming Explained | Programming Fo...
 
Algorithm_Dynamic Programming
Algorithm_Dynamic ProgrammingAlgorithm_Dynamic Programming
Algorithm_Dynamic Programming
 
Functions
FunctionsFunctions
Functions
 
Algorithm review
Algorithm reviewAlgorithm review
Algorithm review
 
dynamic programming Rod cutting class
dynamic programming Rod cutting classdynamic programming Rod cutting class
dynamic programming Rod cutting class
 
10 - Recursive.pptx
10 - Recursive.pptx10 - Recursive.pptx
10 - Recursive.pptx
 
lecture4-recursion.pptx
lecture4-recursion.pptxlecture4-recursion.pptx
lecture4-recursion.pptx
 
Introduction to TreeNet (2004)
Introduction to TreeNet (2004)Introduction to TreeNet (2004)
Introduction to TreeNet (2004)
 
Dynamic programming class 16
Dynamic programming class 16Dynamic programming class 16
Dynamic programming class 16
 
Skiena algorithm 2007 lecture16 introduction to dynamic programming
Skiena algorithm 2007 lecture16 introduction to dynamic programmingSkiena algorithm 2007 lecture16 introduction to dynamic programming
Skiena algorithm 2007 lecture16 introduction to dynamic programming
 
Reading papers - survey on Non-Convex Optimization
Reading papers - survey on Non-Convex OptimizationReading papers - survey on Non-Convex Optimization
Reading papers - survey on Non-Convex Optimization
 
Problem Understanding through Landscape Theory
Problem Understanding through Landscape TheoryProblem Understanding through Landscape Theory
Problem Understanding through Landscape Theory
 
Lecture11
Lecture11Lecture11
Lecture11
 
Dynamicpgmming
DynamicpgmmingDynamicpgmming
Dynamicpgmming
 
Recursion in Java
Recursion in JavaRecursion in Java
Recursion in Java
 
2 chapter2 algorithm_analysispart1
2 chapter2 algorithm_analysispart12 chapter2 algorithm_analysispart1
2 chapter2 algorithm_analysispart1
 
9. chapter 8 np hard and np complete problems
9. chapter 8   np hard and np complete problems9. chapter 8   np hard and np complete problems
9. chapter 8 np hard and np complete problems
 

More from AhsanRazaKolachi

Evolution in military technology by ahsan raza
Evolution in military technology by ahsan razaEvolution in military technology by ahsan raza
Evolution in military technology by ahsan razaAhsanRazaKolachi
 
Flags register in central processing unit
Flags register in central processing unitFlags register in central processing unit
Flags register in central processing unitAhsanRazaKolachi
 
what is System Analyst in Software Development
what is System Analyst in Software Developmentwhat is System Analyst in Software Development
what is System Analyst in Software DevelopmentAhsanRazaKolachi
 
Process , Process states , Process Control Block in Operating Systems
Process , Process states , Process Control Block in Operating SystemsProcess , Process states , Process Control Block in Operating Systems
Process , Process states , Process Control Block in Operating SystemsAhsanRazaKolachi
 
Rapid Application Development in Software Engineering
Rapid Application Development in Software EngineeringRapid Application Development in Software Engineering
Rapid Application Development in Software EngineeringAhsanRazaKolachi
 
Index registers in Central Processing Unit
Index registers in Central Processing UnitIndex registers in Central Processing Unit
Index registers in Central Processing UnitAhsanRazaKolachi
 
Data transmission Services in Data Warehouse
Data transmission Services in Data WarehouseData transmission Services in Data Warehouse
Data transmission Services in Data WarehouseAhsanRazaKolachi
 
What is Palindrome in Compiler Design and Tafl
What is Palindrome in Compiler Design and TaflWhat is Palindrome in Compiler Design and Tafl
What is Palindrome in Compiler Design and TaflAhsanRazaKolachi
 
Statistics and Role of statistics in Computer Science
Statistics and Role of statistics in Computer Science Statistics and Role of statistics in Computer Science
Statistics and Role of statistics in Computer Science AhsanRazaKolachi
 
Radio Waves In Computer Communication
Radio Waves In Computer Communication Radio Waves In Computer Communication
Radio Waves In Computer Communication AhsanRazaKolachi
 

More from AhsanRazaKolachi (15)

Evolution in military technology by ahsan raza
Evolution in military technology by ahsan razaEvolution in military technology by ahsan raza
Evolution in military technology by ahsan raza
 
Flags register in central processing unit
Flags register in central processing unitFlags register in central processing unit
Flags register in central processing unit
 
what is System Analyst in Software Development
what is System Analyst in Software Developmentwhat is System Analyst in Software Development
what is System Analyst in Software Development
 
Process , Process states , Process Control Block in Operating Systems
Process , Process states , Process Control Block in Operating SystemsProcess , Process states , Process Control Block in Operating Systems
Process , Process states , Process Control Block in Operating Systems
 
Rapid Application Development in Software Engineering
Rapid Application Development in Software EngineeringRapid Application Development in Software Engineering
Rapid Application Development in Software Engineering
 
Index registers in Central Processing Unit
Index registers in Central Processing UnitIndex registers in Central Processing Unit
Index registers in Central Processing Unit
 
Data transmission Services in Data Warehouse
Data transmission Services in Data WarehouseData transmission Services in Data Warehouse
Data transmission Services in Data Warehouse
 
What is Palindrome in Compiler Design and Tafl
What is Palindrome in Compiler Design and TaflWhat is Palindrome in Compiler Design and Tafl
What is Palindrome in Compiler Design and Tafl
 
Information Technology
Information Technology Information Technology
Information Technology
 
MongoDB
MongoDB MongoDB
MongoDB
 
Nelsen ten Heuristics
Nelsen ten HeuristicsNelsen ten Heuristics
Nelsen ten Heuristics
 
two wordpress plugins
two wordpress pluginstwo wordpress plugins
two wordpress plugins
 
Graph in data structures
Graph in data structuresGraph in data structures
Graph in data structures
 
Statistics and Role of statistics in Computer Science
Statistics and Role of statistics in Computer Science Statistics and Role of statistics in Computer Science
Statistics and Role of statistics in Computer Science
 
Radio Waves In Computer Communication
Radio Waves In Computer Communication Radio Waves In Computer Communication
Radio Waves In Computer Communication
 

Recently uploaded

Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 

Recently uploaded (20)

Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 

Dynamic Programming Intro in Algorithm Design

  • 2. EXAMPLE(Fibonacci Sequence/Series) f(n) { if(n==0) return 0; if(n==1) return 1; if(n>1) return (f(n-1)+f(n-2); } n : 1 2 3 4 5 6 7 8 9 1 0 f(n): 0 1 1 2 3 5 8 13 21 34 55 F(5) F(3) F(4) F(3) F(1) F(2) F(2) F(0) F(1) F(1) F(2) F(0) F(1) F(0) F(1)
  • 3. • It's a powerful algorithm technique. • •Used for Optimization problems • Solve complex problems by breaking them into smaller subproblems. • Optimal substructure and overlapping subproblems. INTRODUCTION
  • 4. Two Fundamental Principles • Optimal Substructure • Overlapping Subproblems FUNDAMENTALS
  • 5. Optimal Substructure means we can break a big problem into smaller subproblems, and if we solve those smaller subproblems optimally, we can combine their solutions to solve the big problem optimally. OPTIMAL SUBSTRUCTURE: EXAMPLE: JIGSAW PUZZLE
  • 6. Overlapping Subproblems refers to the situation where the same smaller problems are encountered and solved multiple times when solving a larger problem.It's about reusing solutions to avoid redundant work. OVERLAPPING SUBPROBLEMS
  • 7. Memoization(Top-Down) A lookup table is maintained and checked before computation of any state.Recursion is involved. WAYS TO HANDLE OVERLAPPING SUBPROBLEMS Tabulation(Bottom-Up) Solution is built from base.It is an iterative process.
  • 8. Dynamic programming, specifically memoization or tabulation, helps here by storing the results of these subproblems the first time you solve them.When you need the same result again, you simply look it up, avoiding redundant calculations.This significantly improves efficiency, especially for larger problems.
  • 9. • Space complexity • Complexity of identifying subproblems • Inability to handle problems without optimal substructure: LIMITATIONS LIMITATIONS
  • 10. • Efficiency: It can improve the efficiency of algorithms by avoiding redundant computations. • Optimality: The algorithms are guaranteed to find optimal solutions to problems with optimal substructure. • Generality: Dynamic programming can be applied to a wide variety of problems. ADVANTAGES ADVANTAGES