{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Local Search in Discrete State and Action Spaces\n", "\n", "For some search problems, the path to reach the goal is not\n", "important. Discovering a goal state or a state with the best value of\n", "some objective function is the important part. Such problems are\n", "often called **optimization problems**.\n", "\n", "What are some examples?\n", "\n", "What is the best setting for a control on your stove to cook your soup\n", "as quickly as possible without burning it? \n", "\n", "What is the best way to pack the words of a word cloud, or a [wordle](http://www.wordle.net)? See an answer [here](https://stackoverflow.com/questions/342687/algorithm-to-implement-a-word-cloud-like-wordle).\n", "\n", "What is the best way to divide up the computations of a matrix\n", "calculation to be distributed across multiple cores?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Local search** algorithms operate by maintaining a single state (or\n", "set of pretty good states) and generating another state to try based\n", "on this limited memory. Some set of actions are available to modify a\n", "state to another \"neighboring\" state. It is a \"neighbor\" state in an\n", "abstract graph of states connected by single actions.\n", "\n", "Imagine all of the possible states for a problem laid out along a\n", "line, along an x-axis. The value of the objective function can be\n", "plotted as a height above the points on the x-axis. A local search\n", "algorithm tries to find the state with the best height, where best\n", "could be the maximal or minimal value depending on the search\n", "problem. The best value over all states is the **global optimum** (a\n", "minimum or a maximum depending on the problem).\n", "\n", "A local search algorithm is **complete** if it always finds a goal\n", "state. It is **optimal** if it always finds the optimum state, the\n", "one with the global maximum or minimum." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Hill-Climbing Search" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is our first example of a local search algorithm. Imagine you\n", "are climbing a mountain and you are in a very thick fog. You can only\n", "see a distance equal to one step length. To try to climb you take the\n", "step in the direction that is steepest to get to the highest\n", "point of all the locations you can currently see.\n", "\n", "In other words, hill-climbing search simply evaluates the objective\n", "function for all states that are neighbors to the current state, and\n", "takes the neighbor state with the best objective function value as the\n", "new current state. If there are more than one next best states, one\n", "is picked randomly.\n", "\n", "Hill-climbing search is sometimes called **greedy search**, because a\n", "step is taken after only considering the immediate neighbors. No time\n", "is spent considering possible future states.\n", "\n", "Hill-climbing is easy to formulate and implement and often finds\n", "pretty good states quickly. But, it has the following problems:\n", "\n", " * it gets stuck on local optima (hills for maximizing searches, valleys for minimizing searches,\n", " * it may get stuck on a ridge, if no single action can advance the search along the ridge,\n", " * it may get stuck wandering on a plateau for which all neighboring states have equal value.\n", "\n", "Common variations include\n", " * allow sideways moves (when on a plateau)\n", " * stochastic hill-climbing: choose next state with probability related to increase in value of objective function\n", " * first-choice hill-climbing: generate neighbors by random choice of available actions and keep first state that has better value,\n", " * random-restart hill climbing: conduct multiple hill-climbing searches from multiple, randomly generated, initial states.\n", "\n", "Only this last one, with random-restarts, is **complete**. In the limit, all states will be tried as starting states so the goal, or best state, will eventually be found." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# The Eight-Queens Problem" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Place eight queens on a chess board so that no queen is attacking\n", "another. Each queen must be in one of the 8 columns, so each queen\n", "can be placed in one of the 8 rows, for a total of $8^8 \\approx 17$\n", "million states. Actions are moving a single queen to a different row\n", "in the same column. The objective function is the number of pairs of\n", "queens attacking each other. This function is to be minimized, of\n", "course. See [this animation](https://www.youtube.com/watch?v=ckC2hFdLff0)\n", "and [this nice explanation](https://www.youtube.com/watch?v=jPcBU0Z2Hj8)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hill-climbing search as described only finds solutions 14% of the time, but solves those instances quickly, in an average of 4 steps. When it gets stuck this is discovered in an average of 3 steps.\n", "\n", "| Hill-climbing Variations | Percent Solved | Steps to Find Solution | Steps to Know Failure |\n", "| :--: |:--: |:--: |:--: |\n", "| basic | 14% | 4 | 3 |\n", "| with sideways moves | 94% | 21 | 64 |\n", "| with restarts | 100% | 22 | |\n", "| with sidways moves and restarts | 100% | 28 | |" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Hard Problems\n", "\n", "Hard ones for hill-climbing are ones with many local optima. NP-hard problems often have an exponential number of local optima, but states with pretty good value can often be found with a small number of restarts." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Simulated Annealing\n", "\n", "Hill-climbing searches will get stuck on local optima. Only by adding\n", "random restarts can you have a hill-climbing algorithm that is\n", "complete.\n", "\n", "To get off of a local optimum, a search must be defined to allow steps\n", "that are \"downhill\" for maximizing searches, and \"uphill\" for\n", "minimizing searches, away from the optimum. \n", "\n", "**Simulated annealing**\n", "is an algorithm that does this probabilisitically. Assume we are\n", "doing a maximizing search, meaning we want to find the state with the\n", "maximum value. Let the value of\n", "the current state be $v$. Imagine an action has been applied to that\n", "state and the resulting state has a lower (worse) value $v'$. Simulated\n", "annealing will accept this new state as the current state with\n", "probability $e^{(v' - v)/T}$. $T$ is like a \"temperature\", the higher\n", "the value the more likely we are to take a step to a state with a\n", "worse value. In practice, $T$ starts at a high value and is slowly\n", "decreased towards zero. If it is decreased \"slowly enough\", the\n", "global optimum will be found with probabilty 1. In other words, this is a\n", "**complete** algorithm." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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DGHNmjWsWbOGefPmcfXVV7c/Lisr66WosxePx1M+tz8JWXNzc09DSurnP/85w4cPZ8OGDVx++eVcf/31Sa+7+OKLeeyxx7qsf+tb32L27NmsX7+eE044ge9+97sALF68mE2bNrFhwwbuuusuLr/8cgB27NjBt7/9bVasWMELL7zAN77xjfYEa968efzyl79k/fr1rF27lqeffjrtZwRJCZmIX5JO4I/Dhme8Bv4Fu7yvSsZ8oRlkheHh1Zu5/sFX2LwrggM274pw/YOv9DgpS2XhwoVMnz6dyZMnc9lll9HS0kJzczODBg3i2muvZcqUKcyaNYsXX3yRE088kTFjxvD4448DcM8993DOOecwa9Ysxo8fzy233JLR+95www1Mnz6d5cuXc+ONNzJt2jQmTJjAvHnzcM7xwAMPsGbNGs4777z2Xbzq6mp27doFwAsvvMApp5wCwA033MCll17KqaeeykUXXURzczPXXHMN06dPZ9KkSdxzzz09/jd65JFHuPDCCwGYO3cuS5YsSXrdiSeeyODBg9O+/sILL+Thhx9uX//CF74AwPHHH09dXR3bt2/niSee4LTTTmPQoEEMGTKEk08+maeeeopNmzYRjUaZNm0aZsbnP//5Tu+V7DOCpL18Eb+ogT9QdbujTDk0Rc+e5I2bFq/ltS27Uz6/+u1dNMVbOq1FYnH+7+9r+N/lyUtlRx5yADfO+XDWsbz66qs89NBDLFu2jJKSEi655BLuv/9+5s6dS319PTNnzuT2229nzpw5LFiwgKVLl/Lyyy9z6aWXcvrppwOwfPlyXn31VcrKypg2bRpnnnkmJSUlad93ypQp7cnb+PHjuemmm3DOccEFF/Dkk09y3nnn8eMf/5g777yzS/kv6b/Z6tX89a9/pby8nLvvvpuDDz6Y5cuX09jYyDHHHMPMmTM59NBDO73m2GOPZe/evV3e64477uCkk07qtLZ582ZGjRoFQFlZGZWVlezatYtBgwZl9O+8c+dOhg71BmaPHDmSrVu3dnlfgOrqajZv3pz1errPCJISMpHekjjwNRU18PvOOce2+kYdm1QAEpOx7tZ74plnnmHFihVMnToVgEgk0v5/+BUVFZx66qkATJw4kaqqKkpKSpg4cSJvvvlm+3vMmjWLAw/0flE4++yzee6552hubk75vmVlZZxzzjntr1+6dCm333470WiUHTt28JGPfITZs2dn9fc466yzKC/3/rfx1FNP8frrr3P//fcDUF9fz/r167skZMuWLcv4/Z1zXdZ60jrQ9tpU7+uc6/L+beuZxhGG1gYlZCK9IenAV6CoFFpi+65TA39OvNvQRFO8RXdY9gHd7WQdd9uf2LwrcbYfjBxUwQOXfqxXY3HOcfHFF/PNb36z03pzc3On3rKioiL69evX/n3HXq1UiUOq962oqGh/zd69e7niiit46aWXGDlyJDfccEPKMQslJSW0tHhJaeI1lZWVnf5Od999NzNmzEj7d89mh6y6uppNmzYxfPhwmpqaaGhooKqqKu37dzRkyBC2b9/O0KFD2bx5M8OHD+/0vscccwzgzas75JBDqK6u5oUXXmh/fW1tLRMmTGi/vuP6IYcckvYzgqQeMpHekHTgK9BvoBr4A1CnkRcF49pZ46koLe60VlFazLWzxvf6Z51yyiksWrSIHTt2AF7ZK9UdhKk89dRT7Nq1i7179/LII49w3HHHZfy+kUiEoqIiDjroIPbs2cMf/vCH9ucGDhzInj172h8ffvjhrFq1CqDTdYlmzZrF3Xff3Z40rlu3jkik68+yZcuWtd/Y0PFPYjIG8MlPfpKFCxcCsGjRImbOnJnJP03S1y9cuJCzzjqrff3Xv/41AM899xzDhg1j6NChnHbaaTzxxBPs2rWLnTt3snTpUmbOnMmoUaPo168fK1aswDnHb37zm07vlewzgqQdMpHekKovLPIefPVfuY1F2meQaUp/33f20SMBuH3JOrbsinDIoAqunTW+fb03TZw4kRtvvJFTTjmFlpYWSktL+elPf9q+65KJ448/ngsuuIB//vOffP7zn2/v+crkfYcMGcKFF17IhAkTOOyww/joRz/a/txFF13El770JSoqKli+fDkLFizgy1/+MsOHD2f69Okp47n00kt5++232+M4+OCDeeSRR7L5Z+nikksu4XOf+xxjx47loIMOai+Hbtq0icsvv5xHH30UgE9/+tM899xz7Ny5k+rqam655Ra++MUv8rWvfY25c+fys5/9jNGjR/PAAw8AMGfOHJ544gk+8IEPUFlZ2Z5QDR06lOuvv7695HvzzTe378j95Cc/4Ytf/CLRaJQzzzyzvayc6jOCZMlqrGE2depUt3LlyqDDkELXsV+sYjBEdia/rmqUjkQKwO9efJuv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\n", "text/plain": [ "