Искусственный интеллект. Строки, контекст и волны на Паскале
Сергей Соболенко
Эта книга подарит путешествие в увлекательный мир строковых данных, открывающий новые возможности для исследования искусственного интеллекта. В ней вы найдете множество примеров и иллюстраций, а кроме того, идей, до этого момента неопубликованных. Она будет полезна и интересна как новичку в теме программирования, так и искушенному читателю, интересующемуся наукой и технологиями.
Искусственный интеллект. Строки, контекст и волны на Паскале
Сергей Соболенко
«Обучение путем подачи хорошего примера часто – самый эффективный, а иногда – и единственно возможный метод.»
Никлаус Вирт, создатель языка Паскаль.
«Меня не интересует создание мощного компьютерного интеллекта. Мне вполне хватило бы самого посредственного – примерно как у президента Американской телефонной и телеграфной компании.»
Приписывается Алану Тьюрингу
© Сергей Соболенко, 2019
ISBN 978-5-4496-3281-4
Создано в интеллектуальной издательской системе Ridero
Предисловие, которое рекомендуется прочитать
Учебные заведения России и мира продолжают обучать программированию на Паскале. И это происходит не из-за лени преподавателей к переизданию методических пособий по информатике. Такое обучение позволяет понять гибкую внутреннюю логику организации программ, ведь Паскаль обладает свойствами универсальности и широкими возможностями, при своей компактности и легкости понимания. С помощью этого языка программирования можно адаптировать, подготовить восприятие школьника или студента для самоорганизации и в других языковых средах.
Поэтому в этой книге автор изложил полезные и практичные аспекты накопленного многолетнего опыта, приемы и методы работы с неформализованными строковыми данными на Паскале; а также сведения о новой технологии, являющейся плодом этих практических изысканий. Модель описанной технологии искусственного интеллекта, в качестве исследовательского проекта также реализуется на этом языке. При этом, значительная часть приведенных алгоритмов и программных процедур публикуется впервые, что придает изданию особую ценность.
Почему эта книга актуальна?
Вся беда в том, что профессиональным приемам подробной, прикладной работы с данными строкового типа занимается очень ограниченное число специалистов. Отсюда вытекает явный недостаток практических пособий по данной тематике,[1 - В данном случае рассматривались десятки русскоязычных учебных пособий, самоучителей, методических рекомендаций и задачников по Паскалю, C++, Java и PHP, изданных за последние 20—25 лет.] и как следствие – неявный прикладной функционал в современных языковых компиляторах.[2 - Хотя современные наборы процедур и функций для работы со строками, например в PHP, Object Pascal и C++ довольно похвальны, (а в Python, – интуитивно удобны и компактны), но на практике очень редки сколько-нибудь интересные алгоритмы, использующие их где-то, кроме баз данных и текстовых процессоров. Мастодонты странного программирования, как Lisp и Prolog автором не рассматривались принципиально, – они напугали его еще в ранней юности.] Также этому есть и другое вполне логичное объяснение. Тема парсинга строковых данных много десятилетий являлась своего рода табу, дурным тоном программирования. Традиционно устоялся стереотип, что строковые переменные – это «рабы интерфейса» и баз данных, а неформализованные сведения – зло, с которым нужно бороться. Результат – налицо: отсутствие приличной школы: как учителей, разработчиков, так и их учеников. Отсутствие предложения за много десятилетий сформировало зеркальное отсутствие спроса. А затем появились и искусственные нейронные сети, которые худо-бедно начали с этими данными работать; но вот разработчикам от этого не стало легче. По существу, искусственные нейросети «подарили» программистам «черный ящик», действия которого бывают необъяснимы.[3 - Разработчик системы на основе ИНС далеко не всегда может отвечать за определенные решения программы и ему также сложно утверждать, не является ли определенный ответ эффектом «п