Чтение онлайн

на главную - закладки

Жанры

Журнал «Компьютерра» №31 от 30 августа 2005 года
Шрифт:

Тем не менее сыну я купил собрание сочинений Стругацких. Ну и Лема, Булычева, естественно. Их тогдашние книги задают хороший нравственный ориентир, чего не скажешь о современной фантастике. Она довольно подлая - не только потому, что теперь у нее главными являются рыночные ориентиры, но и из-за отсутствия четкого представления о добре и зле в голове авторов. Однако в целом, по-моему, именно сейчас фантастика снова пользуется большой популярностью. Сейчас наступило время, когда идея смены эпох и приближения нового технического века снова стала очень популярной. Начало века. У человечества есть ощущение гигантской перспективы. Искусственный интеллект, информационные технологии, биоинженерия, космический туризм, Марс. Нечто похожее было и в начале ХХ века. Автомобили, самолеты, электричество, радио, пенициллин, успехи физики и медицины. Неуязвимый «Титаник». Буквально взрыв надежд на технически

совершенное будущее. Тогда, правда, дело кончилось не построением совершенного мира, а гибелью «Титаника», двумя мировыми войнами, атомной бомбежкой и газовыми камерами. Поэтому теперь фантастика рисует уже не такой безоблачный мир, достаточно почитать киберпанк Гибсона. Следующий скачок был в 60-х (помните обожание физиков и презрение к лирикам?). Он и дал энергию взрыву популярности фантастики 60-70-х.

Начав читать фантастику в1970-х, я в самом деле вскоре окунулся в этот фантастический мир и так из него и не вылез. Окончив мехмат МГУ, в 1983 году я начал работать в Вычислительном центре Академии наук, в Отделе искусственного интеллекта. ВЦ АН СССР чем-то напоминал НИИ ЧАВО. У сотрудников был довольно свободный график, каждый мог заниматься тем, что ему по душе (продолжая аналогию - своим видом магии). В нашем отделе бились над пониманием текста, в соседнем - занимались распознаванием речи, через дверь - распознаванием лица, за углом писали «Тетрис», на следующем этаже рассчитывали ядерную зиму и так далее. Бурлила смесь программистов, психологов, лингвистов… Моя трудовая книжка так и лежит в ВЦ РАН уже 22 года, а в своей фирме я занимаюсь поисковыми машинами, говорящими роботами, автоматическим извлечением смысла из текстов - предметами реквизита фантастической литературы. Прошлым летом мы с моим двенадцатилетним сыном Стасом смотрели фильм «Я, робот» по Айзеку Азимову, и я сказал ему: а ведь из всех сидящих в этом зале только мы с тобой разрабатываем вот таких говорящих роботов (сын тоже поучаствовал в разработке модулей диалогов), так что смотри фильм с профессиональной гордостью.

Ренат Юсупов, старший вице-президент компании Kraftway

Те, кто сегодня занимается новейшими технологиями - в науке или в бизнесе, - не могли не увлекаться фантастикой двадцать-тридцать лет назад, потому что в те годы это были вещи, связанные неразрывно. Можно сколько угодно ругать советскую фантастику, поставленную тогда, как и все искусство, на службу режиму, но у нее было три безусловных достоинства. Содержательность - слово «научная» обязывало; занимательность - научная фантастика выгодно отличалась от прочей литературы оригинальностью, смелостью мысли; и качество - за счет общей высокой издательской культуры. В 70-80-е годы вся фантастика была научной без разделения на жанры и несла в себе немалую познавательную составляющую.

Современная же фантастика перестала быть научной. Это объективный факт, поскольку наука настолько далеко ушла вперед, что авторам стало трудно придумывать и предсказывать технологии будущего. Реальность во многих случаях выглядит гораздо фантастичнее.

