39
Потоковые данные Наталья Васильева [email protected] HP Labs Russia 4 декабря 2012, Академический университет

Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

Потоковые данные

Наталья Васильева [email protected] HP Labs Russia

4 декабря 2012, Академический университет

Page 2: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

2 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Литература

• Anand Rajaraman, Jeff Ullman. Mining of Massive Datasets. Cambridge University Press, 2011. http://infolab.stanford.edu/~ullman/mmds.html

• Charu Aggarwal, Deepak Turaga. Mining Data Streams: Systems and Algorithms. • Mohamed Medhat Gaber, Arkady Zaslavsky and Shonali Krishnaswamy. Mining Data

Streams: A Review. ACM SIGMOD Record, vol.34 (2), 2005, pp.18 – 26 • Haixun Wang, Jian Pei, Philip S. Yu. Online Mining of Data Streams: Problems,

Applications and Progress. ICDE 2005 tutorial. http://www.cs.sfu.ca/~jpei/publications/seminar4-online-mining.pdf

• Albert Bifet, Geoff Holmes, Richard Kirkby and Bernhard Pfahringer. Data stream mining: a practical approach. http://voxel.dl.sourceforge.net/project/moa-datastream/documentation/StreamMining.pdf

Page 3: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

3 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Что такое потоковые данные?

• Нет полного, целого набора данных

• Есть поток данных: постоянно генерируются новые данные

• Запросы к поисковой системе • Сообщения в twitter • Показания различных датчиков

• Нет возможности хранить все данные

• Нет возможности произвольного доступа к данным

• Concept drift Как выполнить необходимые вычисления над потоковыми

данными, имея в распоряжении ограниченные ресурсы?

Page 4: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

4 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Где встречаются потоковые данные?

Fig. credit: Charu Aggarwal, Deepak Turaga. Mining Data Streams: Systems and Algorithms

Page 5: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

5 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Пример потоковых данных

• Датчик температуры в океане: посылает измерения температуры каждый час

• GPS датчик: посылает измерения уровня воды 10 раз в секунду • 1 измерение = 4 байта => ~3.5 MB в день

• Если таких датчиков миллион? • 1 датчик на ~400 км2 поверхности мирового океана • 3.5 TB в день

Наблюдения за окружающей средой

Page 6: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

6 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Основные задачи обработки и анализа потоковых данных (1)

• Запросы к потоковым данным

• Постоянные запросы (standing queries)

• Посылать уведомление, как только температура океана превысила заданный порог

• Посылать уведомление, когда среднее значение по последним N измерениям превысило порог

• Статистические запросы • Максимум всех измерений за

все время • Среднее значение по всем

измерениям за все время

• Произвольные (ad-hoc) запросы • Число уникальных значений в

потоке

Fig. credit: Anand Rajaraman, Jeff Ullman. Mining of Massive Datasets

A data-stream-management system

Page 7: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

7 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Основные задачи обработки и анализа потоковых данных (2)

• Классические задачи анализа данных • Кластеризация

• Разбить элементы потока на группы похожих • Ограничения: один проход по данным, ограничения по памяти • Сложности: concept drift

• Классификация • Отнести каждый элемент потока к одному (или нескольким) заранее заданным классам • Ограничения: один проход по данным, ограничения по памяти • Сложности: concept drift

• Ассоциативные правила и шаблоны • Число уникальных значений в потоке • Наиболее частотные элементы • Наиболее частотные наборы элементов

Page 8: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

8 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Основные задачи обработки и анализа потоковых данных (3)

• Анализ временных рядов • Извлечение событий, предсказание событий

Event detection • Найти последовательность (шаблон) значений, которые связаны с событием (например,

измерения сейсмологических датчиков, предшествующих землятресению)

• Обнаружение выбросов Outlier (anomaly) detection

• Обнаружение «нетипичных» элементов потока

• Обнаружение смены режима (один из известных режимов, новый режим) Change and novelty detection

• Обнаружение точки смены режима по элементам потока

Page 9: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

9 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

DBMS v.s. DSMS

Database management systems Data-stream management systems

Постоянные отношения, данные Непостоянные данные, постоянные отношения

Единовременные запросы Постоянные запросы

Произвольный доступ к данным Последовательный доступ к данным

Время доступа к данным фиксировано и определяется архитектурой системы

Время доступа к данным не зависит от системы (частота поступления данных часто заранее не известна)

Page 10: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

10 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Подходы к решению задач обработки и анализа потоков данных

• Data-based: предполагают построение репрезентативной выборки значений потока, которая помещается в память, и выполнение алгоритмов обработки и анализа над этой выборкой (анализируем часть потока вместо всего потока)

• Summarization (аннотирование потока): sampling, load shedding, sketching • Choosing a subset (выбор подмножества данных): synopsis data structures, aggregation

• Task-based: алгоритмы, созданные специально для решения определенной задачи.

• Неточные алгоритмы (приблизительные решения) • Использование скользящего окна

Page 11: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

11 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Кластериазция

X1

X2

X3

Выбросы (outliers) Сгруппировать элементы в кластеры: • элементы из одного кластера

