Jump to content

Структурная индукция

Структурная индукция — это метод доказательства , который используется в математической логике (например, при доказательстве теоремы Лося ), информатике , теории графов и некоторых других математических областях. Это обобщение математической индукции по натуральным числам , которое может быть дополнительно обобщено на произвольную нётерову индукцию . Структурная рекурсия — это метод рекурсии, имеющий такое же отношение к структурной индукции, как обычная рекурсия имеет отношение к обычной математической индукции .

Структурная индукция используется, чтобы доказать, что некоторое предложение P ( x ) справедливо для всех x некоторой рекурсивно определенной структуры, такой как формулы , списки или деревья . ( обоснованный частичный порядок В структурах определен «подформула» для формул, «подсписок» для списков и «поддерево» для деревьев). Доказательство структурной индукции — это доказательство того, что это предложение справедливо для всех минимальных структур и что если оно справедливо для непосредственных подструктур некоторой структуры S , то оно должно выполняться для S. и (Формально говоря, тогда это удовлетворяет предпосылкам аксиомы хорошо обоснованной индукции , которая утверждает, что этих двух условий достаточно, чтобы предложение выполнялось для всех x .)

Структурно рекурсивная функция использует ту же идею для определения рекурсивной функции: «базовые случаи» обрабатывают каждую минимальную структуру и правило рекурсии. Правильность структурной рекурсии обычно подтверждается структурной индукцией; в особенно простых случаях индуктивный шаг часто не учитывается. Функции length и ++ в приведенном ниже примере являются структурно рекурсивными.

Например, если структуры представляют собой списки, обычно вводится частичный порядок «<», в котором L < M когда список L является хвостом списка M. всякий раз , При таком порядке пустой список [] является уникальным минимальным элементом. Структурное индукционное доказательство некоторого предложения P ( L ) тогда состоит из двух частей: доказательство того, что P ([]) истинно, и доказательство того, что если P ( L ) истинно для некоторого списка L , и если L является хвостом списка list M , то P ( M ) также должно быть истинным.

В конце концов, может существовать более одного базового случая и/или более одного индуктивного случая, в зависимости от того, как была построена функция или структура. В этих случаях структурное индукционное доказательство некоторого предложения P ( L ) состоит из:

  1. доказательство того, что P ( BC ) верно для каждого базового случая BC ,
  2. доказательство того, что если P ( I ) истинно для некоторого экземпляра I и M можно получить из I, применив любое одно рекурсивное правило один раз, то P ( M ) также должно быть истинным.
Древнее древо предков, на котором изображен 31 человек в 5 поколениях.

Дерево предков — это общеизвестная структура данных, показывающая родителей, бабушек и дедушек и т. д. человека, насколько это известно (пример см. на рисунке). Он определяется рекурсивно:

  • в простейшем случае дерево предков показывает только одного человека (если об его родителях ничего не известно);
  • в качестве альтернативы, дерево предков показывает одного человека и, соединенные ветвями, два поддерева предков его родителей (для краткости доказательства используется упрощающее предположение, что если один из них известен, то известны оба).

Например, свойство «Дерево предков, простирающееся на g поколений, показывает не более 2 г − 1 человек» можно доказать методом структурной индукции следующим образом:

  • В простейшем случае дерево показывает только одного человека и, следовательно, одно поколение; свойство справедливо для такого дерева, поскольку 1 ≤ 2 1 − 1 .
  • Альтернативно, на дереве изображены один человек и деревья его родителей. Поскольку каждый из последних является подструктурой всего дерева, можно предположить, что он удовлетворяет доказываемому свойству (так называемому гипотезе индукции ). То есть p ≤ 2 г − 1 и q ≤ 2 час 1 - можно принять , где g и h обозначают количество поколений, в течение которых простираются поддерево отца и матери, соответственно, а p и q обозначают количество людей, которые они показывают.
    • В случае g h все дерево простирается на 1 + h поколений и содержит p + q + 1 человек, и т.е. все дерево удовлетворяет свойству.
    • В случае h g все дерево простирается на 1 + g поколений и показывает p + q + 1 ≤ 2. г + 1 − 1 человек по аналогичным рассуждениям, т.е. все дерево в этом случае также удовлетворяет свойству.

Следовательно, по структурной индукции каждое дерево-предок удовлетворяет этому свойству.

В качестве другого, более формального примера, рассмотрим следующее свойство списков:

Здесь ++ обозначает операцию объединения списков, len() — длину списка, а L и M — списки.

Чтобы доказать это, нам нужны определения длины и операции конкатенации. Пусть ( h : t ) обозначает список, голова которого (первый элемент) — h , а хвост (список оставшихся элементов) — t , и пусть [] обозначает пустой список. Определения длины и операции конкатенации:

