Newer
Older
"source": [
"Now let us finally repeat the above steps for **min_conflicts** solution."
]
},
{
"cell_type": "code",
"conflicts_instru_queen = make_instru(twelve_queens_csp)\n",
"result = min_conflicts(conflicts_instru_queen)"
]
},
{
"cell_type": "code",
},
"outputs": [],
"source": [
"conflicts_step = make_plot_board_step_function(conflicts_instru_queen)"
]
},
{
"cell_type": "markdown",
"source": [
"The visualization has same features as the above. But here it also highlights the conflicts by labeling the conflicted queens with a red background."
]
},
{
"cell_type": "code",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nTkSuQmCC\n",
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"The installed widget Javascript is the wrong version. It must satisfy the semver range ~2.1.4.\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "29f5dba226b3492383ad768b54876588"
}
},
"metadata": {},
"output_type": "display_data"
}
],
"iteration_slider = widgets.IntSlider(min=0, max=len(conflicts_instru_queen.assignment_history)-1, step=0, value=0)\n",
"w=widgets.interactive(conflicts_step,iteration=iteration_slider)\n",
"display(w)\n",
"\n",
"visualize_callback = make_visualize(iteration_slider)\n",
"\n",
"visualize_button = widgets.ToggleButton(description = \"Visualize\", value = False)\n",
"time_select = widgets.ToggleButtons(description='Extra Delay:',options=['0', '0.1', '0.2', '0.5', '0.7', '1.0'])\n",
"\n",
"a = widgets.interactive(visualize_callback, Visualize = visualize_button, time_step=time_select)\n",
"display(a)"
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
}
},
"nbformat": 4,