Skip to content

Instantly share code, notes, and snippets.

@jmoy
jmoy / CompetitiveStoragePython.ipynb
Last active August 28, 2018 19:15
Solving the competitive storage model using collocation
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
import numpy as np
import numpy.random as nr
def gen(N):
X = nr.choice([0,1],size=N,p=[0.6,0.4])
D = nr.choice([0,1],size=N,p=[0.6,0.4])
epsi = nr.uniform(0,2,N)
Y = X+D*epsi
return X,D,epsi,Y
def estim(D,Y):
@jmoy
jmoy / thugs_suitcase.py
Last active May 29, 2017 04:43
River crossing puzzle
import itertools as it
NTHUGS = 3
NCASES = 2
BOATCAP = 3
thugs = set()
cases = set()
owner = dict()
nresults = 0
@jmoy
jmoy / CL_RBC.py
Last active October 9, 2016 19:06
Value Function Iteration Using OpenCL
# Basic RBC model with full depreciation
# U(c) = log(c)
# F(K) = Z k^\alpha
# where Z is a finite-state Markov chain
#
# Original version:
# Jesus Fernandez-Villaverde
# Haverford, July 3, 2013
# https://github.com/jesusfv/Comparison-Programming-Languages-Economics/blob/master/RBC_Python.py
#
@jmoy
jmoy / KnightTours.hs
Created April 27, 2016 16:36
Enumerate all closed Knight's tours (multithreaded, Haskell)
{-#LANGUAGE BangPatterns #-}
{-
Enumerate all closed Knight's Tours in an
arbitrarity sized chessboard. Multi-threaded version.
Usage:
KnightTours m n +RTS -N
Compile with:
/*
A multi-threaded brute-force search for closed Knight's tours (used OpenMP)
Usage: knights_tours [m] [n]
to search for tour on a m x n board
rows are denoted by letters A.., columns by numbers 0..
Compile with
g++ -O3 -Wall -std=c++11 -fopenmp knight_tours.cc -o knight_tours
@jmoy
jmoy / knights_tour.cc
Created April 23, 2016 07:32
Knight's Tour using OpenMP
/*
A multi-threaded brute-force search for closed Knight's tours (used OpenMP)
Usage: knights_tours [m] [n]
to search for tour on a m x n board
rows are denoted by letters A.., columns by numbers 0..
Compile with
g++ -O3 -Wall -std=c++11 -fopenmp knight_tours.cc -o knight_tours
@jmoy
jmoy / shapley.py
Last active January 4, 2016 00:29
Simulate the fictitious play dynamic for the game in Shapley (1964).
"""
Simulate the fictitious play dynamic
for the game in section 5.3 of
Shapley, Lloyd S. "Some topics in two-person games."
Advances in game theory 52 (1964): 1-29.
Author: Jyotirmoy Bhattacharya, jyotirmoy@jyotirmoy.net
The author has placed this program in the public domain
@jmoy
jmoy / rwalk.py
Created July 23, 2013 17:03
Visualizing a 2D random walk using Python, Cairo and GTK
#!/usr/bin/python
"""
Random walk on two-dimensional grid
(c) Jyotirmoy Bhattacharya, jyotirmoy@jyotirmoy.net
LICENSE: GPL3
"""
import random
import gtk,gobject,cairo
import math
@jmoy
jmoy / centipede.py
Created February 25, 2011 04:57
Keep score for Rosenthal's centipede game
"""
A script to keep score for a version of Rosenthal's centipede game.
The rules are:
1. There are two players.
2. At the beginning of the game the players have 1 point each.
3. The players get turns alternately.
4. On their turn a player can choose to continue (C) or stop (S).
5. If the player chooses C, 1 point is taken from their account
and 2 points are added to the other player's account.
6. If the player chooses S, the game stops.