Кіріспе

CARINE (Computer Aided Reasoning Engine) – бірінші реттік классикалық логикалық автоматтандырылған теореманы дәлелдеуші. Ол бастапқыда тереңдікке бірінші іздеу алгоритміне негізделген стратегиялардың – кешіктірілген клауза құрылымының (DCC) және атрибуттар тізбегінің (ATS) – жақсарту әсерін зерттеу үшін құрылды. CARINE-нің негізгі іздеу алгоритмі – жартылай сызықтық ажыратылым (SLR), ол итеративті тереңдету арқылы тереңдікке бірінші іздеу (тереңдіктегі итеративті тереңдету (DFID) деп те аталады) негізінде құрылған және THEO сияқты теореманы дәлелдеушілерде қолданылады. SLR жоғары дедуктивтік жылдамдыққа қол жеткізу үшін DCC-ді, ал іздеу кеңістігін қысқарту үшін ATS-ті пайдаланады.

Келесіге сәйкес нысанды құру

Кейінге қалдырылатын шарт құрастыру – бұл теореманы дәлелдеушінің өнімділігін арттыратын, шарттарды құрастыруға жұмсалатын жұмысты ең төменгі деңгейге дейін азайтатын стратегия. Қолданылған тұжырымдамалық ереженің әрбір қорытындысын (шартын) құрастырудың орнына, теореманы дәлелдеуші осы шартты тастауға немесе құрастыруға шешім қабылдағанға дейін оны құрастыру туралы ақпарат уақытша сақталады. Егер теореманы дәлелдеуші шартты сақтауға шешім қабылдаса, ол жадқа сақталады, әйтпесе шартты құрастыруға арналған ақпарат жойылады. Шығарылған шартты құрастыруға болатын ақпаратты сақтау үшін дерлік қосымша процессор операциялары қажет емес. Дегенмен, шартты құрастыру көп уақытты алуы мүмкін. Кейбір теореманы дәлелдеушілер жалпы орындалу уақытының 30-40% құрастыруға және шарттарды жоюға жұмсайды. Кейінге қалдырылатын шарт құрастыру арқылы осы ысырап болған уақытты үнемдеуге болады. Кейінге қалдырылатын шарт құрастыру, әсіресе бірінші реттік шарттар сияқты, қысқа мерзім ішінде көптеген аралық шарттар құрастырылып, жойылған кезде өте пайдалы, себебі мұндай қысқа өмір сүретін шарттарды құрастыруға жұмсалатын операциялар орындалмайды. Кейінге қалдырылатын шарт құрастыру тек қана логикалық шарттармен шешілетін теоремалар үшін тиімді болмауы мүмкін.

ДКК қалай жұмыс істейді?

Түсіндіру ережесі қолданылған сайын, кейбір айнымалыларды терминдермен алмастыру қажет болуы мүмкін (мысалы, x → f(a)) және осылайша алмастыру жиыны қалыптасады. Нәтижедегі клаузаны құрастырып, алмастыру жиынын жоюдың орнына, теореманы дәлелдеуші жай ғана алмастыру жиынын, сондай-ақ басқа да ақпаратты сақтайды, мысалы, қандай клаузалар түсіндіру ережесіне қатысқан және қандай түсіндіру ережесі қолданылған. Содан кейін теореманы дәлелдеуші түсіндіру ережесінің нәтижесіндегі клаузаны құрастырмай, дәлелдеуді жалғастыра береді. Бұл процедура теореманы дәлелдеуші белгілі бір критерийлер мен эвристикалар негізінде, дәлелдеудің соңғы клаузасын (және, мүмкін, жол бойындағы басқа да клаузаларды) құрастыруға немесе бүкіл дәлелдеуді жоюға, яғни сақталған алмастыру жиындарын және олармен бірге сақталған барлық ақпаратты жадтан өшіруге шешім қабылдағанға дейін жалғасады.