Skip to content

Commit

Permalink
renaming pyrlap to msdm
Browse files Browse the repository at this point in the history
  • Loading branch information
markkho committed Aug 21, 2020
1 parent 2f98a6a commit b2d4fd7
Show file tree
Hide file tree
Showing 60 changed files with 141 additions and 140 deletions.
2 changes: 1 addition & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1 +1 @@
include README.rst
include README.md
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Models of Sequential Decision Making

Implementations of basic rl and planning algorithms and domains
mainly for cog sci research.


## Installation

### Installing the package in edit mode

After downloading, go into the folder and install the package locally
(with a symlink so its updated as source file changes are made):

```
$ pip install -e .
```

It is recommended to use a virtual environment.

Related libraries:
- [BURLAP](https://github.com/jmacglashan/burlap)
19 changes: 0 additions & 19 deletions README.rst

This file was deleted.

34 changes: 17 additions & 17 deletions demos/Basic-Intro.ipynb

Large diffs are not rendered by default.

30 changes: 15 additions & 15 deletions demos/Distributions.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@
},
{
"cell_type": "code",
"execution_count": 2,
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"\n",
"from pyrlap.core.distributions import DiscreteFactorTable as Pr\n",
"from pyrlap.core.assignment import AssignmentMap as Dict\n",
"from msdm.core.distributions import DiscreteFactorTable as Pr\n",
"from msdm.core.assignment import AssignmentMap as Dict\n",
"\n",
"def toDF(p):\n",
" df = pd.DataFrame(p.support)\n",
Expand Down Expand Up @@ -58,7 +58,7 @@
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": 2,
"metadata": {},
"outputs": [
{
Expand Down Expand Up @@ -129,7 +129,7 @@
"3 1 1 0.05 -2.995732"
]
},
"execution_count": 3,
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
Expand All @@ -144,7 +144,7 @@
},
{
"cell_type": "code",
"execution_count": 4,
"execution_count": 3,
"metadata": {},
"outputs": [
{
Expand Down Expand Up @@ -196,7 +196,7 @@
"1 2 0.285714 -1.252763"
]
},
"execution_count": 4,
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
Expand All @@ -211,7 +211,7 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": 4,
"metadata": {},
"outputs": [
{
Expand Down Expand Up @@ -266,7 +266,7 @@
"1 1 1 0.181818 -1.704748"
]
},
"execution_count": 5,
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
Expand All @@ -281,7 +281,7 @@
},
{
"cell_type": "code",
"execution_count": 6,
"execution_count": 5,
"metadata": {},
"outputs": [
{
Expand Down Expand Up @@ -348,7 +348,7 @@
"2 1 1 1 0.090909 -2.397895"
]
},
"execution_count": 6,
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
Expand Down Expand Up @@ -376,7 +376,7 @@
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": 6,
"metadata": {},
"outputs": [
{
Expand Down Expand Up @@ -435,7 +435,7 @@
"2 2 0.826446 -0.190620"
]
},
"execution_count": 7,
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
Expand All @@ -450,7 +450,7 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": 7,
"metadata": {},
"outputs": [
{
Expand Down Expand Up @@ -521,7 +521,7 @@
"3 1 1 0.05 -2.995732"
]
},
"execution_count": 8,
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
Expand Down
File renamed without changes.
4 changes: 4 additions & 0 deletions msdm/algorithms/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
from msdm.algorithms.vectorizedvalueiteration import \
VectorizedValueIteration
from msdm.algorithms.laostar import LAOStar
from msdm.algorithms.lrtdp import LRTDP
4 changes: 2 additions & 2 deletions pyrlap/algorithms/laostar.py → msdm/algorithms/laostar.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
import random
import numpy as np

from pyrlap.core.assignment import AssignmentMap as Dict
from pyrlap.core.algorithmclasses import Plans, Result
from msdm.core.assignment import AssignmentMap as Dict
from msdm.core.algorithmclasses import Plans, Result

def _hash(x):
if isinstance(x, dict):
Expand Down
6 changes: 3 additions & 3 deletions pyrlap/algorithms/lrtdp.py → msdm/algorithms/lrtdp.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from pyrlap.core.problemclasses.mdp import MarkovDecisionProcess
from pyrlap.core.assignment import DefaultAssignmentMap, \
from msdm.core.problemclasses.mdp import MarkovDecisionProcess
from msdm.core.assignment import DefaultAssignmentMap, \
AssignmentMap
from pyrlap.core.algorithmclasses import Plans, Result
from msdm.core.algorithmclasses import Plans, Result

def iter_dist_prob(dist):
'''
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from scipy.special import softmax, logsumexp
import numpy as np
from pyrlap.core.problemclasses.mdp import TabularPolicy, \
from msdm.core.problemclasses.mdp import TabularPolicy, \
TabularMarkovDecisionProcess
from pyrlap.core.algorithmclasses import Plans, Result
from pyrlap.core.assignment import AssignmentMap
from msdm.core.algorithmclasses import Plans, Result
from msdm.core.assignment import AssignmentMap

class VectorizedValueIteration(Plans):
def __init__(self,
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from abc import ABC, abstractmethod
from pyrlap.core.problemclasses.problemclass import ProblemClass
from msdm.core.problemclasses.problemclass import ProblemClass

class Algorithm(ABC):
"""Abstract superclass for all algorithms"""
Expand Down
7 changes: 7 additions & 0 deletions msdm/core/assignment/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from msdm.core.assignment.assignmentmap import \
AssignmentMap, \
DefaultAssignmentMap
from msdm.core.assignment.assignmentset import \
AssignmentSet
from msdm.core.assignment.assignmentcache import \
AssignmentCache
File renamed without changes.
File renamed without changes.
File renamed without changes.
4 changes: 4 additions & 0 deletions msdm/core/distributions/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
from msdm.core.distributions.distributions import Distribution
from msdm.core.distributions.multinomial import Multinomial
from msdm.core.distributions.discretefactortable import \
DiscreteFactorTable
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
logger = logging.getLogger(__name__)
logger.info("Ignoring division by zero errors")

from pyrlap.core.utils.dictutils import dict_merge, dict_match
from pyrlap.core.distributions.distributions import Distribution
from msdm.core.utils.dictutils import dict_merge, dict_match
from msdm.core.distributions.distributions import Distribution

class DiscreteFactorTable(Distribution):
"""
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
logger = logging.getLogger(__name__)
logger.info("Ignoring division by zero errors")

from pyrlap.core.distributions.distributions import Distribution
from msdm.core.distributions.distributions import Distribution

class Multinomial(Distribution):
def __init__(self, support, logits=None, probs=None):
Expand Down
File renamed without changes.
4 changes: 4 additions & 0 deletions msdm/core/problemclasses/mdp/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
from msdm.core.problemclasses.mdp.mdp import *
from msdm.core.problemclasses.mdp.tabularmdp import *
from msdm.core.problemclasses.mdp.factoredmdp import *
from msdm.core.problemclasses.mdp.policy import *
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from pyrlap.core.problemclasses.mdp.mdp import ANDMarkovDecisionProcess, \
from msdm.core.problemclasses.mdp.mdp import ANDMarkovDecisionProcess, \
MarkovDecisionProcess

class FactoredMarkovDecisionProcess(MarkovDecisionProcess):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from abc import abstractmethod
from typing import Iterable

from pyrlap.core.problemclasses.problemclass import ProblemClass
from pyrlap.core.distributions import Distribution
from pyrlap.core.assignment.assignmentcache import AssignmentCache
from msdm.core.problemclasses.problemclass import ProblemClass
from msdm.core.distributions import Distribution
from msdm.core.assignment.assignmentcache import AssignmentCache


class MarkovDecisionProcess(ProblemClass):
Expand Down
2 changes: 2 additions & 0 deletions msdm/core/problemclasses/mdp/policy/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from msdm.core.problemclasses.mdp.policy.tabularpolicy import TabularPolicy
from msdm.core.problemclasses.mdp.policy.policy import Policy
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from abc import ABC, abstractmethod
from pyrlap.core.problemclasses.mdp.mdp import MarkovDecisionProcess
from pyrlap.core.distributions import Distribution
from msdm.core.problemclasses.mdp.mdp import MarkovDecisionProcess
from msdm.core.distributions import Distribution

class Policy(ABC):
@abstractmethod
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
from typing import Mapping
import numpy as np

from pyrlap.core.problemclasses.mdp.policy.policy import Policy
from pyrlap.core.problemclasses.mdp.mdp import MarkovDecisionProcess
from msdm.core.problemclasses.mdp.policy.policy import Policy
from msdm.core.problemclasses.mdp.mdp import MarkovDecisionProcess

from pyrlap.core.assignment.assignmentmap import AssignmentMap
from pyrlap.core.distributions import DiscreteFactorTable, Distribution
from msdm.core.assignment.assignmentmap import AssignmentMap
from msdm.core.distributions import DiscreteFactorTable, Distribution
class TabularPolicy(Policy):
def __init__(self, states, actions, policymatrix=None, policydict=None):
self._states = states
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import json, logging
import numpy as np
from pyrlap.core.problemclasses.mdp import ANDMarkovDecisionProcess, \
from msdm.core.problemclasses.mdp import ANDMarkovDecisionProcess, \
MarkovDecisionProcess

from pyrlap.core.assignment.assignmentset import AssignmentSet as Set
from msdm.core.assignment.assignmentset import AssignmentSet as Set
logger = logging.getLogger(__name__)

class TabularMarkovDecisionProcess(MarkovDecisionProcess):
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from typing import Mapping, Hashable
from abc import abstractmethod

from pyrlap.core.problemclasses.problemclass import ProblemClass
from pyrlap.core.distributions import Distribution
from msdm.core.problemclasses.problemclass import ProblemClass
from msdm.core.distributions import Distribution


class PartiallyObservableStochasticGame(ProblemClass):
Expand Down
File renamed without changes.
2 changes: 2 additions & 0 deletions msdm/core/problemclasses/stochasticgame/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from msdm.core.problemclasses.stochasticgame.stochasticgame \
import StochasticGame, ANDStochasticGame
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from typing import Mapping, Hashable
from abc import abstractmethod

from pyrlap.core.problemclasses.problemclass import ProblemClass
from pyrlap.core.distributions import Distribution
from pyrlap.core.assignment.assignmentcache import AssignmentCache
from msdm.core.problemclasses.problemclass import ProblemClass
from msdm.core.distributions import Distribution
from msdm.core.assignment.assignmentcache import AssignmentCache

class StochasticGame(ProblemClass):
"""
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
3 changes: 3 additions & 0 deletions msdm/domains/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from msdm.domains.gridworld.mdp import GridWorld
from msdm.domains.modified.stickyaction import StickyActionMDP
from msdm.domains.gridworld.stickyactiongw import StickyActionGridWorld
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
import json, copy
import numpy as np

from pyrlap.core.utils.gridstringutils import stringToElementArray
from pyrlap.core.problemclasses.stochasticgame import StochasticGame
from pyrlap.core.distributions import DiscreteFactorTable as Pr
from msdm.core.utils.gridstringutils import stringToElementArray
from msdm.core.problemclasses.stochasticgame import StochasticGame
from msdm.core.distributions import DiscreteFactorTable as Pr

TERMINALSTATE = {"isTerminal": True}

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import matplotlib.pyplot as plt
import json
from typing import Iterable
from pyrlap.core.utils.gridstringutils import stringToElementArray
from msdm.core.utils.gridstringutils import stringToElementArray

from pyrlap.core.problemclasses.mdp import \
from msdm.core.problemclasses.mdp import \
TabularMarkovDecisionProcess, \
ANDMarkovDecisionProcess
from pyrlap.core.distributions import DiscreteFactorTable
from pyrlap.core.assignment import \
from msdm.core.distributions import DiscreteFactorTable
from msdm.core.assignment import \
AssignmentMap as Dict, AssignmentSet as Set

def dictToStr(d):
Expand Down Expand Up @@ -167,7 +167,7 @@ def plot(self,
if allElements:
plotInitStates = True
plotAbsorbingStates = True
from pyrlap.domains.gridworld.plotting import GridWorldPlotter
from msdm.domains.gridworld.plotting import GridWorldPlotter
if featureColors is None:
featureColors = {
'g': 'yellow',
Expand Down
Loading

0 comments on commit b2d4fd7

Please sign in to comment.