- - - - - -
Hanns Holger describes the characteristic of p-systems that
he finds most interesting.
- - - - - -
HHR [In a P system] the idea is that a program is formulated in different containers, which are separated by membranes. And each contains a
subroutine of transforming one symbol into another, like a normal re-writing
system. There's special rules that say "dissolve the membrane". And
that becomes part of the outer membrane. So I thouht that was a really
interesting idea, of understanding our program. I don't know if it
exists the idea that you can also introduce the membrane. Because that
would point, in a way, to a program that resolves, like a normal
rewriting system, that has a target state. I was generally interested
in this idea of the biologically inspired computational model.
DP Yeah, I see it's interesting, but this is a model for computation,
not an algorithm.
HHR Yeah, but it contains already ideas, like the membrane and so
on. So i think it has already something that is more concrete than
just like a RAM model for computation, for example.
DP Yeah, I'm just thinking if it's a viable idea. Because we started
searching for an algorithm, right?
HHR Yeah, I would say an algorithmic configuration. I would be a
little bit more abstract than to say 'an algorithm'. Because we have
discussed so long about what is an algorithm, last time we discussed
what are datas versus structures and so on. So we know that the
boundary of an algorithm is a bit difficult. It depends a little bit
on how yo describe what's inside and what's outside an algorithm. If
data is inside of an algorithm, if agency is inside of an algorithm,
and so on.
DP Yes, but we started by supposing that we all wanted to share one
algorithmic structure that we all wanted to work on, in different ways
or reinterpreting our work. Now I was just asking myself, on the basis
of your proposition of p-systems, which are computational models. It's
a little bit different, it's a higher order than a specific algorithm.
HHR But It's a class, because it's a kind of reqriting system. It's
already a class of algorithms that are formalised by this.
DP Yeah, but it's a class of algorithms. It's a computational
model, it's a different thingg than A algorithm.
HHR Yes, but coming again to the boundaries of an algorithm, you could
say that algorithms are indipendent from computational models, but I
don't think they are.
DP Of course, but that's already a different way of looking at our
present problem. Looking more in computational models, or which
metaphors different computational models work on. I was just asking
myself if that's maybe more interesting than looking for one specific
algorithm, or a class of algorithms. Maybe it's even more interesting
searching for computational models that are interesting for us. Or
maybe different computatonal models that employ different
metaphors. Maybe it's more interesting to think about what computation
is, or how computation may be performed, instead of trying to converge
to one specific algorithm. But maybe the "danger" is that it will be
very difficult to convey this idea. I don't know.
HHR It will be anyway difficult to convey, if it's not a super trivial
model. But I'm just proposing this as a perspective from which to look
into things. I'm not saying that this is like the proposition: four
people implementing p-systems. But maybe, within this literature of
p-systems, which is about rewriting systems and biological questions,
we find something that is more specific than just this kind of idea of
DP Yeah, but there are also other metaphors of computation that we are
using everyday and we are employing in our computers. One is the
neural networks, but it can be also the sorting algorithms, that use a
completely different metaphor, for example.
HHR But that's a question for me, do sorting algorithms use a specific
DP Well yeah. It is a different metaphor if you think of your data
spread out on a tape, instead of on a netowkr of neurons. I don't
know. It allows for different affordances, even if it's the same data,
and the computational task is the same. But you think of it
differently. And that is the interestin part, actually.
HHR I don't know if we are now moving in a circle somehow. It
seems we are actually moving in this space of this definition of an
algorithm from Kowalski. Strategies for exectuing, that's a bit the
metaphor. You have the sorting for example, that's a task. And then
you define it in terms of strategies. These strategies are bounded to
computational models. Because only if you have specific objects you
can describe the procedure to manipulate the objects.
DP It dependes where you see computation in here.
HHR Well, technically if you say execution is the computation, then
you would probably situate it more in the control component.
DP For me it's above algorithms, for example. But I see that it's a
grey zone actually. Algorithms rely on an idea of computation and
algorithms employ computation for functioning. So it's a sort of a
recursive structure between computation and algorithms. For example,
p-systems is a computational model. If you then apply this model on a
specific task you come up with an algorithm.
HHR Or an implementation of an algorithm.
DP Yeah but you cannot take apart the implementation from the
HHR No, but I think you could take a textbook of algorithm, pick one,
and then say: "look, how would I write this in the formalism of a
p-system?". I think that would be probably possible.
DP Of course. But the fact that using a different computational model
leads to a different commplexity in the computation it's a sign that
the algorithm is not independent from the computational model that you
use to implement it.
HHR The model would kind of dictate whhich algorithms are efficient,
and which ones aren't.
DP That is why I am thinking that maybe computation, or the model of
computation you are using, comes also before the definition of a
specific algorithm. Because that determines how an algorithm is
implemented, and how it performs.
HHR Yes and no. For example, an algorithm could be "reverse a
string". But how to do that, you need to think about the possibilities
of a system. And then define the steps in different ways.
DP Yes, of course. You would implement the algorithm differently. You
woudl come to a different algorithm actually, even if you wanna have
the same computational aim. You implement an algorithm that does that
computation that you want to do, and that algorithm would be different
on the basis of the computational model you are using. You cannot
think of algorithms separetely from a computational model.
HHR Yes, in a way is what I was saying. Where is the boundary of an
algorithm? I would say obviously the computational model affects the
algorithm. Because it configures how you think about it, how to do
steps. You have this model in the back of your head.
DP Yeah, your steps would be different, even if the thing you are
trying to do is the same.