diff --git a/3rdyearpresentation/Assets/preambles/References.bib b/3rdyearpresentation/Assets/preambles/References.bib index 64da484..3489e60 100644 --- a/3rdyearpresentation/Assets/preambles/References.bib +++ b/3rdyearpresentation/Assets/preambles/References.bib @@ -217,7 +217,7 @@ JEL Classification Nos.: H4, Q2}, url = {https://er.jsc.nasa.gov/seh/ricetalk.htm}, } -@Article{Flux.jl-2018, +@Article{Innes2018, author = {Michael Innes and Elliot Saba and Keno Fischer and Dhairya Gandhi and Marco Concetto Rudilosso and Neethu Mariya Joy and Tejan Karmali and Avik Pal and Viral Shah}, title = {Fashionable Modelling with Flux}, journal = {CoRR}, diff --git a/CurrentWriting/Main.tex b/CurrentWriting/Main.tex index 30af2f0..7183c00 100644 --- a/CurrentWriting/Main.tex +++ b/CurrentWriting/Main.tex @@ -73,20 +73,18 @@ and remaining policy questions. \section{References} \printbibliography \newpage -\section{Appedicies} -\subsection{Mathematical Notation} -Needs completed. +%TODO: write appendicies +%\section{Appedicies} +%\subsection{Mathematical Notation} +%Needs completed. %\subsection{Deriving Marginal Survival Rates}\label{APX:Derivations:SurvivalRates} %\subfile{sections/apx_01_MarginalSurvivalRates} -\subsection{Deriving Euler Equations}\label{APX:Derivations:EulerEquations} -\subfile{sections/apx_02_GeneralizedEuEqSteps} - -\subsection{Collected Assumptions and Caveats}\label{APX:CollectedAssumptions} -I hope to write a section clearly explaining assumptions, caveats, and shortcomings here. -These will later get written back into the other sections, but I want to collect them -in a single place first. +%\subsection{Collected Assumptions and Caveats}\label{APX:CollectedAssumptions} +%I hope to write a section clearly explaining assumptions, caveats, and shortcomings here. +%These will later get written back into the other sections, but I want to collect them +%in a single place first. %time periods are long enough for debris to disperse after collisions. %Only a single type of debris %With my current computational idea; each constellation provides the same risk to each other constellation diff --git a/CurrentWriting/sections/00_Introduction.tex b/CurrentWriting/sections/00_Introduction.tex index 324643d..7e70bd6 100644 --- a/CurrentWriting/sections/00_Introduction.tex +++ b/CurrentWriting/sections/00_Introduction.tex @@ -117,7 +117,7 @@ Specifically, I permit: \begin{itemize} \item Heterogeneous agent types including commercial, scientific, and military. \item Asymetric constellations. - \item Inter- and intra- constellation risk is not assumed to be equal. + \item Inter- and intra- constellation risk to differ. \end{itemize} each of which are important qualities of the current orbital environment. None of these aspects are considered in the papers that I have reviewed so far. diff --git a/CurrentWriting/sections/01_LawsOfMotion.tex b/CurrentWriting/sections/01_LawsOfMotion.tex index e57081b..a23d144 100644 --- a/CurrentWriting/sections/01_LawsOfMotion.tex +++ b/CurrentWriting/sections/01_LawsOfMotion.tex @@ -18,8 +18,8 @@ subscripts $s_t$ denote time periods. in period $t$ \item $D_t$ represents the level of debris at period $t$. \end{itemize} -I've used curly braces (i.e. $\{ s^j_t \}$) to represent the set -of constellations' stocks. +I've used the capital letters $S_t$ and $X_t$ to represent the set (vector) +of constellations' stocks and policy decisions respectively. \subsubsection{Satellite Stocks} Each constellation consists of a number of satellites in orbit, controlled by the same operator and @@ -29,14 +29,15 @@ Of course, satellite stocks can be increased by launching more satellites. Assuming satellites are not actively deorbited, we get the following general law of motion for each constellation $i$. \begin{align} - s^i_{t+1} = \left( 1 - l^i(\{s^j_t\}, D_t)\right)s^i_t + x^i_t + s^i_{t+1} = \left( R^i(S_t, D_t)\right)s^i_t + x^i_t %Couple of Notes: % This does not allow for natural decay of satellites. % Nor does it include a deorbit decision. % Representing those might be: % - \eta s^i_t - y^i_t \end{align} -Where $l^i(\cdot)$ represents the rate at which satellites are destroyed by collisions. +Where $R^i(\cdot)$ represents the constellation $i$'s survival rate, making +$1-R^1()$ the rate at which they are destroyed or damaged by collisions. %Assumption: \subsubsection{Collision Efficiencies} @@ -54,8 +55,8 @@ 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. -Consequently an operator may choos to minimize their total risk when launching -a constellation, the later launch of constellations may lead to a suboptimal orbit design. +Consequently, while an operator may choose to minimize their total risk when launching +a constellation, the launch of later constellations may lead to a suboptimal orbit design. 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 abandoned at the time.\cref{ListOfOrbitalIncidents} @@ -63,18 +64,14 @@ It is important to note that satellite-on-satellite collisions are rare\footnote but this may be due to the fact that evasive maneuvers are usually taken when collisions appear reasonably possible. - -These collision efficiencies can be represented in the satellite destruction rate $l^i(\cdot)$ when: +These intra-collision efficiencies can be represented in the satellite survival rate $R^i(\cdot)$ as: \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 + \parder{R^i}{s^k_t}{} < 0 ~~\forall k \in \{1,\dots,N)\\ + \parder{R^i}{s^j_t}{} < \parder{R^i}{s^i_t}{} ~~\forall j\neq i \end{align} -Note that 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 constellation of the additional satellite. -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$. +Note that we assume that the loss of satellites to collisions is +increasing in the level of debris: $\parder{R^i}{D_t}{} < 0$. \subsubsection{Debris} Debris is generated by various processes, including: @@ -83,29 +80,28 @@ Debris is generated by various processes, including: \item Satellite launches, operations, failures, or intentional destruction. \item Collisions between \begin{itemize} - \item Two satellites - \item A satellite and debris - \item Two pieces of debris + \item Two satellites. + \item A satellite and debris. + \item Two pieces of debris. \end{itemize} - all generate more debris. \end{itemize} -It leaves orbit when atmospheric drag slows it down enough to reenter the atmosphere. +Debris leaves orbit when atmospheric drag slows it down enough to reenter the atmosphere. Because the atmosphere is 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} - D_{t+1} = (1-\delta)D_t + g(D_t) + \gamma(\{s^j_t\},D_t) + \Gamma(\{x^j_t\}) + D_{t+1} = (1-\delta)D_t + g(D_t) + \gamma(S_t,D_t) + \Gamma(X_t) \end{align} 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\} + D_{t+1} = (1-\delta + g)D_t + + \gamma \sum^N_{i=1} (1-R^i(S_t,D_t)) \cdot s^i_t + + \Gamma \sum^n_{j=1} x^i_t \end{align} where $ \Gamma, \gamma$ represent the debris generated by each -launch and collision respectively, -while $\delta,g(\cdot)$ represent the decay rate of debris and the +launch and collision respectively. +Similarly $\delta$ and $g$ represent the decay rate of debris and the autocatalysis\footnote{ Using terminology from \cite(RaoRondina2020). } of debris generation. diff --git a/CurrentWriting/sections/02_KesslerSyndrome.tex b/CurrentWriting/sections/02_KesslerSyndrome.tex index df93436..50ef1eb 100644 --- a/CurrentWriting/sections/02_KesslerSyndrome.tex +++ b/CurrentWriting/sections/02_KesslerSyndrome.tex @@ -10,7 +10,7 @@ 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 in orbit will be destroyed within a single time period. -In my notation, this is that $l^i(\{s^j_t\}, D_t) = 1$. +In my notation, this is that $R^i(S_t, D_t) = 0 ~ \forall i$. The benefit of this approach is that it is algebraically simple. It was used in to show that firms will stop launching before orbits are rendered physically useless. @@ -22,11 +22,12 @@ They define it in terms of a ``kessler region'', the set of satellite stocks and such that the limit of debris in the future is infinite. Mathematically this can be represented as: \begin{align} - \kappa = \left\{ \{s^j_t\}, D_t : - \lim_{k\rightarrow \infty} D_{t+k}\left(\{s^j_{t+k-1}\}, D_{t+k-1}, \{x^j\}\right) = \infty \right\} + \kappa = \left\{ S_t, D_t : + \lim_{k\rightarrow \infty} D_{t+k}\left(S_{t+k-1}, D_{t+k-1}, X_t\right) + = \infty \right\} \end{align} There are a few issues with this approach, even though it captures the essence of kessler syndrome -better than the definition proposed by Adilov et al. +better than the definition proposed by \cite{Adilov2018}. The issues it faces are generally the case of not delineating between kessler regions with significantly different economic outcomes. % doesn't account for speed of divergence @@ -38,7 +39,7 @@ The former is a global emergency, while the latter is effectively non-existant. 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. +constitutes is in the kessler region. @@ -49,13 +50,15 @@ fashions than \cite{RaoRondina2020}, for which I term the regions First, define the $\epsilon$-kessler region as: \begin{align} - \kappa = \left\{ \{s^j_t\}, D_t : + \kappa_\epsilon = \left\{ S_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 defining the non-kessler regions by -an upper bound on the derivative of debris generation\footnote{A lipshitz-like condition}. +an upper bound on the derivative of debris generation\footnote{ + Note that the non-proto-kessler region is defined by a lipshitz-like condition +}. It is easily shown that this criteria is sufficient to guarantee Rao and Rondina's criteria. @@ -84,45 +87,45 @@ of the kessler region would capture this behavior, but the $\epsilon$-kessler de would not. A particularly pathological case is where debris cycles between just below the cutoff level to significantly above the cutoff, leading to a highly divergent behavior not captured by this definition. - -As far as computability goes, by simulating a phase diagram (for a given solution to the model) +Also, by simulating a phase diagram (for a given solution to the model) we can determine what sections are in the $\epsilon$-kessler region. -This is a major benefit in a computational model. A related and more general concept is the ``proto-kesslerian'' region, which is defined as the stock and debris levels such that: \begin{align} - \kappa = \left\{ \{s^j_t\}, D_t : + \kappa_\text{proto} = \left\{ S_t, D_t : D_{t+1} - D_{t} \geq \varepsilon > 0 \right\} \end{align} %Note that the debris level is in a $\epsilon$-kessler region when it is in a proto-kesslerian region %for all future periods. This even simpler to compute than the phase diagram, and can be used to generate a topological view -of proto-kesslerian regions of degre $\varepsilon$. +of various proto-kesslerian regions. %These are both easier to interpret and various approaches could be used to analyze how debris levels %transition between them. %%%what would the integral of gradients weighted by the dividing line measure? just a thought. %Other thoughts % proto-kesslerian paths, paths that pass into a proto kesslerian region. -In order to capture the cyclic behavior that $\epsilon$-kessler regions miss, we can define a type of -path in the phase diagram called a proto-kesslerian path of degree $\epsilon$, which is any path +In order to capture the cyclic behavior that $\epsilon$-kessler regions miss, +we can define a type of +path in the phase diagram (called a proto-kessler path of degree $\epsilon$), which is any path that enters the region. For example, one could simulate a phase diagram and compare paths that fall into a given $\epsilon$-kessler region and paths that only temporarily pass into the equivalent proto-kesslerian regions. -Comparing the number of paths that fall into each region may give a useful metric for policies that are +Comparing the number of paths that fall into each region may give a useful metric +for policies that are designed to decrease the likelihood of kessler syndrome. -I believe, but have not verified, that some choices of $\varepsilon$, although permitting cycles, -would relegate them to levels with minimal economic impact. -%Maybe can be studies by phase or flow diagrams? -%Consider where it cycles between just below epsilon and then to a large increase in debris? +%I believe, but have not verified, that some choices of $\varepsilon$, although permitting cycles, +%would relegate them to levels with minimal economic impact. %Area of research: What makes a good \epsilon? This leads to the important question of ``What makes a good value of $\epsilon$ or $\varepsilon$?'' -One method, in the spirit of \cite{Adilov2018}, is to choose a change in debris, $D_{t+1} - D_t$, such that -the loss of satellites in periods $t+1$ to $t+k$ is increased by or to a certain percentage, say 1\%. +One method, in the spirit of \cite{Adilov2018}, +is to choose a change in debris, $D_{t+1} - D_t$, +such that the loss of satellites between periods $t$ to $t+k$ is +increased by or to a certain percentage, say 1\%. I've put very little thought into addressing this general question so far, and need to analyze the implications of different choice rules. diff --git a/CurrentWriting/sections/04_ConstellationOperator.tex b/CurrentWriting/sections/04_ConstellationOperator.tex index 3414fda..d80aed6 100644 --- a/CurrentWriting/sections/04_ConstellationOperator.tex +++ b/CurrentWriting/sections/04_ConstellationOperator.tex @@ -9,7 +9,7 @@ Actual functional specifications are described in \cref{SEC:Computation} on comp Each operator recieve per-period benefits -- such as profits for firms and warfighting capability for militaries -- from their constellation -according to $u^i(\{s^j_t\},D_t)$, which depends +according to $u^i(S_t,D_t)$, which depends on the current sizes of constellations and the level of debris. In addition, the operator pays for the launch of $x^i_t$ satellites according to a general cost function $F(x)$. @@ -17,12 +17,12 @@ These satellites will become operational in the subsequent period. Thus the $M$-period (possibly infinite), problem is: \begin{align} - \max_{\{\vec x_t\}^M}&~ - E\left[ \sum^M_{t=0} \beta^t u^i(\vec s_t, D_t) - F(x^i_t) \right] \\ + \max_{\{x_t^i\}^M}&~ + \left[ \sum^M_{t=0} \beta^t u^i(S_t, D_t) - F(x^i_t) \right] \\ &\text{subject to:}\\ - & s^i_{t+1} = (1-l^i(\vec s_t, D_t))s^i_t +x^i_t ~~~ \forall i \\ - & D_{t+1} = (1-\delta)D_t + g(D_t) - + \gamma \sum^N_{i=1} l^i(\vec s_t, D_t) + & s^j_{t+1} = R^j(S_t, D_t) s^j_t + x^j_t ~~~ \forall j \\ + & D_{t+1} = (1-\delta + g) D_t + + \gamma \sum^N_{i=1} \left( 1-R^i(S_t, D_t) \right) s^i_t + \Gamma \sum^N_{i=1} x^i_t \end{align} %Assumptions @@ -33,8 +33,8 @@ Thus the $M$-period (possibly infinite), problem is: %\subsection{Infinite Period (Bellman) Equation} % Not sure how much help a new header is. The inifinite period version of the problem above can be rewritten in the bellman form as \begin{align} - V^i(\vec s_t, \vec x^{\sim i}_t, D_t) = \max_{x^i_t} u^i(\vec s_t, D_t) -F(x) - + \beta \left[ V^i(\vec s_{t+1}, \vec x^{\sim i}_{t+1}, D_{t+1}) \right] + V^i(S_t, x^{\sim i}_t, D_t) = \max_{x^i_t} u^i(S_t, D_t) -F(x^i_t) + + \beta \left[ V^i(S_{t+1}, x^{\sim i}_{t+1}, D_{t+1}) \right] \end{align} where $x^{\sim i}_t$ represents the launch decisions of all the other constellation operators. diff --git a/CurrentWriting/sections/05_SocialPlanner.tex b/CurrentWriting/sections/05_SocialPlanner.tex index 914029a..f052f14 100644 --- a/CurrentWriting/sections/05_SocialPlanner.tex +++ b/CurrentWriting/sections/05_SocialPlanner.tex @@ -5,12 +5,12 @@ The Social (Fleet) Planner's problem can be written in the bellman form as: \begin{align} W(S_t, D_t) =& \max_{X_t} \left[ - \left(\sum^N_{i=1} u^i(\vec s_t, D_t) - F(x^i_t) \right) - + \beta \left[ W(\vec s_{t+1}, D_{t+1}) \right]\right] \notag \\ + \left(\sum^N_{i=1} u^i(S_t, D_t) - F(x^i_t) \right) + + \beta \left[ W(S_{t+1}, D_{t+1}) \right]\right] \notag \\ &\text{subject to:} \notag \\ - & s^i_{t+1} = (1-l^i(\vec s_t, D_t))s^i_t +x^i_t ~~~ \forall i \notag \\ - & D_{t+1} = (1-\delta)D_t + g(D_t) - + \gamma \sum^N_{i=1} l^i(\vec s_t, D_t) + & s^i_{t+1} = (R^i(S_t, D_t)) s^i_t +x^i_t ~~~ \forall i \notag \\ + & D_{t+1} = (1-\delta + g)D_t + + \gamma \sum^N_{i=1} \left(1-R^i(\vec s_t, D_t)\right) s^i_t + \Gamma \sum^N_{i=1} x^i_t \end{align} %Some particular features of the model include: @@ -21,8 +21,8 @@ The Social (Fleet) Planner's problem can be written in the bellman form as: % including uncontrolled deorbits. Although the social planner controls each constellation, note that they do not reap additional collision avoidance efficiencies. -One justification no social planner could concieve of every future use of an orbit -and consequentally constellations may be designed sequentially. +One justification is that no social planner could concieve of every future use of an orbit +and consequentally constellations will be designed sequentially. This prevents intra-constellation benefits to be achieved across the entire fleet. \end{document} diff --git a/CurrentWriting/sections/06_KesslerRegion.tex b/CurrentWriting/sections/06_KesslerRegion.tex index 4e9e5b7..73cee89 100644 --- a/CurrentWriting/sections/06_KesslerRegion.tex +++ b/CurrentWriting/sections/06_KesslerRegion.tex @@ -6,7 +6,9 @@ With the definitions of kessler syndrome and the law of debris given above, we can now explicitly describe the proto-kessler region. \begin{align} - \epsilon < -\delta D_t + g(D_t) + \gamma \sum^n_{j=1} l^i(\{s^j_t\},D_t) + \Gamma \sum^n_{j=1} \{x^j_t\} + \epsilon < (g - \delta) D_t + + \gamma \sum^n_{j=1} \left( 1-R^i(S_t,D_t) \right) s^i_t + + \Gamma \sum^n_{j=1} x^j_t\} \end{align} As being in the proto-kessler region is a prerequesit to being in the kessler region, we see that the kessler region depends on the collision rates of the constellation operators. diff --git a/CurrentWriting/sections/07_ComputationalApproach.tex b/CurrentWriting/sections/07_ComputationalApproach.tex index e11af1a..36001cf 100644 --- a/CurrentWriting/sections/07_ComputationalApproach.tex +++ b/CurrentWriting/sections/07_ComputationalApproach.tex @@ -25,7 +25,7 @@ where $v$ is an external weighting parameter which can be cross validated. By choosing a neural network as the functional approximation, we are able to use the fact that a NN with a single hidden layer can be used to approximate functions arbitrarily well -under certain conditions \cref{White1990}. +under certain conditions \autocite{White1990}. We can also take advantage of the significant computational and practical improvements currently revolutionizing Machine Learning. @@ -33,14 +33,14 @@ Some examples include the use of specialized hardware and the ability to transfe learning between models, both of which can speed up functional approximation. \subsection{Computational Plan} -The neural network library I've chosen to use is Flux.jl \cref{Flux.jl-2018}, +The neural network library I've chosen to use is Flux.jl \cite{Innes2018} a Neural Network library implmented in and for the Julia language, although the Bellman Residual Minimization algorithm would work equally well in PyTorch or TensorFlow \footnote{ The initial reason I investigated Flux/Julia is due to the source to source Automatic Differentiation capabilities, which I intended to use to implement - a generic version of \cref{Maliar2019}'s euler equation iteration method. + a generic version of \cite{Maliar2019}'s euler equation iteration method. While I still believe this is possible and that Flux represents one of the best tools available for that specific purpose, I've been unsuccessful at implementing the algorithm. @@ -137,7 +137,7 @@ including mixed nash equilibria if configured properly. \subsection{Functional Forms} The reference functional forms for the model are similar to those -given in \autocite{RaoRondina2020}. +given in \cite{RaoRondina2020}. \begin{itemize} \item The linear per-period benefit function: \begin{align}