2020. március 29., vasárnap

Labirintus generálás ás megoldás python

 A labirintus generálás és megoldás módszerek:
  1. Kruskal féle
  2. Prim féle
  3. rekurzív Backtracker
  4. Aldous-Broder
  5. növekvő fa
  6. Hunt és ölő
  7. Wilson
  8. Eller féle
  9. Sejtautomata (Easy)
  10. Rekurzív osztály (nagyon könnyű)
  11. Sidewinder (Kiszámítható)
  12. Bináris fa (hibás)





További információk, nézd meg mazelib GitHubról itt Python könyvtár hajtják végre.

További info LInk

WEB megjelenítés : Link

NodeJs

NodeJs


Node Package Manager (NPM) // https://npmjs.org/  [package.json]

-- Modulok :

EE net: For creating TCP clients and servers
EE http: For creating and consuming HTTP services
EE fs: For accessing and manipulating files
EE dns: For using the DNS service
EE events: For creating event emitters
EE stream: For creating streams
EE os: For accessing some local operating system statistics
EE assert: For assertion testing
EE util: For miscellaneous utilities


-- Három fő modul tipus:

core modules, user modules, and third-party


-- core modulok használata importálása:

var fs = require('fs');



-- Saját modulok használata:

// simple_module.js file tartalma
module.exports = 'ABC';

// import.js file tartalma
var simpleModule = require('./simple_module.js');
console.log(simpleModule);

// script futatása
Node import.js



Fogalmak 0

likvid     : fizető képesség (mindenkori, azonnali)

szolvens   : fizető képesség (tartós)

prudens    : hiteless magatartás

szolvencia : A szolvencia, vagy más néven tőkemegfelelés azt jelenti, hogy egy gazdálkodó szervezet fizetőképes, tehát adott időpontban eleget tud tenni a fizetési kötelezettségeinek.

paraszolvencia: tiszteletdíj, hálapénz

reziduális kockázatok: eltérés (mismatch) a kockázatvállalás és a kockázatcsökkentő instrumentum között

Nemfizetés valószínűsége (probability of default, PD)

A fizetés elmaradásakor a veszteség átlagos mértéke (loss given default, LGD)

A fizetésképtelenség bekövetkezésekor a kockázati kitettség várható értéke (exposure at default, EAD)

Futamidő (maturity, M)

kockázattal súlyozott eszközérték (risk weighted assets, RWA)

benchmark kockázati súly (benchmark risk weight, BRW)

Kockáztatott érték - VAR

PD: egy éven belüli nemfizetés valószínűsége
LGD (%): fedezetlenségi ráta
EAD: kintlevőség nagysága
AT: eszköszegmens (corp, ret, SL, FI, SOV, EQ, receivables)
TO: éves árbevétel (micro, sme, corp)
M: lejárat

1. Az alapmutató módszer (basic indicator approach).
Egyetlen mutató jelzi az intézmény teljes működési kockázatát.
Tőkekövetelmény = Bruttó bevétel fix százaléka


2. A sztenderd módszert (standardised approach).[1]
Az intézmény teljes tőkekövetelménye = ? Bruttó bevételek fix
százaléka (üzleti területenként)


C: Capital
A: Assets
M: Management
E: Earnings
L: Liquidity
S: Sensitivity to market risk

ROE (tőkejövedelmezőség) = ROA (eszközjövedelmezőség)

A swap (vagy másként csereügyletek) ügyletek egyéni megállapodások arról, hogy a résztvevők a jövőben egy előre meghatározott formula alapján kicserélik a pénzáramlásaikat. Attól függően, hogy a pénzáramok cseréje mire vonatkozik, megkülönböztetjük a:
  - kamatlábcsere devizacsere
  - ügyleteket ügyleteket


LIBOR: London Interbank Offered Rate

BUBOR: Budapest Interbank Offered Rate

fejlett mérési módszer (advanced measurement approach : AMA)

PO (principal-only) „csak névérték”
IO (interest only)

Duration (átlagos hátralévő futamidő)

Árrugalmasság (E): A piaci kamatláb 1%-os változásának hatására hogyan változik az árfolyam!?

Tevékenységalapú költséggazdálkodás (ABM)

Tevékenységalapú költségelemzés Activity Based Costing (ABC)

Folyamatok újraszervezése (BPR);

Kiegyensúlyozott üzleti mutatószámrendszer / Balanced Business Scorecard, BBS

Kamateredmény a teljes eszközállomány (interest margin): Kamatbevétel – kamatráfordítás / Átlagos mérlegfőösszeg * 100

Kamateredmény a kamatozó eszközökön: Kamatbevétel – kamatráfordítás / Kamatozó eszközök átlagos állománya  100

Spread: Kamatozó eszközök átlagkamata (%) – Kamatozó források átlagkamata (%)

Jelenlegi folyamat (as-is)
Jövőbeni folyamat (to-be)



2020. március 22., vasárnap

