Mari gunakan Constraint Satisfaction framework (kerangka Kepuasan Batasan) untuk menyelesaikan masalah pewarnaan wilayah.
1. Persiapkan dulu paket-paket yang dibutuhkan, yakni melakukan instalasi simpleai. Buka Terminal (Ctrl+Alt+T) lalu ketik;
pip3 -install simpleai
2. Selanjutnya ketik kode berikut dalam text editor kamu. Klo saya pakai VSCode
from simpleai.search import CspProblem, backtrack
# Define the function that imposes the constraint
# that neighbors should be different
def constraint_func(names, values):
return values[0] != values[1]
if __name__=='__main__':
# Specify the variables
names = ('Mark', 'Julia', 'Steve', 'Amanda', 'Brian',
'Joanne', 'Derek', 'Allan', 'Michelle', 'Kelly')
# Define the possible colors
colors = dict((name, ['red', 'green', 'blue', 'gray']) for name in names)
# Define the constraints
constraints = [
(('Mark', 'Julia'), constraint_func),
(('Mark', 'Steve'), constraint_func),
(('Julia', 'Steve'), constraint_func),
(('Julia', 'Amanda'), constraint_func),
(('Julia', 'Derek'), constraint_func),
(('Julia', 'Brian'), constraint_func),
(('Steve', 'Amanda'), constraint_func),
(('Steve', 'Allan'), constraint_func),
(('Steve', 'Michelle'), constraint_func),
(('Amanda', 'Michelle'), constraint_func),
(('Amanda', 'Joanne'), constraint_func),
(('Amanda', 'Derek'), constraint_func),
(('Brian', 'Derek'), constraint_func),
(('Brian', 'Kelly'), constraint_func),
(('Joanne', 'Michelle'), constraint_func),
(('Joanne', 'Amanda'), constraint_func),
(('Joanne', 'Derek'), constraint_func),
(('Joanne', 'Kelly'), constraint_func),
(('Derek', 'Kelly'), constraint_func),
]
# Solve the problem
problem = CspProblem(names, colors, constraints)
# Print the solution
output = backtrack(problem)
print('\nColor mapping:\n')
for k, v in output.items():
print(k, '==>', v)
3. Hasil output akan nampak pada terminal;
Referensi:
- Prateek Joshi. 2017. Artificial Intelligence with Python-Build real-world Artificial Intelligence applications with Python to intelligently interact with the world around you. Birmingham, Mumbai.
0 Komentar