Abstract
There is a subset of computational problems that existing algorithms may not complete due to a lack of adequate computational resources on tactical edge computing platforms. Although this subset is computable in polynomial time, many polynomial problems are not computable in mission time. Here, we define a subclass of deterministic polynomial time complexity called mission class, wherein the computations must complete in mission time. By focusing on this subclass of languages in the context of successful military applications, we discuss their computational and network constraints. We investigate feasible (non)linear models that will minimize energy and maximize memory, efficiency, and computational power, and also provide an approximate solution obtained within a pre-determined length of computation time using limited resources so that an optimal solution to a language could be determined.
Keywords
1. Introduction
The efficiency of computing platforms in mission-critical tactical environments is affected by computational resource constraints. Smart tactical edge computing platforms are aware of their computational and network constraints and dynamically adjust their computation strategies. These constraints can be anything from the availability of energy, communication scheduling conflicts, bandwidth, or even accessibility to hardware, such as a central processing unit (CPU), a graphics processing unit (GPU), or a field-programmable gate array (FPGA). Mission applications are time sensitive and computations in support of such applications must be completed within the delay tolerance. By focusing on mission requirements, we can analyze and then optimize the necessary computations in a tactical edge until they can be executed successfully within the mission parameters. The optimizations are done by first focusing on making the algorithms fit a new mission-ready M class of complexity, and then to propose a constraints-aware distributed computing algorithm that can distribute jobs to efficiently use resources at the tactical edge.
Given that each mission has a computational requirement that must be satisfied, much effort is expended to find computationally efficient algorithms. One gauge of efficiency is based on the computational complexity of an algorithm, which is generally expressed in terms of time complexity, that describes how long it takes for an algorithm to compute an answer using a limited number of resources. The time complexity will affect the efficiency of applications using those algorithms. Furthermore, the complexity of input tasks and the computational decision-making requirements will increase, having variable computational cost on each platform, and often these functions need to be optimized.1–3 The type of optimization algorithms will also have an effect on the time to compute. For instance, optimizations can be linear or nonlinear, and nonlinear optimization can be further classified into concave and convex optimizations based on the complexity (see Figure 1). Linear optimization functions run faster than nonlinear optimization functions as linear programming isolates computation to just the vertices of the available parameter space, while nonlinear optimization must continuously explore the parameter space.

Optimization problems of different degrees of complexity are described above. Computational decisions that depend on complex optimization algorithms take longer to compute, affecting the mission effectiveness.
In mission-oriented tactical environments, computational efficiency in terms of flops/watt and computational speeds to match mission requirements are very important factors in determining the fitness of an application for mission deployment. The requirements include the computational efficiency of each platform in regards to the available resources and constraints. For example, network-specific constraints need to be taken into consideration when assessing the efficiency of distributed computation. In fact, mission-critical applications demand well-defined execution times. Mission-optimized computations combined with automated intelligence have been shown to be efficient and will achieve the desired results in mission time.4–7 The mission requirements define the need for optimized algorithms, which are a subset of the deterministic polynomial time complexity class P of problems, where we define it as the M class for mission-ready algorithms.
Context-aware adaptive computational frameworks are remarkably flexible to support the class
Mission times can vary based on the mission objectives, but the deployability of a given algorithm is tied to its ability to complete its computation in that particular mission time. In Section 2, we provide a brief background on computational complexity. In Section 3, we define this new M class of algorithms and specifically look at how algorithms can be optimized to be placed from the P class into the M class by using an adaptive computing framework. Any adaptive computing framework must consider the constraints that we outline in Section 4. Next we apply those constraints to a constraints-aware distributed computing framework, and then give an example where computational jobs assigned to a cluster of local machines may fail and how the distributed computing platform reacts to these failures. In the final section, we summarize our construction of the mission class of problems and how focusing on this subset will enhance the performance of tactical mobile computing platforms.
2. Computational complexity
Computational complexity has a direct impact on mission-ready algorithms. For example, Rivest–Shamir–Adleman (RSA) encryption is simple if given the public key, but RSA decryption is difficult without knowledge of the private key. As such, asymmetric encryption can be performed easily in the field, but mounting a brute-force attack on an adversary using RSA encryption is not even considered in real-time applications. This variation in complexity is why we group problems into two types: class P and class NP.
8
We denote P as the class of questions for which some algorithm can provide an answer, and thus solve the language, in polynomial time. So in the mathematics literature, we often refer to P as the deterministic polynomial time complexity class. The class P of problems is decidable in polynomial time on a deterministic single-tape Turing machine,
This problem is known as directed
In fact, many questions in the class
One can easily obtain an exponential time algorithm for the
In the study of computability,
There is, however, a class of (optimization) problems that lie in class NP, so a polynomial time reduction to their complexity may be difficult to construct with current tools. Now, suppose a high-performance computing (HPC) machine may not be available on the mission field, but a significant proportion of the language being computed within a confined time frame is sufficient to determine the validity of the language, and thus critical decisions may need to be immediately determined on site. Because of the importance and a critical significance of such problems, we define a subclass of problems in P in the following section.
3. Adaptive mission computation
With adaptive computing in mind,20,21 the class M of functions can be described as having the ability to manage time constraints in such a way as to force computations to be computed in the class P. The unfortunate side effect is that some hard questions will be reduced to approximations of the original question. However, this will allow for minimal usage of limited computational resources, which includes such things as energy, time, and memory. Simultaneously, we attempt to maximize the computational efficiency by optimizing the computational constraints for heterogeneous edge computing platforms for the class M of languages. The timing of such computations may be optimized by using a convex or concave (non)linear platform. By investigating how computations perform in a mission, the limited computational capacity may be precisely measured so that the computational complexity can be varied to ensure mission success.
We are interested in a mission-focused problem
we define mission-computable polynomial time complexity class as follows:
Note that the approximated solution