«близки» друг к другу относительно выбранной метрики

• элементы из разных кластеров «далеки» друг от друга

• нет предопределенных классов

• большинство алгоритмов требуют в качестве входного параметра число кластеров

Page 12: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

12 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Основная идея Метод k-средних

R

G

R

G

Каждая точка должна быть как можно ближе к центру своего кластера:

min

Slide credit: http://www.cs.washington.edu/education/courses/cse576/08sp/lectures/segment.pdf

Page 13: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

13 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Алгоритм Метод k-средних (k-means)

1. Выбрать k

2. Инициализировать k центров (например, случайным образом)

3. Распределить точки по кластерам: каждую точку присвоить к кластеру с ближайшим к точке центром

4. Переместить центры, чтобы они дейтсвительно были центрами получившихся кластеров

5. Если хотя бы один центр поменялся на шаге 4, перейти к шагу 3

Java демо: http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/AppletKM.html

Slide credit: http://www.cs.washington.edu/education/courses/cse576/08sp/lectures/segment.pdf

Page 14: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

14 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

0

1

2

3

4

5

0 1 2 3 4 5

Distance Metric: Euclidean Distance

k1

k2

k3

Метод k-средних: шаг 1

Slide credit: Lihi Zelnik-Manor

Page 15: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

15 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

0

1

2

3

4

5

0 1 2 3 4 5

k1

k2

k3

Distance Metric: Euclidean Distance

Метод k-средних: шаг 2

Slide credit: Lihi Zelnik-Manor

Page 16: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

16 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

0

1

2

3

4

5

0 1 2 3 4 5

k1

k2

k3

Distance Metric: Euclidean Distance

Метод k-средних: шаг 3

Slide credit: Lihi Zelnik-Manor

Page 17: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

17 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

0

1

2

3

4

5

0 1 2 3 4 5

k1

k2

k3

Distance Metric: Euclidean Distance

Метод k-средних: шаг 4

Slide credit: Lihi Zelnik-Manor

Page 18: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

18 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

0

1

2

3

4

5

0 1 2 3 4 5

expression in condition 1

expr

essi

on in

con

ditio

n 2

Distance Metric: Euclidean Distance

Метод k-средних: шаг 5

k1

k2 k3

Slide credit: Lihi Zelnik-Manor

Page 19: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

19 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

k-Means: достоинства и недостатки

• Достоинства • Простота

• Недостатки • Converges to a local minimum of the error function (решение: K-means++) • Memory-intensive • Need to pick K • Sensitive to initialization • Sensitive to outliers • Only finds “spherical”

clusters

Page 20: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

20 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

k-means, k-medians, k-medoids

• k-means: центроид = mean d : квадрат L2

• k-medians: центроид = медиана (по каждому из измерений)

d: L1

• k-medoids: цетроид = элемент множества N d: L1

Задача k-medians: Есть множество N из n объектов в метрическом пространстве M с функцией расстояния d. Требуется найти k точек с1, с2, ... ck є N, таких что

