{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Propagacja ataku sieci z wykorzystaniem spacerów losowych\n", "\n", "- Marcin Kostrzewski\n", "- Mateusz Tylka\n", "- Krystian Wasilewski" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Problem\n", "\n", "Emulacja ataku sieci..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Graf\n", "\n", "Grafem nazywamy kolekcję dwóch zbiorów: zbioru wierzchołków V oraz zbioru krawędzi E. Zbiór wierzchołków jest dowolnej postaci. Elementami zbioru krawędzi są e∈E, które są podzbiorami postaci v1,v2 dla pewnych dwóch wierzchołków v1,v2∈V (jeśli graf jest nieskierowany) lub parą uporządkowaną (v1,v2) jeśli graf jest skierowany." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Implementacja\n", "\n", "W naszym przypadku dana topologia sieci będzie przedstawiona za pomocą grafu nieskierowanego, a wirus będzie infekować sieć przemieszczając się po jego krawędziach za pomocą spaceru losowego, który będzie spełniać kryteria łańcuchu Markowa. Czyli każde przemieszczenie wirusa będzie zachodzić z prawdopodobieństwem zależnym od prawdopodobieństwa w poprzednim kroku." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# kod" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Wizualizacje" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# kod" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Wnioski" ] } ], "metadata": { "interpreter": { "hash": "11938c6bc6919ae2720b4d5011047913343b08a43b18698fd82dedb0d4417594" }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.2" } }, "nbformat": 4, "nbformat_minor": 2 }