Skip to content
Snippets Groups Projects
Commit 1199b5b6 authored by Andreas Schärtl's avatar Andreas Schärtl
Browse files

report: review Q2

parent 81388a13
No related branches found
No related tags found
No related merge requests found
...@@ -154,36 +154,47 @@ implementations. ...@@ -154,36 +154,47 @@ implementations.
problems with a given property (runtime complexity). We need problems with a given property (runtime complexity). We need
to consider where each of these three components might be stored. to consider where each of these three components might be stored.
\textbf{Symbolic Aspect} First, let us consider \textbf{Symbolic and Concrete Aspects} First, let us consider
algorithms. Algorithms can be formulated as computer code which algorithms. Algorithms can be formulated as computer code which
should be accessible from storage for symbolic knowledge. But can be understood as symbolic knowledge (code represented as a
symbolic knowledge encodes just the algorithm itself, not what the syntax tree) or as concrete knowledge (code as text
algorithm is for nor is it possible to quickly evaluate properties files)~\cites[pp. 8--9]{tetra}{virt}. Either way, we will not be
such as $NP$~completeness for querying. Such meta data needs to be able to query these indices for what problem a given algorithm is
stored in a separate index. solving, nor is it possible to infer properties as complex as
$NP$-completeness automatically. Meta data of this kind needs to be
\textbf{Organizational Aspect} The purpose of a given algorithm stored in a separate index for organizational knowledge, it being
(what problem it solves) as well as meta properties such as time the only fit.
and space complexity needs to be stored in a separate index. For
this to be easy to look up, we propose to file this meta \textbf{Organizational Aspect} If we wish to look up properties
information as organizational knowledge. It certainly isn't easily about algorithms from organizational knowledge, we first have to
searchable from symbolic or narrative knowledge and nor is it think about how to represent this information. We propose to
concrete knowledge as we are talking about general properties of approaches, one using the existing ULO ontology and one that
algorithms. recommends extending ULO to nativly support the concept of
algorithms. Both approaches have their distinct trade-offs.
While ULO has a concept of \texttt{ulo:theorem}
and \texttt{ulo:proof}, there is no native way to represent \textbf{Representing Algorithms} As a first approach, we can try
(a)~problems (e.g.\ the traveling salesman problem) and to represent algorithms and problems in terms of existing ULO
(b)~algorithms that compute a given problem. If ULO had such a predicates. As ULO does have a concept of \texttt{theorem} and
concept, we could then introduce new data predicates that tell us \texttt{proof}, it might be tempting to exploit the Curry-Howard
something about the properties of problems and correspondence and represent algorithms understood as programs in
algorithms. Organized in such a schema, query~$\mathcal{Q}_2$ terms of proofs. But that does not really capture the canonical
would be easy to service. understanding of algorithms; algorithms are not actually programs,
rather there are programs that implement algorithms. Even if we do
Of course the question here is whether adding another first level work around this problem, it is not clear how to represent
concept to ULO is a good idea or whether it would be better to problems (e.g.\ the traveling salesman problem or the sorting
think of another ontology for algorithms. We leave this for later problem) in terms of theorems (propositions, types) that get
discussion. implemented by a proof (algorithm, program).
As algorithms make up an important part of certain areas of
research, it might be reasonable to introduce native level support
for algorithms in ULO or separately in another ontology. An
argument for adding support directly to ULO is that ULO aims to be
universal and as such should not be without algorithms. An
argument for a separate ontology is that what we understand as ULO
data sets (Isabelle, Coq) exports already contain triplets from
other ontologies (e.g.\ Dublin Core meta data~\cite{dcreport,
dcowl}) and keeping concepts separate is not entirely
unattractive in itself.
\item \textbf{$\mathcal{Q}_3$ ``Find integer sequences whose \item \textbf{$\mathcal{Q}_3$ ``Find integer sequences whose
generating function is a rational polynomial in $\sin(x)$ that has generating function is a rational polynomial in $\sin(x)$ that has
......
...@@ -186,3 +186,14 @@ ...@@ -186,3 +186,14 @@
urldate = {2020-07-07}, urldate = {2020-07-07},
url = {https://gl.mathhub.info/ulo/ulo} url = {https://gl.mathhub.info/ulo/ulo}
} }
@inproceedings{virt,
title={Virtual theories--a uniform interface to mathematical knowledge bases},
author={Wiesing, Tom and Kohlhase, Michael and Rabe, Florian},
booktitle={International Conference on Mathematical Aspects of Computer and Information Sciences},
pages={243--257},
year={2017},
organization={Springer},
url = {https://kwarc.info/people/frabe/Research/WKR_virtual_17.pdf},
urldate = {2020-07-09},
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment