Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
6c767ec
Create scp_program_proc_gen_random_graph.scs
MarkGfrv Nov 6, 2024
b07498e
Add files via upload
MarkGfrv Nov 6, 2024
00a7c13
Create proc_gen_random_graph.scs
MarkGfrv Nov 6, 2024
05a574a
Add files via upload
MarkGfrv Nov 6, 2024
6031b91
Add files via upload
MarkGfrv Nov 6, 2024
39f5cb0
Delete solver_gt/na_agent_solving_task/agent_gen_random_graph directory
MarkGfrv Nov 6, 2024
c7c1fbc
Create proc_gen_random_graph.scs
MarkGfrv Nov 6, 2024
5656a8e
Add files via upload
MarkGfrv Nov 6, 2024
7be7510
Add files via upload
MarkGfrv Nov 6, 2024
609b8d3
Delete solver_gt/graph_agents/agents_gen_random_graph/proc/scp_progra…
MarkGfrv Nov 6, 2024
5abe399
Update sc_agent_gen_random_graph.scs
MarkGfrv Nov 6, 2024
3539fdb
Update agent_gen_random_graph.scs
MarkGfrv Nov 6, 2024
fd65797
Add files via upload
MarkGfrv Nov 6, 2024
660874f
Add files via upload
MarkGfrv Nov 6, 2024
1cf8101
Update agent_gen_random_graph.scs
MarkGfrv Nov 6, 2024
a39fb36
Add files via upload
MarkGfrv Nov 7, 2024
bc20339
Add files via upload
MarkGfrv Nov 7, 2024
8e66b5f
Add files via upload
MarkGfrv Nov 7, 2024
ffa11eb
Delete solver_gt/graph_agents/sc_agent_gen_random_graph.scs
MarkGfrv Nov 7, 2024
7d28692
Add files via upload
MarkGfrv Nov 7, 2024
fd1c177
Add files via upload
MarkGfrv Nov 7, 2024
88e2e48
Add files via upload
MarkGfrv Nov 7, 2024
ed7c6b1
Add files via upload
MarkGfrv Nov 7, 2024
1ce551d
Add files via upload
MarkGfrv Nov 7, 2024
5a2a0e3
Add files via upload
MarkGfrv Nov 7, 2024
e5f244a
Delete programs/graph_programs/proc_gen_random_graph/scp_program_proc…
MarkGfrv Nov 7, 2024
b837078
Update proc_gen_random_graph.scs
MarkGfrv Nov 7, 2024
b22f48f
Add files via upload
MarkGfrv Nov 8, 2024
78fa20f
Add files via upload
MarkGfrv Nov 8, 2024
15b1f2b
Update proc_gen_random_graph.scs
MarkGfrv Nov 8, 2024
a26cd8f
Update proc_gen_random_graph.scs
MarkGfrv Nov 8, 2024
7be8b5e
Update agent_gen_random_graph.scs
MarkGfrv Nov 8, 2024
9e20de4
Add files via upload
MarkGfrv Nov 8, 2024
5786937
Add files via upload
MarkGfrv Nov 8, 2024
47ca16b
Add files via upload
MarkGfrv Nov 8, 2024
c309bdb
Add files via upload
MarkGfrv Nov 8, 2024
cab682a
Add files via upload
MarkGfrv Nov 9, 2024
0752b07
Add files via upload
MarkGfrv Nov 9, 2024
e9082d0
Add files via upload
MarkGfrv Nov 9, 2024
7745051
Add files via upload
MarkGfrv Nov 9, 2024
4060287
Add files via upload
MarkGfrv Nov 9, 2024
0da9119
Delete solver_gt/graph_agents/agent_of_condensation_calculation/agent…
MarkGfrv Nov 10, 2024
8e3aa98
Delete solver_gt/graph_agents/agent_of_condensation_calculation/sc_ag…
MarkGfrv Nov 10, 2024
5bb219f
Add files via upload
MarkGfrv Nov 10, 2024
375c3b7
Update ui_menu_na_graph_theory.scs
MarkGfrv Nov 10, 2024
38bdb7b
Add files via upload
MarkGfrv Nov 11, 2024
749d95d
Add files via upload
MarkGfrv Nov 11, 2024
f3ef2a2
Add files via upload
MarkGfrv Nov 11, 2024
42b389e
Create readme.md
MarkGfrv Nov 11, 2024
000c92f
Add files via upload
MarkGfrv Nov 11, 2024
3e5193c
Add files via upload
MarkGfrv Nov 11, 2024
45def89
Add files via upload
MarkGfrv Nov 11, 2024
dd77fe2
Add files via upload
MarkGfrv Nov 11, 2024
6a57c92
Create doc_agent_gen_random_graph.md
MarkGfrv Nov 19, 2024
aaf8d79
Delete solver_gt/graph_agents/agents_gen_random_graph/tests/readme.md
MarkGfrv Nov 19, 2024
345f0fd
Update doc_agent_gen_random_graph.md
MarkGfrv Nov 19, 2024
e8ad2d8
Update doc_agent_gen_random_graph.md
MarkGfrv Nov 19, 2024
adf0d19
Update doc_agent_gen_random_graph.md
MarkGfrv Nov 19, 2024
21b4323
Add files via upload
MarkGfrv Nov 19, 2024
fd7dff7
Delete solver_gt/graph_agents/agent_gen_random_graph
MarkGfrv Nov 19, 2024
bed2751
Update proc_gen_random_graph.scs
MarkGfrv Nov 19, 2024
007986f
Delete programs/graph_programs/proc_gen_random_graph directory
MarkGfrv Nov 19, 2024
2279a2f
Add files via upload
MarkGfrv Nov 19, 2024
6981fed
Add files via upload
MarkGfrv Nov 19, 2024
ac71cc8
Delete solver_gt/graph_agents/docs directory
MarkGfrv Nov 19, 2024
6ac8ef4
Create doc_agent_gen_random_graph.md
MarkGfrv Nov 19, 2024
9695590
Update doc_agent_gen_random_graph.md
MarkGfrv Nov 19, 2024
77d2ad6
Update doc_agent_gen_random_graph.md
MarkGfrv Nov 19, 2024
417f787
Update doc_agent_gen_random_graph.md
MarkGfrv Nov 19, 2024
e8d6d41
Create sc_agent_check_student_answer.scs
MarkGfrv Dec 6, 2024
ef15afa
Add files via upload
MarkGfrv Dec 6, 2024
0a1a975
Create proc_check_student_answer.scs
MarkGfrv Dec 6, 2024
09d5dfc
Create sc_agent_compare_structures.scs
MarkGfrv Dec 7, 2024
e392ceb
Add files via upload
MarkGfrv Dec 7, 2024
34d6fb5
Create proc_compare_structures.scs
MarkGfrv Dec 7, 2024
ab36216
Create readme.md
MarkGfrv Dec 7, 2024
7ab2b7f
Add files via upload
MarkGfrv Dec 7, 2024
a79daef
Add files via upload
MarkGfrv Dec 7, 2024
9d6985a
Add files via upload
MarkGfrv Dec 7, 2024
93230b5
Add files via upload
MarkGfrv Dec 7, 2024
a6c1d14
Create readme.md
MarkGfrv Dec 7, 2024
d9dba60
Add files via upload
MarkGfrv Dec 7, 2024
3882f25
Delete solver_gt/graph_agents/agent_check_student_answer/tests/readme.md
MarkGfrv Dec 7, 2024
42f2239
Create doc_agent_check_student_answer.md
MarkGfrv Dec 7, 2024
8065b2e
Update doc_agent_check_student_answer.md
MarkGfrv Dec 7, 2024
7617bdc
Update doc_agent_check_student_answer.md
MarkGfrv Dec 7, 2024
083365b
Update doc_agent_check_student_answer.md
MarkGfrv Dec 7, 2024
741b924
Update proc_check_student_answer.scs
MarkGfrv Dec 7, 2024
f6d25b5
Add files via upload
MarkGfrv Dec 8, 2024
1954b81
Update doc_agent_check_student_answer.md
MarkGfrv Dec 8, 2024
73c0e67
Add files via upload
MarkGfrv Dec 8, 2024
d91b493
Add files via upload
MarkGfrv Dec 8, 2024
00a7fde
Add files via upload
MarkGfrv Dec 9, 2024
81ec70e
Update proc_compare_structures.scs
MarkGfrv Dec 9, 2024
66dbbe4
Create readme.md
MarkGfrv Dec 10, 2024
85d2755
Add files via upload
MarkGfrv Dec 10, 2024
d317f54
Delete solver_gt/graph_agents/agent_generate_task_for_student/readme.md
MarkGfrv Dec 10, 2024
a6e3b4f
Create readme.md
MarkGfrv Dec 10, 2024
a6fea71
Add files via upload
MarkGfrv Dec 10, 2024
5ac4713
Delete solver_gt/graph_agents/agent_generate_task_for_student/proc/re…
MarkGfrv Dec 10, 2024
9f6809c
Update sc_agent_generate_task_for_student.scs
MarkGfrv Dec 10, 2024
63b77e0
Update agent_generate_task_for_student.scs
MarkGfrv Dec 10, 2024
0c1ae7a
Update proc_generate_task_for_student.scs
MarkGfrv Dec 10, 2024
960fd3d
Update proc_generate_task_for_student.scs
MarkGfrv Dec 10, 2024
0ab8865
Create sc_agent_determine_number_of_graphs_for_task.scs
MarkGfrv Dec 10, 2024
0b2344b
Create agent_determine_number_of_graphs_for_task.scs
MarkGfrv Dec 10, 2024
a238bde
Create proc_determine_number_of_graphs_for_task.scs
MarkGfrv Dec 10, 2024
cd760c5
Update agent_generate_task_for_student.scs
MarkGfrv Dec 10, 2024
72b4508
Update proc_generate_task_for_student.scs
MarkGfrv Dec 10, 2024
4e907ea
Update proc_generate_task_for_student.scs
MarkGfrv Dec 10, 2024
b44fbba
Delete solver_gt/graph_agents/agent_generate_task_for_student/proc di…
MarkGfrv Dec 10, 2024
497c322
Add files via upload
MarkGfrv Dec 10, 2024
70b1bd3
Add files via upload
MarkGfrv Dec 10, 2024
2e3fcb5
Update sc_agent_generate_task_for_student.scs
MarkGfrv Dec 10, 2024
3f0a812
Delete solver_gt/graph_agents/agent_generate_task_for_student/sc_agen…
MarkGfrv Dec 10, 2024
deb4ccc
Add files via upload
MarkGfrv Dec 10, 2024
9fbbfd6
Delete solver_gt/graph_agents/agent_generate_task_for_student/agent_g…
MarkGfrv Dec 10, 2024
a48614a
Update and rename agent_generate_task_for_student (2).scs to agent_ge…
MarkGfrv Dec 10, 2024
9faacbf
Update and rename sc_agent_generate_task_for_student (3).scs to sc_ag…
MarkGfrv Dec 10, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions docs/doc_agent_check_student_answer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<h1 align="center">Агент проверки ответа студента</h1>
Агент проверки ответа студента - один из агентов предметной области теории графов, реализованный на графовом языке программирования SCP. Агент является составной частью системы тестирования знаний студента, сверяя данный студентом ответ на задачу с ожидаемым, и, в случае неверного ответа, генерирующий структуру с элементами, которых не хватало в ответе студента.

