На первый взгляд кажется, что это похоже на какой-то шаблон. Есть нечётное количество мостов, связанных с каждой землёй. Если нужно пересечь каждый мост один раз, то вам достаточно зайти на землю и сойти с неё, если она имеет два моста.
На рисунке выше видно, что если вы заходите на землю, проходясь по одному мосту, вы всегда можете покинуть землю, пройдя по её второму мосту. Всякий раз, когда появляется третий мост, вы не сможете покинуть землю, как только войдёте в нее.
Если вы попытаетесь обобщить это рассуждение для одного участка земли, то увидите, что в случае чётного количества мостов всегда можно покинуть землю, а в случае нечётного – нет.
На рисунке выше видно, что если вы заходите на землю, проходясь по одному мосту, вы всегда можете покинуть землю, пройдя по её второму мосту. Всякий раз, когда появляется третий мост, вы не сможете покинуть землю, как только войдёте в нее.
Если вы попытаетесь обобщить это рассуждение для одного участка земли, то увидите, что в случае чётного количества мостов всегда можно покинуть землю, а в случае нечётного – нет.
Изменим условие
Давайте добавим новый мост, чтобы узнать, как изменится количество общих соединённых мостов, и решит ли он проблему:
Давайте добавим новый мост, чтобы узнать, как изменится количество общих соединённых мостов, и решит ли он проблему:
Теперь, когда у нас есть два четных (4 и 4) и два нечетных (3 и 5) числа мостов, соединяющих четыре части земли, давайте нарисуем новый маршрут с добавлением этого нового моста.
Forwarded from Книги для программистов
Джоши_П_Искусственный_интеллект.pdf
69.6 MB
Искусственный интеллект с примерами на Python
Автор книги: Джоши П.
Год издания: 2019
Автор книги: Джоши П.
Год издания: 2019
Переходим к графам
Мы увидели, что число чётных и нечётных мостов сыграло свою роль в определении возможного решения. Возникает вопрос. Количество мостов решает проблему? И должно ли это работать во всех случаях? Оказывается, это не так. Вот что сделал Эйлер. Он нашёл способ показать, что количество мостов имеет значение. Что более интересно, также имеет значение количество участков земли с нечётным количеством соединённых мостов. Именно тогда Эйлер начал преобразовывать земли и мосты в то, что мы знаем как графы. Вот как может выглядеть граф этой задачи (обратите внимание, что временно добавленного моста нет).
Мы увидели, что число чётных и нечётных мостов сыграло свою роль в определении возможного решения. Возникает вопрос. Количество мостов решает проблему? И должно ли это работать во всех случаях? Оказывается, это не так. Вот что сделал Эйлер. Он нашёл способ показать, что количество мостов имеет значение. Что более интересно, также имеет значение количество участков земли с нечётным количеством соединённых мостов. Именно тогда Эйлер начал преобразовывать земли и мосты в то, что мы знаем как графы. Вот как может выглядеть граф этой задачи (обратите внимание, что временно добавленного моста нет).
Важно отметить обобщение/абстрагирование задачи. Всякий раз, когда вы решаете определённую задачу, самое главное – обобщить решение. Конкретно в этом случае задача Эйлера состояла в том, чтобы обобщить эту задачу для решения подобных в будущем. Визуализация также помогает рассматривать проблему под другим углом. Изображения ниже – различные представления одной и той же задачи Кёнигсбергского моста.
Forwarded from Библиотека питониста | Python, Django, Flask
itertools.combinations
itertools – впечатляющий модуль. У него так много разных методов, позволяющих экономить время. Есть даже репозиторий GitHub, содержащий ещё больше подобных инструментов.
#полезностьдня
Давайте посмотрим на метод combinations. Он принимает в качестве аргументов итерируемый объект и целое число. В результате получаем генератор, состоящий из всех возможных комбинаций итерируемого объекта. Максимальная длина последовательности равна указанному целому числу. Сочетания не дублируются:
itertools – впечатляющий модуль. У него так много разных методов, позволяющих экономить время. Есть даже репозиторий GitHub, содержащий ещё больше подобных инструментов.
#полезностьдня
Давайте посмотрим на метод combinations. Он принимает в качестве аргументов итерируемый объект и целое число. В результате получаем генератор, состоящий из всех возможных комбинаций итерируемого объекта. Максимальная длина последовательности равна указанному целому числу. Сочетания не дублируются:
import itertools
list(itertools.combinations([1, 2, 3, 4], 2))
[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]Forwarded from Библиотека питониста | Python, Django, Flask
Flask Web Development
Автор: Мигель Гринберг
Автор книги познакомит вас с основным функционалом и структурой фреймворка, продемонстрировав это на создании законченного приложения социального блогинга.
В книге рассматриваются следующие темы:
- структура микрофреймворка;
- шаблоны;
- базы данных;
- веб-формы;
- система аутентификации, публикации и комментирования;
- тестирование и многое другое.
#книгадня
Примеры кода на github https://github.com/miguelgrinberg/flasky
Скачать книгу:
https://t.me/progbook/2715
Автор: Мигель Гринберг
Автор книги познакомит вас с основным функционалом и структурой фреймворка, продемонстрировав это на создании законченного приложения социального блогинга.
В книге рассматриваются следующие темы:
- структура микрофреймворка;
- шаблоны;
- базы данных;
- веб-формы;
- система аутентификации, публикации и комментирования;
- тестирование и многое другое.
#книгадня
Примеры кода на github https://github.com/miguelgrinberg/flasky
Скачать книгу:
https://t.me/progbook/2715
Блокировать Telegram и обеспечивать суверенный рунет будет одна компания
Чиновники выбрали решение по фильтрации интернет-трафика, которое с переменным успехом Роскомнадзор тестировал с лета прошлого года, надеясь заблокировать Telegram. Оно же должно обеспечивать и реализацию другого закона — об автономном рунете.
О выборе поставщика решений для глубокой фильтрации трафика сообщают два СМИ: «Ведомости» и РБК. Чиновники выбрали компанию РДП.ру, которой частично владеет «Ростелеком». Главные операторы связи уже получили от Роскомнадзора протестировать оборудование на своих сетях в каком-либо регионе.
Заблокировать Telegram Роскомнадзор пытается давно — из-за отказа предоставлять ФСБ ключи шифрования. Эффективно блокировать по IP-адресам, как обычно поступают с сайтами, Telegram не удается, даже несмотря на «ковровые бомбардировки» по миллионам IP. Теперь ведомство одобрило новый подход — оборудование для глубокой фильтрации трафика (Deep Packet Inspection; DPI). Системы от российских производителей в августе 2018 года тестировали в подмосковном Реутове. Тогда вместе с Telegram заблокировали и «Сбербанк-Онлайн».
Но теперь чиновники уверены, что решение найдено: аппаратный комплекс от РДП одобрила рабочая группа во главе с руководителем Роскомнадзора Александром Жаровым.
Переговоры с операторами связи уже начались. Источники РБК сообщили, что МТС, «МегаФон» и «ВымпелКом» попросили предоставить в Роскомнадзор информацию об устройстве их сети, чтобы решить, в каких регионах будет проходить тестирование, а также где именно и в какой конфигурации необходимо установить оборудование DPI.
Конец сетевой нейтральности
Помимо блокировки трафика определенных приложений, в рамках тестирования будет решаться и еще одна задача — проверить возможность приоритизации трафика. Нужно это для последующего снижения скорости доступа к отдельным сервисам, утверждает РБК.
Идея замедления скорости доступа к отдельным ресурсам (нарушение принципа сетевой нейтральности) обсуждается в России уже давно. В Роскомнадзоре ранее заявляли, что это позволило бы переложить часть расходов на хранение контента в рамках «закона Яровой» с российских операторов связи на зарубежные интернет-компании. При отказе Google или Facebook чиновники получили бы дополнительный рычаг давления, снижая скорость доступа к этим сервисам.
Операторы и ранее были уверены, что суверенность Рунета и дополнительные проверки поставят крест на одной из самых перспективных технологий, требовательных к быстрой связи — интернете вещей. Робомобили, умные города и дистанционные операции — все это IoT.
Источник: https://m.hightech.plus/2019/03/29/blokirovat-telegram-i-obespechivat-suverennii-runet-budet-odna-tehnologiya
Чиновники выбрали решение по фильтрации интернет-трафика, которое с переменным успехом Роскомнадзор тестировал с лета прошлого года, надеясь заблокировать Telegram. Оно же должно обеспечивать и реализацию другого закона — об автономном рунете.
О выборе поставщика решений для глубокой фильтрации трафика сообщают два СМИ: «Ведомости» и РБК. Чиновники выбрали компанию РДП.ру, которой частично владеет «Ростелеком». Главные операторы связи уже получили от Роскомнадзора протестировать оборудование на своих сетях в каком-либо регионе.
Заблокировать Telegram Роскомнадзор пытается давно — из-за отказа предоставлять ФСБ ключи шифрования. Эффективно блокировать по IP-адресам, как обычно поступают с сайтами, Telegram не удается, даже несмотря на «ковровые бомбардировки» по миллионам IP. Теперь ведомство одобрило новый подход — оборудование для глубокой фильтрации трафика (Deep Packet Inspection; DPI). Системы от российских производителей в августе 2018 года тестировали в подмосковном Реутове. Тогда вместе с Telegram заблокировали и «Сбербанк-Онлайн».
Но теперь чиновники уверены, что решение найдено: аппаратный комплекс от РДП одобрила рабочая группа во главе с руководителем Роскомнадзора Александром Жаровым.
Переговоры с операторами связи уже начались. Источники РБК сообщили, что МТС, «МегаФон» и «ВымпелКом» попросили предоставить в Роскомнадзор информацию об устройстве их сети, чтобы решить, в каких регионах будет проходить тестирование, а также где именно и в какой конфигурации необходимо установить оборудование DPI.
Конец сетевой нейтральности
Помимо блокировки трафика определенных приложений, в рамках тестирования будет решаться и еще одна задача — проверить возможность приоритизации трафика. Нужно это для последующего снижения скорости доступа к отдельным сервисам, утверждает РБК.
Идея замедления скорости доступа к отдельным ресурсам (нарушение принципа сетевой нейтральности) обсуждается в России уже давно. В Роскомнадзоре ранее заявляли, что это позволило бы переложить часть расходов на хранение контента в рамках «закона Яровой» с российских операторов связи на зарубежные интернет-компании. При отказе Google или Facebook чиновники получили бы дополнительный рычаг давления, снижая скорость доступа к этим сервисам.
Операторы и ранее были уверены, что суверенность Рунета и дополнительные проверки поставят крест на одной из самых перспективных технологий, требовательных к быстрой связи — интернете вещей. Робомобили, умные города и дистанционные операции — все это IoT.
Источник: https://m.hightech.plus/2019/03/29/blokirovat-telegram-i-obespechivat-suverennii-runet-budet-odna-tehnologiya
Хайтек+
Блокировать Telegram и обеспечивать суверенный рунет будет одна компания
Чиновники выбрали решение по фильтрации интернет-трафика, которое с переменным успехом Роскомнадзор тестировал с лета прошлого года, надеясь заблокировать Telegram. Оно же должно обеспечивать и реализацию другого закона - об автономном рунете.
Forwarded from Библиотека программиста
Крутые модули Python, которые вы не используете, а надо бы
Какие методы и модули Python сделают ваш код чище и эффективнее? Рассмотрим 5 скрытых жемчужин стандартной библиотеки Python.
https://prglb.ru/4d05a
Какие методы и модули Python сделают ваш код чище и эффективнее? Рассмотрим 5 скрытых жемчужин стандартной библиотеки Python.
https://prglb.ru/4d05a
Библиотека программиста
Крутые модули Python, которые вы не используете, а надо бы
Какие методы и модули Python сделают ваш код чище и эффективнее? Рассмотрим 5 скрытых жемчужин стандартной библиотеки Python.
Этот скрипт на Python поможет найти дефолтный пароль от любого сетевого устройства домашнего или производственного уровня. В базе приложения хранится достаточное количество паролей (2084 штуки) для входа на разные роутеры известных производителей. Устанавливается это чудо с помощью четырех команд:
git clone https://github.com/Viralmaniar/Passhunt.git
cd Passhunt
pip3 install -r requirements.txt
python3 Passhunt.py
git clone https://github.com/Viralmaniar/Passhunt.git
cd Passhunt
pip3 install -r requirements.txt
python3 Passhunt.py
GitHub
GitHub - Viralmaniar/Passhunt: Passhunt is a simple tool for searching of default credentials for network devices, web applications…
Passhunt is a simple tool for searching of default credentials for network devices, web applications and more. Search through 523 vendors and their 2084 default passwords. - Viralmaniar/Passhunt