Выбрать главу

— Логично. Но как закодировать поведение? Это ведь не число.

— Можно использовать бинарные коды. Да или нет, один или ноль. Планирование: да равно один, нет равно нулю. Сексуальный мотив: да равно один, нет равно нулю. Трофеи: да равно один, нет тоже равно нулю.

— Это займет еще десять-пятнадцать колонок.

Я посчитал в уме. Номер дела занимает десять колонок. Тип преступления и метод тоже. На жертву пятнадцать колонок. География — десять колонок. Дата — восемь колонок. Поведение преступника — пятнадцать колонок. Итого шестьдесят восемь колонок из восьмидесяти.

— Почему, у нас вполне хватит места. Остается еще двенадцать колонок для дополнительных данных.

Дороти продолжала писать в блокноте. Заполнила страницу, перевернула и начала новую.

— Агент Митчелл, вы думали об этом ранее?

— Немного. — конечно же я солгал. На самом деле я знал принципы баз данных из двадцать первого века. Просто адаптировал их к технологиям тысяча девятьсот семьдесят второго года.

Дороти закончила писать и положила карандаш.

— Хорошо. У нас есть структура данных. Теперь нужно написать программу для сортировки и поиска.

— Вы умеете программировать?

— Да. Язык программирования COBOL и Fortran. COBOL используем для бизнес-приложений, Fortran для научных расчетов. — Пауза. — Для вашей задачи подойдет COBOL. Он работает с текстовыми данными и файлами.

— Сколько времени займет написание программы?

Дороти задумалась.

— Программа для ввода данных будет готова за неделю. Программа для поиска по одному параметру еще неделя. Программа для поиска по нескольким параметрам займет две-три недели. Еще неделя на тестирование. — Посчитала пальцами. — Всего шесть-семь недель.

Семь недель из двенадцати, отведенных на пилотный проект. Плюс три месяца на пробивку перфокарт для всех пятидесяти тысяч существующих дел. Мы не уложимся в срок.

— Дороти, а если не вводить все пятьдесят тысяч дел сразу? Начать с выборки?

— Какой выборки?

— Нераскрытые убийства за последние три года. Сколько их примерно?

Дороти встала, подошла к столу у стены и взяла папку с статистикой. Пролистала страницы.

— Нераскрытые убийства с января семидесятого по июнь семьдесят второго… — Водила пальцем по колонкам цифр. — Примерно тысяча двести дел по всей стране.

Тысяча двести дел. По три перфокарты на дело это три тысячи шестьсот карт. Триста карт в час займет двенадцать часов работы перфоратора. Две недели работы одного оператора.

— Две недели на ввод данных вместо трех месяцев. Это реально?

— Да. — Дороти кивнула. — Если мистер Финч одобрит приоритет, могу выделить время. Зарплатные расчеты раз в две недели, остальное время относительно свободно.

Я почувствовал что план начинает складываться.

— Итак. Первый этап это разработать кодовую книгу, две недели. Второй этап: написать программу ввода данных, одна неделя. Третий этап, пробить перфокарты для тысячи двухсот дел, нужно две недели. Затем на четвертом этапе написать программу поиска, займет три недели. Пятый этап это тестирование, одна неделя. — Посчитал. — Всего девять недель. Остается три недели запаса до конца пилотного проекта.

Дороти улыбнулась.

— Амбициозный план. Но возможный, если мистер Финч не будет мешать.

— А он может помешать?

— Зависит от того, насколько вы его убедите. — Дороти взяла блокнот, протянула мне. — Возьмите. Покажите ему структуру данных, объясните преимущества. Мистер Финч скептик, но не дурак. Если увидит логику, то поддержит.

Взял блокнот, пролистал страницы с записями Дороти. Аккуратные таблицы, схемы и примеры кодов.

— Спасибо, Дороти. Вы очень помогли.

— Не за что. — Она посмотрела на часы. — Уже одиннадцать тридцать. У меня обеденный перерыв в полдень. Вам тоже стоит поесть перед встречей с мистером Финчем. Он легче воспринимает новые идеи на полный желудок.

Я засмеялся.

— Хороший совет.

Встал и пожал Дороти руку.

— Увидимся позже. Когда мистер Финч одобрит проект, вернусь, начнем работу над кодовой книгой.

— Жду. — Дороти кивнула. — Удачи с мистером Финчем. Она вам понадобится.

Вышел из компьютерного центра, поднялся по бетонной лестнице обратно на первый этаж. В коридоре агенты спешили на обед, разговаривали и смеялись на ходу. Я прошел мимо, думая о плане.

В голове складывалась полная картина. База данных нераскрытых убийств. Закодированные параметры: жертва, метод, география и поведение преступника. Программа поиска по множественным критериям. Когда приходит новое дело, вводят данные, компьютер сравнивает с базой и за минуты выдает список похожих дел.