We say P (deterministic polynomial time complexity class) is the class of languages for which some algorithm can solve the question in polynomial time, while NP (non-deterministic polynomial time complexity class) is the class of languages for which an algorithm may be very difficult to find; except if provided an answer, it can be verified in polynomial time, which is considered relatively easy. The subclass M consists of functions in P for which adequate computational resources may not be available in the tactical environment to complete mission computation, but for which a significant proportion of the language can be completed within the confinement of limited resources, such as technology and time, so that the validity of a solution for the language may correctly be deduced decisively.
Before we further discuss approximated solutions, we will give some basic conditions about
4. Effect of resources on computational efficiency
For smooth operations, adaptive computations require allocation algorithms and technology congestion protocols using behavior models along with network efficiency fairness characterization. These algorithms need to make an optimal decision that can be characterized as either a linear or nonlinear optimization problem. As such, objective functions together with a set of constraint inequalities are often used to broaden the scope of a successful military operation. Computational constraints, such as power, memory, size, storage, and CPU, influence the performance of a computational platform in contested and congested environments, and are driving the need for a constraints-aware adaptive computation framework. Such a framework will change the computational behaviors of the platforms in response to available resources and the complexity of the input computational tasks. For example, a computational problem can be solved in a distributed manner in order to optimize the available computational resources among different computational platforms. However, when a local computing platform is incapable of performing a required computation due to a lack of resources or a lack of required software, the computations are offloaded to a remote computer capable of computing the problem and providing the solution. The network-related constraints, such as signal strength, bandwidth, and energy required for offloading, are important factors in determining if a remote computation makes sense. Any adaptive computing framework will need to take these factors into consideration when making decisions.
5. Constraints-aware distributed computing
The M class computational complexity model can be used to profile any algorithm in the NP complexity class to train algorithms that exist in the new mission-ready M class. The process starts by finding a 100% accurate algorithm that may take minutes to hours to compute for each input. Despite the long computation times, we can use solutions from the accurate algorithm to train approximation strategies that can be varied in accuracy to reduce computation time to fit the mission requirements.
The goal of the constraints-aware distributed computing algorithm is to maximize the number of successful computations at the edge. For this algorithm, we take as a given that there are too many jobs assigned to an array of cores, so the algorithm must decide which computational jobs must be abandoned. The logic for multiple cores on multiple machines can be extended easily from a base of just a single machine with a single core from which many jobs will possibly be scheduled. The optimization for a single machine with a single core can be programmed using integer programming. Given we want to maximize the total computations done on a single machine, our decision variables can be an ordered list that is represented as a binary matrix
objective function:
constraint: one image per job:
constraint: each image is processed at most once:
constraint: image processed on time:
Once the abandoned jobs are handed to a distributed computing platform, a global optimizer can determine which jobs should be scheduled or rescheduled. The distributed computing platform consists of multiple local machines connected together, with each machine competing for the same resources, so again each application must be willing to accept that some jobs will be dropped. This means each machine must throttle its own computational usage through tagging its own jobs with the appropriate priority level. In the scenario of image analysis, every 10th frame can be tagged as a high-priority job relative to the calling machine. Although the local optimizer outlined previously is fairly trivial, the same framework can be expanded to include a number of cores (c) and a number of machines (m). The decision variables are again just an expansion of the binary matrix, from
The common theme between the local optimizer and the global optimizer is that the computational size must be varied to fit the computational resources. This is just a foundation for adaptive computing, as the next step is to vary the allocation of resources to competing applications. Two hypothetical applications could be image analysis across multiple security cameras, and using machine learning to detect hostile agents from the data provided by the security cameras. The overall goal is to maximize mission effectiveness by varying the resources to each application as the needs change. For example, image analysis in hostile zones should be given priority access to local resources, while the machine learning project should be given loose timing constraints to allow the jobs to be scheduled on HPC machines located far away from the hostile zone.
6. Discussion
Tactical computing platforms are mostly mobile, with limited computing and communication resources. Data processing and problem-solving tasks are time sensitive and their speed depends upon the available computational resources. In order to accomplish mission computation goals, the platforms and the algorithms must be optimized to the mission requirements. To achieve this optimization, we have described a new class of computational complexity class M that is a subset of the polynomial time class P in order to address a class of problems that needs to be computed in mission time. Mission times are determined by the context in which the computation is used and the completion time of that task to determine the usefulness of the computation. All the polynomial class of computational tasks that can be completed in mission time will fall into computational complexity class M, and they are mission ready. Polynomial problems that cannot be computed in mission time will require additional optimization until they satisfy mission requirements.
Defining a new computational complexity class will allow us to define the computational requirements for any applications and algorithms to be mission ready. For example, the scheduling problem outlined in Section 5 works as an integer program, but the time requirements have forced the scheduling problem to be recast as a genetic program to achieve relatively consistent results in a reasonable time. Although the scheduling problem was formulated as a foundation for an adaptive computing framework, the actual framework should be programmed to accept computational work that has multiple pathways to completion. For example, an image analysis computation can be coded to work on a CPU, GPU, FPGA, or even coded as a local distributed computation. The framework would choose the appropriate pathway to satisfy the constraints of the image analysis computation while also maximizing the desired global properties of the mission resources. This adaptive computing framework brings flexibility to tactical computations, but the framework must still enforce the constraints of the mission. As such, any application or algorithm must also fit within this new mission complexity class to fit within the mission constraints.
Modeling and simulation are essential parts of studying the performance complexity of mission-critical applications, such as seeing through walls using radio signals. 22 Our proposed new class of computational complexity will help the deployability of such applications during the modeling simulations in addition to providing performance metrics, thereby suggesting possible modifications to the original applications until they satisfy the mission completeness. For example, benchmarking the application that can see through walls sets a cost for the computational work. If the cost is determined to be too high, a suggested alternative is to first apply a pre-pass to determine whether or not a human is even within the frame at all. If the costs are still determined to be too high, the time complexity can be reduced further by tuning the parameters of the algorithms associated with the application. By mapping the performance metrics of an application collected during simulation with the computational complexity classifications, one could determine the deployability of those applications in a resource-constrained tactical environment. In our future work, we will test a variety of mission-deployable applications to determine their mission readiness without additional optimization and adjustments to their code.
Footnotes
Funding
The authors disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work is supported by a research collaboration between the US Army Research Laboratory and US Military Academy. MSI is partially supported by the National Research Council Research Associateship Programs.
