Zyme is an esoteric language for genetic programming: creating computer programs by means of natural selection.
null084 days ago
Interesting. I haven't seen much in this space since Lee Spector's "push" more than 20 years ago (http://faculty.hampshire.edu/lspector/push.html). I did see a mention of Push in the FAQ but it would be very interesting to compare this in detail. If I get it correctly Zyme programs are evolved on the bytecode level whereas Push's stack architecture is designed to be evolvable directly at the syntactic level? A head-to-head comparison / benchmark would be super interesting.
conartist63 days ago
Hampshire represent! I'm also quite interested in this space.
pnathan3 days ago
15 or so years ago now - before I worked professionally really - I worked with Common Lisp to create a little toy tool to build, essentially, ASTs and evolve them to achieve a given fitness function. It was a heavily studied topic in the 1995-2005 timeframe at my alma mater. I just uploaded it ( https://github.com/pnathan/z-system ) as an amusing bit.
I'd be curious if the OP has looked at the literature on evolutionary programs (not evo algos, but programs).
abcd_f3 days ago
Ha, can I ask who the involved prof/s was/were?
I spent some time at your Uni in the early 90s. From what I remember there wasn't a whiff of Lisp on the curriculum.
pnathan3 days ago
Heckendorn and Soule were the key profs in the research in the area. One other maybe?. Soule in particular. In 04 I was doing some undergrad research around training neural networks with particle swarms.
I wandered off to do this Lisp on my own, inspired by the code-is-data concept of Lisp. This work is strictly toy, to self demonstrate the possibility. Wouldn't mind revisiting it sometime to bring in the top of the academic art. But I am not affiliated with a U, so publishing would be a challenge.
haxiomic4 days ago
I love this idea, it's thought provoking and I want to play
Is there a repository of examples or experiments built with Zyme? Curious to see what has been explored so far
I think it could be fun to focus on visual experiments; shader-like programs as a way to easily explore different outputs
almusdivesop4 days ago
Thanks! Since the language is still in its early stages of being able to evolve programs, I don't have many examples to share yet. I didn’t realize when I began but developing the language itself was just the beginning - I hadn't anticipated how much work would still be needed on tuning, development tools, and implementing the genetic programming framework before getting concrete results.
UncleOxidant3 days ago
Is source available for zyme? I don't see anything on that page about how one might download and install their compiler.
robthebrew6 days ago
"While I've observed bloat in Zyme, I don’t think this is driving the increase in mutation resistance and survival rate" This is evident in the human genome.
huhtenberg4 days ago
Completely unrelated (and apologies to the OP), Zyme is also a name of a winery near Verona in Italy that makes really unusual, complex and very tasty reds. Beautiful facilities as well. If you are ever in the region, give it a visit - https://www.zyme.it/en/
shortrounddev24 days ago
Is it named after the drug in Deus Ex
almusdivesop4 days ago
Sadly not. When I was developing Zyme, I was thinking a lot about the molecular components of a cell and how one might translate them into a virtual machine. I was particularly inspired by enZYMEs.
shortrounddev24 days ago
I just realized that that's what the oeigin of the deus ex drug must be as well lol
g-b-r4 days ago
Zyme is an ancient Greek word that means leaven, a lot of organizations and companies use it
Tabular-Iceberg3 days ago
I thought maybe it was related to Gabriel Syme. Like how similarly sounding letters are changed to make words look more kool.
tpoacher3 days ago
That was my first thought too, hahah.
muffwiggler3 days ago
[dead]
[deleted]3 days agocollapsed
CodesInChaos3 days ago
Adding a toggle between bytecode and (dis)assembly would make help with visualizing what kind of effect mutation has.
almusdivesop3 days ago
You're right - a disassembler would be incredibly valuable; and while I haven’t gotten around to implementing one yet, it’s definitely on my radar. But even the idea of even having an assembler is exciting because it suggests the output programs could be interpretable, enabling us to identify the underlying algorithms that (hopefully) emerge through evolution.
[deleted]a day agocollapsed
airstrike4 days ago
This is really, really cool.
Cue the replicators.
xiaodai4 days ago
interesting idea to say the least.
shahdash4 days ago
wow this is so creative!
Vaslo4 days ago
Doing => to set variables seems like extra work from just equals. Hopefully it’s kind of optional like it is in R.