Ismerkedés a TensorFlow használatával



 A  mesterséges neurális hálók alkalmazásának elterjesztésére indult el a GoogleBrain projekt 2011-ben. A  DistBelief rendszerrel számos sikeres, jól ismert alkalmazás számára készítettek mély neurális háló modelleket.

A DistBelief eredményei és tapasztalatai alapján fejlesztették ki a második szakaszban a TensorFlow rendszert, amely egy nyílt forráskódú szoftverkönyvtár gépi tanulási modellek létrehozására.

A TensorFlow rendszer a többrétegű neurális háló modellek megalkotásán kívül széles körben alkalmazható más célokra is, ideértve a különféle algoritmusok és numerikus számítások implementálását.

A TensorFlow rendszerben a számításokat egy irányított gráf írja le.

Ebben a gráfban a csúcsok rendszerint egy-egy műveletet reprezentálnak.

A gráfban mindegyik csúcsnak lehet nulla, egy vagy több inputja, ugyanígy nulla, egy vagy több outputja.

A gráfban az adatáramlás az élek mentén történik.

A gráfban  áramló értékek tenzorok, melyek tetszőleges dimenziójú vektorok.

Egy-egy elem típusát a gráf létrehozásakor már megadjuk.
A gráfban speciális élek is lehetnek, ezek mentén nem történik adatáramlás, hanem kontrol célra vannak.

A python programrész a TensorFlow rendszerrel session létrehozásával kerül kapcsolatba.

 A session létrehozásakor a kiinduló helyzetben a gráf üres.

Az első lépésben session létrehozásához a Session interface elérhetővé tesz egy Extend metódust ezért, hogy számítási gráfot tovább bővíthessük élekkel és csúcsokkal.



Az alábbi oktató mintákban végig követhető a teljes elérés és használat részletei.



https://github.com/klajosw/python/blob/master/kl_py_TF_Day_1_Intro_to_ML_and_TF_Solutions.ipynb


https://github.com/klajosw/python/blob/master/kl_py_TF_Day_1_Pre_Made_Estimators_Solutions.ipynb


https://github.com/klajosw/python/blob/master/kl_py_TF_Day_2_MNIST_Eager_ConvNet_Solution.ipynb


https://github.com/klajosw/python/blob/master/kl_py_TF_Day_2_CIFAR10_Eager_ConvNet_Solution.ipynb



https://github.com/klajosw/python/blob/master/kl_py_TF_Conv_Nets_Cifar_10_Solution.ipynb



De hát a mesterséges intelligencia is tud tévedni:

Az egyik minta hajó képet békának tippeli.





https://github.com/klajosw/python/blob/master/kl_py_TF_keras_pic_class.ipynb

2020. március 16., hétfő

ODI LP MAP vizualizáció 2.



ODI (Oracle Data Integrator) jelölés és saját WEB megjelenítés jelölés összehasonlítása:





 ODI LoadPlan (LD) editor megjelenítés összehasonlítása saját WEB megjelenítéssel :




Modell ODI-ban:


WEB-es generált megjelenítés:




Csomópont kihúzása (elemzéshez)




Nagyítás és kihúzás együtt:





A modell vizualitás első megjelenítése (generálás) a LP-ben szereplő MAP-ok számától függ elsődlegesen, ezért bonyolult LP töltési modell akár fél percig is készülhet (WEB böngészőben várni kell).



Használathoz nem szükséges ODI licenc, bárhova publikálható, elérhetővé tehető, külön verziózható, az sql bővítésével más infók is megjeleníthetőek.

Kép kis lépésekkel nagyítható, kicsinyíthető, elmozgatható, mágnesességgel vagy anélkül.

Megjelenítés VIS JS könyvtárral történik. 

Két változó generálásra van szükség a használathoz nodes és edges. 

SQL paranccsal történik az előállítás és minimális szerkesztés (az utolsó sor végéről vessző kivétele) .

Ez után beillesztés és mentéssel frissíthető és bármely más LP-re átültethető.




2020. március 15., vasárnap

ODI LP MAP vizualizáció 1.

Megjelenítési információ kinyerése a nodes és edges  változók feltöltése SQL lekérdezéssel



Használt csomag : VIS-Network (JS)


Lekérdezés (ODI_REPO sémára)



--EDGE
---    minta: {from: 1, to: 2, arrows:'to'},
select 
'{from: ' || t.FROM_STEP_ID ||', to: ' || t.TO_STEP_ID ||', arrows: ''to''},' as json
from    
   odi_repo.lp_step_transitions t ,    
   odi_repo.lp_steps step, ebh_odi_repo.lp_steps step2        
   where step.id = t.TO_STEP_ID  and step2.id = t.FROM_STEP_ID   
    and (step.LOAD_PLAN_ID in (864896)  
      or step2.LOAD_PLAN_ID in (864896))
---

