Heuristics in IT
In 1987, I published an article in the 12th issue of the Természet Világa[1] (World of Nature) Magazine with the title above. I suppose this could be the reason why the workshop organizers invited me to present on this workshop. I am happy to respond to the request, mainly because I had many life experiences since then that validated in me my thoughts I wrote in 1987.
Life is a great director. I am a Bolyai-researcher and historian of mathematics, as I have published more than 10 books on my research related to John Bolyai. However, from 1985 until 2000 I worked in a large computer centre (at least large according to the standards of that time). I can say from experience that Pólya's heuristics is heavily used in information technology, more precisely applied to programming. Almost every good program is a mathematical theorem or at least a mathematical creation, but a computer program is rarely analyzed mathematically. For example, they do not investigate its correctness, do not prove its complexity, or whether it stops, etc. In programming, correctness proofs are complicated and involve time-consuming mathematical ideas running; therefore, programmers do not deal with them, only the Pólya principle is applied. They only care whether the program is working in practice and whether it satisfies the plausibility test.
In 1987, personal computers were not spread yet in Romania, it happened only after the political changes in 1989. It was very interesting for me to observe the programming paradigm shift!
Mathematics education is in a crisis worldwide. In my opinion, one of the main causes of this crisis is that the students who are good in mathematics decide to pursue a career in informatics instead of mathematics, and mathematical talent diverts to programming. Most of the good students of mathematics get jobs in informatics. When people write a program, they (by decision or even without realizing it) apply Pólya’s principles. Even the concept of a good program is born based on Pólya’s heuristics. These days nobody conducts research or analyses on this issue. The program works and produces profit, that is the “bottom line.” Who cares how was it invented or what ideas were used in its formation? It was brought to life. The largest benefactor of Pólya’s heuristics is programming!
A quotation from Pierre Basieux fits here well. In the foreword of the chapter on the millennial problems of theoretical informatics in the book titled “Top 7 most challenging millennial mathematical problems” he writes:
“The millennium problem of theoretical information technology
David Hilbert: was the ancestor of programming languages? David Hilbert is, in fact, considered to be the ancestor of programming languages and theoretical information technology as some music historians see in Johann Sebastian Bach as the jewel of jazz. David Hilbert as the ancestor of programming languages and theoretical informatics? At the time when he wanted to save the fundamentals of mathematics with his formalization program, neither programming languages nor computers existed. But Hilbert summoned the spirits and could no longer get rid of them, and even worse, they made a destructive blow to their vision - precisely with the help of formalism designed to create a clear and in the least clear language for the mathematical methodology. This does not change the fact that the specific questions of the Hilbert program have opened very successful research directions.”[2]
According to this quote, Hilbert, the father of programming, proclaimed that the entire mathematics should be formalized and resolved. Moreover, according to Hilbert, there are no unknowns in mathematics and everything can be resolved!
I just want to add that today Pólya 's heuristics has moved into programming or into the art of programming. There is a global crisis of mathematics education because education is filled with information technology. We should carefully reconsider whether this is the right direction. Should we allow the Internet and Facebook to take over the role of thinking and the education of reasoning? It is a very dangerous situation. There are good IT tools that try to implement Pólya's principles in practical IT education. In my opinion, the Logo programming language for children and Excel for adults are examples of good tools for everyday life and problem-solving. However, they are good only if we used them for true problem solving and we keep in mind Pólya’s problem-solving scheme.
The essence of my lecture is that I think that the current presence of Pólya's heuristics is almost 100% in the art of programming.
-----------------
[1] Oláh-Gál Róbert: Heurisztika az informatikában, Természet Világa, 1987., 12 szám, pp.524-525.
[2] Pierre Basieux: Die Top Seven der mathematichen Vermutungen, ©2004 by Rowohlt Verlag GmbH
Heurisztika az informatikában
1987-ben a Természet Világa folyóirat 12. számában közöltem egy cikket a fenti címmel.[1] Ez lehet az oka, hogy a tisztelt szervező bizottság meghívott erre a workshopra. Örömmel teszek eleget ennek a felkérésnek, főleg azért, mert valamilyen szinten, a bőrömön is megtapasztaltam, az 1987-ben leírt gondolataim valódiságát.
Az élet nagy rendező, mert úgy hozta, hogy Bolyai-kutató és matematikatörténész lettem, mert több mint 10 könyvet közöltem a Bolyai-kutatásaimból. De 1985-től 2000-ig egy (az akkori viszonylatban) nagy számító-központban dolgozhattam. Így elmondhatom, hogy a Pólya-féle heurisztikát ma leginkább az informatikában, pontosabban szólva a programozásban alkalmazzák. Szinte minden jó program egy kis matematikai tétel vagy legalábbis egy matematikai alkotás. De igen ritka, hogy számítógépes programot matematikailag is elemezzenek. Például nem vizsgálják a helyességét, nem bizonyítják a bonyolultságát, hogy megáll-e stb. Általában a program helyességi bizonyítások bonyolult és időigényes matematikai eszmefuttatások. Ezért a programozók nem is foglalkoznak vele, csak a Pólya-féle elvet alkalmazzák: kiállják-e a gyakorlat, a plauzibilitás próbakövét.
1987-ben Romániában még nem terjedtek el a személyi számítógépek, ez csak a 89-es változás után történt meg. Ezért volt érdekes megfigyelni a programozási paradigmaváltozást!
Ma, világviszonylatban válságban van a matematikaoktatás, ennek szerintem az egyik legfőbb oka, hogy a jó matematikus tanulók elmennek az informatika területére és a matematikai ötletek átmennek a programozásba. A jó matematikai készséggel rendelkező tanuló, hallgató legnagyobbrészt az informatika területén helyezkedik el. Mikor egy programot megírnak, akarva-akaratlanul a Pólya-féle elveket alkalmazzák. Már egy jó program ötlete is a Pólya-féle heurisztika alapján születik. Persze ezt ma senki sem kutatja vagy elemzi. A program működik, hasznot termel és kész. Kit érdekel, hogy hogyan keletkezett, vagy, hogy milyen ötletek alapján írták meg? Ezt is az élet hozta. A Pólya-féle heurisztika legnagyobb haszonélvezője a programírás!
Ide illik Pierre Basieux: Top 7. Az ezredforduló legkihívóbb matematikai problémái c. könyvből: Az elméleti informatika milléniumi problémája c. fejezet előszava:
“The millennium problem of theoretical information technology
David Hilbert: was the ancestor of programming languages? David Hilbert is, in fact, considered to be the ancestor of programming languages and theoretical information technology as some music historians see in Johann Sebastian Bach as the jewel of jazz. David Hilbert as the ancestor of programming languages and theoretical informatics? At the time when he wanted to save the fundamentals of mathematics with his formalization program, neither programming languages nor computers existed. But Hilbert summoned the spirits and could no longer get rid of them, and even worse, they made a destructive blow to their vision - precisely with the help of formalism designed to create a clear and in the least clear language for the mathematical methodology. This does not change the fact that the specific questions of the Hilbert program have opened very successful research directions.”[2]
E szerint D. Hilbert a programozás ősatyja, aki meghirdette, hogy minden, ami matematika, azt formalizálni kell, és meg kell oldani. Sőt Hilbert szerint a matematikában nincs ismeretlen és mindent meg is lehet oldani!
Én ezt csak annyival egészíteném ki, hogy ma a Pólya-féle heurisztika átment a programozásba vagy a programozás művészetébe. Részben azért van világviszonylatban válságban a matematikaoktatás, mert fellendült az informatikaoktatás. Persze nagyon kellene, vigyázzunk arra, hogy ez jó irányba hasson, és ne az Internet és a Facebook vegye át a gondolkodás, vagy a gondolkodásra nevelés szerepét. Mert ez egy nagyon veszélyes helyzet. Vannak igazán jó informatikai eszközök, amelyek igyekeznek a gyakorlati informatikaoktatásban is megvalósítani a Pólya-féle elveket. Az iskolásoknak szerintem ilyen a Logo-nyelv, míg a felnőtteknek, a mindennapi gyakorlatukban (és problémamegoldásukra) ilyen eszköz az Excel. Persze akkor, ha valóban problémamegoldásra alkalmazzuk a számítógépet és érdekel a Pólya-féle feladat megoldási eszme.
Tehát előadásom lényege, hogy szerintem, szinte 100%-ban, a Pólya-féle heurisztikát a programírás művészetében alkalmazzák.
---------------
[1] Oláh-Gál Róbert: Heurisztika az informatikában, Természet Világa, 1987., 12 szám, pp.524-525.
[2] Pierre Basieux: Die Top Seven der mathematichen Vermutungen, ©2004 by Rowohlt Verlag GmbH