#АналитикаРешает - обзорная лекция про аналитикуKadimov Mansur
#АналитикаРешает - так называлась лекция в НИУ-ВШЭ, которую я прочитал в субботу (05.10). Её слушали магистранты Департамента интегрированных коммуникаций, а вы её можете просто скачать по ссылке.
Лекция содержит обзор тем: почему аналитика решает и так востребована, какая аналитика бывает, как она работает и как сделать так, чтоб у вас она получилась. Это вводная компиляция материалов из нашего интенсива про аналитику для менеджеров и предпринимателей. Мы решили, что будет здорово просто поделиться нашим трудом. Надеюсь вам материал понравится и будет для вас полезным.
Если вам тема интересна, вы хотите в неё системно на один день погрузиться в формате интенсива, пишите мне, у нас есть интересное для вас предложение.
Юрий Картынник — Факторы ранжирования: основыYandex
Рассказ о том, что такое факторы ранжирования и как с их помощью можно оценить релевантность документов. Представлены классические примеры факторов ранжирования и процесс их разработки, а также вы узнаете, какие инструменты используются для разработки факторов ранжирования в Яндексе.
Для эффективной борьбы с большими данными одних технологий недостаточно. Необходим правильный настрой по отношению к ним, позволяющий видеть перспективы и особенности их использования. В данном рассказе предлагается точка зрения на совокупность проблем больших данных и их возможные пути разрешения. Рассказ построен на конкретных примерах из личной практики.
Целевая аудитория доклада, ее примерный уровень: аналитики, менеджеры ИТ, CTO.
#АналитикаРешает - обзорная лекция про аналитикуKadimov Mansur
#АналитикаРешает - так называлась лекция в НИУ-ВШЭ, которую я прочитал в субботу (05.10). Её слушали магистранты Департамента интегрированных коммуникаций, а вы её можете просто скачать по ссылке.
Лекция содержит обзор тем: почему аналитика решает и так востребована, какая аналитика бывает, как она работает и как сделать так, чтоб у вас она получилась. Это вводная компиляция материалов из нашего интенсива про аналитику для менеджеров и предпринимателей. Мы решили, что будет здорово просто поделиться нашим трудом. Надеюсь вам материал понравится и будет для вас полезным.
Если вам тема интересна, вы хотите в неё системно на один день погрузиться в формате интенсива, пишите мне, у нас есть интересное для вас предложение.
Юрий Картынник — Факторы ранжирования: основыYandex
Рассказ о том, что такое факторы ранжирования и как с их помощью можно оценить релевантность документов. Представлены классические примеры факторов ранжирования и процесс их разработки, а также вы узнаете, какие инструменты используются для разработки факторов ранжирования в Яндексе.
Для эффективной борьбы с большими данными одних технологий недостаточно. Необходим правильный настрой по отношению к ним, позволяющий видеть перспективы и особенности их использования. В данном рассказе предлагается точка зрения на совокупность проблем больших данных и их возможные пути разрешения. Рассказ построен на конкретных примерах из личной практики.
Целевая аудитория доклада, ее примерный уровень: аналитики, менеджеры ИТ, CTO.
"Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУYandex
Анализ неявных предпочтений пользователей, выраженных в переходах по ссылкам и длительности просмотра страниц, является важнейшим фактором ранжирования документов в результатах поиска или, например, показа рекламы и рекомендации новостей. Алгоритмы анализа кликов хорошо изучены. Но можно ли узнать что-то ещё об индивидуальных предпочтениях человека, используя больше информации о его поведении на сайте? Оказывается, траектория движения мыши позволяет узнать, какие фрагменты просматриваемого документа заинтересовали пользователя.
В докладе речь пойдёт о методах сбора данных и алгоритмах анализа поведения пользователя по движениям мыши, а также о применении этих методов на практике. Они позволяют существенно улучшить формирование сниппетов (аннотаций) документов в результатах поиска.
Будут представлены свободно доступный программный код, а также коллекция данных о поведении пользователей с привязкой к поисковому запросу. Мы надеемся, они вдохновят исследователей на создание новых методов анализа неявных поведенческих сигналов. Работа с описанием этих алгоритмов была отмечена дипломом «Best Paper Shortlisted Nominee» на международной конференции ACM SIGIR в 2013 году.
Introduction: The Knowledge Exchange initiative, its vision and achievements
Speaker: Knowledge Exchange Steering Group member Dr. Marjan Vernooy (SURFfoundation)
More than three quarters of pregnant women experience food cravings, most commonly for sweets, dairy, and salty foods. While some cravings can be unusual, like olives on cheesecake or fruit in salsa, they are generally safe. Doctors believe cravings may indicate nutritional needs as a woman's body changes, though the message can get lost resulting in less healthy choices. Managing cravings involves eating balanced meals, choosing healthier substitutes when possible, and indulging in moderation.
This document provides an overview of ESDS Software Solution Pvt. Ltd., including their vision, mission, values, customers, and offerings. Their vision is to deliver world-class managed datacenter services and cloud-enabled solutions while creating lifetime customer relationships. They aim to innovate scalable solutions, adapt to technology advances, ensure high availability, and transform infrastructure to a utility model. ESDS has over 400 employees serving 35,000+ customers across India, the US, and UK through various subsidiary brands focused on hosting and cloud services.
Lane, A.B. (2006) Widening Participation in Life Long Learning through Open Educational Resources, EU eLearning Conference 2006, Helsinki, Finland, 4-5 July 2006
This document provides an overview of the characters and plot of Wuthering Heights by Emily Bronte. It describes the main characters of Heathcliff, an orphan taken in by the Earnshaw family who falls in love with Catherine Earnshaw, and Catherine herself, the daughter of the Earnshaw family who is torn between her passion for Heathcliff and her social ambition. It also briefly outlines some supporting characters and conflicts in the novel between characters and within Catherine herself.
Este documento trata sobre la importancia de la oratoria para el ejercicio profesional del abogado. Explica que la oratoria es el arte de hablar con elocuencia y persuasión, y que las habilidades oratorias son extremadamente importantes para convencer a un público. También señala que la oratoria es fundamental en el desempeño del abogado, especialmente en juicios orales donde debe exponer argumentos de manera clara y convincente. Finalmente, destaca que el abogado debe tener un profundo conocimiento de su profesión y de
The document discusses the ICOPER project which aims to improve interoperability in education through several work packages. The project will develop testbeds for learning needs, instructional modeling, assessment, content development, and learning delivery. It will also work on an ICOPER reference model and standards adoption. The project promises to deliver an open content space with integrated repositories and implementations of standards, as well as training and adoption promotion activities.
The product life cycle involves five stages: development, introduction, growth, maturity, and decline. During introduction, sales are low and profits negative as the product reaches the market. In the growth stage, sales increase rapidly as the product gains acceptance. Maturity follows as sales peak and competition increases. Finally, the decline stage occurs as sales fall off. Companies must adapt their marketing strategies to each stage of the cycle to maximize profits throughout the product's lifetime.
Hospital psiquiatrico dia para esmeraldasLilian Yass
Este documento describe la necesidad de diseñar un Hospital Psiquiátrico Día en Esmeraldas, Ecuador. Actualmente, la única unidad de salud mental existente tiene una infraestructura inadecuada y limitada capacidad para atender la creciente demanda. Un Hospital Psiquiátrico Día proporcionaría un tratamiento intermedio entre la hospitalización completa y la atención ambulatoria, mejorando el acceso a servicios de salud mental y apoyando la reintegración de pacientes a la sociedad y sus familias. El diseño propuesto abordaría
The document discusses the use of definite and indefinite articles in English. It provides examples of when to use indefinite articles like "a" and "an", the zero article, and the definite article "the". It explains that indefinite articles are used with non-specific nouns, the zero article with plural or non-count nouns, and the definite article when the noun is definite or unique in some way. The document uses examples from an African safari to illustrate article usage.
"Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУYandex
Анализ неявных предпочтений пользователей, выраженных в переходах по ссылкам и длительности просмотра страниц, является важнейшим фактором ранжирования документов в результатах поиска или, например, показа рекламы и рекомендации новостей. Алгоритмы анализа кликов хорошо изучены. Но можно ли узнать что-то ещё об индивидуальных предпочтениях человека, используя больше информации о его поведении на сайте? Оказывается, траектория движения мыши позволяет узнать, какие фрагменты просматриваемого документа заинтересовали пользователя.
В докладе речь пойдёт о методах сбора данных и алгоритмах анализа поведения пользователя по движениям мыши, а также о применении этих методов на практике. Они позволяют существенно улучшить формирование сниппетов (аннотаций) документов в результатах поиска.
Будут представлены свободно доступный программный код, а также коллекция данных о поведении пользователей с привязкой к поисковому запросу. Мы надеемся, они вдохновят исследователей на создание новых методов анализа неявных поведенческих сигналов. Работа с описанием этих алгоритмов была отмечена дипломом «Best Paper Shortlisted Nominee» на международной конференции ACM SIGIR в 2013 году.
Introduction: The Knowledge Exchange initiative, its vision and achievements
Speaker: Knowledge Exchange Steering Group member Dr. Marjan Vernooy (SURFfoundation)
More than three quarters of pregnant women experience food cravings, most commonly for sweets, dairy, and salty foods. While some cravings can be unusual, like olives on cheesecake or fruit in salsa, they are generally safe. Doctors believe cravings may indicate nutritional needs as a woman's body changes, though the message can get lost resulting in less healthy choices. Managing cravings involves eating balanced meals, choosing healthier substitutes when possible, and indulging in moderation.
This document provides an overview of ESDS Software Solution Pvt. Ltd., including their vision, mission, values, customers, and offerings. Their vision is to deliver world-class managed datacenter services and cloud-enabled solutions while creating lifetime customer relationships. They aim to innovate scalable solutions, adapt to technology advances, ensure high availability, and transform infrastructure to a utility model. ESDS has over 400 employees serving 35,000+ customers across India, the US, and UK through various subsidiary brands focused on hosting and cloud services.
Lane, A.B. (2006) Widening Participation in Life Long Learning through Open Educational Resources, EU eLearning Conference 2006, Helsinki, Finland, 4-5 July 2006
This document provides an overview of the characters and plot of Wuthering Heights by Emily Bronte. It describes the main characters of Heathcliff, an orphan taken in by the Earnshaw family who falls in love with Catherine Earnshaw, and Catherine herself, the daughter of the Earnshaw family who is torn between her passion for Heathcliff and her social ambition. It also briefly outlines some supporting characters and conflicts in the novel between characters and within Catherine herself.
Este documento trata sobre la importancia de la oratoria para el ejercicio profesional del abogado. Explica que la oratoria es el arte de hablar con elocuencia y persuasión, y que las habilidades oratorias son extremadamente importantes para convencer a un público. También señala que la oratoria es fundamental en el desempeño del abogado, especialmente en juicios orales donde debe exponer argumentos de manera clara y convincente. Finalmente, destaca que el abogado debe tener un profundo conocimiento de su profesión y de
The document discusses the ICOPER project which aims to improve interoperability in education through several work packages. The project will develop testbeds for learning needs, instructional modeling, assessment, content development, and learning delivery. It will also work on an ICOPER reference model and standards adoption. The project promises to deliver an open content space with integrated repositories and implementations of standards, as well as training and adoption promotion activities.
The product life cycle involves five stages: development, introduction, growth, maturity, and decline. During introduction, sales are low and profits negative as the product reaches the market. In the growth stage, sales increase rapidly as the product gains acceptance. Maturity follows as sales peak and competition increases. Finally, the decline stage occurs as sales fall off. Companies must adapt their marketing strategies to each stage of the cycle to maximize profits throughout the product's lifetime.
Hospital psiquiatrico dia para esmeraldasLilian Yass
Este documento describe la necesidad de diseñar un Hospital Psiquiátrico Día en Esmeraldas, Ecuador. Actualmente, la única unidad de salud mental existente tiene una infraestructura inadecuada y limitada capacidad para atender la creciente demanda. Un Hospital Psiquiátrico Día proporcionaría un tratamiento intermedio entre la hospitalización completa y la atención ambulatoria, mejorando el acceso a servicios de salud mental y apoyando la reintegración de pacientes a la sociedad y sus familias. El diseño propuesto abordaría
The document discusses the use of definite and indefinite articles in English. It provides examples of when to use indefinite articles like "a" and "an", the zero article, and the definite article "the". It explains that indefinite articles are used with non-specific nouns, the zero article with plural or non-count nouns, and the definite article when the noun is definite or unique in some way. The document uses examples from an African safari to illustrate article usage.
Управление требованиями - это не только требования. Для CEE-SECR-2015. Анна А...Anna Abramova
Управление требованиями - это вспомогательный процесс управления проектом. Сами требования - инструмент управления. Когда мы начинаем путать требования с другими видами информации в проекте - запросами на изменения, описание реализации, потребностями бизнеса, - мы теряем управляемость проекта. Разница между разными видами информации - это разница во внутренней структуре, её потребителях, частотой и критичностью изменения.
"Анализ неявных предпочтений пользователей" — Михаил Агеев, Яндекс, МГУYandex
Анализ неявных предпочтений пользователей, выраженных в переходах по ссылкам и длительности просмотра страниц, является важнейшим фактором ранжирования документов в результатах поиска или, например, показа рекламы и рекомендации новостей. Алгоритмы анализа кликов хорошо изучены. Но можно ли узнать что-то ещё об индивидуальных предпочтениях человека, используя больше информации о его поведении на сайте? Оказывается, траектория движения мыши позволяет узнать, какие фрагменты просматриваемого документа заинтересовали пользователя.
В докладе речь пойдёт о методах сбора данных и алгоритмах анализа поведения пользователя по движениям мыши, а также о применении этих методов на практике. Они позволяют существенно улучшить формирование сниппетов (аннотаций) документов в результатах поиска.
Будут представлены свободно доступный программный код, а также коллекция данных о поведении пользователей с привязкой к поисковому запросу. Мы надеемся, они вдохновят исследователей на создание новых методов анализа неявных поведенческих сигналов. Работа с описанием этих алгоритмов была отмечена дипломом «Best Paper Shortlisted Nominee» на международной конференции ACM SIGIR в 2013 году.
«SEO-экспериментариум», выпуск 1 на MegaIndex.TV. Севальнев ДмитрийДмитрий Севальнев
Подробнее: http://www.pixelplus.ru/samostoyatelno/seo-poshagovo/
Проводим эксперименты по SEO!
Поле для экспериментов
- Индексация.
- Текстовое ранжирование.
- Ссылочное ранжирование.
- Изменение алгоритмов поисковых систем.
- Поведенческие факторы.
- Социальные факторы.
- Факторы, связанные с обработкой и анализом URL.
- Геоклассификация.
- И другие группы…
Презентация с бесплатного вебинара от Netpeak "Принципы работы поисковой системы".
Докладчик Алексей Данилин — SEO-специалист компании Netpeak.
Netpeak — интернет-маркетинг для вашего бизнеса.
• • • • • • •
Читайте про интернет-маркетинг в Блоге Netpeak: http://blog.netpeak.ru/
Узнайте больше о Netpeak: http://netpeak.net/
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Лекция 5. MapReduce в Hadoop (алгоритмы)Technopark
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Лекция 3. Распределённая файловая система HDFSTechnopark
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Лекция 1. Введение в Big Data и MapReduceTechnopark
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №10 "Нереляционное решение в области баз данных — NoSQL". Лектор - Станислав Ступников.
Вводная часть посвящена определению и истории развития концепции NoSQL. Даются характеристики, рассказывается о способах использования. Рассматриваются виды NoSQL БД, теоретические основы NoSQL, а в конце лекции обсуждаются недостатки NoSQL-решений, а также проводится сравнение разных NoSQL-решений.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №10 "Нереляционное решение в области баз данных — NoSQL". Лектор - Станислав Ступников.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №9 "Безопасность баз данных". Лектор - Павел Щербинин.
Открывается лекция рассказом о резервном копировании (о логических и физических резервных копиях, о выборе данных для копирования). Затем определяется терминология для обсуждения дальнейших вопросов. После этого рассматриваются основы учётных записей: таблицы доступа, привилегии, виды записей. Обсуждаются SQL-injection, список смежных вершин (Adjacency Set), вложенное множество (Nested Set), материализованный путь (Materialized Path) и комбинированный подход.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
СУБД 2013 Лекция №8 "Конфигурирование базы данных"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №8 "Конфигурирование базы данных". Лектор - Павел Щербинин.
Сначала объясняются основы конфигурирования и общие принципы настройки. Далее рассказывается об области видимости, о настройке использования памяти, обсуждается размер блока ключей key_cache_block_size. Рассматривается устройство и использование кэша InnoDB, а также кэшей потоков и таблиц. Затем говорится об особенностях ввода/вывода в InnoDB. Далее рассказывается о табличном пространстве, оптимизации файловой сортировки, переменных состояния. Финальная часть лекции посвящена репликации: настройка, синхронизация, топология, планирование пропускной способности, администрирование и обслуживание, проблемы и их решения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №7 "Оптимизация запросов и индексирование". Лектор - Павел Щербинин.
Вначале рассказывается об оптимизации доступа к данным, о декомпозиции соединения и состоянии запроса. Далее идёт большой блок, посвящённый оптимизатору запросов (изменение порядка соединения, применение алгебраических правил эквивалентности, оптимизации COUNT(), MIN(), MAX(), вычисление и свертка константных выражений, покрывающие индексы, оптимизация подзапросов, раннее завершение, сравнение по списку IN() и распространение равенства). Затем последовательно рассматриваются такие вещи, как соединение (JOIN) в MySQL, оптимизатор сортировки, коррелированные подзапросы, слияние и непоследовательный просмотр индексов, функции SELECT & UPDATE, COUNT(). После этого рассказывается об оптимизации запросов с помощью JOIN, GROUP BY, DISTINCT и LIMIT со смещением. В конце лекции даётся информация о кэшировании запросов, объединённых таблицах и секционировании.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №5 "Определение узких мест". Лектор - Павел Щербинин.
Вначале рассказывается о подсистемах хранения: MyISAM, InnoDB, Memory, о критериях выбора подсистем хранения, приводятся практические примеры. Затем обсуждается тема индексирования (B-tree, хеш-индексы) и EXPLAIN (столбцы id, table, possible_keys, key, key_len).
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-запросы". Лектор - Павел Щербинин.
Лекция открывается рассказом о том, что такое профилирование запроса, каковы его этапы выполнения в MySQL. Рассказывается о том, как планировать запрос, как осуществляется протоколирование запросов, как собирается статистика. Объясняются основы индексирования, подробно обсуждаются стратегии индексирования для достижения высокой производительности: изоляция столбца, кластерные индексы (преимущества и недостатки), размещение данных в MyISAM и InnoDB, покрывающие индексы. Далее затрагивается тема нормализации и денормализации, а также таблиц счётчиков. В завершении рассказывается о версионировании схемы БД: о методах инкрементных изменений, идемпотентных изменений, уподобления структуры БД исходному коду.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
2. Алгоритмы поиска.
Задача поиска. Поиск – одно из наиболее часто программируемых действий.
Эффективность поиска – важнейший критерий качества структур данных.
Классические задачи поиска: поиск слова в тексте, отыскание данных в БД.
Современные задачи поиска: поиск в сети Интернет, антивирусное
сканирование программного кода, антиспамовская фильтрация почтовых
сообщений, расшифровка молекулярных структур для задач
биологии, генетики, фармацевтики. Многокритериальный семантический поиск:
очистка и анализ данных, оперативно-розыскная деятельность.
Простые алгоритмы поиска.
Линейный поиск. Оценка сложности. Анализ условия продолжения цикла.
Инвариант и завершимость цикла линейного поиска. Вариант с барьерным
элементом. Применение итераторов. Псевдокод.
Двоичный поиск. Дихотомия и дерево поиска. Золотое сечение. Хеширование.
Анализ цикла двоичного поиска. Сложностная оценка. Сравнение с деревом
поиска. Оптимизация цикла путѐм упрощения предусловия. Позднее
обнаружение при использовании барьерного индекса. Доказательство
завершимости цикла с модифицированным предусловием. Устойчивость
модифицированного двоичного поиска. Псевдокод.
3. Поиск в таблице.
Особенности поиска по составному ключу регулярной структуры.
Определение лексикографического порядка строк.
Представление строк переменной длины: использование терминатора или
дескриптора строки. Преимущество терминального способа: возможность
копирования и сравнения строк более быстрым барьерным методом.
Аппаратная реализация строк регулируемой длины.
Двоичный поиск в лексикографически упорядоченной таблице. Псевдокод с
вложенным циклом и финальной проверкой ключа правограничного элемента.
Продвинутый код программы двоичного поиска в таблице на C. Использование
указателей и терминатора для повышения выразительности поискового кода.
Готовые решения двоичного поиска в C(bsearch) и С++ STL (find() и
binary_search()) Пример использования готового решения на C.
4. Поиск по образцу.
Постановка задачи.
Прямой метод поиска. Прямоугольная оценка сложности. (Кнута-Морриса-
Пратта, Бойера-Мура, Карпа-Рабина). Анализ метода с использованием
предикатов частичного совпадения и первовхождения. Псевдокод с пред- и
постусловием. Преобразование предиката частичного совпадения к поиску
несовпадения. Анализ корректности и завершимости модифицированного
псевдокода. Недостатки метода: необходимость возвратов, противоречащих
инерционности движения носителей устройств внешней памяти. Сложностная
оценка. Крэш-тест.
Усовершенствованные методы.
Алгоритм Кнута-Морриса-Пратта. Идея метода: использование при сравнении с
образцом предыдущих результатов неудачного поиска для быстрого
продвижения вперѐд. Достаточность самого образца для увеличения сдвига при
поиске. Пример. Псевдокод КМП-алгоритма. Обоснование вложенного цикла
поиска. Завершимость и корректность. Соображения к вычислению таблицы
сдвигов по конкретному образцу. Примеры.
5. Вычисление сдвига как поиск самой длинной совпадающей
последовательности в самом образце. Идея применения КМП-алгоритма к
вычислению сдвига.
Пример реализации КМП-алгоритма.
Анализ КМП-поиска. Сложностная оценка: периметр против площади.
Алгоритм Бойера-Мура.
Критика КМП-алгоритма. Совпадения реже несовпадений! Смена культуры
письменности. Поиск с конца образца. Существенное упрощение таблицы
сдвигов. Еѐ построение по рабочему алфавиту. Пример.
Модификация поисковых предикатов. Псевдокод БМ-алгоритма.
Доказательство корректности и завершимости цикла. Программная реализация
БМ-алгоритма (правило плохой литеры без правила хорошего суффикса).
Анализ БМ-алгоритма. Сложностные оценки.
Комбинированная стратегия КМП-БМ. Ирония Н. Вирта.
6. Алгоритм Рабина-Карпа.
Идея метода: сведение к числовому поиску. Необходимость длинной
арифметики. Постоянные и линейные оценки для элементов поисковой
арифметики Рабина-Карпа. Аналогии с хэшированием. Сжимающее
отображение на аппаратную арифметику.
Программная реализация для 32- и 64-битной арифметики.
Более сложные реализации усовершенствованных методов.
Использование Z-блоков для поиска образца в строке в алгоритме Кнута-
Мориса-Пратта. Вариант алгоритма Кнута-Мориса-Пратта реального времени.
Множественный поиск образцов в строке. Алгоритм Ахо-Корасик.
Построение связей неудач для дерева ключей. Поиск в строке образца с
метасимволами («джокерами»).
Алгоритм Бойера-Мура. Правило плохой литеры, расширенное правило плохой
литеры. Сильное и слабое правило хорошего суффикса. Предварительная
обработка образца с использованием Z-блоков.
Алгоритм Апостолико-Джанкарло с линейной оценкой времени.
Методы поиска и поисковые системы. Технологии Мэйл.Ру.