compudanzas/src/qiudanz_tag.gmo

155 lines
4.4 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# qiudanz tag
exploring tag systems with the {qiudanz technique}.
# background
the idea of exploring tag systems with movement sequences originated as {danzasistemas-tag}, and the {qiudanz technique} was devised as a way to explore it using the same language that could be used for other types of abstract machines.
# qiudanz tag @ Hybrid Live Coding Interfaces Workshop 2022
we showed qiudanz tag as part of our {performances}!
+ <iframe title="qiudanz tag @ Hybrid Live Coding Interfaces Workshop 2022" width="560" height="315" src="https://spectra.video/videos/embed/03f9e46a-264f-456f-96a3-1681f1a5519e" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe>
=> https://spectra.video/w/1utGdHbeYboxouDTxKwDg5 video: qiudanz tag @ Hybrid Live Coding Interfaces Workshop 2022
=> https://www.youtube.com/watch?v=B6jLnys0fTI link to full stream with presentations, performances and discussion (yt) - Identity - Hybrid Live Coding Interfaces Workshop 2022
in the full stream, compudanzas starts at 1:03:40.
# cyclic tag systems
cyclic tag systems can be explored by using {qiudanz mode 1} only, with a vocabulary consisting in DEH (-), IN (+), CHO (.) for the movement sequences and rules.
## list of rules
we need an ordered list of rules. each rule indicates what symbol(s) to add at the tail of the movement sequence IF AND ONLY IF the head is IN (+).
additionally, each rule always applies a DEH (-) operation, removing the head from the sequence.
an abbreviated list of rules could look like the following:
```
0: [ + - - ]
1: [ + - ]
```
unabbreviated, and using pseudocode along with qiudanz operations (DEH (-) and IN (+)), we could write it as follows:
```
rule 0:
if HEAD is + then: -, ++, +-, +-
else: -
rule 1:
if HEAD is + then: -, ++, +-
else: -
```
## the process
in a cyclic tag system, the idea is to apply the rules sequentially and cyclically. a given sequence will always have its head truncated, but it may have its tail growing depending on the element that was at the head.
### example, in conversation
we can perform this process with a pair of people: the tape and the guide.
the tape will:
* dance the movement sequence
* apply the operations given by the guide.
the guide will:
* keep track of the position in the list of rules
* evaluate the head of the movement sequence
* give the tape the corresponding instructions
ideally, the guide will communicate via another movement sequence.
for instance, using our rules described above:
```
0: [ + - - ]
1: [ + - ]
```
the tape starts with a single movement:
```
tape: [ + ] .
```
the guide will apply rule 0. because the head of the sequence is IN (+), there have to be additions to the sequence.
the guide indicates the set of instructions to apply:
```
guide: - ++ +- +- .
```
the tape proceedes following the instructions, removing the head and then inserting elements at the tail. it responds:
```
tape: [ + - - ] .
```
now the guide will apply rule 1. because the head of the sequence is IN (+), there will be additions:
```
guide: - ++ +- .
```
the tape processes the instructions and responds:
```
tape: [ - - + - ] .
```
now the guide will apply rule 0. because the head of the sequence is DEH (-), there will not be additions:
```
guide: - .
```
the tape responds:
```
tape: [ - + - ] .
```
now the guide will apply rule 1. because the head of the sequence is DEH (-), there will not be additions:
```
guide: - .
```
the tape now responds:
```
tape: [ + - ] .
```
next time there will be additions, and so on.
the cycle continues on and on.
## other interesting rulesets
the example list of rules given by wolfram in a new kind of science is:
```
0: [ + + ]
1: [ + - ]
```
# universality
a cyclic tag system can emulate a tag system, and a tag system can emulate a turing machine. therefore, it is possible to devise a (cyclic) tag system that emulates an universal turing machine.
=> https://wpmedia.wolfram.com/uploads/sites/13/2018/02/15-1-1.pdf Cook, Matthew (2004). "Universality in Elementary Cellular Automata" (PDF). Complex Systems. 15: 140.
this could work as an alternative approach to {d-turing}, or even to {dancing a universal turing machine}.
# references
=> https://www.wolframscience.com/nks/p93--tag-systems/ Tag Systems: A New Kind of Science | Online by Stephen Wolfram
=> https://www.wolframscience.com/nks/p95--cyclic-tag-systems/ Cyclic Tag Systems: A New Kind of Science | Online by Stephen Wolfram