-------------
---NODE
---  minta:  {id: 1, label: 'START', font: {background: 'pink'}},
select 
'{id: ' || step.id ||', label: ''' || step.OBJECT_NAME ||''', font: {background: ''pink''' || '}},' as json
--step.OBJECT_TYPE_NAME, step.OBJECT_LONG_NAME 
from    
   odi_repo.lp_steps step      
   where 1=1 
    and step.LOAD_PLAN_ID in (864896)  

Az kl_odi_lp_map_tree_colour.html file tartalma:

<!doctype html>
<html>
<head>
  <title>ODI LP MAP Network</title>

  <script type="text/javascript" src="./vis-network.min.js"></script>

  <style type="text/css">
    #mynetwork {
      width: 600px;
      height: 600px;
      border: 1px solid lightgray;
    }
    p {
      max-width:600px;
    }
  </style>
  
</head>

<body>

<p>ODI LP MAP NetWork.</p>

<div id="mynetwork"></div>

<script type="text/javascript">
  // create an array with nodes
  var nodes = [
    {id: 1, label: 'START', font: {background: 'pink'}},
    {id: 2, label: 'AND START', font: {background: 'yellow'}},
    {id: 3, label: 'ÜGYFEL', font: {background: 'lime'}},
    {id: 4, label: 'TERMÉK', font: {background: 'lime'}},
{id: 5, label: 'SZERVEZET', font: {background: 'lime'}},
{id: 6, label: 'AND STOP', font: {background: 'pink'}},
{id: 7, label: 'AND START', font: {background: 'yellow'}},
    {id: 8, label: 'ÜGYFEL HIER', font: {background: 'lime'}},
    {id: 9, label: 'TERMÉK HIER', font: {background: 'lime'}},
{id: 10, label: 'SZERVEZET HIER', font: {background: 'lime'}},
{id: 11, label: 'AND STOP', font: {background: 'pink'}},
{id: 12, label: 'SZAMLA', font: {background: 'lime'}},
{id: 13, label: 'SZAMLA TETEL', font: {background: 'lime'}},
{id: 14, label: 'TRANZAKCIO', font: {background: 'lime'}},
    {id: 20, label: 'STOP', font: {background: 'pink'}}
  ];

  // create an array with edges
  var edges = [
    {from: 1, to: 2, arrows:'to'},
    {from: 2, to: 3, arrows:'to'},
    {from: 2, to: 4, arrows:'to'},
{from: 2, to: 5, arrows:'to'},
{from: 3, to: 6, arrows:'to', label: 'Vég', font: {background: 'pink'}},
{from: 4, to: 6, arrows:'to', label: 'Vég', font: {background: 'pink'}},
{from: 5, to: 6, arrows:'to', label: 'Vég', font: {background: 'pink'}},
{from: 6, to: 7, arrows:'to', label: 'Indulás', font: {background: 'yellow'}},
{from: 7, to: 8, arrows:'to'},
{from: 7, to: 9, arrows:'to'},
{from: 7, to: 10, arrows:'to'},
{from: 8, to: 11, arrows:'to', label: 'Vég', font: {background: 'pink'}},
    {from: 9, to: 11, arrows:'to', label: 'Vég', font: {background: 'pink'}},
{from: 10, to: 11, arrows:'to', label: 'Vég', font: {background: 'pink'}},
{from: 11, to: 12, arrows:'to'},
{from: 11, to: 13, arrows:'to'},
{from: 11, to: 14, arrows:'to'},
{from: 12, to: 20, arrows:'to', label: 'Vége', font: {background: 'pink'}},
{from: 13, to: 20, arrows:'to', label: 'Vége', font: {background: 'pink'}},
    {from: 14, to: 20, arrows:'to', label: 'Vége', font: {background: 'pink'}}
  ];

  // create a network
  var container = document.getElementById('mynetwork');
  var data = {
    nodes: nodes,
    edges: edges
  };
  var options = {nodes:{font:{strokeWidth:0}}, edges:{font:{strokeWidth:0}}};
  var network = new vis.Network(container, data, options);
</script>

</body>
</html>










Forrás:



JS és css hálőzati elérése:




2020. március 11., szerda

ODI + python / spark python

ODI (Oracle Data Integrátor) MAP Filter objektum:




Használata:




import pyspark
sc = pyspark.SparkContext('local[*]')
txt = sc.textFile('file:////usr/share/doc/python/copyright')
print(txt.count())
python_lines = txt.filter(lambda line: 'python' in line.lower())
print(python_lines.count())

----

import pyspark
sc = pyspark.SparkContext('local[*]')
 
txt = sc.textFile('file:////usr/share/doc/python/copyright')
print(txt.count())
 
python_lines = txt.filter(lambda line: 'python' in line.lower())
print(python_lines.count())

----









Labirintus generálás ás megoldás python

 A labirintus generálás és megoldás módszerek: Kruskal féle Prim féle rekurzív Backtracker Aldous-Broder növekvő fa Hunt és ölő Wil...