Skip to content

Instantly share code, notes, and snippets.

@kjunichi
Last active August 29, 2015 14:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kjunichi/9e77493c41fdfe0d8f20 to your computer and use it in GitHub Desktop.
Save kjunichi/9e77493c41fdfe0d8f20 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{"nbformat_minor": 0, "nbformat": 4, "metadata": {"signature": "sha256:f6e0f85fad4e1c32eaa03323831d1b04d592fbb5388a854bccb5ded06029fd31", "language_info": {"name": "python", "pygments_lexer": "ipython2", "nbconvert_exporter": "python", "file_extension": ".py", "mimetype": "text/x-python", "codemirror_mode": {"name": "ipython", "version": 2}}, "kernelspec": {"name": "python2", "display_name": "IPython (Python 2)"}}, "cells": [{"cell_type": "code", "outputs": [], "source": "%matplotlib inline", "execution_count": 1, "metadata": {"collapsed": true, "trusted": true}}, {"cell_type": "code", "outputs": [], "source": "from graphillion import GraphSet", "execution_count": 2, "metadata": {"collapsed": true, "trusted": true}}, {"cell_type": "code", "outputs": [], "source": "import graphillion.tutorial as tl", "execution_count": 3, "metadata": {"collapsed": true, "trusted": true}}, {"cell_type": "code", "outputs": [], "source": "universe = tl.grid(8, 8)", "execution_count": 4, "metadata": {"collapsed": true, "trusted": true}}, {"cell_type": "code", "outputs": [], "source": "GraphSet.set_universe(universe)", "execution_count": 5, "metadata": {"collapsed": true, "trusted": true}}, {"cell_type": "code", "outputs": [{"data": {"image/png": "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\nfoGrtAuDWpJer6c3Nzf6WOAaHyTdjsdOPr+ghx566PHV0xqG0kRRZIswtFPvsnvX7Vrs8OFqeuih\nhx5fPW3AoJaobg9W00MPPfT46mkDBrVkdTv6ix566KHHV0/TMagVqNvh1PTQQw89vnqajEGtyPH1\nSYswtKV+fH3SnZ4+s6j6dU700EMPPVX3NBWDWqHdbmdxHNt8OrVOENjLTsdedjrWCQKbT6cWx3Gl\nn1nQQw899PjqaSKOHvQky7LvJ5D0+33vt6bTQw899KAYBhUAAAc42AEAAAcYVAAAHGBQAQBwgEEF\nAMABBhUAAAcYVAAAHGBQAQBwgEEFAMABBhUAAAcYVAAAHGBQAQBwgEEFAMABBhUAAAcYVAAAHGBQ\nAQBwgEEFAMABBhUAAAcYVAAAHGBQAQBwgEEFAMABBhUAAAcYVAAAHGBQAQBwgEEFAMABBhUAAAcY\nVAAAHGBQAQBwgEEFAMABBhUAAAcYVAAAHGBQAQBwgEEFAMABBhUAAAcYVAAAHGBQAQBwgEEFAMAB\nBhUAAAcYVAAAHGBQAQBwgEEFAMABBhUAAAcYVAAAHGBQAQBwgEEFAMABBhUAAAcYVAAAHGBQAQBw\ngEEFAMABBhUAAAcYVAAAHGBQAQBwgEEFAMABBhUAAAcYVAAAHGBQAQBwgEEFAMABBhUAAAcYVAAA\nHPg/7JXxbUA0gfEAAAAASUVORK5CYII=\n", "text/plain": "<matplotlib.figure.Figure at 0x7f0db5bba050>"}, "output_type": "display_data", "metadata": {}}], "source": "tl.draw(universe)", "execution_count": 6, "metadata": {"collapsed": false, "trusted": true}}, {"cell_type": "code", "outputs": [], "source": "start = 1", "execution_count": 7, "metadata": {"collapsed": true, "trusted": true}}, {"cell_type": "code", "outputs": [], "source": "goal = 81", "execution_count": 8, "metadata": {"collapsed": true, "trusted": true}}, {"cell_type": "code", "outputs": [], "source": "paths = GraphSet.paths(start, goal)", "execution_count": 9, "metadata": {"collapsed": true, "trusted": true}}, {"cell_type": "code", "outputs": [{"data": {"text/plain": "3266598486981642"}, "output_type": "execute_result", "metadata": {}, "execution_count": 10}], "source": "len(paths)", "execution_count": 10, "metadata": {"collapsed": false, "trusted": true}}, {"cell_type": "code", "outputs": [], "source": "", "execution_count": null, "metadata": {"collapsed": true, "trusted": true}}]}
# coding: utf-8
# In[1]:
get_ipython().magic('matplotlib inline')
# In[2]:
from graphillion import GraphSet
# In[3]:
import graphillion.tutorial as tl
# In[4]:
universe = tl.grid(8, 8)
# In[5]:
GraphSet.set_universe(universe)
# In[6]:
tl.draw(universe)
# In[7]:
start = 1
# In[8]:
goal = 81
# In[9]:
paths = GraphSet.paths(start, goal)
# In[10]:
len(paths)
# In[ ]:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment