diff --git a/src/ahora.gmo b/src/ahora.gmo index 96992b4..215a4e0 100644 --- a/src/ahora.gmo +++ b/src/ahora.gmo @@ -4,7 +4,7 @@ en qué andamos aproximadamente en estos momentos. # ahora -preparando uno de nuestros siguientes {performances} usando la {qiudanz technique} para el Hybrid Live Coding Interfaces 2022. registro en {qiudanz devlog}, en inglés. +preparando uno de nuestros siguientes {performances} usando la {qiudanz technique} para el Hybrid Live Coding Interfaces 2022. más información en {qiudanz tag} y registro del proceso en {qiudanz devlog}, en inglés. preparando y publicando actualizaciones a nuestro {tutorial de uxn}. diff --git a/src/log.txt b/src/log.txt index 38e50f5..e83bc83 100644 --- a/src/log.txt +++ b/src/log.txt @@ -1,3 +1,4 @@ +2022-12-04T11:00:00+01:00 wrote guiding notes for the qiudanz tag exploration that we will be showcasing on the Hybrid Live Coding Interfaces 2022 workshop. {qiudanz tag} 2022-11-13T19:00:00+01:00 new version (1.0.4) of introduction to uxn programming e-book: launcher and raw runes {introduction to uxn programming book} 2022-10-31T12:00:00+01:00 accepted in the Hybrid Live Coding Interfaces 2022 workshop with our qiudanz technique proposal {qiudanz devlog} 2022-10-03T19:00:00+02:00 applied to the Hybrid Live Coding Interfaces 2022 workshop {qiudanz devlog} diff --git a/src/now.gmo b/src/now.gmo index d3a29b3..2424ca4 100644 --- a/src/now.gmo +++ b/src/now.gmo @@ -4,7 +4,7 @@ what are we up to approximately now. # updates -preparing for one of our next {performances} using the {qiudanz technique} for the Hybrid Live Coding Interfaces 2022 workshop. see {qiudanz devlog} +preparing for one of our next {performances} using the {qiudanz technique} for the Hybrid Live Coding Interfaces 2022 workshop. we will showcase an experiment called {qiudanz tag}. see {qiudanz devlog} publishing updates to our {intro to uxn programming} e-book and {uxn tutorial}. diff --git a/src/performances.gmo b/src/performances.gmo index 4450272..8c44e6d 100644 --- a/src/performances.gmo +++ b/src/performances.gmo @@ -6,14 +6,13 @@ see also {talks and workshops} # upcoming -we will present a small experiment using the {qiudanz technique} in the Hybrid Live Coding Interfaces Workshop 2022 +we will present a small experiment called {qiudanz tag} using the {qiudanz technique} in the Hybrid Live Coding Interfaces Workshop 2022 => https://hybrid-livecode.pubpub.org/workshop2022 Workshop 2022 - Hybrid Live Coding Interfaces dec 6 & 7, 12022 +9:30 am EST online -program to be confirmed. - # past ## 12022 diff --git a/src/qiudanz_devlog.gmo b/src/qiudanz_devlog.gmo index d79fc8f..25da6e2 100644 --- a/src/qiudanz_devlog.gmo +++ b/src/qiudanz_devlog.gmo @@ -6,6 +6,10 @@ this devlog started in the context of our micro-residency in slomoco (12021) and => https://www.slomoco.surf/projects/qiudanz-technique qiudanz technique on SloMoCo +# 12022-12-04 qiudanz tag notes + +we wrote guiding notes for the {qiudanz tag} exploration that we will be showcasing on the Hybrid Live Coding Interfaces 2022 workshop. + # 12022-10-31 accepted in the Hybrid Live Coding Interfaces 2022 workshop our intention is to experiment with a generative approach, performing live and human-powered computation based on the {qiudanz technique} and tag systems ({danzasistemas-tag}) to expand and contract a movement sequence. diff --git a/src/qiudanz_tag.gmo b/src/qiudanz_tag.gmo new file mode 100644 index 0000000..6e7bdb3 --- /dev/null +++ b/src/qiudanz_tag.gmo @@ -0,0 +1,144 @@ +# 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. + +# 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 diff --git a/src/qiudanz_technique.gmo b/src/qiudanz_technique.gmo index 22690bf..11ac95b 100644 --- a/src/qiudanz_technique.gmo +++ b/src/qiudanz_technique.gmo @@ -45,11 +45,9 @@ these transformations can be represented with the corresponding movements of the * DEH: remove movement from the head * IN x: append movement x as a new tail -these transformations are enough to perform tag systems, cyclic or not. +these transformations are enough to perform tag systems, cyclic or not. see {qiudanz tag} and also {danzasistemas-tag}. -see also {danzasistemas-tag}. - -=> ./qiudanz_mode_1.gmi {qiudanz mode 1} +this first mode is elaborated further in {qiudanz mode 1}. ## mode 2