
Selected R & D
1. 1982-1984 he has developed virtual computer called PMC/SDM (Simple Digitalal Machine) placed on the platform of then mainframe compatible with ICL-1900 (Odra - 1300 series). After further development of design & implementation it was renamed as Dydactic Computer simulated in real machine. It has had its own operating system, programer's editor compatible with that of George 3 (OS) of ICL-1900 and emulated work of real computer showing the command (machine language) cycle as well as of the assembler. It among others was showing the status of processor eg: instruction counter, state of command register, fast registers, RAM and so on, step after step. It was very helpful to understand how the computer works for students, and was used for several years at my university during training in the subject "Foundation of computer science".
2. 1983 he developed two advanced program generators for ICL-1900 series (ODRA 1305) for automatic creation of programs as part of some processes in MIS (Management Information Systems). They were equipped with its own translators (syntax and semantics was compatible to DATA DIVISION part of Cobol language, what enormously shorten the creation of programs. It was used for didactics purposes at my university.
3. During 1983-84 he designed and implemented language for operations on fuzzy sets building translator for this. Before that he built two program generators for ICL-1900 series/Odra 1300.
4. In 1985 implemented the first version of his PC-Expert expert system shell in Prolog (probably the first Polish expert system shell). This system was equipped with its own knowledge representation language and translator. It was able to conduct forward, backward as well as mixed reasoning. It had wide range of explanation facilities, among others: how, why, why not and what is explanations. An example of the original consultation with application called "Urologist" of that system is below:
PCE: Please let me know facts concerning your case:
| patient_1 has urinary tract infection;
| end;
PCE: Is it true that patient_1 has had catherization?
Answer {y/n/u}| n
PCE: Is it true that patient_1 has had cystoscopy?
Answer {y/n/u}| y
PCE: Is it true that patient_1 has sterile urine culture?
Answer {y/n/u}| y
PCE: Is it true that patient_1 is receiving cancer chemotherapy?
Answer {y/n/u}| n
PCE: Is it true that patient_1 is receiving chronic steroids?
Answer {y/n/u}| y
PCE: Is it true that patient_1 has tb bacteremia?
Answer {y/n/u}| why
PCE: At this stage of reasoning I want to verify hypothesis that:
Identity of the urinary organism is tubercle bacillus
To this end I have to prove that every condition of the following rule is true:
Identity of the urinary organism is tubercle bacillus if
patient_1 has urinary tract infection and
patient_1 has sterile urine culture and
patient_1 has disseminated tb and ;
At present I want to confirm that condition no. 3 of that rule is true. To this end I have to prove that
Every condition of the following rule is true:
patient_1 has disseminated tb if
patient_1 is immunosupressed host and
patient_1 has tb bacteremia ;
At present I want to confirm that condition no. 2 of that rule is true. I don’t know any fact or rule about it, so I was forced to ask you that question. I am still waiting for your answer:
Answer {y/n/u}| y
PCE: My conclusions are:
identity of the urinary organism is enterococcus
identity of the urinary organism is tubercle bacillus
PCE: Do you want explanations of the conclusion(s)?
Answer {y/n}| n
where: {y/n/u} oznacza wybór {yes, no, unknown}.
Source of medical knowledge among others: Walker M.G. et al., Minimycin. M.D. Computing, Int. Journal, July/August, vol. 2, no. 4, 1985.
5. During 1987-1988 he has built with co-operation with dr. eng. Tomasz Gutt from Institute of Electron Technology in Warsaw the domain-dependant expert system application called Diagnosta MC14007 (Diagnostician), for diagnosis of electronic chips production process. It has reached the status of research prototype. The tool applied was the PC-Expert and it was seroius verification of correctness of some solution being invented.
6. In 1990 Krzysztof Michalik has finished the first version of his hybrid expert system shell called PC-Shell. It was the first commercial tool of that class. PC-Shell is still "alive" and available in older version on this site here. It is hybrid because it combines declarative rule-based representation as well as procedural (block control) as well as it joins together expert system and neural nets processing using strong integration model. The PC-Shell has been written in pure "C" language.
7. In 1990 (and developed many years later until 2010) at the same time, after successful tests of the PC-Shell 1.0 software, he decided to set up the first Polish company - commercial laboratory: AITECH Artificial Intelligence Laboratory - specializing in AI software, especially expert systems with applications, mainly in credit risk assesments (banking) and medicine (e.g. psychiatry: co-operation with dr. K. Kielan). At present AITECH still exists over twenty years ! Author was the only owner of that firm.
8. Since 1991/1992 (and developed many years later until 2010) he began development of computer aided knowledge engineering tool called CAKE. The tool originally called: dbMaker, then kmMaker/kbBuilder and and eventually developed into a system CAKE. The part of the CAKE is module with creators to build knowledge base without exact knowledge about the syntax of the knowledge representation (knowledge base description) language with translator to it. Important part of the CAKE system is V&V (verification & validation) module.
9. In 1991/1992 (and developed many years later until 2010) started development Neuronix - artificial neural networks simulator, fully integrated with hybrid expert system shell PC-Shell. Neuronix was/is equipped with the same translator as the PC-Shell system, so the applications were to some degree portable between Neuronix and PC-Shell and vice versa. This fact determined the strong flexibility of both of them.
10. In 1994 PC-Shell received an award at international software fairs !
11. About 1994 started works on artificial software package called SPHINX which included among others fully integrated: PC-Shell, Neuronix and CAKE systems. The SPHINX package was available The package was available (still is being in many places) on most Polish universities ! At the homesite is available shortened reference list.
12. In 1996 SPHINX received an award at international software fairs !
13. In 1997 SPHINX received an award at international software fairs !
14. About 1997/1998 author started design of the system HybRex, being strongly hybrid environment for building intelligent decision support systems (DSS).
15. Since 1998, after full implementation of the project HybRex creation of very flexible Inteligent Decision Support System Aitech DSS has started. The success of that system was later implementation in many bank organizations and companies, among others : Bank BISE S.A., Banks GBW/SGB (almost 100 units of cooperative banks), energy sector etc.
16. In 2000 SPHINX received an award of Polish Computer Society at international software fairs !
17. After the 2003 more systems were added to the package: deTreex and dialogEditor and prototype Predyktor (system for prognosis using statistical and neural net methods).
18. During 2000-2012 at the time they were developed further versions of the SPHINX AI package and the next implementations of the Aitech DSS took places.
19. He also wrote several conventional programs for business (MIS), not having an academic nature, being strictly commercial ones in practice as well as prototype translator for computer Mińsk 22 (about 1977)
20. Now I am involved in the design and development of an idea of the LOGOS project & system (semantic reasoner & ANN), being successor of the Aitech SPHINX artificial intelligence software package.
21. I conducted - beside university - numerous training sessions for the practitioners from the corporations and business sector.
SPHINX
AI software package
PC-Shell: Hybrid Expert System Shell
General characteristics
PC-Shell is the first Polish - commercially available - hybrid expert system shell . It has been developed as a result of earlier experiences gained while building PC-Expert expert system shell (1985-88) and domain expert system Diagnostician MC 14007 (1988). The PC-Shell received many awards and honors at international software fairs .

Applications
PC-Shell is domain-independent tool for building expert system applications. It can be used in any field: starting from banking and finances but on technical applications finishing. Typical areas of applications are:
-
intelligent decion support systems,
-
didactics (teaching) at universities and researches.
It can be among others applied in such domains as:
-
financial and economic analysis,
-
analysis of loan applications in banks,
-
tax consulting,
-
thanks to the open architecture can be easily integrated in Management Information Systems, serving for example, for automatic analysis of economic indicators,
-
technique (technology), for example for the analysis of the measurement data and monitoring,
-
medicine, diagnostics and therapeutic recommendations.

Problem classes
Domain-independence of the PC-Shell system means that not the field but rather a class of problems determines the success of the application of this system. PC-Shell is particularly predisposed to solve problems of the following classes :
-
data analysis (interpretation),
-
classification,
-
diagnostics,
-
finance and banking,
-
investments,
-
marketing,
-
technique (technology),
-
dydaktics (teaching) of AI at universities,
Architecture
A it has been mentioned PC-Shell is hybrid system, it means it combines together differend methods of problem solving and knowledge representation. Among others PC-Shell has built-in, fully integrated, neural net simulator. Another important feature of the PC-Shell is the blackboard architecture, which allows you to divide a large knowledge base into smaller modules - thematically oriented, so-called. sources of knowledge. Additionally the knowledge sources can be heterogeneous in their nature.
Knowledge representation
With a hybrid architecture of the system PC-Shel,l are next to each other different methods of representing knowledge:
-
declative, rule-based (rules and facts),
-
triple : < object, attribute, value > OAV,
-
imperative form as a procedural programming language (possible part of knowledge base),
-
knowledge in the form of full texts,
-
knowledge distributed in neural nets,
-
opportunity to share the knowledge base into a number of knowledge sources (blackboard architecture).
The PC-Shell is equipped with its own knowledge representation language. This language thanks to the adopted solutions, including block structure, has the following features:
-
readability,
-
flexibility,
-
complete separation of expertise (declarative part) and control procedures,
-
ease of learning.
Explanation facilities
Extremely important and almost unique feature is the so-called expert systems. explanation. The PC-Shell provides a wide range of explanations encountered in today's expert systems. These include the following types of explanations:
-
how explanations,
-
why explanations,
-
what is,
-
metaphor,
-
facts description.
Explanations HOW explain and report on how how the given problem was solved showing the way of logical derivation. The can be presented in the textual form or as a trees. Explanations WHY are justifying the appropriateness (reason) of questions put by the expert system. Explanations WHAT IS clarify selected concepts being used in the knowledge base. In PC-Shell has been introduced an additional full text explanations, called METAPHOR, which are complementary to how explanations. FACTS DESCRIPTIONS shows the source and method of obtaining facts and the availability of further how explanations for them.

Inference/reasoning
PC-Shell provides three modes of logical inference: backward chaining, forward chaining and mixed reasoning. It should be emphasized the the inference engine is being using during reasoning the backtracking mechanism in similar way as in prolog systems. Matching mechanism is very flexible and doeas not require any declarations of variables using dynamic typing. As values variables, numbers as well as strings can be used.
Parameterization of knowledge bases
Important feature of the system is possibility of parameterization of knowledge bases. Thanks to that solution the dynamic (automatic) change of selected values (parameters) in knowledge base, without necessity of any "manual" changes in the source code of the base. A good example of the application parameterization mechanism can be a knowledge base, in which are tested some values of certain e.g. financial indicators in relation to certain thresholds or ranges. At the same time, some threshold values can be variable, depending on the context. For example, you can evaluate some different financial ratios of companies belonging to different industries (branch). Similar problems arise in other areas, eg in the technique. PC-Shell he is facilitating it hind, letting also create categories of parameters.This innovative solution/mechanism gives many advantages to users, particularly knowledge engineers.
Database interfaces
PC-Shell is equipped with a standard interface for popular databases (such as dBase, Oracle, etc.) via ODBC. Knowledge engineer has at his disposal a set of instructions for communicating with databases using SQL commands. There is also the possibility of integration with other/external applications using built in in PC-Shell the DLL library.
PC-Shell is open
PC-Shell can be easily integrated with other applications using several different tools as needed. Among others, knowledge engineer is equipped with such techniques as: DDE, Ole Automation, set of commands for manipulating files and callin external applications and some others.
Manuals
The system is described in detail in the form of e-books in PDF format. You can easily download them from the homesite. To facilitate using the systems there are provided plenty of examples (especially when combined with the demonstration of knowledge bases) to make easier to learn to use the system.
Capital Advisor - demo version

Invest Advisor - demo version

Neuronix: Neutral Networks Simulator.
General information about the artificial neural net Neuronix
The idea of artificial neural networks (ANN) is to simulate some features of brain. ANN is the only very siplified model of some of the functionality and elements of the brain, mainly neurons and synapses. There are different architectures of ANN as well as different metods of learning by them. The knowledge necessary to solve problems is acquired at the stage of learning. Neuronix uses method of supervised learning with backpropagation and during this process the networks is to be repeatedly presented example input patterns with o target or desired output pattern (in other wors - correct answer). In Neuronix thanks to the wizards the process of learning supervision is quite easy. The process of learning is autmatically finished after achieving some degree of satisfying error.

Potential areas of application of Neuronix are:
-
estimation of credit risk,
-
forecasting of financial results,
-
sales forecasting,
-
forecasting the stock market,
-
pattern recognition, the handwriting,
-
data analysis,
-
objects classification,
-
analysis of the acoustic signals,
-
signals noise filtering,
-
and many others.

Very important features of the Neuronix are:
-
its own translator of the same knowledge representation and procedural language as in the expert system shell - PC-Shell,
-
possibility of building fully integrated hybrid applications combining Neuronix applications with that of the PC-Shell.
CAKE- Computer Aided
General characteristics
CAKE stands for Computer Aided Knowledge Engineering. Description temporarily in Polish
Inżynieria wiedzy jest jedną z dziedzin sztucznej inteligencji. Jednym z głównych celów inżynierii wiedzy jest właściwa organizacja procesu budowy dziedzinowych systemów ekspertowych, uwzględniająca przejmowanie wiedzy od ekspertów, jej systematyzowanie oraz zapis zgodnie z przyjętym formalizmem opisu bazy wiedzy. System CAKE (ang. Computer Aided Knowledge Engineering) jest przeznaczony do komputerowego wspomagania procesu realizacji dziedzinowych aplikacji szkieletowego systemu ekspertowego PC-Shell. Wskutek podziału firmy i poważnych działań przestępczych wobec mnie i mojej firmy (opiszę je kiedyś na blogu) system osiągnął status prototypu naukowego/badawczego lub produkcyjnego, niestety nie jest wg mnie stabilny w stopniu, w którym uznałbym go jako spełniający kryteria komercyjne. Ale pracując ze studentami zauważyłem, że chętnie wybierają ten system i w większości przypadków pracuje stabilnie, zatem mogę z czystym sumieniem udostępnić go w formie tzwn. downloadu.
Pierwszym krokiem w stronę realizacji koncepcji systemu CAKE był opracowany na początku lat 90 system dbMaker. Implementacja koncepcji objęła początkowo głównie moduł do tworzenia i obsługi wyjaśnień typu "co to jest?" oraz metafor systemu ekspertowego PC-Shell. Wydawalo sie to bowiem najpilniejszym zadaniem z punktu widzenia osiągniecia zamierzonej funkcjonalności systemu ekspertowego PC-Shell. Następnie przystąpiono do prac nad pełną implementacją autorskiej (dr. Krzysztofa Michalika) koncepcji naukowej automatyzacji procesów inzynierii wiedzy w postaci systemu CAKE, pierwotnie rozwijanej w firmie Aitech pod roboczymi nazwami kbMaker i kbBuilder (analogicznie aplikacja Aitech DSS była początkowo rozwijana pod roboczą nazwą dssBuilder). Projekt CAKE w całości był finansowany i realizowany wyłącznie w przez firmę AITECH i zbudowany w dużej mierze nie tylko w oparciu o mój projekt ale również osobiście zaprogramowane zasadnicze kody, m.in. translator oraz system zarządzania bazą danych. Dopiero w późniejszej fazie, pod koniec lat 90. zatrudniłem 2 programistów rozwijających nowy interfejs i kilka funkcjonalności systemu CAKE. Częściowo kody zostały wyprowadzone poza firmę dla korzyści osobistych, co stanowiło naruszenie etyki i prawa !!! Dopóki podobne rozwiązania nie pojawią się ponownie w Internecie lub w innym kontekście, nie podejmę środków przewidzianych prawem. Każdemu należy bowiem dać szansę naprawienia błędów.

Podstawowe funkcje systemu CAKE to:
-
zarządzanie projektem aplikacji, również hybrydowych,
-
wspomaganie procesu tworzenia, rozbudowy i pielęgnacji baz wiedzy,
-
weryfikacja i walidacja poprawności zgromadzonej wiedzy,
-
generowanie baz wiedzy w klasycznej postaci tekstowej,
-
generowanie baz wiedzy w postaci binarnej,
-
ochrona projektu aplikacji systemem uprawnień i haseł,
-
wspomaganie organizacji pracy grupowej.

Dzięki wykorzystaniu systemu CAKE można realizować aplikacje systemu PC-Shell bez dokładnej znajomości języka opisu bazy wiedzy. Na każdym z etapów pracy system oferuje wygodne narzędzia wspomagające, eliminujące konieczność żmudnego wprowadzania kodu. Zapis baz wiedzy w postaci binarnej zapewnia z jednej strony ochronę zgromadzonej wiedzy przed niepowołanym dostępem, z drugiej zaś strony poprawia efektywność wykonania aplikacji w środowisku systemu PC-Shell. Dzięki systemowi uprawnień i haseł można ograniczyć dostęp do aplikacji zarówno na etapie jej tworzenia jak również na etapie jej wykonywania.


Aitech DSS (temporarily in Polish)
Inteligentny System Wspomagania Decyzji Aitech DSS jest pierwszą polską, zaawansowaną technologicznie aplikacją - wykorzystującą m.in. metody z zakresu sztucznej inteligencji - przeznaczoną ogólnie do analizy i interpretacji danych. Jednocześnie jest to pierwsza polska-dostępna komercyjnie aplikacja o architekturze hybrydowej. W warstwie ekonomicznej aplikacja Aitech DSS wykorzystuje bazy wiedzy rozwijane przez firmę AITECH od wielu lat. Część z nich była dostępna w ramach aplikacji ISAF firmy AITECH. W podstawowej wersji system wykorzystuje system ekspertowy PC-Shell.
Aitech DSS jest uniwersalnym, hybrydowym systemem ekspertowym do analizy i interpretacji dowolnych danych zarówno ilościowych jak i jakościowych. Podstawowe jego funkcje to:
-
obieranie danych ze źródeł zewnętrznych,
-
agregacja i przetwarzanie danych (np. automatyczne obliczanie wskaźników ekonomicznych, prognozy, symulacje i wiele innych),
-
wizualizacja danych wejściowych i otrzymanych wyników,
-
tworzenie prognoz wybranych czynników ekonomicznych,
-
łatwe definiowanie dowolnych scenariuszy analizy danych,
-
automatyczna ocena (interpretacja) danych i wskaźników przez system ekspertowy,
-
automatyczna publikacja danych, przebiegu i wyników analizy w formie raportów w formacie dokumentów Microsoft Word.
W komunikacji z Użytkownikiem Aitech DSS wykorzystuje mechanizm scenariuszy udostępniających zbiór zhierarchizowanych metod, umożliwiających rozwiązanie problemu.
Obecna wersja systemu zawiera 14 typów metod, które można podzielić na metody wizualnego wprowadzania i prezentacji danych (arkusz kalkulacyjny, arkusz czasowy, dialog, wykres), metodę automatycznego importu i eksportu danych do baz danych (dostęp do baz danych) oraz metody obliczeniowe i interpretujące dane (system ekspertowy, sieć neuronowa) oraz metoda raportowania.
Aitech DSS został z powodzeniem zastosowany w następujących obszarach tematycznych:
-
bieżący monitoring finansowy w zakresie płynności, rentowności i obsługi zadłużenia,
-
wczesne ostrzeganie o rodzących się zagrożeniach w sytuacji finansowej,
-
planowanie finansowe oparte na metodach statystycznych oraz na założeniach ekspertów,
-
wielowariantowa ocena efektywności projektów inwestycyjnych połączona z symulacjami zmian warunków, wejściowych przy założeniach i w czasie trwania inwestycji,
-
budżetowanie i controlling,
-
ocena ryzyka związanego z kredytem bankowym.
Membership in professional associations
Krzysztof Michalik was or still is a member of the following professional associations and organizations:
-
The New York Academy of Sciences (USA),
-
AAAI – The American Association for Artificial Intelligence (USA),
-
IEEE Computer Society (USA),
-
INNS – International Neural Networks Society (USA),
-
The Planetary Society (USA),
-
Polish Computer Science Society - Polskie Towarzystwo Informatyczne,
-
Polish Artificial Intelligence Society - Polskie Stowarzyszenie Sztucznej Inteligencji,
-
Polish Knowledge Management Society - Polskie Stowarzyszenie Zarządzania Wiedzą,
-
Skeptics Polish Club - Klub Sceptyków Polskich (the aim is to fight against pseudoscience).