Quick start in the development of expert systems
Analysis of the specific features of automatic code generation for diagrams in the Dragon programming language. Computer’s training by creating an expert system as very different form of human learning. The algorithm of a trip by bus on Python 2.7.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | английский |
Дата добавления | 10.08.2018 |
Размер файла | 544,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
The experience of teaching for more than 10 years has convinced me that the skill to ask questions on the learning topic is practically absent of most students. An absence of questions from students indicates that there is not a deep study of any subject (chemistry, technology, foreign language …). The founder of the Khan Academy very accurately expresses the negative consequences of not deep studying the topic, referring to the need for in-depth study as the only way to actually learn something.
In this regard, the approach in the study of almost any subject looks promising through the creation of expert systems and models in the field under study. It is quite obvious that when developing an expert system, the developer must understand this subject, and in the development process the level of understanding of this area inevitably increases due to interaction with the already operating part of the system. The previous article is devoted to mathematical modeling, a simple technique for developing expert systems in the visual programming language Drakon is considered in this work.
Quick start with the Drakon - 1 step.
It is known that the first steps in any new business are the most difficult. The designing of expert systems is quite complex, although in fact, the development of such systems is based on the ability of any person to ask questions and answer them (although not always correctly). Teaching this subject for more than 5 years in the KPI, I used other approaches to the creation of expert systems (CLIPS, decision tables), but the solution based on the Drakon seems to be the best for beginners because of the rapid entry into the topic based on just two steps.
The first step is based on using the Drakon Editor to solve a simple task (displaying a string on the monitor on condition its length is permissible), an example of which is shown on the program's website, and the code is generated for the Python language (fig. 1). After that, the code is run offline (in IDLE for example) or online (repl.it). At this stage, the whole cycle of work with the Drakon is mastered: drawing a block of the circuit, automatically checking it, and generating the code in the chosen programming language, executing the code in the appropriate environment.
Figure 1. The example from the Drakon Editor website
Figure 2. The generated code on Python 3.6
Figure 3. Running the code on the site repl.it
To understand the features of working with Drakon, my students are given the task of generating code for the same task for JavaScript language, and to launch the code in the browser. At the same time, the block diagram is not altered, but only 2 functions in the diagram blocks are changed: the output of data to the monitor (from print to alert) and the function of the string's length (from len(string) to string.length).
Figure 4. Running the JavaScript code in the browser
The automatic generation of program code without changing the visual scheme for almost any procedural languages makes the use of Drakon so universal. Of course, within of solving such a simple task, one can not evaluate all the possibilities of the Drakon, but it allows one to quickly learn the procedure for using the Drakon with different programming languages.
The expert system of a Trip by bus - 2 step.
In the book of the Drakon language author's, there is a trip algorithm already on 21 page that is not associated with a specific programming language (fig. 5). It is interesting that this example already gives all the necessary information about the creation of any small expert system. Adaptation of this algorithm for Python (fig. 6, 7) requires only two input and output operators and allows estimating the difference between the generated code (see the figure) and the source diagram (see the figure) in sens of plainness for a reader of an algorithm.
Figure 5. The algorithm of a trip by bus
Figure 6. The adaptation of the algorithm, part 1
Figure 7. The adaptation of the algorithm, part 2
The difference between the second and the first diagrams is the appearance of a structure for the organization of the cycle, which in combination with the conditional operator (presents in both diagrams) is a necessary condition for the development of an expert system.
algorithm automatic code expert
Figure 8. The generated code on Python 2.7
Figure 9. Running the code in IDLE
Running the generated program in Python allows one to evaluate the correctness of the algorithm from the perspective of an expert, which is any user of public transport.
It is important that for the large expert systems the approach remains the same, but the final project will consist of several diagrams and the functions generated from them that interact with each other.
In this article is presented an approach to rapid learning in the development of expert systems based on the visual Drakon language in the programming environment of the Drakon Editor, as well as the launch of automatically generated code in the Python language for interactive evaluation of the developed algorithm. This approach consists of only two steps (developed diagrams on the Drakon) and allows students to design their own expert systems for the studied subjects. The ability to adapt the diagrams on the Drakon to a variety of programming languages without changing the visual part (actually the algorithm) makes it possible to widely use this approach for various real-world problems, for example in web programming using JavaScript, Java, and PHP languages.
Essentially, computer's training by creating an expert system is very different from human learning, since an incomplete description of the problem or its inadequate solution almost immediately (quite often) becomes apparent in the testing of the program even for a not very competent developer. Of course, for the final evaluation of the developed system, an expert will be needed: a teacher at the training stage or the customer after study.
References
1. Kontsevoy S., Kontsevoy A. Functional calculation of process flows' parameters in spreadsheets // Modern scientific researches and innovations. 2018. № 5.
2. Паронджанов В.Д. Язык ДРАКОН. Краткое описание. -- М., 2009. -- 124 с.
Размещено на Allbest.ru
...Подобные документы
Basic assumptions and some facts. Algorithm for automatic recognition of verbal and nominal word groups. Lists of markers used by Algorithm No 1. Text sample processed by the algorithm. Examples of hand checking of the performance of the algorithm.
курсовая работа [22,8 K], добавлен 13.01.2010Призначення пакету Forecast Expert, його використання для прогнозування однофакторної залежності та оцінка її довірчого інтервалу. Створення фінансової моделі підприємства за допомогою Project Expert. Практична робота з програмою "Бізнес-прогноз 2.0".
контрольная работа [1,7 M], добавлен 24.05.2009Creation of the graphic program with Visual Basic and its common interface. The text of program code in programming of Visual Basic language creating in graphics editor. Creation of pictures in Visual Basic, some graphic actions with graphic editor.
лабораторная работа [1,8 M], добавлен 06.07.2009Программа Project expert, ее сервисные возможности и удобства освоения. Разработка бизнес-планов, оценка и реализация инвестиционных проектов. Экспертные заключения, анализ изменений и автосоздаваемые таблицы. Сравнительный метод оценки стоимости бизнеса.
презентация [1,4 M], добавлен 29.11.2011Сущность методов дисконтированного периода окупаемости, чистого современного значения, внутренней нормы прибыльности. Назначение программы Project Expert, описание ее интерфейса. Основные операции: оценка рисков, анализ чувствительности и безубыточности.
курсовая работа [1,2 M], добавлен 28.11.2010Lists used by Algorithm No 2. Some examples of the performance of Algorithm No 2. Invention of the program of reading, development of efficient algorithm of the program. Application of the programs to any English texts. The actual users of the algorithm.
курсовая работа [19,3 K], добавлен 13.01.2010Робота з фінансово-аналітичною інформаційною системою Project Expert; основні функції та модулі системи, їхній опис. Використання системи для створення інвестиційних проектів, їх аналізу та формування бізнес-плану. Опис послідовності виконання завдання.
лабораторная работа [20,5 K], добавлен 03.03.2009Построение модели инвестиционного проекта при помощи программы Project Expert. Разработка стратегии финансирования, анализ финансовых результатов. Формирование и печать отчета, ввод и анализ данных о текущем состоянии проекта в процессе его реализации.
курсовая работа [1,5 M], добавлен 12.10.2013Review of development of cloud computing. Service models of cloud computing. Deployment models of cloud computing. Technology of virtualization. Algorithm of "Cloudy". Safety and labor protection. Justification of the cost-effectiveness of the project.
дипломная работа [2,3 M], добавлен 13.05.2015Central Processing Unit. Controls timing of all computer operations. Types of adapter card. Provides quick access to data. Uses devices like printer. Random Access Memory. Directs and coordinates operations in computer. Control the speed of the operation.
презентация [3,5 M], добавлен 04.05.2012Technical methods of supporting. Analysis of airplane accidents. Growth in air traffic. Drop in aircraft accident rates. Causes of accidents. Dispatcher action scripts for emergency situations. Practical implementation of the interface training program.
курсовая работа [334,7 K], добавлен 19.04.2016Изучение назначения и основных задач, которые решает Project Expert - система поддержки принятия решений (СППР), предназначенная для менеджеров, проектирующих финансовую модель нового или действующего предприятия. Программные приложения, этапы работы.
реферат [30,7 K], добавлен 19.05.2010Вычислительные и графические возможности сред MS Excel и MS Word для организации производства нового вида продукции. Анализ динамики основных показателей деятельности предприятия, составление бизнес-плана его развития на основе среды Project Expert.
курсовая работа [1,5 M], добавлен 06.12.2009Назначение, основные задачи, функциональные возможности программы Project Expert. Входные и выходные данные системы. Инструментальные средства для работы пользователя. Основные программные модули и диалоги. Решение финансовых и транспортных задач в Excel.
контрольная работа [3,0 M], добавлен 07.08.2013Developed the principles that a corpus of texts containing code-mixing should have and built a working prototype of Udmurt/Russian Code-Mixing Corpus. Discussed different approaches to studying code-mixing and various classifications of code-mixing.
дипломная работа [1,7 M], добавлен 30.12.2015Program automatic system on visual basic for graiting 3D-Graphics. Text of source code for program functions. Setting the angle and draw the rotation. There are functions for choose the color, finds the normal of each plane, draw lines and other.
лабораторная работа [352,4 K], добавлен 05.07.2009Управление электронным обучением. Технологии электронного обучения e-Learning. Программное обеспечение для создания e-Learning решений. Компоненты LMS на примере IBM Lotus Learning Management System и Moodle. Разработка учебных курсов в системе Moodle.
курсовая работа [146,6 K], добавлен 11.06.2009Practical acquaintance with the capabilities and configuration of firewalls, their basic principles and types. Block specific IP-address. Files and Folders Integrity Protection firewalls. Development of information security of corporate policy system.
лабораторная работа [3,2 M], добавлен 09.04.2016Программное обеспечение Python и ее основные характеристики, как программной среды. Общие сведения о языке программирования Python. Особенности применения ППП Python (x,y) с использованием его различных вычислительных модулей в учебном процессе.
дипломная работа [2,9 M], добавлен 07.04.2019The material and technological basis of the information society are all sorts of systems based on computers and computer networks, information technology, telecommunication. The task of Ukraine in area of information and communication technologies.
реферат [29,5 K], добавлен 10.05.2011