{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# algorithme\n", "\n", "\n", "1. Posons $X^{(0)}$ un reseau quelconque.\n", "\n", "2. copie $X^{(0)}$ dans $X^{(1)}$\n", "\n", "3. pour change antenne dans $X^{(1)}$\n", " \n", " 1. si `antenne` peut etre allume et $U(0, 1) < 0.5$\n", " 1. On allume `antenne` dans $X^{(1)}$ \n", " 2. sinon\n", " 1. On eteint `antenne` dans $X^{(1)}$ " ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "source": [ "%pylab inline\n", "from network.network import (is_valid_network,\n", " get_number_of_activated_antenna,\n", " pp_network,\n", " switch_antenna_in_network,\n", " turn_off_antenna,\n", " can_antenna_be_turned_on,\n", " turn_on_antenna)\n", "from numpy import mean\n", "from random import Random\n", "from itertools import cycle" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "random = Random(666)\n", "\n", "def get_all_antennas(box_size):\n", " return range(box_size * box_size)\n", " \n", "def get_new_network_with_gibbs(network, box_size):\n", " for antenna in get_all_antennas(box_size):\n", " if can_antenna_be_turned_on(antenna, network, box_size) and random.choice([True, False]):\n", " network = turn_on_antenna(antenna, network, box_size)\n", " else:\n", " network = turn_off_antenna(antenna, network)\n", " return network" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "networks = [0]\n", "box_size = 5\n", "\n", "for i in range(100):\n", " last_network = networks[-1]\n", " networks.append(get_new_network_with_gibbs(last_network, box_size))\n", "\n" ] } ], "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", "version": "3.4.3+" } }, "nbformat": 4, "nbformat_minor": 0 }