\[ \def\_#1{\mathbf{#1}} \def\bb#1{\mathbb{#1}} \] ====== Hlasování poslanců v parlamentu ====== (vytvořil [[http://cmp.felk.cvut.cz/~cechj|Jan Čech]] 2016) Veřejnosti je k dispozici záznam hlasování všech poslanců parlamentu. Celou historii hlasování je možné stáhnout na adrese [[http://www.psp.cz/sqw/hp.sqw?k=1302|poslanecké sněmovny]]. Tato data jsme stáhli pro období od posledních voleb, takže máme záznamy všech elektronických hlasování v období 25.11.2013 až 21.10.2016. Data jsme následně převedli do formátu vhodného pro zpracování v Matlabu: [[http://cmp.felk.cvut.cz/~cechj/teaching/OPT-2016/poslanci.mat|poslanci.mat]]. Soubor obsahuje násldujíci datové struktury: * ''H'' matice 200x6072, kde řádky reprezentují jednotlivé poslanecké mandáty a sloupce jednotlivá hlasování. Prvky této matice jsou: 1 hlasoval ANO, -1 hlasoval NE, 0 všechny ostatní případy (zdržel se, nehlasoval, nebyl přítomen). * ''mandaty'' je struktura, která obsahuje položky: ''.jmeno'', ''.strana'', a další záznamy pro každý poslanecký mandát v pořadí odpovídajícím pořadí v matici ''H''. Poznamenejme, že někteří poslanci byli z různých důvodů nahrazeni náhradníky. Pro tento případ jsou v položce ''.jmena'' uvedeni všichni poslanci, kteří tento mandát kdy vykonávali. Dále poznamenjme, že položka ''.strana'' neznamená nutně členství v politické straně, ale fakt, že byl poslanec zvolen na kandidátce politické strany. * ''hlasovani'' je struktura obsahující detaily jednotlivých hlasování v pořadí odpovídajícím sloupcům matice ''H''. Mimo jiné například položky ''.nazev'', název hlasování, a ''.vysledek'', což je výsledek hlasování pokud bylo přijato (A) nebo zamítnuto (R). ===== Úkol 1 ===== Jednotlivé poslanecké mandáty $\{a_1, \dots, a_{200}\}$, kde $a_i \in \bb R^{6072} $ je možné chápat jako body v prostoru hlasování. Chtěli bychom tento prostor vhodně vizualizovat. To uděláme tak, že body $a_i$ proložíme **affinním** podprostorem dimenze 2, tak aby součet kvadrátů vzdáleností původních $a_i$ a promítnutých bodů $a_i'$ byl minimální. Následně promítnuté body zobrazíme v souřadnicích báze nalezeného affinního podprostoru. - Formulujte optimalizační problém. [výstup: rovnice, slovní vysvětlení symbolů] - Vyřeště optimalizační problém. [výstup: symbolický zápis optimálního řešení, hodnota kriteria] - Najděte ortonormální bázi nalezeného affinního podprostoru $\mbox{span}\{a_1',\dots,a_{200}'\} + a_0$ a jednotlivé poslanecké mandáty zobrazte v souřadnicích této báze (jejíž vektory ztotožníte s osami 2D grafu). Zakreslené body obarvěte podle poslancovy strany. [výstup: graf] - Interpretujte výsledek. [výstup: stručné slovní hodnocení] ===== Úkol 2 ===== Vizualizovat tato data je možné i z opačného pohledu. Jednotlivá hlasování $\{b_1, \dots, b_{6072}\}$, kde $b_i \in \bb R^{200}$ jsou body v prostoru poslaneckých mandátů. Jednotlivá hlasování zobrazíme opět v prostoru dimenze 2. - Postupujte obdobně jako v minulém příkladu a zakreselete jednotlivá hlasování v souřadnicích ortonormální báze dimenze 2 prostoru proložení ve smyslu nejmenších čtverců. Výsledné body obarvěte podle toho, zda bylo hlasování přijato nebo zamítnuto. [výstup: graf] - Interpretujte výsledek. [výstup: stručné slovní hodnocení] - Je možné nalézt ortonormální bázi hledaného podprostoru a souřadnice promítnutých bodů v této bázi využitím výpočtu z předchozího úkolu? Pokud ano, vysvětlete. [výstup: slovní vysvětlení případně vzorce].