Graph decomposition