Abstract

Graph learning by automata is a basic task in many applications. Among these applications are verification and testing of software and hardware systems, network exploration including Internet and GRID basing on formal models. The system or network model, in the final analysis, is a transition graph with properties to be examined. In the recent years the size of the systems and networks in everyday use and, consequently, the size of their models and graphs to be learned grows constantly. Problems arise when graph exploration by a single automaton (computer) either requires a lot of time, or a lot of computer memory, or both. Therefore, there is a task of parallel and distributed graph exploration. This task is formalized as graph learning by a set of automata (a set of computers with sufficient total memory working in parallel). This paper covers the solution of this task. First of all the behavior of the automaton on the graph is formalized. Then the algorithm of the graph learning is described in detail. The estimation of the algorithm is O ( m + nD ). Some ways of possible optimization is discussed.

Highlights

  • Graph learning by automata is a basic task in many applications

  • Among these applications are verification and testing of software and hardware systems, network exploration including Internet and GRID basing on formal models

  • There is a task of parallel and distributed graph exploration. This task is formalized as graph learning by a set of automata

Read more

Summary

Введение

Задача обхода неизвестного ориентированного графа автоматом используется во многих приложениях. Нижняя оценка времени обхода для одного или ограниченного числа автоматов равна (nm), где n — число вершин графа, а m — число дуг [[2]]. Если число автоматов не ограничено и все вычисления автоматов и передачи сообщений между ними выполняются не дольше (по порядку), чем проход дуги графа, то существуют алгоритмы с оценкой (m). Когда рабочая память существует отдельно от памяти автоматов и реализуется на вершинах графа: автомат может писать/читать из текущей вершины символы конечного алфавита. В этом сообщении указывается, нужно ли второму автомату оставаться на месте, поджидая первый автомат (для возвращения первого автомата в начало только что пройденной дуги), или, наоборот, двигаться вперёд, догоняя первый автомат (возвращения по дуге не требуется). Второй подход применяется при тестировании, когда вершина графа — это состояние тестируемой системы, и автомат ничего не может в неё писать.

Формализация автоматов на графе
Идентификатор вершины
Адрес автомата и среда связи автоматов
Сообщение
Порождение и уничтожение автоматов
Взаимодействие с графом
Замечание о ячейках автомата и параметрах сообщений
Идея алгоритма
Работа автоматов
Подробное описание алгоритма
Сообщения
Сообщение ты генератор
Сообщение граф создан
Сообщение автомат создан
Сообщение ты движок
Сообщение куда идти
Сообщение иди по дуге
4.2.10. Сообщение ответ на проход
4.2.11. Сообщение запрос
4.2.12. Сообщение конец
4.2.13. Сообщение опрос
4.2.15. Сообщение уничтожь граф
4.2.16. Сообщение уничтожь автомат
Определение модели
Теорема о заполнении модели точками
Возможные оптимизации
Кластеризация автоматов по машинам
Работа с ограниченной памятью
Заключение
References:

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.