8 research outputs found
Validation of Modern JSON Schema: Formalization and Complexity
JSON Schema is the de-facto standard schema language for JSON data. The
language went through many minor revisions, but the most recent versions of the
language added two novel features, dynamic references and annotation-dependent
validation, that change the evaluation model. Modern JSON Schema is the name
used to indicate all versions from Draft 2019-09, which are characterized by
these new features, while Classical JSON Schema is used to indicate the
previous versions.
These new "modern" features make the schema language quite difficult to
understand, and have generated many discussions about the correct
interpretation of their official specifications; for this reason we undertook
the task of their formalization. During this process, we also analyzed the
complexity of data validation in Modern JSON Schema, with the idea of
confirming the PTIME complexity of Classical JSON Schema validation, and we
were surprised to discover a completely different truth: data validation, that
is expected to be an extremely efficient process, acquires, with Modern JSON
Schema features, a PSPACE complexity.
In this paper, we give the first formal description of Modern JSON Schema,
which we consider a central contribution of the work that we present here. We
then prove that its data validation problem is PSPACE-complete. We prove that
the origin of the problem lies in dynamic references, and not in
annotation-dependent validation. We study the schema and data complexities,
showing that the problem is PSPACE-complete with respect to the schema size
even with a fixed instance, but is in PTIME when the schema is fixed and only
the instance size is allowed to vary. Finally, we run experiments that show
that there are families of schemas where the difference in asymptotic
complexity between dynamic and static references is extremely visible, even
with small schemas
The complexity of type inference for higher-order typed lambda calculi
We analyse the computational complexity of type inference for untyped X,-terms in the secondorder polymorphic typed X-calculus (F2) invented by Girard and Reynolds, as well as higherorder extensions F3,F4,...,/ ^ proposed by Girard. We prove that recognising the i^-typable terms requires exponential time, and for Fa the problem is non-elementary. We show as well a sequence of lower bounds on recognising the i^-typable terms, where the bound for Fk+1 is exponentially larger than that for Fk. The lower bounds are based on generic simulation of Turing Machines, where computation is simulated at the expression and type level simultaneously. Non-accepting computations are mapped to non-normalising reduction sequences, and hence non-typable terms. The accepting computations are mapped to typable terms, where higher-order types encode reduction sequences, and first-order types encode the entire computation as a circuit, based on a unification simulation of Boolean logic. A primary technical tool in this reduction is the composition of polymorphic functions having different domains and ranges. These results are the first nontrivial lower bounds on type inference for the Girard/Reynold
Measure-Driven Algorithm Design and Analysis: A New Approach for Solving NP-hard Problems
NP-hard problems have numerous applications in various fields such as networks,
computer systems, circuit design, etc. However, no efficient algorithms have
been found for NP-hard problems. It has been commonly believed that no efficient algorithms
for NP-hard problems exist, i.e., that P6=NP. Recently, it has been observed
that there are parameters much smaller than input sizes in many instances of NP-hard
problems in the real world. In the last twenty years, researchers have been interested
in developing efficient algorithms, i.e., fixed-parameter tractable algorithms, for those
instances with small parameters. Fixed-parameter tractable algorithms can practically
find exact solutions to problem instances with small parameters, though those
problems are considered intractable in traditional computational theory.
In this dissertation, we propose a new approach of algorithm design and analysis:
discovering better measures for problems. In particular we use two measures instead of
the traditional single measure?input size to design algorithms and analyze their time
complexity. For several classical NP-hard problems, we present improved algorithms
designed and analyzed with this new approach,
First we show that the new approach is extremely powerful for designing fixedparameter
tractable algorithms by presenting improved fixed-parameter tractable algorithms
for the 3D-matching and 3D-packing problems, the multiway cut problem, the feedback vertex set problems on both directed and undirected
graph and the max-leaf problems on both directed and undirected graphs. Most of
our algorithms are practical for problem instances with small parameters.
Moreover, we show that this new approach is also good for designing exact algorithms
(with no parameters) for NP-hard problems by presenting an improved exact
algorithm for the well-known satisfiability problem.
Our results demonstrate the power of this new approach to algorithm design and
analysis for NP-hard problems. In the end, we discuss possible future directions on
this new approach and other approaches to algorithm design and analysis