,min),(1∑∑= ∈

→k

i Nxi

i

cxd )},(),(:|{ xcdxcdjNxN iji ≥∀∈=

Page 21: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

21 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Решение задачи k-medians для потоков

[O’Callaghan et al., 02]

Рассмотрим поток данных, как поток блоков X1, X2,…, Xn, таких что каждый блок можно кластеризовать в оперативной памяти

… a b c a b a c n u q w e r t y u i o p a s d f g h j k l z x c v b n m …

1. Решить задачу k-medians для каждого блока Xi

2. X’ – ik центров кластеров, полученных при кластеризации блоков 1…i. Каждому центру сопоставить вес, равный числу точек в соответствующем кластере.

3. Решить задачу k-medians для X’

Нужен простой, быстрый алгоритм поиска k-medians с постоянным фактором приближения

Page 22: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

22 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Решение задачи k-medians для потоков

Алгоритм LSEARCH

1. Получить начальное приближение решения

2. Если число кластеров, полученных на первом шаге, сильно отличается от требуемого (k), изменить параметр f

3. Если число кластеров близко к k, улучшить начальное приближение при помощи локальных изменений

∑∑= ∈

+=||

1),(||),(

C

i Nxi

i

csdCfCNFC

В качестве стоимости использует facility cost:

Page 23: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

23 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Получение начального приближения

Алгоритм InitialSolution(data set N, facility cost f)

1. Перемешать точки из N случайным образом

2. Инициализировать центр кластера первой точкой из N

3. Для каждой последующей точки из N: • Пусть d – расстояние от текущей точки до ближайшего центра • С вероятностью d/f создать новый центр кластера в текущей точке,

иначе добавить точку в кластер с ближайшим к ней центром

Фактор приближения к оптимальному решению = 8 (8-approximation to optimum)

Page 24: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

24 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Локальные уточнения

Алгоритм FL (data set N, facility cost f, ε, d(.,.), (F, g))

1. Принять (F, g) за текущее решение

2. Пусть С – стоимость текущего решения.

3. Для каждого из случайно выбранных новых центров оцениваем выигрыш от «открытия» нового центра, генерируем новое решение (F’, g’).

4. Пусть С’ – стоимость нового решения; Если С’<= (1- ε)C, то вернутся к шагу 2, иначе вернуть решение (F’, g’)

Page 25: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

25 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Алгоритм LSEARCH: детали

Page 26: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

26 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Кластеризация в скользящем окне

• В некоторых приложениях старые данные считаются неактуальными, и желательно, чтобы они не влияли на структуру кластеров

• Можно производить кластеризацию только последних n наблюдений

• Как можно «забыть» старые данные? • «Старение» данных: элементам данных можно сопоставить веса,

которые будут уменьшаться с течением времени • Можно работать со скользящим окном: в каждый момент времени

анализируем только последние n элементов

Page 27: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

27 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Кластеризация в скользящем окне Основная идея одного из подходов

Fig. credit: Haixun Wang, Jian Pei, Philip S. Yu. ICDE 2005 tutorial

• Разделить поток на участки • Для каждого участка хранить статистику (число элементов, среднее,

дисперсия) или производить кластеризацию локально для каждого участка

• Выводить статистику для всего потока, кластеры на основе локальной статистики и кластеров отдельных участков

• Старые участки со временем забываются

Page 28: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

28 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Классификация

Обучающее множество: объекты и метки класса

Модель классификатора

Обучение классификатора: сопоставление особенностей

объектам меткам классов

Обучение

Тестирование

Тестовое изображение

Сопоставление тестового объекта модели классификатора

Предсказанные классификатором классы: – open outdoor

Page 29: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

29 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Классификация потоковых данных Почему классифицировать потоковые данные сложно?

• Большой объем данных • Обучаться на всех данных единовременно невозможно

(последовательный доступ к данным) • Ограничения на доступный объем памяти на один пример

• Concept drift • Ранее обученные модели не отражают закономерности в новых данных

• Стоимость обучения • Переобучение модели может быть слишком дорого • Есть ограниченное время на обработку нового элемента данных

• Be ready to predict at any point

Page 30: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

30 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Цикл классификатора

1. Алгоритму классификации передается следующий элемент из потока

2. Алгоритм обрабатывает текущий элемент, обновляет модель классификатора. При этом алгоритм должен удовлетворять требованиям по памяти и времени на обработку одного элемента.

3. Алгоритм готов к обработке следующего примера. По требованию алгоритм готов выдать обученную модель классификации и начать предсказывать класс для нового элемента.

Page 31: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

31 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Классификация потоковых данных

Основные подходы

Wrapper approaches: переиспользуют существующие алгоритмы классификации, разработанные для обычных (не потоковых) данных. Обычно поток разделяется на участки, модель классификатора обучается на данных из одного участка. Далее модели, обученные на разных участках как-то комбинируются.

Adaptation approaches: новые или адаптация существующих методов специально для работы с потоками.

Page 32: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

32 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Адаптируемость различных классов алгоритмов

• Decision trees: хорошо адаптируются, в литературе много примеров

• Decision rules: более гибкие, по сравнению с деревьями решений. Проще изменять структуру классификатора. Тоже могут быть адаптированы, но примеров в литературе меньше.

• Lazy/nearest neighbor: распространенный подход к адаптации – группировка примеров в обучающем множестве, чтобы уменьшить объем данных, который классификатор должен хранить. Для ускорения поиска ближайшего соседа используются различные структуры.

• SVM: ограничение числа опорных векторов, методы для последовательного обучения

• Bayesian methods: легко адаптируются, так как естественным образом можно обучать последовательно, требования по памяти небольшие

Page 33: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

33 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Дерево решений: стандартный алгоритм

Выбираем очередной атрибут , помещаем его в корень. Для всех его значений : • Оставляем из тестовых примеров только те, у которых значение атрибута равно • Рекурсивно строим дерево в этом потомке Как выбрать атрибут? C4.5 использует в качестве критерия прирост информации (information gain)

Page 34: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

34 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Дерево решений: пример

Page 35: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

35 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Деревья решений для потоков

Slide credit: Haixun Wang, Jian Pei, Philip S. Yu. ICDE 2005 tutorial

Page 36: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

36 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Very Fast Decision Tree (VFDT)

Page 37: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

37 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Ансамбль классификаторов

• Выделяем участки потока

• Обучаем классификатор для каждого участка

• Вес классификатора зависит от его точность на текущем тестовом множестве

• Оставляем только K лучших классификаторов

Page 38: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

38 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Обнаружение аномалий в потоковых данных, смена режима

• Статистические методы • Спектральный анализ

60

65

70

75

80

0 500 1000 1500 2000 2500 3000

F2_APR_20th

Page 39: Presentation title goes heremit.spbau.ru/files/datamining1204.pdfАлгоритм InitialSolution(data set N, facility cost f) 1. Перемешать точки из N случайным

39 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Заключение

Основные требования к алгоритмам анализа потоковых данных: • Ограничения по памяти • Ограничения по времени обработки одного элемента • Последовательный доступ

Подходы к решению задач: • Data-based подходы • Task-based подходы