Кіріспе

Индуктивті логикалық бағдарламалау (ILP) – мысалдарды, негізгі білімдерді және гипотезаларды бірыңғай түрде бейнелеу үшін логикалық бағдарламалауды пайдаланатын символдық жасанды интеллектінің саласы. Мұндағы "индуктивті" термині математикалық (яғни, жақсы реттелген жиынның барлық мүшелері үшін қасиетті дәлелдеу) емес, философиялық индукцияға (яғни, байқалған фактілерді түсіндіруге бағытталған теорияны ұсынуға) жатады. Егер негізгі білімдер кодталған және мысалдар фактілердің логикалық деректер базасы түрінде берілген болса, ILP жүйесі барлық оң мысалдарды қамтитын және ешқандай теріс мысалдарды қамтимайтын гипотезалық логикалық бағдарламаны тудырады. Схема: оң мысалдар + теріс мысалдар + негізгі білімдер ⇒ гипотеза. Индуктивті логикалық бағдарламалау биоинформатика және табиғи тілді өңдеу салаларында ерекше пайдалы.

Тарих

Индуктивті тұжырымдама бойынша бұрынғы жұмыстарға сүйене отырып, Гордон Плоткин 1970 жылдар шамасында индукцияны тұжырымдамалық жағдайда формальдастырған алғашқы ғалым болды, мысалдардан жалпылауға негізделген тәсілді қабылдады. 1981 жылы Эхуд Шапиро модельдік тұжырымдаманың жаңа тәсілін ұсынды, ол берілген мысалдардың толық аксиоматизациясын іздеу үшін жақсарту және кері ізденуді қолданатын алгоритм арқылы саланың дамуына ықпал етті. Оның алғашқы іске асырылуы 1981 жылы жасалған Модельдік тұжырымдама жүйесі болды: оң және теріс мысалдардан Хорн сөйлемдерінің логикалық бағдарламаларын индуктивті түрде шығаратын Prolog бағдарламасы. 1990 жылдардың басында көп әсер еткен бірнеше индуктивті логикалық бағдарламалау жүйелері пайда болды. 1990 жылы Росс Квинлан ұсынған FOIL, AQ және ID3 ұсыныстық оқыту алгоритмдерін жаңартуға негізделген. 1990 жылы Мугглтон мен Фенг ұсынған Golem, Плоткиннің ең аз жалпылау алгоритмінің шектеулі түріне қайта оралды. 1995 жылы Мугглтон ұсынған Progol жүйесі алғаш рет кері тұжырымдаманы іске асырды және көптеген келешек жүйелерге әсер етті. 2001 жылы Ашвин Шринивасан ұсынған Progol-дың мұрагері Алеф, 2022 жылға дейін ең көп қолданылатын жүйелердің бірі болып табылады. Алғашқы жұмыстардағы автоматты бағдарламалауға бағытталғаннан айырмашылығы, бұл салалар индуктивті логикалық бағдарламалау әдістерін реляциялық деректерді өндіру тұрғысынан пайдаланды. Бұл бастапқы қолданбалардың табысы және дәстүрлі логикалық бағдарламаларды қалпына келтірудегі жетіспеушіліктер осы саланың бағытын анықтады. Соңғы уақытта автоматтандырылған бағдарламалаудың классикалық міндеттері қайта назарға алынуда, себебі мета-түсіндіру оқытудың енгізілуі предикаттарды табу және рекурсивті бағдарламаларды оқытуды ықтимал етеді. Бұл техниканы 2014 жылы Мугглтон, Дианхуан Лин, Нильс Пахлави және Алиреза Тамаддони Нежад ұсынған Metagol жүйесімен дамытуға болады. Бұл ILP жүйелеріне аз мысалдармен жұмыс істеуге мүмкіндік береді және жолдарды түрлендіру бағдарламаларын, жауаптар жиынтығының грамматикасын және жалпы алгоритмдерді оқытуда сәттіліктерге қол жеткізді.

Орнату

Индуктивті логикалық бағдарламалау бірнеше түрлі оқыту орталарын қабылдады, олардың ең көп таралғаны – кіріктіру арқылы оқыту және интерпретация арқылы оқыту. Екі жағдайда да, кіріс деректер негізгі білім B, логикалық теория (көбінесе логикалық бағдарламалауда қолданылатын клаузалар түрінде), сондай-ақ оң және теріс мысалдар түрінде ұсынылады, олар тиісінше және белгіленеді. Нәтиже H гипотезасы түрінде беріледі, ол әдетте бір немесе бірнеше клаузадан тұратын логикалық теория болып табылады. Екі ортаның айырмашылығы ұсынылған мысалдардың форматында.

Қатысудан үйрену