Сегодня практически не осталось ученых, охватывающих своей эрудицией все пиковые направления науки, - что уж говорить о писателях-фантастах. Ни широкой эрудиции, ни желания копаться в научных деталях у нынешних авторов не видно (в России - пожалуй. А вот австралиец Грег Иган [Greg Egan] вполне отвечает этим критериям.
– Л.Л.-М.). Да и законы современного бизнеса требуют скоростного конвейера по выпуску книг, а это возможно только с абсолютно оторванными от реальностей науки, придуманными мирами. С трудом удается найти двух-трех авторов, которые хоть относительно следуют законам жанра и кропотливо пытаются писать настоящую научную фантастику. Перечислю их, поскольку они вызывают у меня уважение. Из молодых - только Татьяна Семенова. Из среднего поколения - с некоторыми оговорками - Александр Громов, Михаил Тырин, Станислав Гимадеев, Владимир Ильин. Из тех, кто еще старше, - Павел Амнуэль, живущий ныне в Израиле, и, возможно, Геннадий Прашкевич. Остальные фантасты обретают популярность у молодежи за счет лихих, но примитивных сюжетов, обилия сленга, грубости и кровавых сцен - независимо от того, фэнтези это или космический боевик.

Пытаясь хоть немного воздействовать на текущую ситуацию с настоящей научной фантастикой, я поддерживаю авторов, работающих в этом жанре. Издаю НФ-книги, принимаю участие в писательской премии «Бронзовый Икар», присуждаемой за настоящую НФ, пишу научно-популярные статьи по физике для научно-фантастических книг Татьяны Семеновой, которые она, творчески перерабатывая, вставляет в текст. Возможно, эта деятельность и даст свои плоды, поскольку

всем ИТ-бизнесменам известно: качественный контент и смелая идея - основа любого успешного проекта. Несмотря на то что традиционная печатная книга медленно умирает, на смену ей приходят электронные книги (допустим, на гибкой электронной бумаге), аудиокниги, возможно, появится что-нибудь еще. Печатное слово с увлекательным и познавательным содержанием в жанре настоящей НФ вполне может возродиться как новая форма получения знаний.

АНАЛИЗЫ: Теория и практика сложности

Компьютеры становятся все быстрее, объемы памяти - все больше. Можно подумать, что уже не столь важно, какие алгоритмы применять, - современный компьютер может все. Однако алгоритм для решения какой-нибудь нехитрой задачки на триста-пятьсот переменных грубой силой (brute force - вполне официальный термин в computer science) может потребовать порядка 2300 шагов - больше, чем во Вселенной элементарных частиц…

Этой проблемой занимается теория сложности: пытается придумать алгоритмы, которые бы работали быстро, а затем доказать, что они быстро работают. Или, на худой конец, доказать, что таких алгоритмов придумать нельзя.

Но как связаны теория и практика? Насколько то, чем занимаются гуру теоретической информатики, применимо к живым, практически полезным вычислениям? Или практическая польза была целиком извлечена во времена Эдсгера Дейкстры (Edsger Dijkstra), а современная теория сложности - лишь теоретическая забава, занимающая умы математиков, применения которой неясны и отдаленны (таковыми сейчас являются или по крайней мере кажутся многие области математики)? Попробуем разобраться…

Немного теории

Теория сложности (complexity theory) - это раздел теоретической информатики, связанный с оценками сложности работы алгоритмов. Сложность - понятие многогранное: здесь и время работы, и память, которая требуется алгоритму, и возможность его распараллеливания на несколько «процессоров»… Кстати, процессоры в теории сложности, как правило, моделируются машинами Тьюринга[Алан Тьюринг, один из отцов-основателей современной computer science, заложил основы теории сложности в середине 30-х годах прошлого века, когда из компьютеров (то есть «устройств для счета») доступны были абаки, арифмометры да не доведенная до «железа» машина Бэббиджа. Возможно, без его основополагающих работ никаких компьютеров бы и не появилось] - системами из бесконечной ленты и одной пишущей и читающей головки, безо всякого произвольного доступа; оказывается, в такое прокрустово ложе можно уместить все разнообразие компьютерных архитектур… но это уже тема для отдельного обстоятельного разговора.

