I'm working in a project to create levels for a videogame using genetic algorithms.
I'm using a undirected graph to represent the level, each node represent a room and each room have a maximum of four possible connections (north, south, east, west). Also each connection just have one compatible connection (North <=> South , East <=> West), this mean you can't connect North with East for example, or North with North (Also a room can't be connected with itself).
Anyway, I already have a way to create the initial population with thoses restrictions, but now I'm thinking about the crossover function.
Let's say I crossover two graphs by cutting them in half and merging those halves, there are chances for a room to have more than four connection or using the same connection to connect two differents rooms.
So my question is, Should I create a crossover method to respect thoses restrictions or just to lower the score of thoses individuals?