Professional experience & Selected works
Doświadczenia w zakresie programowania (na ogół chronologicznie)
Systemy komputerowe
Oprócz powszechnych dziś komputerów osobistych i tzw. laptopów:
Mińsk-22,
minikomputery Mera-60,
komputery Odra 1305 oraz 1325 (odpowiedniki firmy ICL 1900),
komputery serii RIAD (odpowiedniki IBM 360/370).
Języki programowania, środowiska i platformy (chronologicznie)
język wewnętrzny komputerów Mińsk-22,
język MAT (klasa tzw. autokodów),
język wewnętrzny oraz Assembler komputerów,
IBM 360/370 (także serii RIAD),
asembler minikomputerów MERA-60,
Fortran,
COBOL,
Pascal,
PL/1 (najkrócej)
C i C++,
C#,
Prolog,
Python.
Teoretycznie (bez możliwości programowania) także następujące języki:
Smalltalk-80,
LISP.
Środowiska i platformy programowe:
· Borland,
· Visual Studio,
· Keras (słabiej kilka innych podobnych środowisk),
· Tensorflow.
Wybrane opracowania praktyczne (autorskie) - chronologicznie
1. 1982-1983 Dwa (makro)generatory programów dla systemów ODRA (ICL serii 1900), które znalazły zastosowanie w dydaktyce.
2. 1983-1984 Oryginalny i pierwszy tego typu w Polsce symulator komputera o nazwie PMC (Prosta Maszyna Cyfrowa) używany w dydaktyce na mojej byłej Uczelni. Symulator emulował podzbiór listy rozkazów komputerów IBM, był wyposażony we własny asembler i edytor programów zgodny z edytorem firmy ICL, z prostym systemem operacyjnym, którego polecenia były wzorowane na systemie operacyjnym George-3 firmy ICL. Głównym celem dydaktycznym było umożliwienie nauki podstaw programowania w języku wewnętrznym i Assemblerze na podstawie architektury komputerów serii IBM 360/370 (później także RIAD) i co ważne – czytelna prezentacja zasad działania komputera, w szczególności procesora wraz z wizualizacją cyklu rozkazowego.
3. 1984-1985 Projekt języka i prototypowy translator do manipulacji na zbiorach rozmytych (Fuzzy Sets) napisany w Fortranie.
4. 1985-1987: pierwszy polski szkieletowy system ekspertowy o nazwie PC-Expert, z własnym językiem reprezentacji wiedzy i jego translatorem. W całości napisany w Prologu (dialekt edynburski m.in. IF/Prolog).
5. 1988: dziedzinowy system ekspercki o nazwie Diagnosta MC14007 do diagnostyki procesu produkcji układów scalonych w CEMI w Warszawie. Opracowany wspólnie z dr. inż. Tomaszem Guttem z Instytutu Technologii Elektronowej w Warszawie. Jako narzędzia użyto narzędzia w postaci wcześniej opracowanego przeze mnie szkieletowego systemu PC-Expert.
6. 1989 – pierwszy polski szkieletowy system ekspertowy o nazwie PC-Shell v. 1.0 o charakterze komercyjnym poza aspektem naukowo-badawczym, napisany w całości w języku C. Z założenia naukowego miał to być docelowo system silnie hybrydowy tj. łączący różne metody i techniki sztucznej inteligencji. W osobnym załączniku znajduje się lista referencyjna jego wdrożeń wraz z moim nieco późniejszym pakietem oprogramowania AI o nazwie SPHINX. Krzysztof Michalik opracował pierwszy polski hybrydowy system AI, który łączył działanie sieci neuronowej i systemu ekspertowego, prace te miały charakter pionierski, wizjonerski w Polsce i nie tylko w Polsce. Filozofia (AI) która mu przyświecała w sprawie celowości, konieczności w wielu sytuacjach, łączenia podejścia podejścia koneksjonistycznego i symbolicznego w hybrydowych systemach były prekursorskie bowiem znajdujemy dokładnie tę samą filozofię i spojrzenie na AI w obecnych pracach nad LLM i Large Action Models (LAMs).
7. 1990 – założyłem pierwszą polską firmę o nazwie AITECH Artificial Intelligence Laboratory, której celem i misją był rozwój oprogramowania AI w Polsce, a także popularyzacja tej dziedziny, początkowo głównie w środowisku akademickim, a później w dużych przedsiębiorstwach np. zakładach energetycznych czy w bankach.
8. 1993 – autorski i pierwszy dostępny polski symulator sztucznych sieci neuronowych o nazwie Neuronix, zgodnie z założeniami silnie zintegrowany z systemem ekspertowym PC-Shell w system hybrydowy. Było to w opozycji do dychotomii i „antagonizmu” w teorii badań nad AI między podejściem symbolicystycznym a koneksjonistycznym, z którym się nie zgadzałem. Wtedy rozpocząłem również prace nad narzędziem o nazwie dbMaker do wspomagania inżynierii wiedzy, później rozwiniętego do projektu i prototypowego systemu CAKE (akronim od Computer Aided Knowledge Engineering).
9. Rozpocząłem projekt SPHINX, dla którego punktem wyjścia były wspomniane trzy wcześniejsze systemy. Projekt SPHINX wraz z jego komercyjnymi wdrożeniami był rozwijany do końca działalności mojej firmy tj. do ok. roku 2010.
10. Pod koniec lat 90. rozpocząłem projekt aplikacji o nazwie Aitech DSS (DSS od Decision Support System) przeznaczony do wspomagania decyzji biznesowych z wykorzystaniem opracowanych wcześniej i zintegrowanych systemów AI. Ten silnie hybrydowy system był wdrażany głównie w średniej i dużej wielkości firmach w tym w ponad 100 jednostkach bankowych do wspomagania decyzji kredytowych (skróconą listę firm oraz uczelni wykorzystujących opracowane przeze mnie i moją firmę oprogramowanie zawarłem w załączniku).
11. Równocześnie z pracami nad oprogramowaniem narzędziowym z dziedziny AI oraz aplikacjami biznesowymi AI współpracowałem od ok. 1991 roku nad zastosowaniami medycznymi. W szczególności w ramach systemu Salomon do diagnostyki chorób afektywnych (np. depresji) we współpracy z dr. n. med. Krzysztofem Kielanem (wówczas pracownikiem naukowym Akademii Medycznej w Katowicach). Powstały system udało nam się wdrożyć m.in. we francuskiej firmie farmaceutycznej Servier Polska z siedzibą w Warszawie.
12. Nurt badań w tej dziedzinie i rozwój systemu diagnostycznego Salomon był kontynuowany przez wiele lat.
13. 2014/2015: Zbudowałem prototyp badawczy systemu o nazwie LOGOS Semantic Reasoner (w języku C#), będący narzędziem do własnych eksperymentów w ramach AI, np. z logikami nieklasycznymi.
14. Ok. 2017 roku rozpocząłem prace nad zastosowaniem sieci neuronowych z głębokim uczeniem (ang. Deep Neural Networks) tworząc system MoodAnalyser jako element pełniejszego wspomagania diagnostyki depresji z użyciem analizy twarzy pacjentów. System był rozwijany przeze mnie z użyciem języka Python oraz platformy i środowiska Tensorflow oraz Keras, poza planem połączenia go z istniejącą bazą wiedzy w ramach systemu Salomon i pakietem SPHINX. W 2020 roku ten projekt i system był za prezentowany i opublikowany m.in. na międzynarodowej konferencji w Londynie poświęconej informatyce i sztucznej inteligencji: Michalik K., Kucharska K. (prof. dr n. med.): „Implementation of Deep Neural Networks in Facial Emotion Perception in Patients Suffering from Depressive Disorder: Promising Tool in the Diagnostic Process and Treatment Evaluation”, SAI Computing Conference, London, Intelligent Computing, Springer 2020. Projekt zamknąłem wraz z przejściem na emeryturę.
Experiences in computer programming (generally chronologically)
Computer systems
In addition to the personal computers and so-called laptops:
Mińsk-22,
minicomputers Mera-60,
mainframes Odra 1305 oraz 1325 (compatible with ICL 1900 series),
mainframes RIAD R-32 (compatible with IBM 360/370 series).
Programming languages, environments, IDE, platforms
machine language of computers Mińsk-22,
MAT language (class of so called autocodes, middle level languages higher than assemblers),
machine language and Assembler of computers IBM 360/370 (also RIAD series),
assembler of minicomputers MERA-60,
Fortran,
COBOL,
Pascal,
PL/1 (shortly)
C i C++,
C#,
Prolog,
Python.
Theoretically without practice:
Smalltalk-80,
LISP.
Programming environments and platforms:
· Borland,
· Visual Studio,
· Keras (słabiej kilka innych podobnych środowisk),
· Tensorflow.
Selected practical implementations (some author's R&D works) - chronologically
1. 1982-1983: Two program (macro)generators for ODRA (ICL 1900 series) systems, which were used in teaching/education at my university.
2. 1983-1984: The original and first computer simulator of this type in Poland called PMC (Simple Digital Machine) used in teaching at my former university. The simulator emulated a subset of the instruction list of IBM computers, was equipped with its own assembler and program editor compatible with ICL's editor, with a simple operating system whose commands were modeled on ICL's George-3 operating system. The main educational goal was to enable learning the basics of programming in an internal language and Assembler based on the architecture of IBM 360/370 series computers (later also RIAD) and, importantly, a clear presentation of the principles of operation of the computer, in particular the processor, along with the visualization of the instruction cycle.
3. 1984-1985: Design of a language and a prototype translator for manipulating fuzzy sets (Fuzzy Sets) written in Fortran.
4. 1985-1987: The first Polish expert system shell (ES tool)called PC-Expert, with its own knowledge representation language and its translator. Entirely written in Prolog (Edinburgh dialect, including IF/Prolog).
5. 1988: A domain expert system called Diagnosta MC14007 for diagnostics of the integrated circuit production process at CEMI in Warsaw. Developed together with Dr. engineer Tomasz Gutt from the Institute of Electron Technology in Warsaw. The tool used was the PC-Expert system shell I had previously developed.
6. 1989: The first Polish expert system shell called PC-Shell v. 1.0, commercial in nature apart from the scientific and research aspect, written entirely in C. From the scientific assumption, it was intended to be a highly hybrid system, i.e. combining various artificial intelligence methods and techniques. In a separate appendix there is a reference list of its implementations along with my slightly later AI software package called SPHINX. Krzysztof Michalik developed the first Polish hybrid AI system that combined the operation of a neural network and an expert system, these works were pioneering, visionary in Poland and beyond. The philosophy that guided him in the matter of purposefulness, necessity in many situations, combining the connectionist and symbolic approach in hybrid systems were pioneering because we find exactly the same philosophy in current works on LLM and Large Action Models (LAMs).
7. 1990: He founded the first Polish company called AITECH Artificial Intelligence Laboratory, whose goal and mission was to develop AI software in Poland, as well as to popularize this field, initially mainly in the academic environment, and later in large enterprises, e.g. energy plants or banks.
8. 1993: The original and first commercially available Polish simulator of artificial neural networks called Neuronix, as intended, strongly integrated with the PC-Shell expert system into a hybrid system. This was in opposition to the dichotomy and "antagonism" in AI research theory between symbolist and connectionist approaches, which I disagreed with. Then I also started working on a tool called dbMaker to support knowledge engineering, later developed into the CAKE project and prototype system (an acronym for Computer Aided Knowledge Engineering).
9. He started the SPHINX project, the starting point of which were the three earlier systems mentioned above. The SPHINX project and its commercial implementations were developed until the end of my company's activity, i.e. until approximately 2010.
10. In the late 1990s, He started an application project called Aitech DSS (DSS for Decision Support System) intended to support business decisions using previously developed and integrated AI systems. This highly hybrid system was implemented mainly in medium- and large-sized companies, including over 100 banking units to support credit decisions (a shortened list of companies and universities using the software developed by me and my company is included in the attachment).
11. In parallel with work on AI software tools and AI business applications, he have been working on medical applications since around 1991. In particular, as part of the Salomon system for the diagnosis of affective diseases (e.g. depression) in cooperation with Dr. Krzysztof Kielan MD (then a researcher at the Medical Academy in Katowice). They managed to implement the created system, among others: in the French pharmaceutical company Servier Polska based in Warsaw. Dr. Krzysztof Kielan built the knowledge base of Salomon expert system.
12. Their researches in this field and the development of the Salomon diagnostic system continued for many years.
13. 2014/2015: He built a research prototype of a system called LOGOS Semantic Reasoner (in C#), which is a tool for my own experiments in AI, e.g. with some non-classical logics.
14. Approx. In 2017, he started working on the use of deep learning neural networks (Deep Neural Networks), creating the MoodAnalyser system as an element of more comprehensive support for the diagnosis of depression using the analysis of patients' faces. The system was developed by him using the Python language and the Tensorflow and Keras platforms and environments, apart from the plan to connect it with the existing knowledge base within the Salomon system and the SPHINX package. In 2020, this project and system was presented and published, among others, at the international conference in London devoted to computer science and artificial intelligence: Michalik K., Kucharska K. (prof. M.D.): "Implementation of Deep Neural Networks in Facial Emotion Perception in Patients Suffering from Depressive Disorder: Promising Tool in the Diagnostic Process and Treatment Evaluation”, SAI Computing Conference, London, Intelligent Computing, Springer 2020. I closed the project when I retired.