% Robert Bosch - Opt Art_ From Mathematical Optimization to Visual Design-Princeton University Press (2019)

\gdef\mujnazevCS{Recenze knihy: Opt Art}
\gdef\mujnazevEN{Book Review: Opt Art}
\gdef\mujnazevPR{\mujnazevCS}
\gdef\mujnazevDR{\mujnazevEN}
\gdef\mujauthor{Pavel Stříž}

\bonushyper

\nazev{\mujnazevCS}

\nazev{\mujnazevEN}

\author{\mujauthor}

\Email{pavel@striz.cz}
\medskip


\noindent
V~roce 2019 vyšla v~nakladatelství Princeton University Press v USA kniha Roberta Bosche: \textit{Opt Art -- From Mathematical Optimization to Visual Design}, xii+188 stran. ISBN 978-0-691-16406-9.%
\medskip

\noindent
\newdimen\malwidth \malwidth=\textwidth
\advance\malwidth by -2pt
\fboxrule=1pt
\fboxsep=0pt

\noindent
\fbox{\includegraphics[width=\malwidth]{obalkaknihy.jpeg}}%
\medskip

Kdybychom měli knihu shrnout do jedné věty, tak je to ukázka  matematické optimalizace s~výstupy do světa vizualizace a~umění. Tedy místo Op-art (optické umění) přechází do Opt-art (optimalizační umění).

\textbf{První dvě kapitoly} uvádí do problematiky příkladem flexibilních Truchetových dlaždic. Stupeň šedi rastrových obrázků pasuje na vhodnou dlaždici. Optický klam pak odvede svou práci: zblízka člověk vnímá jednotlivé dlaždice, z~větší dálší člověk vnímá původní obrázek. V~druhé kapitole knihy pak zkouší některé další flexibilní dlaždice.%
\smallskip

\noindent
\fbox{\includegraphics[page=26, trim=2.1cm 18.7cm 2.5cm 2.8cm, clip, width=\malwidth]{optart}}%
\smallskip

