#introduction

I'm a researcher in #AI #ArtificialIntelligence. I'm interested in everything but my own research is often about #programsynthesis and #GeneticProgramming. I do some work with #neuralnetworks too.

I'm also into #music. On a good day I combine this with AI.

I'm based in #UniversityOfGalway, in #Ireland.

@jmmcd super cool! Could you share some approaches you use to generate music? And do you generate raw audio or MIDI?
@jmmcd that sounds like a really fun job. I use a visual programming language (#labview code is a network of nodes connected by wires) and want to learn how to build an AI/ML system to do code cleanup and generation.
@jimkring that sounds like a perfect case for #geneticProgramming! Have you seen https://pubmed.ncbi.nlm.nih.gov/7554864/ ? It's by Jason Moore who is probably on here (active on Twitter too).
@jmmcd thanks for the link! Genetic programming sounds great. Initially, I’m thinking about style transfer algorithms for allowing to teach a coding style and then apply that to a codebase. LabVIEW code is a network of different node types connected by wires. The style aspect is the relative x,y positioning of all the nodes and the wire routes. Attached are examples of both poor and good coding style in LabVIEW.
@jimkring oh wow, that's a whole other kettle of fish.. I guess you know all about planar graphs and graph layout algorithms? I guess its easier to declare our preferred style (few edge-crossings etc) than to learn it.
@jmmcd yes, it’s a different thing for sure. I don’t know too much theory about planar graph layout algorithms, but I’ve seen numerical/iterative approaches (treating connections as springs and having nodes repel each other, and then letting the system settle — perhaps perturbing it a few times to kick it out of relative minima). I’m curious to provide examples of layout style to AI/ML and then let it figure out all the “forces” and rules at play.
@jimkring yes that's all I mean by graph layout- that's a "force-directed" one though there are others. Planar just means no edge crossings - but some graphs have inevitable crossings.
To try to learn the forces and style sounds much more novel/difficult.