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