úterý 23. srpna 2016

Lze řešit umělou inteligencí nepořádek v bankovnictví?

Vzpomínáte si na náš náoad s Officebotem - BATRADIS OB1? šlo o zařítení, díky kterému by úřady nepotřebovaly žádné zaměstnance, kteří zejména v České republice všechno vorají, kazí, jsou sprostí a líní. Netýká se to jen úřadu práce, nebo odboru sociální péče daného města, či městské části, o čemž zde máme článek s názbem "Je nutné doplácet na nepořádek na českých úřadech?"m kde jsme se zasbývali problémem s chYbějícími listinami k vyřízeníá nějaké žádosti. Tentokrát bychom se chtěli podívat na nepořádek v českých bankách, který objevil +Robin Hronek poté, co si zřídil u své banky internetové bankovnictví. Důvodem k tomu byla wskutečnost, že tzv. GSM-Banking, kde se pero práci s bankovním účtem používaly nástroje SIM karty mobilního operátora, je zastaralá a banky tuto službu přstávají podporovat a jako náhradu nabízí internetové bankovnictví, které se ovládá na webu dané banky, nebo v aplikaci pro chytrý telefon.

Protože se pomocí internetového bankovnictví můžete kdykoli podívat na svůj účet, nebo účty, zjistíte že některé věci zdánlivě nefungují jak mají. Člověk je zvyklý že když zaplatí složenku, nebo zaplatí převodem, že to funguje a je zaplaceno. Protože v bankách pracují lidé, chvíli to trvá a internetové bankovnictví se tak stává pouze nástrojem, který umožňuje provádfět finanční transakce doma, nebo kdekoli, aniž by šel do banky.

V okamžiku kontroly výdajů tak dochází k jevu, kdy provedená platba vypadá nezaplaceně, i když se pohledávka odečetla od celkového zůstatku na účtu a v závislosti na bance je označená jako čekající, odložená, nebo že u ní probíhá zpracování.

Jednorázová platba obvykle trvá 2 pracovní dny, aby ji bylo možné v případě nutnosti zrušit, což lze obvykle během toho dne, kdy byla zadána. Bohužel nastupuje  lidský faktor, díky kterému mohou nastat potíže na příklad tak, že ačkoli platba proběhla, není vidět v internetovém bankovnictví organizace, které jsme za něco zaplatili. Nejen v bance plátce, ale i v bance příjemce platby se musí transakce zpracovat a dát do internetového vbankovnictví. Mohou tak vznikat potáže, pokud  nwelze dohledat určitou přčíchozí platbu.

Nasazení našeho nápadu s Officebotem v bankách, by peroblém vyřešil. Nebudeme rozebírat, jhak bychom to udělaliu. Bankovnictví je technicky dosti náročný obor, prčotože je třeba dbát na co nwejvětší bezpečnost. Web a aplikace ny fungovaly přesně jako v reklamě na tyto služby českých bank, kde se platba objecví okamžitě, kdy je provedena. Když Vám někdo pošlwe peníze, hned druhý den je máte a okamžitě to vidíte.

Robinu Hronkovi a jeho matce se stal peroblém dokonce i s trvalým přčíkazem. Matka dává svému synocvi nějaké peníze foemou trvalého příkazu za to, že se o ní stará. Platba se provádí měsíčně 20tého. Letos v Srpnu bylo 20.8. o víkendu, takže se to zdrřelo. To by bylo v pořásku, ale v úterý odpoledne m23.8. by to mělo být na cílovém účtu. Kde je chyba?

Hlavně je chyba v softwaru ERA Poštovní spořitelny, kde by stačilo, aby trvalé příkazy prováděl program pro naplánované úlohy. +Robin Hronek již měl tenrto program v 90. letzech 20. století ve Windows ´85 na počítači s procesorem INTEL 80-486 DX2/66. I když si na to on sám nevzpomíná, objevila se tato funkce systému už dokonce u Windows 3.11 pokud jste nainstalovali rozšíření, které mimo této aplikace přineslo pár her, které pak byly v základu Windows ´95. Naplánované úkoly se používaly na příklad k tomu, že se Vám třeba jednou týdně defragmentoval disk, denně se spouštěl rychlý antivirový test a jednou za měsíc se kontroloval stav disku. Tyto procesy se obvykle nastavovaly na večer, nebo na noc. Ve Windows ´98 už to nebylo. Uvedené operace mají totiž v sobě dané programy na péči o cjhod počítače, kde se to dá nastavit.