Что же это такое - сложность алгоритма (в рамках статьи речь пойдет лишь о временно,й сложности [time complexity] классических детерминированных алгоритмов, а о сложности по объему требуемой памяти, вероятностных алгоритмах, протоколах для бесед вездесущих Боба и Алисы, параллельных и квантовых вычислениях мы, возможно, расскажем в следующих сериях)? Интуитивно это понятие довольно простое. У алгоритма есть вход (input) - описание задачи, которую нужно решить. На ее решение алгоритм тратит какое-то время (то есть количество операций). Сложность - это функция от длины входа, значение которой равно максимальному (по всевозможным входам данной длины) количеству операций, требуемых алгоритму для получения ответа.

Пример. Пусть дана последовательность из нулей и единиц, и нам нужно выяснить, есть ли там хоть одна единица. Алгоритм будет последовательно проверять, нет ли единицы в текущем бите, а затем двигаться дальше, пока вход не кончится. Поскольку единица действительно может быть только одна, для получения точного ответа на этот вопрос в худшем случае придется проверить все n символов входа. В результате получаем сложность порядка cn, где c - количество шагов, потребное для проверки текущего символа и перехода к следующему. Поскольку такого рода константы сильно зависят от конкретной реализации, математического смысла они не имеют, и их обычно прячут за символом O: в данном случае специалист по теории сложности сказал бы, что алгоритм имеет сложность O(n); иными словами, он линейный. Говорят, что алгоритм полиномиальный, если его сложность оценивается сверху некоторым многочленом p(n); алгоритм экспоненциальный, если его сложность имеет порядок 2cn. В реальных, тем более промышленных, задачах редко используются алгоритмы со сложностью больше экспоненты: уже экспоненциальная сложность стала во многих (но не во всех, как мы увидим ниже) случаях синонимом практической неразрешимости и ужасной немасштабируемости. В этой статье мы более никакими теоретико-сложностными концепциями, кроме полиномиального и экспоненциального алгоритма, пользоваться не будем.

Поделиться:
Популярные книги

На границе империй. Том 8. Часть 2

INDIGO
13. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 8. Часть 2

Вторая жизнь Арсения Коренева книга третья

Марченко Геннадий Борисович
3. Вторая жизнь Арсения Коренева
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вторая жизнь Арсения Коренева книга третья

Сумеречный стрелок 9

Карелин Сергей Витальевич
9. Сумеречный стрелок
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Сумеречный стрелок 9

Ротмистр Гордеев 3

Дашко Дмитрий
3. Ротмистр Гордеев
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Ротмистр Гордеев 3

Ваше Сиятельство 3

Моури Эрли
3. Ваше Сиятельство
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Ваше Сиятельство 3

Вдова на выданье

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Вдова на выданье

Последняя Арена 2

Греков Сергей
2. Последняя Арена
Фантастика:
рпг
постапокалипсис
6.00
рейтинг книги
Последняя Арена 2

Жребий некроманта 3

Решетов Евгений Валерьевич
3. Жребий некроманта
Фантастика:
боевая фантастика
5.56
рейтинг книги
Жребий некроманта 3

Товарищ "Чума" 3

lanpirot
3. Товарищ "Чума"
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Товарищ Чума 3

Измена. Вторая жена мужа

Караева Алсу
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Вторая жена мужа

Ох уж этот Мин Джин Хо 4

Кронос Александр
4. Мин Джин Хо
Фантастика:
попаданцы
дорама
5.00
рейтинг книги
Ох уж этот Мин Джин Хо 4

Маверик

Астахов Евгений Евгеньевич
4. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Маверик

Печать Пожирателя

Соломенный Илья
1. Пожиратель
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Печать Пожирателя

Возвышение Меркурия. Книга 13

Кронос Александр
13. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 13