From 06d4471b18c28f4b9204d406afbc33d3fb3cefdc Mon Sep 17 00:00:00 2001 From: youainti Date: Thu, 15 Jul 2021 17:54:29 -0700 Subject: [PATCH] Checking in today's work --- CurrentWriting/Main.tex | 33 +++++++++++---- CurrentWriting/sections/00_Introduction.tex | 15 +++---- CurrentWriting/sections/01_LawsOfMotion.tex | 41 ++++++++++++++----- .../sections/02_KesslerSyndrome.tex | 26 +++++++----- CurrentWriting/sections/05_SocialPlanner.tex | 4 +- .../sections/07_ComputationalApproach.tex | 29 +++++++++---- 6 files changed, 102 insertions(+), 46 deletions(-) diff --git a/CurrentWriting/Main.tex b/CurrentWriting/Main.tex index c07fbdc..f06b691 100644 --- a/CurrentWriting/Main.tex +++ b/CurrentWriting/Main.tex @@ -18,19 +18,20 @@ \maketitle \section{Introduction} -\subfile{sections/00_Introduction} %TODO +\subfile{sections/00_Introduction} %Currently from past semesters. +%roughly done 2021-07-15 \section{Modeling the Environment} \subsection{Laws of Motion} -\subfile{sections/01_LawsOfMotion} %Needs headings fixed +\subfile{sections/01_LawsOfMotion} %Roughly done 2021-07-15 \subsubsection{Survival Analysis}\label{SEC:Survival} -\subfile{sections/03_SurvivalAnalysis} %TODO +\subfile{sections/03_SurvivalAnalysis} %roughly done 2021-07-14 \subsection{Kessler Syndrome}\label{SEC:Kessler} -\subfile{sections/02_KesslerSyndrome} -\subfile{sections/06_KesslerRegion} +\subfile{sections/02_KesslerSyndrome} %roughly done before 2021-07-14 +\subfile{sections/06_KesslerRegion} %roughly done before 2021-07-14 @@ -43,7 +44,7 @@ \subfile{sections/05_SocialPlanner} %TODO \section{Computation} -No work has been done here so far. +\subfile{sections/07_ComputationalApproach} %TODO \section{Assumptions and Caveats} I hope to write a section clearly explaining assumptions, caveats, and shortcomings here. @@ -55,7 +56,7 @@ I hope to write a section clearly explaining assumptions, caveats, and shortcomi \section{Appedicies} \subsection{Mathematical Notation} Needs completed. -\subsection{Deriving Marginal Survival Rates}\label{APX:Derivations:SurvivalRates} +%\subsection{Deriving Marginal Survival Rates}\label{APX:Derivations:SurvivalRates} %\subfile{sections/apx_01_MarginalSurvivalRates} \subsection{Deriving Euler Equations}\label{APX:Derivations:EulerEquations} @@ -63,3 +64,21 @@ Needs completed. \end{document} + +%%% Notes to keep track of +% Possible other things to investigate +% - Free-entry conditions: When for every type of operator, a stock of zero +% implies no entry (x = 0). +% +% +% +% +% +% +% +% +% +% +% +% +% diff --git a/CurrentWriting/sections/00_Introduction.tex b/CurrentWriting/sections/00_Introduction.tex index 0f0531c..d7308b2 100644 --- a/CurrentWriting/sections/00_Introduction.tex +++ b/CurrentWriting/sections/00_Introduction.tex @@ -2,7 +2,7 @@ \graphicspath{{\subfix{Assets/img/}}} \begin{document} -n September of 2019, the European Space Agency (ESA) released a tweet explaining that they had performed an +In September of 2019, the European Space Agency (ESA) released a tweet explaining that they had performed an maneuver to avoid a collision with a SpaceX Starlink Satellite in Low Earth Orbit (LEO)\autocite{EsaTweet}. While later reports\autocite{ArsTechnicaStatement} described it as the result of miscommunications, ESA used the opportunity to highlight the difficulties arising from coordinating avoidance maneuvers and how @@ -138,16 +138,13 @@ and follows the DSGE modelling approach chosen by Rao. It is distinguished from these most models by the way it accounts for the following factors: \begin{itemize} - \item Heterogeneous agent types, including commercial, scientific, and military. + \item Heterogeneous agent types (represented by utility functions), + including commercial, scientific, and military. + \item Neither constellations are not assumed to be symmetric. \item Collision avoidance efficiencies, i.e. within-constellation collisions are highly unlikely. - \item Constellations are not assumed to be symmetric. + \item Heterogeneous risk between various satellite constellations. \end{itemize} -Notably, I differ from \autocite{RaoRondina2020} by allowing constellations to be asymmetric. -\autocite{adilov_alexander_cunningham_2018} permit asymmetric constellations, but assume that all constellation operators are -profit maximizing firms operating in a competitive market with linear demand. -Both Adilov et al and Rao and Rondina assume that satellite destruction rates are the same across -constellations, and that the risk posed by an aditional satellite is the same both within -and without the constellation in which it is launched. +The heterogeneity that I permit is the distinguishing feature of the model. diff --git a/CurrentWriting/sections/01_LawsOfMotion.tex b/CurrentWriting/sections/01_LawsOfMotion.tex index a3b9454..b5cf8e1 100644 --- a/CurrentWriting/sections/01_LawsOfMotion.tex +++ b/CurrentWriting/sections/01_LawsOfMotion.tex @@ -26,7 +26,7 @@ Where $l^i(\cdot)$ represents the rate at which satellites are destroyed by coll Note that it is reasonable to assume that the loss of satellites to collisions should be increasing in the level of debris: $\parder{l^i}{D_t}{} >0$. -\paragraph{Collision Efficiencies} +\subsubsection{Collision Efficiencies} %TODO: Explain bit about constellation collision efficiencies. As demonstrated by \cite{reiland2020}, there are constellation designs by which an operator can minimize the risk of intra-constellation collisions. @@ -41,25 +41,43 @@ are operated for different purposes and require different orbital properties. %This could be explained as Coordination across time (time travel doesn't exist yet) This coordination is also complicated by the fact that constellations are not designed nor launched at the same time. +Thus although an operator may choos to minimize their total risk when launching +a constellation, later constellation formation will often add to the total risk. +It is important to note that satellite-on-satellite collisions are rare\footnote{ + I am only aware of one collision between satellites, + and one of them was abandon at the time.\cref{ListOfOrbitalIncidents} +} +but this is due to the fact that satellites that evasive maneuvers are usually taken +when collisions appear reasonably possible. -Consequent to these reasons, I believe the loss function $l^i$ should have the following properties related -to satellite stocks. + +Consequent to these reasons, I believe the loss function $l^i$ should have the +following properties related to satellite stocks. \begin{align} \parder{l^i}{s^k_t}{} > 0 ~~\forall k \in \{1,\dots,N)\\ \parder{l^i}{s^j_t}{} > \parder{l^i}{s^i_t}{} ~~\forall j\neq i \end{align} +Notably, an additional satellite in any constellation increases the probability of loosing +a satellite from a given constellation, and this risk is lower +for the home of the additional satellite. \subsection{Debris} Debris is generated by various processes, including: \begin{itemize} - \item Naturally occuring debris + \item Naturally occuring debris is captured from interplanetary space. \item Satellite launches, operations, failures, or intentional destruction. - \item Collisions between two satellites - \item Collisions between a satellite and debris - \item Collisions between pieces of debris + \item Collisions between + \begin{itemize} + \item Two satellites + \item A satellite and debris + \item Two pieces of debris + \end{itemize} + all generate more debris. \end{itemize} -Debris leaves orbit when atmospheric drag slows it down enough to reenter the atmosphere. +It leaves orbit when atmospheric drag slows it down enough to reenter the atmosphere. +Because the atmosphere is so negligible for many orbits, reentry can easily take decades +or centuries. These effects can be represented by the following general law of motion. \begin{align} @@ -68,10 +86,11 @@ These effects can be represented by the following general law of motion. For simplicity, I formulate this more specifically as: \begin{align} D_{t+1} = (1-\delta)D_t + g(D_t) - + \sum^N_{i=1} \gamma l^i(\{s^j_t\},D_t) - + \Gamma \sum^n_{j=1} \{x^j_t\} + + \sum^N_{i=1} \vec \gamma l^i(\{s^j_t\},D_t) + + \vec \Gamma \sum^n_{j=1} \{x^j_t\} \end{align} -where $\Gamma,\gamma$ represent the debris generated by each launch and collision respectively, +where $\vec \Gamma,\vec \gamma$ represent the debris generated by each +launch and collision respectively, while $\delta,g(\cdot)$ represent the decay rate of debris and the autocatalysis\footnote{ Using terminology from \cite(RaoRondina2020). diff --git a/CurrentWriting/sections/02_KesslerSyndrome.tex b/CurrentWriting/sections/02_KesslerSyndrome.tex index c88cc8e..c5a6303 100644 --- a/CurrentWriting/sections/02_KesslerSyndrome.tex +++ b/CurrentWriting/sections/02_KesslerSyndrome.tex @@ -9,15 +9,15 @@ A few methods have been used to model this behavior in the economics literature. The first one I want to explain was developed by \cite{Adilov2018}. They characterize kessler syndrome as the point in time at which an orbit is -unusable as each satellite launched will be destroyed within a single time period. +unusable as each satellite in orbit will be destroyed within a single time period. In my notation, this is that $l^i(\{s^j_t\}, D_t) = 1$. The benefit of this approach is that it is algebraically simple. -It was used in this role to show that firms will stop launching before +It was used in to show that firms will stop launching before orbits are rendered physically useless. Unfortunately, it does not convey the original intent of ``kessler syndrome'', i.e. a runaway pollution effect, but instead corresponds to the end result of kessler syndrome. -The second common definition of ``kessler syndrome'' is due to \cite{RaoRondina}. +The second definition of ``kessler syndrome'' is due to \cite{RaoRondina}. They define it in terms of a ``kessler region'', the set of satellite stocks and the debris level such that the limit of debris in the future is infinite. Mathematically this can be represented as: @@ -31,26 +31,32 @@ The issues it faces are generally the case of not delineating between kessler re with significantly different economic outcomes. % doesn't account for speed of divergence For example, one subset of the kessler region may render an orbital shell physically useless -within a decade, while another subset increases the risk of satellite destruction by 1\% every ten thousand years. +within a decade, while another subset increases the risk of satellite +destruction by 1\% every ten thousand years. The former is a global emergency, while the latter is effectively non-existant. % Not computable. -Finally, determining whether a series is divergent depends on constructing mathematical proofs. -This makes it difficult to computationally identify whether one is within kessler syndrome. +The last disadvantage I'd like to mention is that determining whether a +series is divergent depends on constructing mathematical proofs. +This makes it difficult to computationally identify whether a given state +constitutes as kessler syndrome. \subsection{Two approaches to kessler syndrome} +I propose to analyze kessler syndrome in two slightly more restricted +fashions than \cite{RaoRondina}, for which I term the regions + the $\epsilon$-kessler region and the proto-kesslerian region. -I propose to analyze kessler syndrome in a slightly more restricted fashion than \cite{RaoRondina}. -I would define the $\epsilon$-kessler region as: +First, define the $\epsilon$-kessler region as: \begin{align} \kappa = \left\{ \{s^j_t\}, D_t : \forall k \geq 0, D_{t+k+1} - D_{t+k} \geq \epsilon > 0 \right\} \end{align} %show that this is similar to saying that all non \epsilon kessler regions are bounded by the %derivative, i.e. are lipshiz -The continuous time equivalent of this condition is an upper bound on the derivative of debris generation, -thus leading to a lipshitz-like function. +The continuous time equivalent of this condition is defining the non-kessler regions by +an upper bound on the derivative of debris generation\footnote{A lipshitz-like condition}. + It is easily shown that this criteria is sufficient to guarantee Rao and Rondina's criteria. It has three primary benefits: diff --git a/CurrentWriting/sections/05_SocialPlanner.tex b/CurrentWriting/sections/05_SocialPlanner.tex index fa7d2fc..eccd371 100644 --- a/CurrentWriting/sections/05_SocialPlanner.tex +++ b/CurrentWriting/sections/05_SocialPlanner.tex @@ -14,7 +14,7 @@ The Social (Fleet) Planner's problem can be written in the bellman form as: + \Gamma \sum^N_{i=1} x^i_t \end{align} Some particular features of the model include: -\begin{align} +\begin{itemize} \item The single period welfare function consists only of constellation operators. Although satellites do deorbit and occasionally pose a risk to humans living on the earth's surface\footnote{Skylab fell in Australia, with some pieces landing near towns.} @@ -25,7 +25,7 @@ Some particular features of the model include: One justification is that no social planner could concieve of every use of orbit at any single point in time, and thus constellations are added sequentially. This allows only the intra-constellation benefits to be achived. -\end{align} +\end{itemize} \subsubsection{Euler Equation} In accordance with Appendix \cref{Appendix}, find the $N$ optimality conditions: diff --git a/CurrentWriting/sections/07_ComputationalApproach.tex b/CurrentWriting/sections/07_ComputationalApproach.tex index 70c156a..b276d71 100644 --- a/CurrentWriting/sections/07_ComputationalApproach.tex +++ b/CurrentWriting/sections/07_ComputationalApproach.tex @@ -2,7 +2,6 @@ \graphicspath{{\subfix{Assets/img/}}} \begin{document} -\subsection{Introduction to } The computational approach I have decided to take is an application of \cite{MALIAR2018}, where the policy function is approximated using a neural network. @@ -23,7 +22,7 @@ and various online accerators (Google Colab) which have been optimized for relatively high performance and straightforward development. -\subsection{Computational Plan} +\subsubsection{Computational Plan} I have decided to use python and the PyTorch Neural Network library for this project. The most difficult step is creating the euler equations. @@ -34,8 +33,8 @@ three general computational approaches exist: euler equations. This has the disadvantage of being (very) slow, but the advantage that for a single problem specification it only needs completed once. - It requires taking a matrix inverse, which can easily complicate formulas, - and is computationally expensive. + It requires taking a matrix inverse, which can easily complicate formulas + and is computationally complex, approximately $O(n^3)$ algorithm. \item Using numerical differentiation (ND). The primary issue with ND is that errors can grow quite quickly when performing algebra on numerical derivatives. @@ -75,7 +74,20 @@ utility functions, this can be constructed explicitly. Once these two functions are completed, they can be combined to create the euler equations, as described in appendix \ref{appx??}. -\subsection{Training} +%%% Is it FaFCCs or recursion that allows this to occur? +%%% I believe both are ways to approach the problem. +%\paragraph{Functions As First Class Citizens} +%The key computer science tool that makes this possible is the concept +%of ``functions as first class citizens'' (FaFCCs). +%In every computer language there are primitive values that functions +%operate on. +%When a language considers FaFCCs, functions are one of the primitives +%that functions can operate on. +%This is how we can get + +%AD in pytorch does not work by FaFCC though, instead constructing a computational graph. + +\paragraph{Training} With the euler equation and resulting loss function in place, standard training approachs can be used to fit the function. @@ -87,7 +99,7 @@ from the state space. If I can data on how satellites are and have been distributed, I plan on selecting from that distribution. -\subsections{Heterogeneous Agents} +\paragraph{Heterogeneous Agents} One key question is how to handle the case of heterogeneous agents. When the laws of motion depend on other agents' decisions, as is the case @@ -101,8 +113,11 @@ some of the mathemeatics that deeply. -\subsection{Existence concerns} +\subsubsection{Existence concerns} %check matrix inverses etc. % +I am currently working on a plan to guarantee existence of solutions. +Some of what I want to do is check numerically crucial values as well as +examine the necessary Inada conditions. \end{document}