Skip to content

Instantly share code, notes, and snippets.

View ijkilchenko's full-sized avatar
👽

Alex Ilchenko ijkilchenko

👽
View GitHub Profile
"""
Minimal character-level Vanilla RNN model. Written by Andrej Karpathy (@karpathy)
BSD License
"""
import numpy as np
# data I/O
data = open('input.txt', 'r').read() # should be simple plain text file
chars = list(set(data))
data_size, vocab_size = len(data), len(chars)
@ijkilchenko
ijkilchenko / exchange_rates.py
Last active April 23, 2023 08:19
Python script which makes a matrix of exchange rates (USD to EUR, etc.), deletes some entries, and then fills-in the gaps (as much as possible)
import random
import copy
def make_exchange_matrix(N=3, seed=2017):
'''In this function, we make an exchange matrix
for testing purposes by randomly picking exchange
rates from the first currency to all the other
currencies. '''
@ijkilchenko
ijkilchenko / bananagrams_completer.py
Last active March 7, 2022 10:39
bananagrams_completer
from itertools import combinations
from collections import defaultdict, Counter
def to_multiset(word):
return frozenset(Counter(word).items())
def find_longer_words(dictionary, words):
for num_words in range(2, min(len(words), 10)):
import keyboard
import time
if __name__ == '__main__':
frames = [0]
def forward():
global last_frame_index
while True:
if not is_paused:
import random
from math import sqrt, floor
"""
Guessing game. When playing, the game picks a random value from i to j
and each time a guess g is made, g is added to the previous running cost
of playing this game.
"""
cache = {}
class Game:
from math import log10, floor
def r(num):
num_digits = floor(log10(num) + 1)
return num//10 + (num % 10)*(10**(num_digits-1))
def does_a_divide_b(a, b):
if b % a == 0:
return True
else:
from sklearn.datasets import make_classification
from sklearn.cross_validation import train_test_split
from itertools import product
import numpy as np
import pandas as pd
class NeuralNetwork:
g = np.vectorize(lambda z: 1 / (1 + np.exp(-z)))
log = np.vectorize(lambda x: np.log(x))
syntax enable
colorscheme monokai
set number
set ruler
set swapfile
set dir=~/tmp
set tabstop=4
import random
import numpy as np
#from cvxpy import *
def p(M):
"""Method to pretty print our matrix. """
for i in range(len(M)):
print(' '.join([str(num) for num in M[i]]))
def generate_M(N=3, max_touches=2):
@ijkilchenko
ijkilchenko / heap.py
Last active June 16, 2016 04:19
Heap which supports insertion in O(log(n)) time and finding the max (the root node) in O(1). Also, the tree of the heap is always as short as possible -- what I call a balanced heap.
import random
class Node():
def __init__(self, data=None):
self.data = data
self.parent = None
self.left = None
self.right = None
self.load = 1 # Assumed to be a leaf when initialized.