На мой взгляд, в русскоязычном секторе интернета тематика формальной верификации освещена недостаточно, и особенно не хватает простых и наглядных примеров. Я приведу такой пример из зарубежного источника, и дополню собственным решением известной задачи о переправе волка, козы
Это обзорная статья, в которой очень поверхностно и не подробно рассказывается о том, что такое формальная верификация программного кода, зачем она нужна и чем она отличается от аудита и тестирования. Формальная верификация — это доказательство с использованием…
На Тостере иногда встречаются вопросы о том, как научиться думать как программист. Год назад я ради развлечения решил написать программу которая решает всем хорошо известную задачку — головоломку о волке, козе и капусте. В англоязычных источниках известную как river crossing puzzle. В этом посте я представлю вам пример мыслительного процесса от задачи к ee алгоритмическому решению. Узнать, что общего у матрицы, конечного автомата, машины Тьюринга, и рекурсии
Математики с давних времён пытались решить задачу о пасущейся козе, привязанной к изгороди. Но до настоящего времени они могли предложить только приблизительные решения. Вот вам простая на первый взгляд задачка. Представьте себе изгородь в форме окружности, с точно известной…