Pro méně znalé uvádí problematiku lineárního programování (principy, Simplexův algoritmus, Branch-and-Bound) \textbf{v~třetí kapitole.} Na pomoc si bere program Gurobi, \url{https://www.gurobi.com}. Zaujalo mě, že si bez větších problémů nechává vypsat více/všechna řešení, to není u~lineárního programování úplně obvyklé. Všiml jsem si, že v~názvech proměnných používá čárku, to si nevybavuji, že by jiný program uměl. Tedy doslova, např. místo neznámé $X_{A,j},\ j=1,\ldots,5,$ používá XA,1 až XA,5.

\textbf{V~kapitole čtvrté} zmiňuje přiřazovací úlohu, tedy úvod do binárního lineárního programování. Pixely rastrových obrázků nahrazuje různými obrázky či dílky. Ať už se jedná o~kreslené obrázky, cifry, nebo domino kostky.

Experimenty s~nimi pak provází celá \textbf{pátá kapitola.} Kde je to potřeba, přidává celé sady domino kostek. Zmiňuje, že obrázky Martina Luthera Kinga Jr. či prezidenta Baracka Obamy jsou dětmi složeny a~vystaveny po celých Spojených státech. Autor na svých webových stránkách má rozkresy.%
\smallskip

\noindent
\fbox{\includegraphics[page=94, trim=2.1cm 14.5cm 2.5cm 2.8cm, clip, width=.492\malwidth]{optart}}%
\hfill
\fbox{\includegraphics[page=94, trim=2.1cm 7.6cm 2.5cm 9.7cm, clip, width=.492\malwidth]{optart}}%
\smallskip

\textbf{Kapitola šestá} potěší příznivce TSP, tedy problém obchodního cestujícího. Z~trasy vzniká původní obrázek. Uvádí metodu Branch-and-Cut a~heuristiku Lin-Kerninghama, vedle lineárního programování v~Gurobi si bere na pomoc program 
Concorde, \url{https://www.math.uwaterloo.ca/tsp/concorde.html}. Našince potěší, že tento nyní již legendární program spoluvytváří Vašek Chvátal (\url{https://www.math.uwaterloo.ca/tsp/concorde/contact/team.htm}), absolvent pražské MFF. Za pozornost stojí metoda stippling (algoritmus MacQueena), tedy převod obrázku do série bodů. Seriózní badatele by měla zaujmout soutěž \textit{The Mona Lisa TSP Challenge}, tedy snaha najít globální optimum TSP pro 100 tisíc bodů. Zatím vede Yuichi Nagata se svou optimalizací z~roku 2009.%
\smallskip

\noindent
\fbox{\includegraphics[page=112, trim=2.15cm 5.15cm 2.6cm 14.6cm, clip, width=.495\malwidth]{optart}}%
\hfill
\fbox{\includegraphics[page=118, trim=2.15cm 11.2cm 2.6cm 8.6cm, clip, width=.495\malwidth]{optart}}%
\smallskip

Autor \textbf{v~kapitole sedmé} dále zkoumá možnosti optimalizace TSP, konkrétně užití více tras a~práci se symetriemi. Inspiraci našel v~díle Rinuse Roelofse. On se totiž cyklus dá vymalovat barvou. Kapitola obsahuje nespočet obrázků, včetně ukázek laserového a~vodního řezání. Vznikají tedy unikátní projekty ze dřeva a~kovů. Typografy potěší zmínka konstrukce Beziérovy křivky jako metoda vyhlazování dvou či více bodů.%
\smallskip

\noindent
\fbox{\includegraphics[page=137, trim=2.5cm 17.95cm 2.15cm 2.9cm, clip, width=\malwidth]{optart}}%
\smallskip

\textbf{Kapitola osmá} je lahůdka. Autor si bere do parády cestu šachového koníka na šachovnici $8\times8$, a~i~když ví, že neexistuje rotační či zrcadlová symetrie takové cesty, hledá cestu, která se ideální symetrické nejvíc blíží. Pracuje se slovíčkem \textit{nearly}, např. \textit{nearly 4-fold symmetry}, volně přeloženo jako \textit{téměř rotačně symetrické}. Vedle obrázků potkáme fotky 3D tisků.%
\smallskip

\noindent
\fbox{\includegraphics[page=140, trim=7.9cm 15.85cm 2.55cm 2.85cm, clip, width=.225\malwidth]{optart}}\hfill %
\fbox{\includegraphics[page=141, trim=2.6cm 15.85cm 7.9cm 2.9cm, clip, width=.225\malwidth]{optart}}\hfill %
\fbox{\includegraphics[page=143, trim=2.6cm 9.7cm 2.4cm 9.8cm, clip, width=.53\malwidth]{optart}}%
\smallskip

\textbf{V~kapitole deváté} se vrací k~mozaice, tentokrát na konstrukci bludišť. Za stavební prvky si bere možnosti dílku bludiště (jak vypadá trasa a~stěny) a~bludiště si nechává vygenerovat za nejrůznějších omezení.%
\smallskip

\noindent
\fbox{\includegraphics[page=151, trim=2.5cm 3.8cm 2.2cm 16.5cm, clip, width=\malwidth]{optart}}%
\smallskip


V~tomto experimentu pokračuje \textbf{i~v~kapitole deváté,} tentokrát však transformuje stavební prvky mozaik. Aby barvy netvořily velké shluky, nastavuje omezení na oblast. Došlo i~na mozaiku inspirovanou Escherem, včetně méně známé mozaiky Cyrila Stanleyho Smitha, která měla tvořit alternativu Truchetově mozaice. Gurobi už nepočítá vteřiny, jako v~úvodu knihy, ale hodiny a~dny. Kdo by si přál komerční program Gurobi vyzkoušet, zkuste si jej přes NEOS server, \url{https://neos-server.org}.%
\smallskip

\noindent
\fbox{\includegraphics[page=159, trim=2.5cm 13.3cm 7.8cm 2.9cm, clip, height=3.3cm]{optart}}\hfill%
\fbox{\includegraphics[page=164, trim=2.1cm 5cm 2.5cm 11.2cm, clip, height=3.3cm]{optart}}\hfill%
\fbox{\includegraphics[page=165, trim=2.4cm 4.7cm 2.1cm 2.9cm, clip, height=3.3cm]{optart}}\hfill%
\fbox{\includegraphics[page=167, trim=2.8cm 3.1cm 2.4cm 2.6cm, clip, height=3.3cm]{optart}}%
\smallskip


V~poslední \textbf{kapitole jedenácté} zkouší vizualizaci přes Game of Life Johna Hortona Conwaye. Ať už nalezením symetrických dílků či zajímavý pokus optimalizovat dva snímky tohoto celulárního automatu.

Knize nelze nic vytknout. Jedinečný projekt s~mnoha inspirativními nápady podpořena řadou obrázků a~fotek. Knihu může číst člověk neznalý matematiky, ale i~matematik, neb závěrečné kapitoly knihy jsou výzvou. Jako příznivec volně dostupných programů bych místo Gurobi uvítal Scip či Symphony, ale jak by řekli počítačoví hackeři: Musíme si umět poradit.

Myslím si, že pokud ze svých kolekcí vytáhneme domino kostky a~začneme experimentovat, tak kniha splnila svůj účel. Za pozornost stojí přednáška autora knihy na \textit{Talks at Google,} \url{https://www.youtube.com/watch?v=g3CiVrN-BnY}. Knihu podporují autorovy webové stránky, \href{http://dominoartwork.com/}{\tt dominoartwork .com}, a několik animací na \url{https://www.youtube.com/user/baabbaash}. V~sekci \textit{Downloads} najdeme RLE soubory (Game of Life Patterns), spustitelné například přes program Golly, \url{https://golly.sourceforge.io}.%
\medskip

\noindent
\newdimen\malheight \malheight=39mm%
\fbox{\includegraphics[height=\malheight]{golly0.png}}\hfill
\fbox{\includegraphics[height=\malheight]{golly1.png}}\hfill
\fbox{\includegraphics[height=\malheight]{golly2.png}}\hfill
\fbox{\includegraphics[height=\malheight]{golly3.png}}%

\enlargethispage{0.5\baselineskip}%