Kdyby uvedená banka zaměstnávala programátory, kteří se snaží myslet opravdu na všechno. Uměl by to její systém a trvalé příkazy by se prováděly i o výkendu, dovolené a svátcích. Měly by to umět všechny banky.

Pokuste se uhodnout  v jakém jazyce je tato jednoduchá operace napsaná a pokud jste programátoři a vytváříte bankocní systémy, tak si to prosíme upravte tak, aby Vám to fungovalo v jazyce, ve kterém pracujete.  Bude to v několika jazycích, z nichž v některých by to i +Robin Hronek mohl umět napsat:

den=integer
mujucet=integer
ucetprijemce=integer
castka=real
mujucet=123456789

(platba)
 do transfer=mujucet ucetprijemce,castka
(/platba)

IF den=20 GOTO platba


Abycvhom neuváděli příliš citlivá osobní a soukromá data, tak jsme si vynyaslweli, že je číslo účtu 123456789 u PS. Ostatní proměnné nejsou vyplněné, prortože se tam hodnoty dosazují z GUI bankovního softwaru na přepážce, kte to vypadá jako formulář, stejmně jako na webu, kde by byla jediná možnost předvedení kódu v HTML.

Protože se na rozdíl od inkasa musí v trvalém příkaze zadat konkrétní částka, mělo by to vapadqat asi takto:

den=integer
mujucet=integer
ucetprijemce=integer
castka=real
castka=250
mujucet=123456789

(platba)
 do transfer=mujucet ucetprijemce,castka
(/platba)

IF den=20 GOTO platba


Takhle nám to bude posílat na zadaný účet 250 Kč, i když  vY to možná chtělo také konkrétní číaslo účtu příjemce. Dejme tomu, že to bude 112233445566 Takže:



den=integer
mujucet=integer
ucetprijemce=integer
castka=real

mujucet=123456789
ucetprijemce=112233445566
castka=250

(platba)
 do transfer=mujucet ucetprijemce,castka
(/platba)

IF den=20 GOTO platba


V podstatě by se dalo místo definice proměnných a dosazení hodnoty rovnou definovat hodnoty, ale uvádíme zde pouze holý proces toho trvalého příkazu, kdy chceme, aby to případně v GUI (grafickém rozhraní) bankovního softwaru vypadalo jako vyplněný formulář z estetických důvodů.

Ukázka je v jazyce, používaném v systému ARAX, kde by to Robin Hronek uměl napsat. Ukázka předpokládá že měsíční opakování se bere z jiného instrukčního balíku, nebo je už i takto z podmínky jasné, že se peoces opakuje měsíčně. Pro jistotu přidáváme ještě dvě další možnosti:



den=integer
mujucet=integer
ucetprijemce=integer
castka=real

mujucet=123456789
ucetprijemce=112233445566
castka=250

(platba)
 do transfer=mujucet ucetprijemce,castka
(/platba)

IF den=20 GOTO platba
GET repeat(platba)*12


nebo


den=integer
mujucet=integer
ucetprijemce=integer
castka=real

mujucet=123456789
ucetprijemce=112233445566
castka=250

(platba)
 do transfer=mujucet ucetprijemce,castka
(/platba)

IF den=20 GOTO platba
GET repeat=C:/era/client_accouts.dir/acc123456789.usr/services/script/repeat_payments/mounth_repeat.program

Tohlke záleží na tom, jestli je na uvbedené cestě soubor "mounth_payment.program", který něco opakuje měsíčně. Obešlo by se to bez cesty, kdyby to bylo ve stejné složce a před tím bvy měly být ještěš příkazy pro kompilér, aby i z tohohle byl program.

Jde to i bez toho, když tohle uloýíme jako "trvaly_prikaz" a v terminálu napíšeme:

chmod -x trvaly_prikaz

Kromě pčíkazů pro kompilér by tento program měl končit slovem END, ale  v tomto přčípadě je pouze o operaci, která když se inplementuje do bankovních systémů, budou se trvalé příkazy provádět autpmaticky bez ohledu na víkendy, svátky a dovolené.