Наше предложение P ( l ) состоит в том, что EQ истинно для всех списков M, когда L равно l . Мы хотим показать, что P ( l ) верно для всех списков l . Докажем это структурной индукцией по спискам.

Сначала мы докажем, что P ([]) истинно; то есть EQ верно для всех списков M , когда L оказывается пустым списком [] . Рассмотрим эквалайзер :

Итак, эта часть теоремы доказана; EQ верно для всех M , когда L равно [] , потому что левая и правая части равны.

Далее рассмотрим любой непустой I. список Поскольку I непусто, у него есть главный элемент x и хвостовой список xs , поэтому мы можем выразить его как ( x : xs ) . Гипотеза индукции состоит в том, что EQ верно для всех значений M , когда L равно xs :

Мы хотели бы показать, что если это так, то EQ также верно для всех значений M , когда L = I = ( x : xs ) . Действуем как прежде:

Таким образом, из структурной индукции мы получаем, что ( L ) верно для всех списков L. P

Упорядоченный

[ редактировать ]

Точно так же, как стандартная математическая индукция эквивалентна принципу хорошего порядка , структурная индукция также эквивалентна принципу хорошего порядка. Если множество всех структур определенного вида допускает обоснованный частичный порядок, то каждое непустое подмножество должно иметь минимальный элемент. (Это определение термина « хорошо обоснованный ».) Значение леммы в этом контексте состоит в том, что она позволяет нам сделать вывод, что если существуют какие-либо контрпримеры к теореме, которую мы хотим доказать, то должен существовать минимальный контрпример. Если мы сможем показать, что существование минимального контрпримера влечет за собой еще меньший контрпример, мы получим противоречие (поскольку минимальный контрпример не является минимальным), и поэтому множество контрпримеров должно быть пустым.

В качестве примера аргумента этого типа рассмотрим набор всех двоичных деревьев . Мы покажем, что количество листьев в полном бинарном дереве на один больше, чем количество внутренних узлов. Предположим, существует контрпример; тогда должен существовать такой, у которого минимально возможное число внутренних узлов. Этот контрпример C имеет n внутренних узлов и l листьев, где n + 1 ≠ l . Более того, C должен быть нетривиальным, поскольку тривиальное дерево имеет n = 0 и l = 1 и, следовательно, не является контрпримером. Таким образом, C имеет по крайней мере один лист, родительский узел которого является внутренним узлом. Удалите этот лист и его родителя из дерева, переместив родственный узел листа на позицию, ранее занимаемую его родителем. Это уменьшает и n , и l на 1, поэтому новое дерево также имеет n + 1 ≠ l и, следовательно, является меньшим контрпримером. Но по гипотезе C уже был наименьшим контрпримером; следовательно, предположение о том, что изначально существовали какие-либо контрпримеры, должно было быть ложным. Частичный порядок, подразумеваемый здесь словом «меньший», говорит о том, что S < T всякий раз, когда S имеет меньше узлов, чем T .

См. также

[ редактировать ]
  • Хопкрофт, Джон Э.; Раджив Мотвани; Джеффри Д. Уллман (2001). Введение в теорию автоматов, языки и вычисления (2-е изд.). Чтение мессы: Аддисон-Уэсли. ISBN  978-0-201-44124-6 .
  • «Математическая логика - Видео 01.08 - Обобщенная (структурная) индукция» на YouTube

Ранние публикации о структурной индукции включают:

  • Берстолл, РМ (1969). «Доказательство свойств программ методом структурной индукции». Компьютерный журнал . 12 (1): 41–48. дои : 10.1093/comjnl/12.1.41 .
  • Обен, Раймонд (1976), Механизация структурной индукции , EDI-INF-PHD, vol. 76–002, Эдинбургский университет, hdl : 1842/6649
  • Хют, Г.; Халлот, Дж. М. (1980). «Доказательства по индукции в уравнениях с конструкторами» (PDF) . 21-я Анна. Симп. по основам информатики . IEEE. стр. 96–107.
  • Рожа Петер , Об обобщении теории рекурсивных функций для абстрактных величин с подходящими структурами в качестве областей , Международный симпозиум, Варшава, сентябрь (1959) ( Об обобщении теории рекурсивных функций для абстрактных величин с подходящими структурами в качестве областей ) .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e8ac6c45c059ec72779e2499ff9f6f76__1701592320
URL1:https://arc.ask3.ru/arc/aa/e8/76/e8ac6c45c059ec72779e2499ff9f6f76.html
Заголовок, (Title) документа по адресу, URL1:
Structural induction - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)