[Cs254f11] My plan
Wm. Josiah Erikson
wjerikson at hampshire.edu
Mon Oct 17 11:13:02 EDT 2011
So I'm now messing about with reading in files and putting them into
data structures that I can do useful things with, but before I get too
deep into committing myself to particular methods, I want some people
who know more than me to read over my plan and tell me if they see any
big problems with this other than the questions I have already
identified below that I will have to figure out. Comments from my code:
;I'm going to attempt to evolve a program that has the same opinions of
various MIDI files that I do.
;I'm going to listen to 20-50 publicly available MIDI files and score
them, then hardcode those scores
;into this program. Then I'm going to covert said MIDI files into .csv,
and attempt to evolve some scoring
;method that comes up with the same scores for these files that I do.
I'm going to do this without teaching
;my program very much about how the MIDI file is formatted, so my
evolutionary "soup" will be fairly dumb.
;The idea behind this is that one of the things that GP does well is to
find patterns in things that we don't
;understand very well, and in that light, I ought to be able to evolve a
music critic without teaching it the
;format of MIDI files - it will try sampling the MIDI file in lots of
random ways, applying random scores (think
;this through - maybe actually I have to always apply the same scores? I
can't have randomness twice, unless
;both randomnesses are factored into making that "genome" unique,
otherwise I'll get faulty evolution), then
;applying the same set of "soup components" to all of the MIDI files,
comparing the scores to my scores, adding
;up the difference, and then that will be the fitness value of that
particular "soup mix" or genetic code.
;Each generation will have, say, 20 different "soup mixes". I will pick
the two that have the best fitness values,
;breed them together and randomly mutate them (how, exactly?) to get 20
new ones, them start over. I will stop
;after either an arbitrary number of generations or when the fitness
value goes below x, and then see what I get!
Thanks in advance for any feedback!
--
Wm. Josiah Erikson
Network Engineer
Hampshire College
Amherst, MA 01002
(413) 559-6091
More information about the Cs254f11
mailing list