**Класс действий:** action_check_student_answer

**Условие инициирования:** агент принимает на вход две структуры: первая, связанная отношением **rrel_1** - ответ, данный студентом на задачу. Вторая, связанная отношением **nrel_exprected_answer** - ожидаемый ответ.

**Результат выполнения:** результатом выполнения агента является ссылка с текстовым содержимым **"Student gave right answer"**, если студент дал правильный ответ на задачу. В противном случае, результатом будет структура с теми элементами, которые есть в ожидаемом ответе, но нет в ответе студента.

## Процесс выполнения агента:
1. Агент берёт 2 входных параметра из узла действия - они представляют собой структуры.
2. Агент вызывает агента сравнения структур - тот, в свою очередь создаёт связку с двумя структурами: первая - то, что есть в ответе студента и нет в ожидаемом ответе, вторая - то, что есть в
ожидаемом ответе, но нет в ответе студента.
3. Агент берёт вторую структуру(в которой содержатся те элементы, которые отсутствуют в ответе студента).
4. Агент проверяет, пустая ли структура.
5. Если структура пустая, то агент создаёт ссылку с содержанием **"Student gave right answer"** и привязывает её к узлу действия.
6. Если структура не пустая, то агент создаёт структуру с теми элементами, которые отсутствуют в ответе студента и привязывает её к узлу действия отношением **nrel_answer**.

