155 lines
4.4 KiB
Plaintext
155 lines
4.4 KiB
Plaintext
# 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: 1–40.
|
||
|
||
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
|