This project is derived from my paper titled
We designed the Calculator that calculates chromatic polynomial of arbitrary graph
The field of graph coloring is filled with NP-complete problems, which may seem simple and straightforward in the problems themselves, but proving them mathematically is extremely difficult. To understand deeply chromatic number and chromatic polynomial of graphs, I studied Fundamental Reduction Theorem: FRT and implemented chromatic calculator.
Fundamental Reduction Theorem :FRT is one of methods for calculating chromatic polynomial of graph
![](https://private-user-images.githubusercontent.com/48081162/291064597-82b487c4-4e08-407d-b3d0-965877a3db07.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0Nzc1NTAsIm5iZiI6MTczOTQ3NzI1MCwicGF0aCI6Ii80ODA4MTE2Mi8yOTEwNjQ1OTctODJiNDg3YzQtNGUwOC00MDdkLWIzZDAtOTY1ODc3YTNkYjA3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDIwMDczMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE4OWU2ZDQ1MWZlYzNkNWY0NDc5MDJiYzM5NzVkZWNjNjFjOGQ3OWE5ODJlNTJlMGQwZTAzY2NjNmE2YmY0MGUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.9QxgDXU3c8wNRAh037JEW3QLxpXim1mXiedbkEHeJl8)
We can view the equation of FRT in a different way. Let
![](https://private-user-images.githubusercontent.com/48081162/291064822-fbc43264-7360-4be1-a2fa-ba1f53e48f85.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0Nzc1NTAsIm5iZiI6MTczOTQ3NzI1MCwicGF0aCI6Ii80ODA4MTE2Mi8yOTEwNjQ4MjItZmJjNDMyNjQtNzM2MC00YmUxLWEyZmEtYmExZjUzZTQ4Zjg1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDIwMDczMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI2Y2ZiMzQ2NzgxODY4OWRjNGMxNDAwMzExYTYzOThmNTc5OWYwYTI3YmVhODU1NzM1NGY3MTMwZGFiYTE3MzImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.4v-rMAEN1eE1UL6Pf7rix26THUMmvhov_AmbAASqRqI)
Since we know chromatic polynomial of
Since the form of FRT is defined recursively, we can write it as codes. Here's the pseudocode of FRT to get
![](https://private-user-images.githubusercontent.com/48081162/291064471-8fa4a791-b030-4a73-a74b-d9d38c9a7cb0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0Nzc1NTAsIm5iZiI6MTczOTQ3NzI1MCwicGF0aCI6Ii80ODA4MTE2Mi8yOTEwNjQ0NzEtOGZhNGE3OTEtYjAzMC00YTczLWE3NGItZDlkMzhjOWE3Y2IwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDIwMDczMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVlYjc4YjIxYzUyYTU4YmJhZjk4N2EyOWFiOTZlMzk4ZWI5YTBiZGMzMDE1NWRiYmQ1MjhlYzYyMmE1MTlkMTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.KXryJYBTIwyqrwwDIkN1_gVXBvUMGMpLwCfEIME2sYk)
The FRT function has 3 inputs, target graph
The density is a value which shows how dense graph G is, i.e,
There are 2 ideas we should take a look. First one is the exit conditions. It has basically 2 conditions,
The remaining idea is about density. In the pseudocode, we divided two cases based on whether density
value is greater than 0.5 or not. When density value is greater than 0.5, then it means
Based on this psudocode, I implemented a program for calculating chromatic polynomial of arbitrary graph
![](https://private-user-images.githubusercontent.com/48081162/291063913-1de7c297-4a1a-4cfc-90c4-e7ccc59aacf3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0Nzc1NTAsIm5iZiI6MTczOTQ3NzI1MCwicGF0aCI6Ii80ODA4MTE2Mi8yOTEwNjM5MTMtMWRlN2MyOTctNGExYS00Y2ZjLTkwYzQtZTdjY2M1OWFhY2YzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDIwMDczMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkxMTU2NTk4YTE1MTEwN2QxNjgwY2U3Y2UyZTMxOGI5OWI3MjQ1NmVmYzRhM2JjZjQ2MDQ5NDVkNTc3MDUyNTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.t6XAL4Chw3jW3W36ZFzrW7zuInWiEPFyrbtV6yP2imM)
Visualization of FRT process with tree structure
Calculation of chromatic polynomial of
[1] Russell Merris, Graph Theory (2001), 21-33.
[2] Ronald C. Read, An Introduction to Chromatic Polynomials (1968), 1-20.
[3] F. M. Dong, K. M. Koh, K. L. Teo, Chromatic Polynomials and Chromaticity of Graphs (2005), 1-13, 55-62.