From d11cb81efc675c2744a5a9e6635a25b20a456af2 Mon Sep 17 00:00:00 2001 From: Michael Leuschel <leuschel@cs.uni-duesseldorf.de> Date: Wed, 9 Oct 2019 15:23:14 +0200 Subject: [PATCH] add version of N-Queens with visualization --- notebooks/models/NQueens_Puzzle.ipynb | 1094 +++++++++++++++++ .../images/ChessPieces/Chess_emptyd45.gif | Bin 0 -> 878 bytes .../images/ChessPieces/Chess_emptyl45.gif | Bin 0 -> 878 bytes .../models/images/ChessPieces/Chess_qld45.gif | Bin 0 -> 1508 bytes .../models/images/ChessPieces/Chess_qll45.gif | Bin 0 -> 1492 bytes 5 files changed, 1094 insertions(+) create mode 100644 notebooks/models/NQueens_Puzzle.ipynb create mode 100644 notebooks/models/images/ChessPieces/Chess_emptyd45.gif create mode 100644 notebooks/models/images/ChessPieces/Chess_emptyl45.gif create mode 100644 notebooks/models/images/ChessPieces/Chess_qld45.gif create mode 100644 notebooks/models/images/ChessPieces/Chess_qll45.gif diff --git a/notebooks/models/NQueens_Puzzle.ipynb b/notebooks/models/NQueens_Puzzle.ipynb new file mode 100644 index 0000000..7ffe1c8 --- /dev/null +++ b/notebooks/models/NQueens_Puzzle.ipynb @@ -0,0 +1,1094 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## N-Queens Puzzle\n", + "\n", + "The N-Queens is a famous constraint solving benchmark puzzle.\n", + "It is a generalisation of the original eight queens puzzle, where the goal is to place eight queens on a 8*8 chessboard so that no two queens attach each other.\n", + "\n", + "We now write a B machine with constants\n", + "* n: the size of the chess board\n", + "* queens: a partial function from 1..n to 1..n, stating in which row the queen on any given column is placed\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Loaded machine: Queens" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "::load\n", + "MACHINE Queens\n", + "CONSTANTS n, queens\n", + "PROPERTIES\n", + " n>0 & n<120 &\n", + " queens : (1..n) +-> (1..n)\n", + " \n", + "DEFINITIONS\n", + " ANIMATION_FUNCTION_DEFAULT == ( {r,c,i|r:1..n & c:1..n & i=(r+c) mod 2 } );\n", + " ANIMATION_FUNCTION == ( {r,c,i|c:1..n & c|->r:queens & i=2+((r+c) mod 2) } );\n", + "\n", + " ANIMATION_IMG0 == \"images/ChessPieces/Chess_emptyl45.gif\";\n", + " ANIMATION_IMG1 == \"images/ChessPieces/Chess_emptyd45.gif\";\n", + " ANIMATION_IMG2 == \"images/ChessPieces/Chess_qll45.gif\";\n", + " ANIMATION_IMG3 == \"images/ChessPieces/Chess_qld45.gif\";\n", + " \n", + " no_attack(q1,q2,board) == no_attack_pos(q1,board(q1),q2,board(q2));\n", + " no_attack_pos(q1,q1row,q2,q2row) == (q1row+q2-q1 /= q2row & q1row-q2+q1 /= q2row);\n", + " Solution(board) == (\n", + " board : perm(1..n) /* for each column the row in which the queen is in */\n", + " &\n", + " !(q1,q2).(q1:1..n & q2:2..n & q2>q1 => no_attack(q1,q2,board) )\n", + " )\n", + "END" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Machine constants set up using operation 0: $setup_constants()" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + ":constants" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Machine initialised using operation 1: $initialise_machine()" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + ":init" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the PROPERTIES we have not stated any constraint of our puzzle. Hence the default solution is n=1 and an empty board:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "$\\renewcommand{\\emptyset}{\\mathord\\varnothing}(\\emptyset\\mapsto 1)$" + ], + "text/plain": [ + "(∅↦1)" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "(queens,n)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us now slowly tighten the constraints. We can use the ```:find``` command to find\n", + "states which satisfy the PROPERTIES and some additional predicate.\n", + "Let us first require that every queen is really placed.\n", + "We also impose an 8 by 8 board." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Found a matching state and made it current state" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + ":find queens : 1..8 --> 1..8" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "$\\{(1\\mapsto 1),(2\\mapsto 1),(3\\mapsto 1),(4\\mapsto 1),(5\\mapsto 1),(6\\mapsto 1),(7\\mapsto 1),(8\\mapsto 1)\\}$" + ], + "text/plain": [ + "{(1↦1),(2↦1),(3↦1),(4↦1),(5↦1),(6↦1),(7↦1),(8↦1)}" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "queens" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can use the graphical visualization ANIMATION_FUNCTION to display the solution:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "<table style=\"font-family:monospace\"><tbody>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_qld45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_qld45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_qld45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_qld45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "</tbody></table>" + ], + "text/plain": [ + "<Animation function visualisation>" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + ":show" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now also require that queens is a bijection, i.e., that no two queens are placed on the same row:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Found a matching state and made it current state" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + ":find queens : 1..8 >-> 1..8" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "<table style=\"font-family:monospace\"><tbody>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "</tr>\n", + "</tbody></table>" + ], + "text/plain": [ + "<Animation function visualisation>" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + ":show" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, let us solve the puzzle by also respecting the diagonals.\n", + "We use the predefined Solutions DEFINITION in the model above." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Found a matching state and made it current state" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + ":find n=8 & Solution(queens)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "<table style=\"font-family:monospace\"><tbody>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_qld45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_qld45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_qld45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_qld45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "</tbody></table>" + ], + "text/plain": [ + "<Animation function visualisation>" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + ":show" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "$\\{(1\\mapsto 1),(2\\mapsto 5),(3\\mapsto 8),(4\\mapsto 6),(5\\mapsto 3),(6\\mapsto 7),(7\\mapsto 2),(8\\mapsto 4)\\}$" + ], + "text/plain": [ + "{(1↦1),(2↦5),(3↦8),(4↦6),(5↦3),(6↦7),(7↦2),(8↦4)}" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "queens" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Obviously we can solve the puzzle for other values of n:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Found a matching state and made it current state" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + ":find n=20 & Solution(queens)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "<table style=\"font-family:monospace\"><tbody>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_qld45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_qld45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_qld45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_qld45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_qld45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_qld45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_qld45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_qld45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_qll45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_qld45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_qld45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:0px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "</tbody></table>" + ], + "text/plain": [ + "<Animation function visualisation>" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + ":show" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "ProB 2", + "language": "prob", + "name": "prob2" + }, + "language_info": { + "codemirror_mode": "prob2_jupyter_repl", + "file_extension": ".prob", + "mimetype": "text/x-prob2-jupyter-repl", + "name": "prob" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/notebooks/models/images/ChessPieces/Chess_emptyd45.gif b/notebooks/models/images/ChessPieces/Chess_emptyd45.gif new file mode 100644 index 0000000000000000000000000000000000000000..fc51105a88b05dccfa99c13b758484d3fb6d10b5 GIT binary patch literal 878 zcmZ?wbhEHb)Me0R_|9PX|NsAMJx-%&Gz3Ok2yA}T!@$6x_>+Z^f#Dy64g&)N11L{0 zaCkE?bI5pXSa7hJLs%>3#D;~3+Xa-p=6GyebhKN-IP1=djf;=>D>!$_cy3y9a<WG7 ks+g0TmY$w&kbG*6=jLT+XIm7%x^r^#^7HdKnVA@@0p}mi#Q*>R literal 0 HcmV?d00001 diff --git a/notebooks/models/images/ChessPieces/Chess_emptyl45.gif b/notebooks/models/images/ChessPieces/Chess_emptyl45.gif new file mode 100644 index 0000000000000000000000000000000000000000..3e169e90e4f3e4d49b97aa71bb25a3ba898e197a GIT binary patch literal 878 zcmZ?wbhEHb)Me0R_|9PX|NsC0=jM!}(GVDEA#kEei-Cbb@h1x-1H(TC9R>yl22h@0 z;P7T(=8*B&u;5@bhp<-6i46-6w+kqH&GFc{=xDcuan_v^8y6q%S8(o<@!YiJ<YbND lRWT<wEj>NmAo<iB&&|uu&bBCib?4;f<>%*fGBYt)0|48vkk|kK literal 0 HcmV?d00001 diff --git a/notebooks/models/images/ChessPieces/Chess_qld45.gif b/notebooks/models/images/ChessPieces/Chess_qld45.gif new file mode 100644 index 0000000000000000000000000000000000000000..83f1bfebdad694c9309eeaa760e1f74ccf6e89a9 GIT binary patch literal 1508 zcmZ?wbhEHb)Me0R_|9PX9~FE@0`FnqITE;s1g;^29;a(Cbgst<idvk`!O$^e(BgCq zjP}AowbNcO+KLRSEw@5YvE^1US_=oomTO^XDKf~mTna^oOS3^}4jg0~&Vit0!#Q9y z1sNn8PJy8wWDsT814WuWQ6SU;2SJ)GU{s9^f;6jPs2CY|DHelKHXL{<W<!vZVm1sV zBLgSJWH5?C29}CZP$Us$2}MD0U?~v<MqbFkP{Iq0oREQ~r4s~cN;pB0fRiQ^St0{X z0ZRx{6tDy%LpV?rFa#q_I8ap7L?8i8MKF>O(1aomO$jJcL;(_tieMzcp$I_&9ExBh z0S5vc5?~~N0yqQ&z=(rG0ERdafPsSpj2IX=z=#0}gwF6~U|>-E$->CM@Q*<UBm>G5 z3>^O%3^`;xHY_;U%pt55b7I57!|ejfUUPO#a2Dhfk-fAau;9%8{$wMqCkd|?>-I=k z{Bd6Dbj^N>#GDqcr!FdN_W!5p{Cw`7FtJ{XVa1Pdmj#pS9~=-A&GZ&yVAzzy8KRlp z={;rP0b5q_R||b+F&7p+JXE~kcz*(0+TB}MU!0l6)~^;jYtxhclUWr1HoJUyzN4_@ zsg`b3fiA;37JDJN9k1@MYI1*>WYDu?!?nY?taiW6S1LRxWPMnp;$ivu!2DwI<PF@x zOM_-en0edwmV7v<v`|ENi}a-z_GbSdB>kw|{{DEtDqg=|-+9u46E_<^_{siIUT*9E zMSM>-?EHLavn{LHf7RR053~{)T5SD(=J%I1TKxYScH{A5`@Yqwst<GuWRw|t8q{P< z-(O6KuN2*CelEwC@dh8eRv{xpq(txIE7jY2HXrxqwLN^oPtnxkiiA6>=@eo2mkd)w z<a7_7Fy@=f&Y<;w%LN67lQ)cFnHb)*AJ>}hdi9Xk%eBV^{1`&EpXyDqZN3+L;qSMQ zkX}ayhe+Pa6xGO^wp;Jp|F=DQ!adCC>%^9;XSWB`YAw6|bjp8^A0m-{2Y)W%`>$|f zf>#cM!J)RBoQtQ_wp>#?<39Jr1crhQx*;#zJvo)V)#n-{X)fKwVU@8^AotiYA>}DQ zudG-yZPpVGZwB_q&T=O+U#;FS>EO~d=bbBOFtBL7SkUa3{B_mjby^Mwl;<t8bh)(n zgj#mcV!o^F=Y+IcxEeRuR8_v-qP${5OHh?pi^`e@aguVbJC~mFST^gH_{t?cHNX5f z3S3Q}Z!pzp({Z_+C)Mwlw%=->?{czXamJ4IY6}iq+;c6tBE-^u`=q^aYH04^^^?>m z>ONRuV0d(~+J@jLK|%JHOTImty?$S{!KF@}*+m+HynY8Bx@&AR_#AHCy6v;L@wS#n Y>@t3TvM*n75zqZ{(L>!g(1F1k04thppa1{> literal 0 HcmV?d00001 diff --git a/notebooks/models/images/ChessPieces/Chess_qll45.gif b/notebooks/models/images/ChessPieces/Chess_qll45.gif new file mode 100644 index 0000000000000000000000000000000000000000..53d83b61605ea846bb8629cdacf4a5b71b87cbf6 GIT binary patch literal 1492 zcmZ?wbhEHb)Me0R_|9PX9~qpR^B;`9!@;>Z-y!JOobOOH<@+%ZdJhN3ro4xsy;I(U z(Q`Q1+w&ZZ?!m#<o_kQ#a&IdLU4w(QE!V*492_idIR{16=ayC<gM+2j#~^4<^)V<a zJ~ju0_QJuO;=K?wrFbtGZH0p=#ap2$d+QVsS_=m~*=xaQDIByUF9oAHa8R8*2aKk` zL3Pv=2r7=60!BS>P#o0*LD@k)VAKK!*+DH3l<d_4M%8eT>{Sg$#c&YiR18MhFpvxf zL6*s26a@!fmQi371P4xrL15$s2bP9jP^9T)2|`YAV5#W@L57-6U}OmghKiODq^W2L zMurHWX=n&Wnwo}Cq-dxKMv4-KV5A8Lii(<0B%!GYLW*!8A)yFG0*VqKB!K_|5)xn} zARqxo0tmn%AOJ=j90Fj(fdC8~9AL!2zyU@KNI(a~2IU0?j{gjt95Nmo794Em5Y~!0 zv0>rib^&FtIXesv^Ky&G?kWfjIK96=%1H0Z*TCxz-2d}LcYf_x5b~Qdp+lwM#r+wE z|M@ugd|c1bp#49O!{w8H%#L~^<8_x<84hd?WeU6}b+|}jd4ccY!m1xe&koEgdh$f( zh2WCVH4Iz$-ptyf5V+WbecdmPsR_O|diHgH47a?vxGjBip6m_n3`f8JZ0rAC?^}Oh zbrY|X-|86$V!T<m|Ggcy;oSaR{TEl2MwjRx+^Oq7?U==eThI3_l@<R}_;r5H>9pTM zUD_YmW1IGEy=N9NdGnp1^Hsb@KIb2@-?K2kQEh>xz~N0+tn0K|Co41hou9+^|J;ZE z0L=@g|65~TIIaKw_M9~5ooSp7YLCyj&Jn-yZ}Iom{|-WZMboAx$=k3@P-kaIN_B9s zV0-88p#RWel9cn+lqO+mR;GZKDwm&M6op)384uLu+?e8N%GX%_$X+$)`jy}_rmP2w zS1c%v<NPo2!zY#NDoX=L=gAWf?Dw{qD|@z>l*%P3-I;N>^uNo_=zd?z@BX#Esh<L; z=>OZSF!8nFm3f^EB54WJlWu8To27s6l1RXR!;pFHVr|8zjon{9T^@hFX39xX;Wuo7 z^XsI(p3z-8WzxyTz3(`$&wuFfL`pIFh(TlToU&UlSqytNN*fEzytr)nie*(xBn1`I zlvcRL>?}O$n|QTq@*3BSU%^Sj6TduPf8bZ<B^MJB(_^BB9Sh#DoH4U*+@y5G;B}x$ zipr8ztNNx+R5cTvbaGyelxm*Ed7W9D%l;?01=h>YoXx2+K|o1=Pyf4@>6{{l!hV9Y zlU~1MabR3I(f40cG*`D!?A82(E4oxeTvoR%);>I+DfF4M&C8|B7r#Gdt*<iSUQ>oO ypVt>g(HxmWC$+BT2=m$09}+%ic6H66lZrV3fuDSAzQ6f=-ho}W#Ep@W!5RQH5S|tQ literal 0 HcmV?d00001 -- GitLab