2022 жылға қарай, индуктивті логикалық бағдарламалауда қынап арқылы оқыту ең көп таралған тәсіл болып табылады. Толықтық талабы бойынша, жасалған кез келген гипотеза h барлық оң мысалдарды түсіндіруі керек, ал дұрыс болу талабы B негізгі білімдері ескеріле отырып, теріс мысалдармен қайшы келетін кез келген гипотеза h жасауға тыйым салады. Магглтонның ұғымды оқыту аясында "толықтық" "жеткіліктілік" деп, ал "дұрыс болу" "күшті дұрыс болу" деп аталады. Тағы екі шарт қосылады: "Қажеттілік", ол B қынап етпейді, h-қа шектеу қоймайды, бірақ оң фактілер осы гипотезасыз түсіндірілсе, гипотеза жасауға тыйым салады. "Әлсіз дұрыс болу", ол қынаптан қайшылық туындамауын талап етеді, B негізгі білімдерімен қайшы келетін кез келген гипотеза h жасауға тыйым салады. Әлсіз дұрыс болу күшті дұрыс болудан туындайды; егер теріс мысалдар берілмесе, екі талап та сәйкес келеді. Әлсіз дұрыс болу, әсіресе шулы деректерде маңызды, онда толықтық пен күшті дұрыс болуға кепілдік беру мүмкін емес. Қолданылатын техникаларға анти-біріктіруге негізделген ең аз жалпылау және кері шешімге негізделген кері шешім кіреді.

Ең аз жалпылау

Ең аз жалпылау алгоритмі кіріс ретінде екі клаузаны – және – қабылдайды және олардың ең аз жалпылауын шығарады, яғни, және клаузаларын қамтитын, сондай-ақ және клаузаларын қамтитын кез келген басқа клаузамен қамтылатын клаузаны. Ең аз жалпылауды ең алдымен және клаузаларынан барлық таңдауларды есептеу арқылы табуға болады, олар бірдей предикат символымен және жоққа шығарылған/жоққа шығарылмаған күйімен жұптасқан литералдар болып табылады. Содан кейін ең аз жалпылау жеке таңдаулардың ең аз жалпылауларының дизъюнкциясы ретінде алынады, оларды бірінші реттік синтаксистік анти-біріктіру арқылы алуға болады. Түйіндемелік білімді ескеру үшін индуктивтік логикалық бағдарламалау жүйелері салыстырмалы ең аз жалпылауларды қолданады, олар негізгі теорияға қатысты бағыныштылық тұрғысынан анықталады. Жалпы, мұндай салыстырмалы ең аз жалпылаулардың болуы кепілденбесе де, егер B негізгі теориясы негізгі литералдардың шекті жиыны болса, онда B-нің жоқтығы өзі клауза болып табылады. Бұл жағдайда, салыстырмалы ең аз жалпылауды B-нің жоқтығын және екеуімен де дизъюнкциялау арқылы, содан кейін олардың ең аз жалпылауын бұрынғыдай есептеу арқылы табуға болады. Салыстырмалы ең аз жалпылаулар төменнен жоғары жүйе Golem-нің негізін құрайды. Кері шешілімді алғаш рет Стивен Магглтон және Рэй Бунтин 1988 жылы индуктивтік логикалық бағдарламалау жүйесі Cigol-да қолдану үшін енгізді. Ал Imparo кері салдарлылық принципін қолданып H гипотезасын табады. Дегенмен, анти-салдарлылық операциясы жоғары детерминистік емес болғандықтан, есептеу жағынан қымбатқа түседі. Сондықтан, балама гипотеза іздеуін кері бағыныштылық (анти-бағыныштылық) операциясын қолдану арқылы жүргізуге болады, ол анти-салдарлылыққа қарағанда аз детерминистік. Индуктивтік логикалық бағдарламалау жүйесінің гипотеза іздеу процедурасының толықтығы туралы сұрақтар туындайды. Мысалы, кері салдарлылықты қорытындылау ережесіне негізделген Progol гипотеза іздеу процедурасы Ямамото мысалы бойынша толық емес. Екінші жағынан, Imparo анти-салдарлылық процедурасы және оның кеңейтілген кері бағыныштылық процедурасы бойынша толық.

Метатүсіндірулік оқыту

Гипотезалық графикті тікелей іздеудің орнына, метатүсіндіру немесе метадеңгейлік жүйелер индуктивті логикалық бағдарламалау бағдарламасын метадеңгейлік логикалық бағдарлама ретінде енгізеді, содан кейін оңтайлы гипотезаны алу үшін оны шешеді. Мәселенің сипаттамасын беру үшін Prolog және жауаптар жиынтығы бағдарламалау сияқты формализмдер қолданылады, ал қолданыстағы Prolog жүйелері мен жауаптар жиынтығы шешушілері шектеулерді шешу үшін пайдаланылады. Prolog негізіндегі жүйенің мысалы – Metagol, ол Prolog-тағы мета-интерпретаторға негізделген, ал ASPAL және ILASP жауаптар жиынтығы бағдарламалауда индуктивті логикалық бағдарламалау мәселесін кодтауға негізделген.