## Порядок действий при работе с агентом:
1. Создать тестовый пример в формате .gwf или в формате .scs. Далее будет показан алгоритм для тестового примера .gwf:
![image](https://github.com/user-attachments/assets/a1e756ca-cfa4-4789-9c93-fd47e5125d23)

2. Поместить тестовый пример в директорию tests, лежащюю по пути **gt-knowledge-processing-machine/solver_gt/graph_agents/agent_check_student_answer/tests**

3. Пересобрать базу знаний, запустить sc-машину и открыть sc-web.
4. Найти узел действия, который соответствует разработанному в пункте 1 тестовому примеру:
![image](https://github.com/user-attachments/assets/b17530dc-2212-4526-b1c2-4ad45f8fc6ad)


5. Инициировать действие(создать узел **action_initiated** и провести из него в узел действия дугу принадлежности) и нажать на панели слева 'Синхронизировать с базой':
![image](https://github.com/user-attachments/assets/30963dca-f3e3-4247-88e0-bf5f730fcb5e)


6. Перейти по узлу действия. Появилась структура, связанная с узлом действия отношением **результат***:
![image](https://github.com/user-attachments/assets/e336cf3a-050e-4dc7-9988-48e323a69cfd)


7. Если перейти по указанной структуре с помощью выбора опции **Какие элементы принадлежат указываемому множеству?**, то можно увидеть результат выполнения агента:
![image](https://github.com/user-attachments/assets/ae49821f-d11f-4e91-863d-335da5549a64)
![image](https://github.com/user-attachments/assets/c4f48949-eac7-48f5-afc1-e5e14d8ea425)
![image](https://github.com/user-attachments/assets/908805d1-dc06-40b9-9196-a50ed4d6e36a)





58 changes: 58 additions & 0 deletions docs/doc_agent_gen_random_graph.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<h1 align="center">Агент генерации случайного графа</h1>
Агент генерации случайного графа - один из агентов предметной области теории графов, реализованный на графовом языке программирования SCP. Агент является составной частью системы тестирования знаний студента, генерируя случайный шаблон, по которому впоследствии агентом генерации задания для студента будет сгенерировано задание для решения его студентом.

**Класс действий:** action_generate_random_graph

**Условие инициирования:** агент принимает на вход 2 ссылки с числовым содержимым: первая связывается с узлом действия отношением **rrel_1**, содержит произвольное число и представляет собой количество вершин в случайном графе; вторая - связана с узлом действия отношением **rrel_2**, содержит произвольное число в диапазоне от 0 до 100 и представляет собой вероятность связи между вершинами графа.

**Результат выполнения:** результатом выполнения агента является структура, содержащая количество вершин равное числу, хранящемуся в первой ссылке. Так как результат выполнения агента - это шаблон, то вершины в нём являются константами, а дуги - переменными.

## Процесс выполнения агента:
1. Агент берёт 2 входных параметра из узла действия. Параметры представляют собой ссылки с числовым содержимым.
2. Программа генерирует структуру, в которую записывает такое количество вершин, которое равно содержимому первой ссылки.
3. Создаётся множество из сгенерированных вершин.
4. Выбирается вершина из созданного множества и сразу же из него удаляется.
5. Для выбранной вершины создаётся ещё одно множество всех вершин сгенерированной в пункте 2 структуры.
6. Из второго множества выбирается вершина и сразу же из него удаляется.
7. Для текущей пары вершин генерируется случайное число. Если оно меньше, чем содержимое второго параметра, то в результат добавляется переменная дуга между соответствующей парой вершин. В противном случае, дуга не добавляется.
8. Если текущая вершина из второго множества - последняя, то агент берёт следующую вершину из первого множества, в противном случае - берётся следующая вершина второго множества. Если в обоих множествах не осталось вершин, агент завершает свою работу.

## Порядок действий при работе с агентом:
1. Создать тестовый пример в формате .gwf или в формате .scs. Далее будет показан алгоритм для тестового примера .gwf:
![photo_5298670586249210089_x](https://github.com/user-attachments/assets/1e432450-de60-4725-b33b-4f2bf2f6287d)

2. Поместить тестовый пример в директорию tests, лежащюю по пути **gt-knowledge-processing-machine/solver_gt/graph_agents/agents_gen_random_graph/tests**

3. Пересобрать базу знаний, запустить sc-машину и открыть sc-web.
4. Найти узел действия, который соответствует разработанному в пункте 1 тестовому примеру:
![photo_5325803277637509094_y](https://github.com/user-attachments/assets/ceea7ed1-1b9f-4488-a26c-2e91c65ada0f)

5. Инициировать действие(создать узел **action_initiated** и провести из него в узел действия дугу принадлежности) и нажать на панели слева 'Синхронизировать с базой':
![photo_5325803277637509103_y](https://github.com/user-attachments/assets/c4854c64-5b89-43a4-ba00-b2e206fe3de6)

6. Перейти по узлу действия. Появилась структура, связанная с узлом действия отношением **результат***:
![photo_5325803277637509104_y](https://github.com/user-attachments/assets/dcd5afc8-3e2b-404b-91a9-67b12631b985)

7. Если перейти по указанной структуре с помощью выбора опции **Какие элементы принадлежат указываемому множеству?**, то можно увидеть результат выполнения агента:
![photo_5325803277637509105_y](https://github.com/user-attachments/assets/ffffabb0-e14e-4997-87c2-7873e40ac3c1)
![photo_5325803277637509106_y](https://github.com/user-attachments/assets/36669af9-2ddd-495c-bfe6-f91e30fbe141)

## Примеры результатов работы агента для других наборов входных данных:
**Тестовый набор:**

![photo_5298670586249210090_x](https://github.com/user-attachments/assets/5bf3c068-9551-4073-a4da-aead88deadb7)


**Результат:**

![photo_5300922386062894624_x](https://github.com/user-attachments/assets/f71401b0-ab85-4217-af60-99c2d6e44104)


**Тестовый набор:**

![photo_5300922386062894669_x](https://github.com/user-attachments/assets/e82cf7dd-5a60-4a5a-bb14-ef00461d25a7)


**Результат:**

![photo_5300922386062894676_x](https://github.com/user-attachments/assets/957f6c29-0e0b-478b-9a61-bb9a0058ddad)
3 changes: 2 additions & 1 deletion menu/ui_menu_na_graph_theory.scs
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ ui_menu_na_graph_theory => nrel_main_idtf: [Graph theory] (* <- lang_en;; *);;

ui_menu_na_graph_theory <= nrel_ui_commands_decomposition:
{
ui_menu_task_generation
ui_menu_task_generation;
ui_menu_gen_random_graph
};;
Loading