76 lines
2.4 KiB
Python
76 lines
2.4 KiB
Python
|
#!/usr/bin/env python3
|
||
|
# -*- coding: utf-8 -*-
|
||
|
|
||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
# IMPORTS
|
||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
|
||
|
from src.thirdparty.types import *;
|
||
|
from src.thirdparty.maths import *;
|
||
|
|
||
|
from models.generated.config import *;
|
||
|
from models.generated.commands import *;
|
||
|
from src.core.log import *;
|
||
|
from src.core.utils import *;
|
||
|
from src.models.random_walk import *;
|
||
|
from src.algorithms.random_walk.display import *;
|
||
|
|
||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
# EXPORTS
|
||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
|
||
|
__all__ = [
|
||
|
'adaptive_walk_algorithm',
|
||
|
'gradient_walk_algorithm',
|
||
|
'metropolis_walk_algorithm',
|
||
|
];
|
||
|
|
||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
# METHOD adaptive walk
|
||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
|
||
|
def adaptive_walk_algorithm(
|
||
|
landscape: Landscape,
|
||
|
r: float,
|
||
|
optimise: EnumOptimiseMode,
|
||
|
verbose: bool,
|
||
|
):
|
||
|
'''
|
||
|
Führt den Adapative-Walk Algorithmus aus, um ein lokales Minimum zu bestimmen.
|
||
|
'''
|
||
|
log_warn('Noch nicht implementiert!');
|
||
|
return;
|
||
|
|
||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
# METHOD gradient walk
|
||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
|
||
|
def gradient_walk_algorithm(
|
||
|
landscape: Landscape,
|
||
|
r: float,
|
||
|
optimise: EnumOptimiseMode,
|
||
|
verbose: bool,
|
||
|
):
|
||
|
'''
|
||
|
Führt den Gradient-Descent (bzw. Ascent) Algorithmus aus, um ein lokales Minimum zu bestimmen.
|
||
|
'''
|
||
|
log_warn('Noch nicht implementiert!');
|
||
|
return;
|
||
|
|
||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
# METHOD metropolis walk
|
||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
|
||
|
def metropolis_walk_algorithm(
|
||
|
landscape: Landscape,
|
||
|
r: float,
|
||
|
annealing: bool,
|
||
|
optimise: EnumOptimiseMode,
|
||
|
verbose: bool,
|
||
|
):
|
||
|
'''
|
||
|
Führt den Metropolis-Walk Algorithmus aus, um ein lokales Minimum zu bestimmen.
|
||
|
'''
|
||
|
log_warn('Noch nicht implementiert!');
|
||
|
return;
|