The document discusses numerical simulation techniques for real-time game physics. It introduces particle physics concepts like position, velocity, and acceleration. Finite difference methods are described as the most common approach for incremental numerical solutions when closed-form equations do not exist. Explicit Euler integration is provided as a basic finite difference method, where the state vector is updated over small time steps using the prior state and derivatives. Examples are given of applying explicit Euler integration to simulate 3D projectile motion towards a target.
Multi-core GPU – Fast parallel SAR image generationMahesh Khadatare
This document summarizes a poster presentation about using GPUs to parallelize synthetic aperture radar (SAR) image generation. It describes a proposed parallel algorithm that divides SAR data into blocks and processes the range and azimuth dimensions concurrently on GPU cores. Experimental results show that an Nvidia Fermi S2050 GPU achieved the highest performance and fastest speeds, processing a 1024x1024 SAR image over 74 times faster than a CPU.
Deep Reinforcement Learning: Q-LearningKai-Wen Zhao
This slide reviews deep reinforcement learning, specially Q-Learning and its variants. We introduce Bellman operator and approximate it with deep neural network. Last but not least, we review the classical paper: DeepMind Atari Game beats human performance. Also, some tips of stabilizing DQN are included.
Design and Implementation of Parallel and Randomized Approximation AlgorithmsAjay Bidyarthy
This document summarizes the design and implementation of parallel and randomized approximation algorithms for solving matrix games, linear programs, and semi-definite programs. It presents solvers for these problems that provide approximate solutions in sublinear or near-linear time. It analyzes the performance and precision-time tradeoffs of the solvers compared to other algorithms. It also provides examples of applying the SDP solver to approximate the Lovasz theta function.
deep reinforcement learning with double q learningSeungHyeok Baek
presentation for Lab seminar
Double DQN Algorithm of Deepmind
Van Hasselt, Hado, Arthur Guez, and David Silver. "Deep Reinforcement Learning with Double Q-Learning." AAAI. Vol. 2. 2016.
The document summarizes the evolution of Insomniac Games' physics system across several titles for PlayStation 3. It describes how the system moved from a PPU-heavy design in Resistance: Fall of Man to utilizing SPUs more extensively in Ratchet & Clank Future by running collision and simulation in a single SPU job. It also discusses the use of physics shaders to optimize resource usage and the introduction of immediate and deferred physics modes in Resistance 2 to improve frame rates. The current approach aims to further optimize processes like building object lists and caching collision geometry on the SPU.
Phase Retrieval: Motivation and TechniquesVaibhav Dixit
This presentation describes two techniques namely Transport of Intensity Equation(TIE) technique and Phase Diversity technique for retrieving phase information from light.
How to Develop Your Own Simulators for Discrete-Event SystemsDonghun Kang
The document discusses how to develop simulators for discrete event systems using event graph and activity cycle diagram modeling approaches. It provides details on:
1. Functions for handling events, generating random variates, and event routines needed to simulate an event graph model.
2. The next event scheduling algorithm which proceeds by processing future events in time order and executing their associated event routines.
3. An example event graph model of a single server system and the pseudo-code for a simulator implementing the next event scheduling algorithm to execute this model.
Introduction of Quantum Annealing and D-Wave MachinesArithmer Inc.
This slide was used for Arithmer seminar in April 2021, by Dr. Yuki Bando.
It is for introduction of quantum computer, D-wave series, and its application to optimization problems in industry.
"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.
Multi-core GPU – Fast parallel SAR image generationMahesh Khadatare
This document summarizes a poster presentation about using GPUs to parallelize synthetic aperture radar (SAR) image generation. It describes a proposed parallel algorithm that divides SAR data into blocks and processes the range and azimuth dimensions concurrently on GPU cores. Experimental results show that an Nvidia Fermi S2050 GPU achieved the highest performance and fastest speeds, processing a 1024x1024 SAR image over 74 times faster than a CPU.
Deep Reinforcement Learning: Q-LearningKai-Wen Zhao
This slide reviews deep reinforcement learning, specially Q-Learning and its variants. We introduce Bellman operator and approximate it with deep neural network. Last but not least, we review the classical paper: DeepMind Atari Game beats human performance. Also, some tips of stabilizing DQN are included.
Design and Implementation of Parallel and Randomized Approximation AlgorithmsAjay Bidyarthy
This document summarizes the design and implementation of parallel and randomized approximation algorithms for solving matrix games, linear programs, and semi-definite programs. It presents solvers for these problems that provide approximate solutions in sublinear or near-linear time. It analyzes the performance and precision-time tradeoffs of the solvers compared to other algorithms. It also provides examples of applying the SDP solver to approximate the Lovasz theta function.
deep reinforcement learning with double q learningSeungHyeok Baek
presentation for Lab seminar
Double DQN Algorithm of Deepmind
Van Hasselt, Hado, Arthur Guez, and David Silver. "Deep Reinforcement Learning with Double Q-Learning." AAAI. Vol. 2. 2016.
The document summarizes the evolution of Insomniac Games' physics system across several titles for PlayStation 3. It describes how the system moved from a PPU-heavy design in Resistance: Fall of Man to utilizing SPUs more extensively in Ratchet & Clank Future by running collision and simulation in a single SPU job. It also discusses the use of physics shaders to optimize resource usage and the introduction of immediate and deferred physics modes in Resistance 2 to improve frame rates. The current approach aims to further optimize processes like building object lists and caching collision geometry on the SPU.
Phase Retrieval: Motivation and TechniquesVaibhav Dixit
This presentation describes two techniques namely Transport of Intensity Equation(TIE) technique and Phase Diversity technique for retrieving phase information from light.
How to Develop Your Own Simulators for Discrete-Event SystemsDonghun Kang
The document discusses how to develop simulators for discrete event systems using event graph and activity cycle diagram modeling approaches. It provides details on:
1. Functions for handling events, generating random variates, and event routines needed to simulate an event graph model.
2. The next event scheduling algorithm which proceeds by processing future events in time order and executing their associated event routines.
3. An example event graph model of a single server system and the pseudo-code for a simulator implementing the next event scheduling algorithm to execute this model.
Introduction of Quantum Annealing and D-Wave MachinesArithmer Inc.
This slide was used for Arithmer seminar in April 2021, by Dr. Yuki Bando.
It is for introduction of quantum computer, D-wave series, and its application to optimization problems in industry.
"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.
PSOk-NN: A Particle Swarm Optimization Approach to Optimize k-Nearest Neighbo...Aboul Ella Hassanien
This talk presented at Bio-inspiring and evolutionary computation: Trends, applications and open issues workshop, 7 Nov. 2015 Faculty of Computers and Information, Cairo University
Improving initial generations in pso algorithm for transportation network des...ijcsit
Transportation Network Design Problem (TNDP) aims to select the best project sets among a number of new projects. Recently, metaheuristic methods are applied to solve TNDP in the sense of finding better solutions sooner. PSO as a metaheuristic method is based on stochastic optimization and is a parallel revolutionary computation technique. The PSO system initializes with a number of random solutions and seeks for optimal solution by improving generations. This paper studies the behavior of PSO on account of improving initial generation and fitness value domain to find better solutions in comparison with previous attempts.
Surface reconstruction from point clouds using optimal transportationGuillaume Matheron
This document describes research into using optimal transportation and the Wasserstein distance as a metric for surface reconstruction from point clouds. It discusses previous work using radial basis functions to solve the optimal transport problem between discrete samples and a piecewise-constant surface representation. The document proposes using a wavelet approach to more efficiently solve the optimal transport problem in linear time. It also explores methods for reconstructing a surface from the point cloud data using the Wasserstein distance metric, including vertex relocation and coarse-to-fine refinement.
A study of the worst case ratio of a simple algorithm for simple assembly lin...narmo
This document summarizes a study on a simple heuristic for solving the Simple Assembly Line Balancing Problem (SALBP). It presents two greedy heuristics - Next-Fit and First-Fit - for solving the SALBP. The Next-Fit heuristic achieves a worst-case ratio of 2, which is proven to be tight. An example is provided to show that the First-Fit heuristic also has a worst-case ratio of 2. Sorting tasks by Ranked Positional Weight before applying First-Fit can find the optimal solution for some instances but the worst-case ratio remains 2 when using Next-Fit.
This document presents key concepts about projectiles. It defines a projectile as any object that continues to move after an initial force is applied. Equations of motion are derived for the horizontal and vertical components. Key equations provided include those for maximum height, time of flight, range, and maximum range. Examples are worked through to demonstrate applying the equations. Trial questions are also provided for additional practice.
The document discusses the geopy module in Python, which is used for geocoding and geolocation. It allows users to geolocate addresses, cities, countries and landmarks into geographic coordinates and vice versa. The geopy module utilizes third party geocoders like Google Maps, Bing Maps and Nominatim. It discusses how to install, import and use the module to geocode and reverse geocode locations. Various methods like geocode(), reverse() and functions to convert between distance and angle units are also covered.
Advances in the Solution of Navier-Stokes Eqs. in GPGPU Hardware. Modelling F...Storti Mario
In this article we compare the results obtained with an implementation of the Finite Volume for structured meshes on GPGPUs with experimental results and also with a Finite Element code with boundary fitted strategy. The example is a fully submerged spherical buoy immersed in a cubic water recipient. The recipient undergoes an harmonic linear motion imposed with a shake table. The experiment is recorded with a high speed camera and the displacement of the buoy if obtained from the video with a MoCap (Motion Capture) algorithm. The amplitude and phase of the resulting motion allows to determine indirectly the added mass and drag of the sphere.
This document discusses optimizations made to the game GT Racing 2 to add advanced graphical effects on Android x86 platforms. The optimizations included removing unnecessary render target clears, reducing the size of render targets used for blur passes, and changing from rendering at 50% resolution to 100% resolution. These changes helped reduce the frame time needed for new effects like depth of field, light shafts and bloom, allowing the game to run at the target 30 FPS while fully rendering at native resolution and including the new features. The document provides technical details on implementing various post-processing effects and analyzing the rendering pipeline using tools like Game Analyzer to identify optimization opportunities.
A Fast Implicit Gaussian Curvature FilterYuanhao Gong
Minimizing Gaussian curvature is computationally expensive in traditional way. We present a new method that can minimize the Gaussian curvature without computing it. Our filter is 100 times faster than traditional solvers.
Stochastic Alternating Direction Method of MultipliersTaiji Suzuki
This document discusses stochastic optimization methods for solving regularized learning problems with structured regularization and large datasets. It proposes applying the alternating direction method of multipliers (ADMM) in a stochastic manner. Specifically, it introduces two stochastic ADMM methods for online data: RDA-ADMM, which extends regularized dual averaging with ADMM updates; and OPG-ADMM, which extends online proximal gradient descent with ADMM updates. These methods allow the regularization term to be optimized in batches, resolving computational difficulties, while the loss is optimized online using only a small number of samples per iteration.
The document discusses analyzing algorithms through mathematical analysis and order-of-growth hypotheses. It covers estimating running time through experiments that measure time as input size increases. Doubling the input size provides the exponent in a power law model. Order-of-growth hypotheses assume algorithms follow patterns like constant, logarithmic, linear, quadratic, or cubic time as a function of input size. Precise mathematical models are difficult but approximations suffice by focusing on dominant terms.
This document summarizes Rajesh Gandham's PhD thesis defense on high-order numerical methods for ocean modeling applications. The thesis goals are to develop accurate PDE models, leverage many-core hardware architectures, and use efficient algorithm techniques. The document outlines work on two-dimensional shallow water modeling using discontinuous Galerkin methods, a pasiDG simulator implementation, and preliminary work on three-dimensional oceanic modeling. Performance results are shown for the pasiDG simulator running on GPUs and CPUs for the 2004 Indian Ocean tsunami test case.
This document summarizes a course on numerical optimal transport given by Bruno Lévy. It discusses the goals and motivations behind optimal transport, providing an elementary introduction. Specifically, it covers:
1) Monge's formulation of optimal transport as finding a map that transports one distribution into another while minimizing movement.
2) Kantorovich's relaxation of this to finding a transport plan between distributions rather than a map.
3) The use of duality to solve the optimal transport problem via a minimization-maximization approach rather than directly solving the Monge or Kantorovich problems.
This thesis examines the return interval distribution of extreme events in long memory time series that have two different scaling exponents. It first reviews long memory processes and their characterization using fractional autoregressive integrated moving average (ARFIMA) models. It then derives an analytical expression for the return interval distribution when the time series has two scaling exponents, as supported by numerical simulations. The thesis also considers a long memory probability process with two exponents and compares the return interval distribution to analytical results.
Operation cost reduction in unit commitment problem using improved quantum bi...IJECEIAES
Unit Commitment (UC) is a nonlinear mixed integer-programming problem. UC used to minimize the operational cost of the generation units in a power system by scheduling some of generators in ON state and the other generators in OFF state according to the total power outputs of generation units, load demand and the constraints of power system. This paper proposes an Improved Quantum Binary Particle Swarm Optimization (IQBPSO) algorithm. The tests have been made on a 10-units simulation system and the results show the improvement in an operation cost reduction after using the proposed algorithm compared with the ordinary Quantum Binary Particle Swarm Optimization (QBPSO) algorithm
This thesis examines approximate dynamic programming methods for optimizing residential water heating systems. It formulates the water heating problem as a discrete-time, average cost periodic Markov decision process (MDP) to minimize operating costs and customer discomfort over an infinite horizon. The methodology section describes solving the MDP using finite-horizon dynamic programming and average cost dynamic programming for periodic MDPs via relative value iteration. Results from numerical simulations will evaluate different control policies, including set-point methods, temperature aggregation, and usage history aggregation. Extensions to solar water heating and automated demand response are also discussed.
Optimization of Unit Commitment Problem using Classical Soft Computing Techni...IRJET Journal
The document describes using a particle swarm optimization (PSO) algorithm to solve the unit commitment problem (UCP) in electrical power systems. The UCP involves determining the optimal daily startup and shutdown schedule for power generating units to minimize costs while meeting demand and operational constraints. PSO is a soft computing technique inspired by animal social behavior that is applied to find near-optimal solutions. Test results are presented applying PSO to solve the UCP for 6-unit and 10-unit power system models using load data over a 24-hour period. The results demonstrate the effectiveness of PSO for solving the short-term UCP.
Practical Spherical Harmonics Based PRT MethodsNaughty Dog
The document summarizes methods for compressing precomputed radiance transfer (PRT) coefficients using spherical harmonics. It presents 4 methods with progressively higher compression ratios: Method 1 uses 9 bytes by removing a factor and scaling, Method 2 uses 6 bytes with a bit field allocation, Method 3 uses 6 bytes with a Lloyd-Max non-uniform quantizer, and Method 4 achieves 4 bytes with a different bit allocation. The methods are evaluated based on storage size, reconstruction quality, and rendering performance.
This document describes a project to design a ball catching manipulator using a 2 degree of freedom robotic arm and webcam vision. The project involves selecting a 2 DOF manipulator, developing the inverse kinematics, generating trajectories to catch the ball using projectile motion equations, detecting the ball using image processing in the webcam footage, and transferring coordinate frames. Future work includes implementing the simulation with a Dynamixel robotic arm and using a Kinect for 3D detection and depth sensing.
Introduction to computing Processing and performance.pdfTulasiramKandula1
This document discusses analyzing the performance of computer programs through empirical analysis and mathematical modeling. It provides an example of empirically analyzing the running time of a 3-sum problem algorithm by running experiments with increasing input sizes, measuring times, plotting the results, and fitting the data to a mathematical model. The analysis suggests the algorithm runs in O(N3) time. Doubling the input size and verifying the predicted running time supports the performance hypothesis.
PSOk-NN: A Particle Swarm Optimization Approach to Optimize k-Nearest Neighbo...Aboul Ella Hassanien
This talk presented at Bio-inspiring and evolutionary computation: Trends, applications and open issues workshop, 7 Nov. 2015 Faculty of Computers and Information, Cairo University
Improving initial generations in pso algorithm for transportation network des...ijcsit
Transportation Network Design Problem (TNDP) aims to select the best project sets among a number of new projects. Recently, metaheuristic methods are applied to solve TNDP in the sense of finding better solutions sooner. PSO as a metaheuristic method is based on stochastic optimization and is a parallel revolutionary computation technique. The PSO system initializes with a number of random solutions and seeks for optimal solution by improving generations. This paper studies the behavior of PSO on account of improving initial generation and fitness value domain to find better solutions in comparison with previous attempts.
Surface reconstruction from point clouds using optimal transportationGuillaume Matheron
This document describes research into using optimal transportation and the Wasserstein distance as a metric for surface reconstruction from point clouds. It discusses previous work using radial basis functions to solve the optimal transport problem between discrete samples and a piecewise-constant surface representation. The document proposes using a wavelet approach to more efficiently solve the optimal transport problem in linear time. It also explores methods for reconstructing a surface from the point cloud data using the Wasserstein distance metric, including vertex relocation and coarse-to-fine refinement.
A study of the worst case ratio of a simple algorithm for simple assembly lin...narmo
This document summarizes a study on a simple heuristic for solving the Simple Assembly Line Balancing Problem (SALBP). It presents two greedy heuristics - Next-Fit and First-Fit - for solving the SALBP. The Next-Fit heuristic achieves a worst-case ratio of 2, which is proven to be tight. An example is provided to show that the First-Fit heuristic also has a worst-case ratio of 2. Sorting tasks by Ranked Positional Weight before applying First-Fit can find the optimal solution for some instances but the worst-case ratio remains 2 when using Next-Fit.
This document presents key concepts about projectiles. It defines a projectile as any object that continues to move after an initial force is applied. Equations of motion are derived for the horizontal and vertical components. Key equations provided include those for maximum height, time of flight, range, and maximum range. Examples are worked through to demonstrate applying the equations. Trial questions are also provided for additional practice.
The document discusses the geopy module in Python, which is used for geocoding and geolocation. It allows users to geolocate addresses, cities, countries and landmarks into geographic coordinates and vice versa. The geopy module utilizes third party geocoders like Google Maps, Bing Maps and Nominatim. It discusses how to install, import and use the module to geocode and reverse geocode locations. Various methods like geocode(), reverse() and functions to convert between distance and angle units are also covered.
Advances in the Solution of Navier-Stokes Eqs. in GPGPU Hardware. Modelling F...Storti Mario
In this article we compare the results obtained with an implementation of the Finite Volume for structured meshes on GPGPUs with experimental results and also with a Finite Element code with boundary fitted strategy. The example is a fully submerged spherical buoy immersed in a cubic water recipient. The recipient undergoes an harmonic linear motion imposed with a shake table. The experiment is recorded with a high speed camera and the displacement of the buoy if obtained from the video with a MoCap (Motion Capture) algorithm. The amplitude and phase of the resulting motion allows to determine indirectly the added mass and drag of the sphere.
This document discusses optimizations made to the game GT Racing 2 to add advanced graphical effects on Android x86 platforms. The optimizations included removing unnecessary render target clears, reducing the size of render targets used for blur passes, and changing from rendering at 50% resolution to 100% resolution. These changes helped reduce the frame time needed for new effects like depth of field, light shafts and bloom, allowing the game to run at the target 30 FPS while fully rendering at native resolution and including the new features. The document provides technical details on implementing various post-processing effects and analyzing the rendering pipeline using tools like Game Analyzer to identify optimization opportunities.
A Fast Implicit Gaussian Curvature FilterYuanhao Gong
Minimizing Gaussian curvature is computationally expensive in traditional way. We present a new method that can minimize the Gaussian curvature without computing it. Our filter is 100 times faster than traditional solvers.
Stochastic Alternating Direction Method of MultipliersTaiji Suzuki
This document discusses stochastic optimization methods for solving regularized learning problems with structured regularization and large datasets. It proposes applying the alternating direction method of multipliers (ADMM) in a stochastic manner. Specifically, it introduces two stochastic ADMM methods for online data: RDA-ADMM, which extends regularized dual averaging with ADMM updates; and OPG-ADMM, which extends online proximal gradient descent with ADMM updates. These methods allow the regularization term to be optimized in batches, resolving computational difficulties, while the loss is optimized online using only a small number of samples per iteration.
The document discusses analyzing algorithms through mathematical analysis and order-of-growth hypotheses. It covers estimating running time through experiments that measure time as input size increases. Doubling the input size provides the exponent in a power law model. Order-of-growth hypotheses assume algorithms follow patterns like constant, logarithmic, linear, quadratic, or cubic time as a function of input size. Precise mathematical models are difficult but approximations suffice by focusing on dominant terms.
This document summarizes Rajesh Gandham's PhD thesis defense on high-order numerical methods for ocean modeling applications. The thesis goals are to develop accurate PDE models, leverage many-core hardware architectures, and use efficient algorithm techniques. The document outlines work on two-dimensional shallow water modeling using discontinuous Galerkin methods, a pasiDG simulator implementation, and preliminary work on three-dimensional oceanic modeling. Performance results are shown for the pasiDG simulator running on GPUs and CPUs for the 2004 Indian Ocean tsunami test case.
This document summarizes a course on numerical optimal transport given by Bruno Lévy. It discusses the goals and motivations behind optimal transport, providing an elementary introduction. Specifically, it covers:
1) Monge's formulation of optimal transport as finding a map that transports one distribution into another while minimizing movement.
2) Kantorovich's relaxation of this to finding a transport plan between distributions rather than a map.
3) The use of duality to solve the optimal transport problem via a minimization-maximization approach rather than directly solving the Monge or Kantorovich problems.
This thesis examines the return interval distribution of extreme events in long memory time series that have two different scaling exponents. It first reviews long memory processes and their characterization using fractional autoregressive integrated moving average (ARFIMA) models. It then derives an analytical expression for the return interval distribution when the time series has two scaling exponents, as supported by numerical simulations. The thesis also considers a long memory probability process with two exponents and compares the return interval distribution to analytical results.
Operation cost reduction in unit commitment problem using improved quantum bi...IJECEIAES
Unit Commitment (UC) is a nonlinear mixed integer-programming problem. UC used to minimize the operational cost of the generation units in a power system by scheduling some of generators in ON state and the other generators in OFF state according to the total power outputs of generation units, load demand and the constraints of power system. This paper proposes an Improved Quantum Binary Particle Swarm Optimization (IQBPSO) algorithm. The tests have been made on a 10-units simulation system and the results show the improvement in an operation cost reduction after using the proposed algorithm compared with the ordinary Quantum Binary Particle Swarm Optimization (QBPSO) algorithm
This thesis examines approximate dynamic programming methods for optimizing residential water heating systems. It formulates the water heating problem as a discrete-time, average cost periodic Markov decision process (MDP) to minimize operating costs and customer discomfort over an infinite horizon. The methodology section describes solving the MDP using finite-horizon dynamic programming and average cost dynamic programming for periodic MDPs via relative value iteration. Results from numerical simulations will evaluate different control policies, including set-point methods, temperature aggregation, and usage history aggregation. Extensions to solar water heating and automated demand response are also discussed.
Optimization of Unit Commitment Problem using Classical Soft Computing Techni...IRJET Journal
The document describes using a particle swarm optimization (PSO) algorithm to solve the unit commitment problem (UCP) in electrical power systems. The UCP involves determining the optimal daily startup and shutdown schedule for power generating units to minimize costs while meeting demand and operational constraints. PSO is a soft computing technique inspired by animal social behavior that is applied to find near-optimal solutions. Test results are presented applying PSO to solve the UCP for 6-unit and 10-unit power system models using load data over a 24-hour period. The results demonstrate the effectiveness of PSO for solving the short-term UCP.
Practical Spherical Harmonics Based PRT MethodsNaughty Dog
The document summarizes methods for compressing precomputed radiance transfer (PRT) coefficients using spherical harmonics. It presents 4 methods with progressively higher compression ratios: Method 1 uses 9 bytes by removing a factor and scaling, Method 2 uses 6 bytes with a bit field allocation, Method 3 uses 6 bytes with a Lloyd-Max non-uniform quantizer, and Method 4 achieves 4 bytes with a different bit allocation. The methods are evaluated based on storage size, reconstruction quality, and rendering performance.
This document describes a project to design a ball catching manipulator using a 2 degree of freedom robotic arm and webcam vision. The project involves selecting a 2 DOF manipulator, developing the inverse kinematics, generating trajectories to catch the ball using projectile motion equations, detecting the ball using image processing in the webcam footage, and transferring coordinate frames. Future work includes implementing the simulation with a Dynamixel robotic arm and using a Kinect for 3D detection and depth sensing.
Introduction to computing Processing and performance.pdfTulasiramKandula1
This document discusses analyzing the performance of computer programs through empirical analysis and mathematical modeling. It provides an example of empirically analyzing the running time of a 3-sum problem algorithm by running experiments with increasing input sizes, measuring times, plotting the results, and fitting the data to a mathematical model. The analysis suggests the algorithm runs in O(N3) time. Doubling the input size and verifying the predicted running time supports the performance hypothesis.
The document discusses numerical methods for solving mathematical problems. It begins by defining numerical methods as algorithms used to obtain numerical solutions when an analytical solution does not exist or is difficult to obtain. It then provides the Navier-Stokes equations as an example of equations that require numerical methods to solve. The document concludes by discussing the importance of numerical accuracy and computation time for numerical methods.
Collision detection and resolution in games involves two main techniques: overlap testing and intersection testing. Overlap testing detects collisions that have already occurred by testing object pairs for overlap each simulation step, while intersection testing predicts future collisions by extruding object geometry and testing for intersections. Resolving a detected collision involves three parts: a prologue to prepare, applying collision response logic at the collision point, and an epilogue to propagate effects. Complex geometry is typically simplified for collision testing using bounding volumes.
Bayesian Experimental Design for Stochastic Kinetic ModelsColin Gillespie
In recent years, the use of the Bayesian paradigm for estimating the optimal experimental design has increased. However, standard techniques are
computationally intensive for even relatively small stochastic kinetic models. One solution to this problem is to couple cloud computing with a model emulator.
By running simulations simultaneously in the cloud, the large design space can be explored. A Gaussian process is then fitted to this output, enabling the
optimal design parameters to be estimated.
This document discusses porting the Gyrokinetic Tokamak Solver (GTS) plasma turbulence simulation code to GPUs using CUDA. GTS uses a particle-in-cell approach to simulate plasma fusion in tokamaks. The most computationally intensive part of GTS, the "gather" step which interpolates field quantities to particle positions, was ported to CUDA kernels. This resulted in a 3-4x speedup for the full code and 5-10x speedup for the "gather" kernels. Testing on the Titan supercomputer showed good weak scaling up to 8000 nodes. Using an NVIDIA K40 GPU instead of a K20X provided an additional 20% performance improvement due to the
Distributed solution of stochastic optimal control problem on GPUsPantelis Sopasakis
Stochastic optimal control problems arise in many
applications and are, in principle,
large-scale involving up to millions of decision variables. Their
applicability in control applications is often limited by the
availability of algorithms that can solve them efficiently and within
the sampling time of the controlled system.
In this paper we propose a dual accelerated proximal
gradient algorithm which is amenable to parallelization and
demonstrate that its GPU implementation affords high speed-up
values (with respect to a CPU implementation) and greatly outperforms
well-established commercial optimizers such as Gurobi.
Ch-2 final exam documet compler design elementsMAHERMOHAMED27
The "Project Risk Management" course transformed me from a passive observer of risk to a proactive risk management champion. Here are some key learnings that will forever change my approach to projects:
The Proactive Mindset: I transitioned from simply reacting to problems to anticipating and mitigating them. The course emphasized the importance of proactive risk identification through techniques like brainstorming, SWOT analysis, and FMEA (Failure Mode and Effect Analysis). This allows for early intervention and prevents minor issues from snowballing into major roadblocks.
Risk Assessment and Prioritization: I learned to assess the likelihood and impact of each identified risk. The course introduced qualitative and quantitative risk analysis methods, allowing me to prioritize risks based on their potential severity. This empowers me to focus resources on the most critical threats to project success.
Developing Response Strategies: The course equipped me with a toolbox of risk response strategies. I learned about risk avoidance, mitigation, transference, and acceptance strategies, allowing me to choose the most appropriate approach for each risk. For example, I can now advocate for additional training to mitigate a knowledge gap risk or build buffer time into the schedule to address potential delays.
Communication and Monitoring: The course highlighted the importance of clear communication regarding risks. I learned to effectively communicate risks to stakeholders, ensuring everyone is aware of potential challenges and mitigation plans. Additionally, I gained valuable insights into risk monitoring and tracking, allowing for continuous evaluation and adaptation as the project progresses.
In essence, "Project Risk Management" equipped me with the knowledge and tools to navigate the inevitable uncertainties of projects. By embracing a proactive approach, I can now lead projects with greater confidence, increasing the chances of achieving successful outcomes.
1) The document describes the design of PD and PID controllers for a plant using root locus analysis and MATLAB simulations. A PD controller was designed to meet specifications for overshoot and settling time.
2) Next, a feedback compensation problem was analyzed where the minor loop was designed to meet specifications, and then the major loop was designed.
3) Finally, a PI controller was added to reduce the steady state error to zero for the major loop response. Simulations verified the designed system met all specifications.
dynamic programming complete by Mumtaz Ali (03154103173)Mumtaz Ali
The document discusses dynamic programming, including its meaning, definition, uses, techniques, and examples. Dynamic programming refers to breaking large problems down into smaller subproblems, solving each subproblem only once, and storing the results for future use. This avoids recomputing the same subproblems repeatedly. Examples covered include matrix chain multiplication, the Fibonacci sequence, and optimal substructure. The document provides details on formulating and solving dynamic programming problems through recursive definitions and storing results in tables.
The document discusses Particle Swarm Optimization (PSO) algorithms and their application in engineering design optimization. It provides an overview of optimization problems and algorithms. PSO is introduced as an evolutionary computational technique inspired by animal social behavior that can be used to find global optimization solutions. The document outlines the basic steps of the PSO algorithm and how it works by updating particle velocities and positions to track the best solutions. Examples of applications to model fitting and inductor design optimization are provided.
ODSC 2019: Sessionisation via stochastic periods for root event identificationKuldeep Jiwani
In todays world majority of information is generated by self sustaining systems like various kinds of bots, crawlers, servers, various online services, etc. This information is flowing on the axis of time and is generated by these actors under some complex logic. For example, a stream of buy/sell order requests by an Order Gateway in financial world, or a stream of web requests by a monitoring / crawling service in the web world, or may be a hacker's bot sitting on internet and attacking various computers. Although we may not be able to know the motive or intention behind these data sources. But via some unsupervised techniques we can try to infer the pattern or correlate the events based on their multiple occurrences on the axis of time. Associating a chain of events in order of time helps in doing a root event analysis. In certain cases a time ordered correlation and root event identification is good enough to automatically identify signatures of various malicious actors and take appropriate corrective actions to stop cyber attacks, stop malicious social campaigns, etc.
Sessionisation is one such unsupervised technique that tries to find the signal in a stream of events associated with a timestamp. In the ideal world it would resolve to finding periods with a mixture of sinusoidal waves. But for the real world this is a much complex activity, as even the systematic events generated by machines over the internet behave in a much erratic manner. So the notion of a period for a signal also changes in the real world. We can no longer associate it with a number, it has to be treated as a random variable, with expected values and associated variance. Hence we need to model "Stochastic periods" and learn their probability distributions in an unsupervised manner.
The main focus of this talk will be to showcase applied data science techniques to discover stochastic periods. There are many ways to obtain periods in data, so the journey would begin by a walk through of existing techniques like FFT (Fast Fourier Transform) then discuss about Gaussian Mixture Models. After highlighting the short comings of these techniques we will succinctly explain one of the most general non-parametric Bayesian approaches to solve this problem. Without going too deep in the complex math, we will get back to applied data science and discuss a much simpler technique that can solve the same problem if certain assumptions are satisfied.
In this talk we will demonstrate some time based pattern we discovered while working on a security analytics use case that uses Sessionisation. In the talk we will demonstrate such patterns based on an open source malware attack datasets that is available publicly.
Key concepts explained in talk: Sessionisation, Bayesian techniques of Machine Learning, Gaussian Mixture Models, Kernel density estimation, FFT, stochastic periods, probabilistic modelling, Bayesian non-parametric methods
This document describes a software tool called Polynomial Lattice Builder that is used to construct rank-1 polynomial lattice rules for quasi-Monte Carlo integration. It discusses the motivation for the tool, theoretical background on rank-1 polynomial lattice rules and figures of merit, an overview of the tool's features, examples of its applications, and conclusions. The tool allows users to choose parameters like the number of points, polynomial, dimension and construction method to generate optimal rank-1 polynomial lattice rules for their application.
This document discusses kinematics concepts related to particle dynamics, including:
1) Rectilinear and curvilinear motion, describing the position, velocity, and acceleration of particles moving along straight and curved paths. Formulas are provided for determining motion given acceleration as a function of time, position, or velocity.
2) Examples of uniform and uniformly accelerated rectilinear motion, where acceleration is zero or constant, providing equations for relating position, velocity, and acceleration over time.
3) Discussion of relative motion between particles moving along the same line, noting the importance of using a common reference for time and measuring displacements relative to each other.
This document provides an overview of an MIT OpenCourseWare course on elements of mechanical design. The course aims to teach students how to integrate their past engineering knowledge to design mechanical systems in a modular way. Key concepts from earlier courses like mechanics, dynamics, heat transfer and matrix math will be applied. Errors in mechanical systems are categorized as either systematic, which can be calibrated out, or non-systematic, which have a statistical nature. Students are assigned an exercise to diagram the components of a lathe and identify where different engineering principles would apply. The course emphasizes using a systems-level approach to link inputs and outputs in mechanical design.
I am Chuck L. I am a Control System Assignment Expert at matlabassignmentexperts.com. I hold a Ph.D. in Matlab, Glasgow University, UK. I have been helping students with their homework for the past 11 years. I solve assignments related to Control Systems.
Visit matlabassignmentexperts.com or email info@matlabassignmentexperts.com.
You can also call on +1 678 648 4277 for any assistance with Control System Assignments.
This document discusses unit commitment problems in power systems. It provides motivation for unit commitment by explaining constraints like ramping limits, startup costs, and minimum run times that go beyond economic dispatch. It then describes the basic formulation of static unit commitment as a mixed-integer program with binary variables indicating if a unit is on or off. The document provides an example application and discusses techniques for solving large-scale unit commitment problems, including branch and bound, dynamic programming, and Lagrangian relaxation.
This document discusses data collection, usage, and ethics in the workplace. It notes that employers commonly collect data from employee smartphones, computers, wearables and other devices including screenshots, location data, social media activity, emails and keystrokes. However, employees have expressed privacy and ethical concerns over employers' data collection and usage practices. While data collection can benefit employers for purposes like improving productivity and engagement, employees do not fully trust how employers will use their data and want more transparency around data practices to protect their privacy and rights. The document advocates for reliable data systems in the workplace with proper management of data and respect for law, ethics and gaining employee trust.
Python py charm anaconda jupyter installation and basic commandsSayed Ahmed
PyCharm and Anaconda are popular tools for Python development that provide integrated development environments (IDEs). PyCharm is an IDE that has features like code windows, project views, error views, and a Python console. It allows installing additional modules. Anaconda also provides an IDE with a Jupyter notebook for executing Python code line-by-line. Both tools make Python development easier by bundling commonly used packages and allowing visual coding and debugging.
[not edited] Demo on mobile app development using ionic frameworkSayed Ahmed
This document provides a summary of a demo on mobile app development using the Ionic framework:
1. The demo installs Ionic and its dependencies like Node.js, Cordova, JDK, and the Android SDK to allow for mobile app creation.
2. Using Ionic tools, a basic starter mobile app is generated and pushed to GitHub for version control.
3. Platform support is added for Android, and the app is tested in the browser using Ionic tools.
4. Existing mobile app code for a site is imported and integrated to demonstrate a complete Ionic mobile app that can be built for deployment.
This document provides instructions for installing SAP HANA, Express Edition on-premise or in the cloud. It explains that the on-premise installation involves downloading the installation manager and following the steps in section 1A. The cloud installation involves choosing from options like SAP Cloud Appliance Library, Google Cloud Platform, Microsoft Azure Marketplace or Docker Store and following the links in section 1B. It also provides a link to the SAP Community Network for help on getting started with the installation and configuration.
The document discusses various risks involved in stock market investing and strategies to mitigate those risks. It recommends diversifying investments across different asset classes like real estate, stocks, bonds and preferred shares. Specific tips include not trying to time the market or rely on a single stock or asset, staying invested for the long-term through market cycles, and maintaining a diversified portfolio that includes both real estate and stock market investments.
This document provides an introduction and overview of Web API. It discusses what Web API is, how it compares to other technologies like SOAP and WCF, when to use Web API versus other options, and examples of creating a basic Web API using ASP.NET. Key points covered include that Web API makes it easy to build HTTP services for a broad range of clients, it is ideal for building RESTful applications, and examples demonstrate creating a Web API with controllers and consuming it using jQuery.
Whm and cpanel overview hosting control panel overviewSayed Ahmed
The document provides an overview and demonstration of the WHM and cPanel hosting control panels. It discusses some of the key features like creating email accounts, managing databases, backups, and security modules. The demonstration shows various sections for managing servers, domains, and hosting accounts. It also provides contact information for additional services offered related to hosting, software development, and online training.
Web application development using zend frameworkSayed Ahmed
The document provides an overview of developing web applications and web services using the Zend Framework. It discusses the key features of Zend Framework, including its object-oriented PHP architecture, support for MVC patterns, and components for forms, authentication, authorization and database abstraction. It then outlines the basic steps for creating a sample project using Zend Framework, such as setting up the project structure, configuring the application, defining controllers and views.
This document provides an overview of HTML and web development. It introduces HTML, describes common HTML tags and page sections, and discusses how to design web page layouts. It also outlines the steps to publish a website, including domain registration, hosting, and search engine optimization. The document lists various web servers and provides video links on client-side and server-side programming and building a simple website. Contact information and links to free online training resources are also included.
This document outlines the syllabus for a course on website development. It discusses the structure and layout of websites, including hierarchical, linked, sequential, and hybrid structures. It also covers the differences between static and dynamic websites and the languages used to create each type. Examples of videos related to website development are provided. Contact information for the instructor and information about free training opportunities from Justetc Technologies are listed at the end.
This document provides an overview of key concepts related to web design including:
- The structure of websites and webpages
- Common elements such as domains, URLs, and web browsers
- An introduction to HTML and publishing webpages
- Client-side and server-side programming
- Examples of the presenter's websites for training and education
This document outlines various keyboard shortcuts for the Visual Studio IDE related to finding and replacing text, debugging code, and navigating code. Some of the key shortcuts include Ctrl+F to find text, F5 to start debugging, F10 to step over code, F11 to step into code, and Ctrl+Shift+F to find text across files.
Virtualization refers to the creation of virtual versions of hardware platforms, operating systems, storage devices and network resources. There are different types of virtualization including hardware virtualization, which creates virtual machines that act like physical computers running their own guest operating systems. Other types are desktop virtualization, software virtualization, memory virtualization, storage virtualization, data virtualization, and network virtualization. Virtualization provides benefits like consolidating resources and isolating systems.
The document discusses fundamentals of game user interface design. It covers topics like general principles of interface design, processes for designing interfaces, interaction models, camera models, common visual and audio elements, and input devices. The document emphasizes that the user interface is crucial to the player experience and satisfaction with the game. It provides guidance on informing players of necessary information, enabling player actions, and managing complexity in interfaces.
This document provides resources for learning the Unreal game engine including video tutorials from the Unreal Development Network on topics like user interfaces, content browsers, importing objects, view port options, sound effects, physics, and UI scenes. It also provides a link to a tutorial on creating a first map file in Unreal and links to the overall Unreal documentation.
Unit tests in Symfony verify that individual methods and functions work properly while functional tests check overall application behavior. Unit tests are stored in the test/unit/ directory and functional tests are stored in test/functional/. Popular testing libraries for Symfony include Lime and PHPUnit. Lime tests methods by calling functions with inputs and comparing outputs to expected results. Code coverage tools help ensure all code is tested by checking which lines are executed by tests.
This document discusses installing and setting up a Telerik reporting project example. It mentions downloading sample code and the Telerik reporting tool from their website. It then notes opening the project in Visual Studio, which complained about reporting, so the reporting tool was downloaded and will be installed.
The document discusses the history and development of business analysis as a profession. It emerged in the 1980s-1990s during the information technology boom, as businesses needed a new way to analyze changes brought about by advances in information management and communication. The document outlines the key knowledge areas, responsibilities, and skills of business analysts. It also discusses the relationship between business analysts and project managers, and provides resources for further reading.
The document discusses using Doctrine as an ORM (object-relational mapper) with Symfony. It explains how Doctrine can map database tables to PHP classes to allow interacting with the database using objects. It provides details on using YAML files to define the schema and configure the database connection. It also describes generating models, SQL, fixtures and modules to provide basic CRUD functionality using the defined models.
The document discusses various topics related to storytelling and narrative in game design, including how to weave a story into a game without overwhelming gameplay. It examines linear and non-linear storytelling, scripted conversations, and episodic storytelling. Key concepts covered include interactive stories, narrative, branching stories, and balancing narrative with gameplay.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...alexjohnson7307
Predictive maintenance is a proactive approach that anticipates equipment failures before they happen. At the forefront of this innovative strategy is Artificial Intelligence (AI), which brings unprecedented precision and efficiency. AI in predictive maintenance is transforming industries by reducing downtime, minimizing costs, and enhancing productivity.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3Data Hops
Free A4 downloadable and printable Cyber Security, Social Engineering Safety and security Training Posters . Promote security awareness in the home or workplace. Lock them Out From training providers datahops.com
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Tatiana Kojar
Skybuffer AI, built on the robust SAP Business Technology Platform (SAP BTP), is the latest and most advanced version of our AI development, reaffirming our commitment to delivering top-tier AI solutions. Skybuffer AI harnesses all the innovative capabilities of the SAP BTP in the AI domain, from Conversational AI to cutting-edge Generative AI and Retrieval-Augmented Generation (RAG). It also helps SAP customers safeguard their investments into SAP Conversational AI and ensure a seamless, one-click transition to SAP Business AI.
With Skybuffer AI, various AI models can be integrated into a single communication channel such as Microsoft Teams. This integration empowers business users with insights drawn from SAP backend systems, enterprise documents, and the expansive knowledge of Generative AI. And the best part of it is that it is all managed through our intuitive no-code Action Server interface, requiring no extensive coding knowledge and making the advanced AI accessible to more users.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
4. 4
Why Physics?
The Human Experience
Real-world motions are physically-based
Physics can make simulated game worlds appear
more natural
Makes sense to strive for physically-realistic
motion for some types of games
Emergent Behavior
Physics simulation can enable a richer gaming
experience
5. 5
Why Physics?
Developer/Publisher Cost Savings
Classic approaches to creating realistic motion:
Artist-created keyframe animations
Motion capture
Both are labor intensive and expensive
Physics simulation:
Motion generated by algorithm
Theoretically requires only minimal artist input
Potential to substantially reduce content development
cost
6. 6
High-level Decisions
Physics in Digital Content Creation Software:
Many DCC modeling tools provide physics
Export physics-engine-generated animation as
keyframe data
Enables incorporation of physics into game
engines that do not support real-time physics
Straightforward update of existing asset creation
pipelines
Does not provide player with the same emergent-
behavior-rich game experience
Does not provide full cost savings to
developer/publisher
7. 7
High-level Decisions
Real-time Physics in Game at Runtime:
Enables the emergent behavior that provides
player a richer game experience
Potential to provide full cost savings to
developer/publisher
May require significant upgrade of game engine
May require significant update of asset creation
pipelines
May require special training for modelers,
animators, and level designers
Licensing an existing engine may significantly
increase third party middleware costs
8. 8
High-level Decisions
License vs. Build Physics Engine:
License middleware physics engine
Complete solution from day 1
Proven, robust code base (in theory)
Most offer some integration with DCC tools
Features are always a tradeoff
9. 9
High-level Decisions
License vs. Build Physics Engine:
Build physics engine in-house
Choose only the features you need
Opportunity for more game-specific optimizations
Greater opportunity to innovate
Cost can be easily be much greater
No asset pipeline at start of development
11. 11
The Beginning: Particle
Physics
What is a Particle?
A sphere of finite radius with a perfectly smooth,
frictionless surface
Experiences no rotational motion
Particle Kinematics
Defines the basic properties of particle motion
Position, Velocity, Acceleration
12. 12
Location of Particle in World Space
SI Units: meters (m)
Changes over time when object moves
p(t)
p ( t+
t)
Particle Kinematics - Position
zyx ppp ,,=p
13. 13
Particle Kinematics - Velocity
and Acceleration
Velocity (SI units: m/s)
First time derivative of position:
Acceleration (SI units: m/s2
)
First time derivative of velocity
Second time derivative of position
)(
)()(
lim)(
0
t
dt
d
t
ttt
t
t
p
pp
V =
∆
−∆+
=
→∆
)()()( 2
2
t
dt
d
t
dt
d
t pVa ==
14. 14
Newton’s 2nd
Law of Motion
Paraphrased – “An object’s change in velocity
is proportional to an applied force”
The Classic Equation:
m = mass (SI units: kilograms, kg)
F(t) = force (SI units: Newtons)
( ) ( )tmt aF =
15. 15
What is Physics Simulation?
The Cycle of Motion:
Force, F(t), causes acceleration
Acceleration, a(t), causes a change in velocity
Velocity, V(t) causes a change in position
Physics Simulation:
Solving variations of the above equations over
time to emulate the cycle of motion
16. 16
Example: 3D Projectile Motion
Constant Force
Weight of the projectile, W = mg
g is constant acceleration due to gravity
Closed-form Projectile Equations of Motion:
These closed-form equations are valid, and
exact*, for any time, t, in seconds, greater than or
equal to tinit
( )initinit ttt −+= gVV )(
( ) ( )2
2
1
)( initinitinitinit ttttt −+−+= gVpp
17. 17
Example: 3D Projectile Motion
Initial Value Problem
Simulation begins at time tinit
The initial velocity, Vinit and position, pinit, at time tinit,
are known
Solve for later values at any future time, t, based
on these initial values
On Earth:
If we choose positive Z to be straight up (away
from center of Earth), gEarth = 9.81 m/s2
:
2
m/s81.9,0.0,0.0ˆ −=−= kgEarthEarthg
19. 19
Choose Vinit to Hit a Stationary Target
ptarget is the stationary target location
We would like to choose the initial velocity, Vinit,
required to hit the target at some future time, thit.
Here is our equation of motion at time thit:
Solution in general is a bit tedious to derive…
Infinite number of solutions!
Hint: Specify the magnitude of Vinit, solve for its
direction
Concrete Example:
Target Practice
( ) ( )2
2
1
inithitinithitinitinittarget tttt −+−+= gVpp
20. 20
Choose Scalar launch speed, Vinit, and Let:
Where:
Concrete Example: Target
Practice
φφθφθ sin,cossin,coscos initinitinitinit VVV=V
( ) ( ) ( ) ( )
( ) ( )
( )θθ
φ
θθ
sincos
2
1
2
tan
sin;cos
,,,,
2
,,
22
2
2
,,
2
,,
,,
2
,,
2
,,
,,
+
+−+
=
−+
−±
=
−−−
−
=
−−−
−
=
xinityinitxtargetytarget
init
zinitztarget
initinit
yinitytargetxinitxtarget
yinitytarget
yinitytargetxinitxtarget
xinitxtarget
pppp
A
A
V
g
pp
V
A
g
V
A
gAA
pppp
pp
pppp
pp
21. 21
If Radicand in tanφ Equation is Negative:
No solution. Vinit is too small to hit the target
Otherwise:
One solution if radicand == 0
If radicand > 0, TWO possible launch angles, φ
Smallest φ yields earlier time of arrival, thit
Largest φ yields later time of arrival, thit
Concrete Example:
Target Practice
solution!nothen,0
2
1
2if ,,
22
2
<
−+
− zinitztarget
initinit
pp
V
A
g
V
A
gA
22. 22
969.31
Target Practice –
A Few Examples
Vinit = 25 m/s
Value of Radicand of tanφ equation:
Launch angle φ: 19.4 deg or 70.6 deg
0.00
5.00
10.00
15.00
20.00
25.00
30.00
35.00
40.00
45.00
0.00 20.00 40.00 60.00
Horizontal Position (m)
VerticalPosition(m)
Projectile Launch
Position
Target Position
Trajectory 1 - High
Angle, Slow Arrival
Trajectory 2 - Low
Angle, Fast Arrival
23. 23
Target Practice –
A Few Examples
0.00
5.00
10.00
15.00
20.00
25.00
30.00
35.00
40.00
45.00
0.00 20.00 40.00 60.00
Horizontal Position (m)
VerticalPosition(m)
Projectile Launch
Position
Target Position
Trajectory 1 - High
Angle, Slow Arrival
Trajectory 2 - Low
Angle, Fast Arrival
60.2
Vinit = 20 m/s
Value of Radicand of tanφ equation:
Launch angle φ: 39.4 deg or 50.6 deg
24. 24
Target Practice –
A Few Examples
0.00
5.00
10.00
15.00
20.00
25.00
30.00
35.00
40.00
45.00
0.00 20.00 40.00 60.00
Horizontal Position (m)
VerticalPosition(m)
Projectile Launch
Position
Target Position
Trajectory 1 - High
Angle, Slow Arrival
Trajectory 2 - Low
Angle, Fast Arrival
13.2
Vinit = 19.85 m/s
Value of Radicand of tanφ equation:
Launch angle φ: 42.4 deg or 47.6 deg (note convergence)
25. 25
Target Practice – A Few
Examples
-290.4
Vinit = 19 m/s
Value of Radicand of tanφ equation:
Launch angle φ: No solution! Vinit too small to reach target!
0.00
5.00
10.00
15.00
20.00
25.00
30.00
35.00
40.00
45.00
0.00 20.00 40.00 60.00
Horizontal Position (m)
VerticalPosition(m)
Projectile Launch
Position
Target Position
Trajectory with farthest
reach barely
undershoots target
26. 26
Target Practice – A Few
Examples
2063
Vinit = 18 m/s
Value of Radicand of tanφ equation:
Launch angle φ: -6.38 deg or 60.4 deg
0.00
5.00
10.00
15.00
20.00
25.00
30.00
35.00
40.00
45.00
0.00 20.00 40.00 60.00
Horizontal Position (m)
VerticalPosition(m)
Projectile Launch
Position
Target Position
Trajectory 1 - High
Angle, Slow Arrival
Trajectory 2 - Low
Angle, Fast Arrival
27. 27
Target Practice –
A Few Examples
668
Vinit = 30 m/s
Value of Radicand of tanφ equation:
Launch angle φ: 39.1 deg or 75.2 deg
0.00
5.00
10.00
15.00
20.00
25.00
30.00
35.00
40.00
45.00
0.00 20.00 40.00 60.00
Horizontal Position (m)
VerticalPosition(m)
Projectile Launch
Position
Target Position
Trajectory 1 - High
Angle, Slow Arrival
Trajectory 2 - Low
Angle, Fast Arrival
29. 29
What is Numerical
Simulation?
Equations Presented Above
They are “closed-form”
Valid and exact for constant applied force
Do not require time-stepping
Just determine current game time, t, using system timer
e.g., t = QueryPerformanceCounter /
QueryPerformanceFrequency or equivalent on Microsoft®
Windows®
platforms
Plug t and tinitinto the equations
Equations produce identical, repeatable, stable results,
for any time, t, regardless of CPU speed and frame rate
30. 30
What is Numerical
Simulation?
The above sounds perfect
Why not use those equations always?
Constant forces aren’t very interesting
Simple projectiles only
Closed-form solutions rarely exist for interesting (non-
constant) forces
We need a way to deal when there is no closed-form
solution…
Numerical Simulation represents a series of techniques for
incrementally solving the equations of motion when forces applied to an
object are not constant, or when otherwise there is no closed-form solution
31. 31
Finite Difference Methods
What are They?
The most common family of numerical techniques
for rigid-body dynamics simulation
Incremental “solution” to equations of motion
Derived using truncated Taylor Series expansions
See text for a more detailed introduction
“Numerical Integrator”
This is what we generically call a finite difference
equation that generates a “solution” over time
32. 32
Finite Difference Methods
The Explicit Euler Integrator:
Properties of object are stored in a state vector, S
Use the above integrator equation to incrementally update S
over time as game progresses
Must keep track of prior value of S in order to compute the new
For Explicit Euler, one choice of state and state derivative for
particle:
( ) ( ) ( )
derivativestate
statepriorstatenew
t
dt
d
tttt SSS ∆+=∆+
pVS ,m= VFS ,=dtd
33. 33
Explicit Euler Integration
F=Weight = mg Vinitpinit
Vinit = 30 m/s
Launch angle, φ: 75.2 deg (slow arrival)
Launch angle, θ: 0 deg (motion in world xz plane)
Mass of projectile, m: 2.5 kg
Target at <50, 0, 20> meters
tinit
Time p x p y p z mV x mV y mV z F x F y F z V x V y V z
5.00 10.00 0.00 2.00 19.20 0.00 72.50 0.00 0.00 -24.53 7.68 0.00 29.00
Velocity (m/s)Position (m) Linear Momentum (kg-m/s) Force (N)
mVinit
S = <mVinit, pinit > dS/dt = <mg,Vinit>
35. 35
A Tangent: Truncation Error
The previous slide highlights values in the numerical solution
that are different from the exact, closed-form solution
This difference between the exact solution and the numerical
solution is primarily truncation error
Truncation error is equal and opposite to the value of terms that
were removed from the Taylor Series expansion to produce the
finite difference equation
Truncation error, left unchecked, can accumulate to
cause simulation to become unstable
This ultimately produces floating point overflow
Unstable simulations behave unpredictably
36. 36
A Tangent: Truncation Error
Controlling Truncation Error
Under certain circumstances, truncation error can
become zero, e.g., the finite difference equation
produces the exact, correct result
For example, when zero force is applied
More often in practice, truncation error is nonzero
Approaches to control truncation error:
Reduce time step, ∆t
Select a different numerical integrator
See text for more background information and
references
38. 38
Explicit Euler Integration –
Truncation Error
(1/∆t) * Truncation Error is a linear (first-
order) function of ∆t: explicit Euler
Integration is First-Order-Accurate in
time
This accuracy is denoted by “O(∆t)”
0.00
0.20
0.40
0.60
0.80
1.00
0.00 0.05 0.10 0.15 0.20 0.25
∆t(secs)
(1/t)*TruncationError
39. 39
Explicit Euler Integration -
Computing Solution Over Time
0.00
10.00
20.00
30.00
40.00
50.00
0.00 20.00 40.00 60.00
Horizontal Position (m)
VerticalPosition(m)
Projectile Launch
Position
Target Position
Closed-Form
Explicit Euler
The solution proceeds step-by-step, each
time integrating from the prior state
Time p x p y p z mV x mV y mV z F x F y F z V x V y V z
5.00 10.00 0.00 2.00 19.20 0.00 72.50 0.00 0.00 -24.53 7.68 0.00 29.00
5.20 11.54 0.00 7.80 19.20 0.00 67.60 0.00 0.00 -24.53 7.68 0.00 27.04
5.40 13.07 0.00 13.21 19.20 0.00 62.69 0.00 0.00 -24.53 7.68 0.00 25.08
5.60 14.61 0.00 18.22 19.20 0.00 57.79 0.00 0.00 -24.53 7.68 0.00 23.11
M M M M M
10.40 51.48 0.00 20.87 19.20 0.00 -59.93 0.00 0.00 -24.53 7.68 0.00 -23.97
Velocity (m/s)Position (m) Linear Momentum (kg-m/s) Force (N)
40. 40
Finite Difference Methods
The Verlet Integrator:
Must store state at two prior time steps, S(t) and S(t-∆t)
Uses second derivative of state instead of the first
Valid for constant time step only (as shown above)
For Verlet, choice of state and state derivative for a particle:
pS = aFS == mdtd /
22
( ) ( ) ( ) ( )
derivativestate
2
2
2
2stateprior1statepriorstatenew
)(2
∆+∆−−=∆+ t
dt
d
tttttt SSSS
41. 41
Verlet Integration
a=<0,0,-g>p
S = <p> d2
S/dt2
= <a>
)(,)( 2
2
initinit t
dt
d
t SS
)(,)( 2
2
tt
dt
d
tt initinit ∆+∆+ SS
Since Verlet requires two prior values of state, S(t) and S(t-∆t),
you must use some method other than Verlet to produce the
first numerical state after start of simulation, S(tinit+∆t)
Solution: Use explicit Euler integration to produce S(tinit+∆t), then
Verlet for all subsequent time steps
Time p x p y p z a x a y a z
5.00 10.00 0.00 2.00 0.00 0.00 -9.81
5.20 11.54 0.00 7.80 0.00 0.00 -9.81
Position (m) Acceleration (m/s2
)
42. 42
The solution proceeds step-by-step, each time integrating from the prior
two states
For constant acceleration, Verlet integration produces results identical
to those of explicit Euler
But, results are different when non-constant forces are applied
Verlet Integration tends to be more stable than explicit Euler for
generalized forces
Time p x p y p z a x a y a z
5.00 10.00 0.00 2.00 0.00 0.00 -9.81
5.20 11.54 0.00 7.80 0.00 0.00 -9.81
5.40 13.07 0.00 13.21 0.00 0.00 -9.81
5.60 14.61 0.00 18.22 0.00 0.00 -9.81
5.80 16.14 0.00 22.85 0.00 0.00 -9.81
6.00 17.68 0.00 27.08 0.00 0.00 -9.81
M M M
10.40 51.48 0.00 20.87 0.00 0.00 -9.81
Position (m) Acceleration (m/s2
)
Verlet Integration
S(t+∆t)
S(t)
S(t-∆t)
)(2
2
t
dt
d
S
44. 44
Generalized Rigid Bodies
Key Differences from Particles
Not necessarily spherical in shape
Position, p, represents object’s center-of-mass location
Surface may not be perfectly smooth
Friction forces may be present
Experience rotational motion in addition to translational
(position only) motion
45. 45
Generalized Rigid Bodies –
Simulation
Angular Kinematics
Orientation, 3x3 matrix R or quaternion, q
Angular velocity, ω
As with translational/particle kinematics, all properties are
measured in world coordinates
Additional Object Properties
Inertia tensor, J
Center-of-mass
Additional State Properties for Simulation
Orientation
Angular momentum, L=Jω
Corresponding state derivatives
46. 46
Generalized Rigid Bodies -
Simulation
Torque
Analogous to a force
Causes rotational acceleration
Cause a change in angular momentum
Torque is the result of a force (friction, collision response,
spring, damper, etc.)
47. 47
Generalized Rigid Bodies –
Numerical Simulation
Using Finite Difference Integrators
Translational components of state <mV, p> are the same
S and dS/dt are expanded to include angular momentum and
orientation, and their derivatives
Be careful about coordinate system representation for J, R, etc.
Otherwise, integration step is identical to the translation only case
Additional Post-integration Steps
Adjust orientation for consistency
Adjust updated R to ensure it is orthogonal
Normalize q
Update angular velocity, ω
See text for more details
48. 48
Collision Response
Why?
Performed to keep objects from interpenetrating
To ensure behavior similar to real-world objects
Two Basic Approaches
Approach 1: Instantaneous change of velocity at time of
collision
Benefits:
Visually the objects never interpenetrate
Result is generated via closed-form equations, and is perfectly
stable
Difficulties:
Precise detection of time and location of collision can be
prohibitively expensive (frame rate killer)
Logic to manage state is complex
49. 49
Collision Response
Two Basic Approaches (continued)
Approach 2: Gradual change of velocity and position over
time, following collision
Benefits
Does not require precise detection of time and location of collision
State management is easy
Potential to be more realistic, if meshes are adjusted to deform
according to predicted interpenetration
Difficulties
Object interpenetration is likely, and parameters must be tweaked
to manage this
Simulation can be subject to numerical instabilities, often requiring
the use of implicit finite difference methods
50. 50
Final Comments
Instantaneous Collision Response
Classical approach: Impulse-momentum equations
See text for full details
Gradual Collision Response
Classical approach: Penalty force methods
Resolve interpenetration over the course of a few integration
steps
Penalty forces can wreak havoc on numerical integration
Instabilities galore
Implicit finite difference equations can handle it
But more difficult to code
Geometric approach: Ignore physical response equations
Enforce purely geometric constraints once interpenetration has
occurred
51. 51
Fixed Time Step Simulation
Numerical simulation works best if the simulator uses
a fixed time step
e.g., choose ∆t = 0.02 seconds for physics updates of 1/50
second
Do not change ∆t to correspond to frame rate
Instead, write an inner loop that allows physics simulation to
catch up with frame rate, or wait for frames to catch up with
physics before continuing
This is easy to do
Read the text for more details and references!
52. 52
Final Comments
Simple Games
Closed-form particle equations may be all you
need
Numerical particle simulation adds flexibility
without much coding effort
Collision detection is probably the most difficult
part of this
Generalized Rigid Body Simulation
Includes rotational effects and interesting (non-
constant) forces
See text for details on how to get started
53. 53
Final Comments
Full-Up Simulation
The text and this presentation just barely touch the surface
Additional considerations
Multiple simultaneous collision points
Articulating rigid body chains, with joints
Friction, rolling friction, friction during collision
Mechanically applied forces (motors, etc.)
Resting contact/stacking
Breakable objects
Soft bodies
Smoke, clouds, and other gases
Water, oil, and other fluids
Editor's Notes
This presentation focuses on the more introductory subjects from the text, and so there is far more detail in basic particle simulation than generalized rigid body simulation. Refer to the text and references for more details on generalized simulation.
At the present time, asset creation tools are not mature enough for physics to be as automatic as we would like. It currently requires quite a bit of work to get physics “right.” And so the cost of putting physics into a game may not be significantly cheaper than traditional animation approaches at this time. This should change as the physics tools improve.
Artists should not worry that physics simulations will soon take over their jobs. This is particularly true for character and character-like animation. Physics and AI engines aren’t to the level yet where they can properly simulate the personality of characters that shows through in their motions!
Traditional theoretical physics defines a particle as a mass with no volume. We loosen the definition here since we are going to skip over quite a bit of very low level background material
The importance of using consistent units cannot be stressed strongly enough. Read the text for more details.
Here, the quantity in parentheses, (t) and (t+Dt), indicates that a value is a function of (t) rather than multiplication by (t) or (t+Dt)
Here, the terms on the right such as g(t-tinit) indicate multiplication by (t-tinit), rather than g being a function of (t-tinit). The perils of inconsistent and contradictory notation exist throughout math and science. See Chapter Zero in Jim Blinn’s book, Notation, Notation, Notation, for further enlightenment related to this fact!
*IMPORTANT NOTE: The closed form equations are exact; HOWEVER, they are only exact when the gravitational field is truly uniform, acting in the same direction throughout the gravitational field. In real life, on real planets, this is not the case, since when you move across the surface the direction to the center of mass of the planet changes. (In real life acceleration due to gravity doesn’t even act exactly towards the center of the planet, since the mass distribution of the planet isn’t constant, and fluctuates ever so subtly). But, for objects moving relatively small distances over the surface of large planets, the assumption of constant g is quite accurate. For space craft simulation, where the distance from the object to planet center is much larger than the planet radius, the assumption of constant g breaks down and isn’t at all accurate. The next step up is to use a central force approximation and use conservation of angular momentum to model the orbital motion. Could also just calculate the force due to gravity based on the relative location of two masses, using Newton’s Law of Universal Gravitation (or something more exotic).
Under constant gravitional acceleration, projectile path is a parabola
pinit=&lt;10,0,11&gt; meters
ptarget-=&lt;50,0,11&gt; meters
g=9.81 meters per second squared
When Vinit reaches the critical value (producing radicand == 0), the launch angle, phi, will become exactly 45 degrees for the case where the projectile launch altitude and target altitude are the same.
The launch angle producing the trajectory with the farthest reach is phi = 45 degrees.
By “closed-form” we mean the solution is one or more simple algebraic equations that we can immediately solve for the object’s exact position or velocity at any time in the future, without time-stepping, based on the conditions at the start of the simulation.
Numerical “solutions” are never true solutions. They are approximate solutions. Their very derivation introduces error, called truncation error, that is always present in finite difference methods.
In some VERY special cases, the truncation error in finite difference simulation can be exactly zero. For example, if velocity is constant (zero acceleration), the truncated Taylor series used to derive the explicit Euler finite difference integrator has zero truncation error since the higher-order derivatives are exactly zero. In this case, the numerical method is identical to the closed-form solution and apart from floating point roundoff produces exact results. As in the prior slides, these situations are not usually very interesting!
Initial state and state derivative are derivated from initial position and velocity
mV is the linear momentum of the particle. See text for more info.
Note that the numerical prediction for linear momentum is the same as the exact solution. This is because the first state derivative of linear momentum is a constant, mg. All of the higher-order time derivatives of linear momentum are exactly zero, and so the truncated Taylor series for explicit Euler integration happens to exactly represent linear momentum. Truncation error for these terms is zero, and the numerical solution is just as good as the closed-form solution. In fact, you can show that it turns out to be exactly the same as the equation on slide #14 for V(t), multiplied by m to obtain a linear momentum equation.
Also note that the numerical prediction of px and py are exact. This is because the velocity is constant in x and y. The acceleration (second derivative of state) is zero in x and y and so in these two directions the truncated Taylor series (which does not contain second or higher time derivatives) happens to be exact.
In z, however, pz for the numerical prediction is NOT correct. Reason being, the acceleration is nonzero and the truncated Taylor series for explicit Euler integration of position does not contain the second time derivative of position.
Explicit Euler integration is what is known as a consistent numerical method. This means that as the time step, t, is reduced, the solution approaches the exact solution. If Dt goes to zero in the limit,explicit Euler would produce the exact, perfect solution.
We can estimate truncation error easily if we know the exact solution (which we only rarely do----constant force motion is one such case), by just computing the difference between the numerical solution and the exact solution.
The truncation errors are not directly comparable until we normalize them by dividing by the time step, e.g., we can directly compare (truncation_error / Dt) for different values of Dt.
This is only an estimate because floating point roundoff error is also present, in both the numerical solution and the computed “exact” solution. So the “truncation error” above is really “truncation error + floating point roundoff effects”
It actually is possible to estimate truncation error even if we don’t know the exact solution. We can use other finite difference formulas to numerically compute an estimate to the truncation error. This is of interest to hardcore numerical mathematicians who wish to observe the behavior of error as a complex problem progresses.
Using results from the prior slide, this chart illustrates that explicit Euler integration if first-order accurate in time, e.g., truncation error grows as a linear function of Dt.
The truncation error clearly goes to zero when Dt goes to zero, in the limit. This is a characteristic of a consistent numerical method. The only valid numerical methods are those that are consistent, whose error goes to zero in the limit as Dt goes to zero.
For more general problems, e.g., those with non-constant forces, the truncation error remains O(t); however, in practice the error is never a perfectly linear curve (or, for O(Dt2) methods, a perfect parabola, etc.)
See the text and references for more details on truncation error
pinit=&lt;10,0,2&gt; meters
ptarget-=&lt;50,0,20&gt; meters
Vinit=30 meters per second
IMPORTANT NOTE: The only way to properly use the Verlet integrator shown above is to choose a fixed time step, Dt, for physics simulation. The very derivation of the Verlet finite difference integrator is based on the assumption of a fixed time step!
Verlet integration as documented here does not track velocity. In order to track velocity, use another integrator, such as explicit Euler, in parallel with Verlet, e.g., use explicit Euler to track velocity and Verlet to track position.