Slide 1

Slide 1 text

Программирование и искусство — две стороны одного мозга? Дмитрий Сошников

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Нижний колонтитул 4

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

Красота кода def koch_curve(n,x): if n==0: turtle.forward(x) else: koch_curve(n-1,x/3) turtle.left(60) koch_curve(n-1,x/3) turtle.right(120) koch_curve(n-1,x/3) turtle.left(60) koch_curve(n-1,x/3)

Slide 7

Slide 7 text

Processing

Slide 8

Slide 8 text

Нижний колонтитул 8

Slide 9

Slide 9 text

let t = d = 0; let speed = 9; setup = _ => { createCanvas(800, 600); fill(0); } draw = _ => { applyMatrix(1, 0, 0, -1, 0, 500); clear(); frameCount % speed == 0 && d < 13 && d++; recursive_tree(d); } recursive_tree = (t) => t ? (rect(355, 0, (b = 88), b), applyMatrix((l = 0.5), l, -l, l, 2 * b, -b), applyMatrix(0, -1, recursive_tree(t - 1), 0, 5 * b, 4 * b), applyMatrix(1, recursive_tree(t - 1), -1, 1, b, -6 * b), 1) : 1;

Slide 10

Slide 10 text

Нижний колонтитул 10

Slide 11

Slide 11 text

Нижний колонтитул “ ”

Slide 12

Slide 12 text

Нижний колонтитул 12

Slide 13

Slide 13 text

13

Slide 14

Slide 14 text

“ ”

Slide 15

Slide 15 text

Как бороться со сложностью? ර 𝑠 𝐵 𝑑𝑠 = 0

Slide 16

Slide 16 text

Эволюционная кибернетика

Slide 17

Slide 17 text

Хаос Порядок

Slide 18

Slide 18 text

Магия программирования def koch_curve(n,x): if n==0: turtle.forward(x) else: koch_curve(n-1,x/3) turtle.left(60) koch_curve(n-1,x/3) turtle.right(120) koch_curve(n-1,x/3) turtle.left(60) koch_curve(n-1,x/3)

Slide 19

Slide 19 text

Неограниченные возможности

Slide 20

Slide 20 text

“ ”

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

Где остановиться? public class GenericEntityFactory : PersistableEntityFactory { public override IPersistableEntity CreateEntity(Type entityType, Guid id) { // Reflection used unnecessarily to create complexity ConstructorInfo constructor = entityType.GetConstructor(new Type[] typeof(Guid), typeof(string) }); if (constructor != null) { return (IPersistableEntity)constructor.Invoke( new object[] { id, MetaEntityProvider.GetName(id); }); } throw new InvalidOperationException( "Cannot create entity of type " + entityType.Name); } }

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

История одного разработчика… • • Cowan, Nelson. "The magical number 4 in short- term memory: A reconsideration of mental storage capacity." Behavioral and brain sciences 24.1 (2001): 87-114. Miller, George A. "The magical number seven, plus or minus two: Some limits on our capacity for processing information." Psychological review 63.2 (1956): 81.

Slide 27

Slide 27 text

Находим баланс с помощью красоты… • • • •

Slide 28

Slide 28 text

Дивергентно-конвергентная природа творчества

Slide 29

Slide 29 text

Проверимся? Придумайте 10 необычных и разнообразных способов использовать куриные яйца не по назначению (не в пищу)

Slide 30

Slide 30 text

1. Естественный удобритель – раздробленные скорлупы яиц можно использовать в качестве кальциевого удобрения для садовых растений. 2. Основа для декора – чистые скорлупы яиц можно окрашивать, лакировать и использовать для создания мелких декоративных элементов, например, ваз для миниатюрных цветов или небольших пасхальных поделок. 3. Чистящее средство – измельченная скорлупа, смешанная с немного воды, хорошо подходит для чистки труднодоступных мест или предметов с шероховатой поверхностью, например, грязной посуды. 4. Средство от вредителей – рассыпанная вокруг растений измельченная скорлупа яиц может отпугивать некоторых вредителей, таких как слизни и улитки. 5. Наполнитель для подушек – тонко измельченная скорлупа яиц может быть использована как один из компонентов наполнителя для декоративных подушек. 6. Компонент для изготовления мозаики – использование фрагментов скорлупы в качестве мозаичных камней при создании картин или украшений. 7. Основа для миниатюрных садов – половинки скорлупы можно использовать как контейнеры для выращивания мелких растений или трав. 8. Плавающие свечи – половинки чистых скорлуп можно заполнить воском и фитилем, создав оригинальные плавающие свечи для украшения водоемов или ванны. 9. Упаковочный материал – измельченная скорлупа может служить защитным буферным материалом при упаковке хрупких предметов. 10. Натуральная косметика – порошок из скорлупы яиц можно использовать в домашних скрабах для лица или тела, благодаря его абразивным свойствам.

Slide 31

Slide 31 text

Дивергентная креативность • • • • •

Slide 32

Slide 32 text

Отличие ГенИИ от человека Фундаментальные ограничения нейросетей Sébastien Bubeck, Varun Chandrasekaran, et.al. Sparks of Artificial General Intelligence: Early experiments with GPT-4 arXiv:2303.12712 [cs.CL] Основная проблема – линейный характер модели предсказания слов, отсутствие возможности размышлять с возвратами, в стиле «генерация и проверка». Как преодолевать эти проблемы? • Многоагентные системы • Совместные действия с человеком

Slide 33

Slide 33 text

Использование ГенИИ ¢

Slide 34

Slide 34 text

34 Суммаризация видео

Slide 35

Slide 35 text

YandexGPT 35 интеграций в продуктах Яндекса

Slide 36

Slide 36 text

Yandex Cloud

Slide 37

Slide 37 text

Поэкспериментируем? 37

Slide 38

Slide 38 text

Поэкспериментируем? 38

Slide 39

Slide 39 text

Первая и вторая символьная система def fact(n): if n == 0: return 1 else: return n * fact(n-1) I. II. • • •

Slide 40

Slide 40 text

Чем стоит гордиться…

Slide 41

Slide 41 text

Кибернетическое бессмертие

Slide 42

Slide 42 text

Спасибо Дмитрий Сошников Доцент, МАИ/НИУ ВШЭ Тех.руководитель AI Lab ШД НИУ ВШЭ [email protected] @shwarsico