Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Индуктивті логикалық бағдарламалау (ILP) – мысалдарды, негізгі білімдерді және гипотезаларды бірыңғай түрде бейнелеу үшін логикалық бағдарламалауды пайдаланатын символдық жасанды интеллектінің саласы. Мұндағы "индуктивті" термині математикалық (яғни, жақсы реттелген жиынның барлық мүшелері үшін қасиетті дәлелдеу) емес, философиялық индукцияға (яғни, байқалған фактілерді түсіндіруге бағытталған теорияны ұсынуға) жатады. Егер негізгі білімдер кодталған және мысалдар фактілердің логикалық деректер базасы түрінде берілген болса, ILP жүйесі барлық оң мысалдарды қамтитын және ешқандай теріс мысалдарды қамтимайтын гипотезалық логикалық бағдарламаны тудырады. Схема: оң мысалдар + теріс мысалдар + негізгі білімдер ⇒ гипотеза. Индуктивті логикалық бағдарламалау биоинформатика және табиғи тілді өңдеу салаларында ерекше пайдалы.
Inductive logic programming (ILP) is a subfield of symbolic artificial intelligence which uses logic programming as a uniform representation for examples, background knowledge and hypotheses. The term "inductive" here refers to philosophical (i. e. suggesting a theory to explain observed facts) rather than mathematical (i. e. proving a property for all members of a well ordered set) induction. Given an encoding of the known background knowledge and a set of examples represented as a logical database of facts, an ILP system will derive a hypothesised logic program which entails all the positive and none of the negative examples. Schema: positive examples + negative examples + background knowledge ⇒ hypothesis. Inductive logic programming is particularly useful in bioinformatics and natural language processing.
Тарих
Индуктивті тұжырымдама бойынша бұрынғы жұмыстарға сүйене отырып, Гордон Плоткин 1970 жылдар шамасында индукцияны тұжырымдамалық жағдайда формальдастырған алғашқы ғалым болды, мысалдардан жалпылауға негізделген тәсілді қабылдады. 1981 жылы Эхуд Шапиро модельдік тұжырымдаманың жаңа тәсілін ұсынды, ол берілген мысалдардың толық аксиоматизациясын іздеу үшін жақсарту және кері ізденуді қолданатын алгоритм арқылы саланың дамуына ықпал етті. Оның алғашқы іске асырылуы 1981 жылы жасалған Модельдік тұжырымдама жүйесі болды: оң және теріс мысалдардан Хорн сөйлемдерінің логикалық бағдарламаларын индуктивті түрде шығаратын Prolog бағдарламасы. 1990 жылдардың басында көп әсер еткен бірнеше индуктивті логикалық бағдарламалау жүйелері пайда болды. 1990 жылы Росс Квинлан ұсынған FOIL, AQ және ID3 ұсыныстық оқыту алгоритмдерін жаңартуға негізделген. 1990 жылы Мугглтон мен Фенг ұсынған Golem, Плоткиннің ең аз жалпылау алгоритмінің шектеулі түріне қайта оралды. 1995 жылы Мугглтон ұсынған Progol жүйесі алғаш рет кері тұжырымдаманы іске асырды және көптеген келешек жүйелерге әсер етті. 2001 жылы Ашвин Шринивасан ұсынған Progol-дың мұрагері Алеф, 2022 жылға дейін ең көп қолданылатын жүйелердің бірі болып табылады. Алғашқы жұмыстардағы автоматты бағдарламалауға бағытталғаннан айырмашылығы, бұл салалар индуктивті логикалық бағдарламалау әдістерін реляциялық деректерді өндіру тұрғысынан пайдаланды. Бұл бастапқы қолданбалардың табысы және дәстүрлі логикалық бағдарламаларды қалпына келтірудегі жетіспеушіліктер осы саланың бағытын анықтады. Соңғы уақытта автоматтандырылған бағдарламалаудың классикалық міндеттері қайта назарға алынуда, себебі мета-түсіндіру оқытудың енгізілуі предикаттарды табу және рекурсивті бағдарламаларды оқытуды ықтимал етеді. Бұл техниканы 2014 жылы Мугглтон, Дианхуан Лин, Нильс Пахлави және Алиреза Тамаддони Нежад ұсынған Metagol жүйесімен дамытуға болады. Бұл ILP жүйелеріне аз мысалдармен жұмыс істеуге мүмкіндік береді және жолдарды түрлендіру бағдарламаларын, жауаптар жиынтығының грамматикасын және жалпы алгоритмдерді оқытуда сәттіліктерге қол жеткізді.
Building on earlier work on Inductive inference, Gordon Plotkin was the first to formalise induction in a clausal setting around 1970, adopting an approach of generalising from examples. In 1981, Ehud Shapiro introduced several ideas that would shape the field in his new approach of model inference, an algorithm employing refinement and backtracing to search for a complete axiomatisation of given examples. His first implementation was the Model Inference System in 1981: a Prolog program that inductively inferred Horn clause logic programs from positive and negative examples. Several inductive logic programming systems that proved influential appeared in the early 1990s. FOIL, introduced by Ross Quinlan in 1990 was based on upgrading propositional learning algorithms AQ and ID3. Golem, introduced by Muggleton and Feng in 1990, went back to a restricted form of Plotkin's least generalisation algorithm. The Progol system, introduced by Muggleton in 1995, first implemented inverse entailment, and inspired many later systems. Aleph, a descendant of Progol introduced by Ashwin Srinivasan in 2001, is still one of the most widely used systems as of 2022. Unlike the focus on automatic programming inherent in the early work, these fields used inductive logic programming techniques from a viewpoint of relational data mining. The success of those initial applications and the lack of progress in recovering larger traditional logic programs shaped the focus of the field. Recently, classical tasks from automated programming have moved back into focus, as the introduction of meta interpretative learning makes predicate invention and learning recursive programs more feasible. This technique was pioneered with the Metagol system introduced by Muggleton, Dianhuan Lin, Niels Pahlavi and Alireza Tamaddoni Nezhad in 2014. This allows ILP systems to work with fewer examples, and brought successes in learning string transformation programs, answer set grammars and general algorithms.
Орнату
Индуктивті логикалық бағдарламалау бірнеше түрлі оқыту орталарын қабылдады, олардың ең көп таралғаны – кіріктіру арқылы оқыту және интерпретация арқылы оқыту. Екі жағдайда да, кіріс деректер негізгі білім B, логикалық теория (көбінесе логикалық бағдарламалауда қолданылатын клаузалар түрінде), сондай-ақ оң және теріс мысалдар түрінде ұсынылады, олар тиісінше және белгіленеді. Нәтиже H гипотезасы түрінде беріледі, ол әдетте бір немесе бірнеше клаузадан тұратын логикалық теория болып табылады. Екі ортаның айырмашылығы ұсынылған мысалдардың форматында.
Inductive logic programming has adopted several different learning settings, the most common of which are learning from entailment and learning from interpretations. In both cases, the input is provided in the form of background knowledge B, a logical theory (commonly in the form of clauses used in logic programming), as well as positive and negative examples, denoted and respectively. The output is given as a hypothesis H, itself a logical theory that typically consists of one or more clauses. The two settings differ in the format of examples presented.
Қатысудан үйрену
2022 жылға қарай, индуктивті логикалық бағдарламалауда қынап арқылы оқыту ең көп таралған тәсіл болып табылады. Толықтық талабы бойынша, жасалған кез келген гипотеза h барлық оң мысалдарды түсіндіруі керек, ал дұрыс болу талабы B негізгі білімдері ескеріле отырып, теріс мысалдармен қайшы келетін кез келген гипотеза h жасауға тыйым салады. Магглтонның ұғымды оқыту аясында "толықтық" "жеткіліктілік" деп, ал "дұрыс болу" "күшті дұрыс болу" деп аталады. Тағы екі шарт қосылады: "Қажеттілік", ол B қынап етпейді, h-қа шектеу қоймайды, бірақ оң фактілер осы гипотезасыз түсіндірілсе, гипотеза жасауға тыйым салады. "Әлсіз дұрыс болу", ол қынаптан қайшылық туындамауын талап етеді, B негізгі білімдерімен қайшы келетін кез келген гипотеза h жасауға тыйым салады. Әлсіз дұрыс болу күшті дұрыс болудан туындайды; егер теріс мысалдар берілмесе, екі талап та сәйкес келеді. Әлсіз дұрыс болу, әсіресе шулы деректерде маңызды, онда толықтық пен күшті дұрыс болуға кепілдік беру мүмкін емес. Қолданылатын техникаларға анти-біріктіруге негізделген ең аз жалпылау және кері шешімге негізделген кері шешім кіреді.
as of 2022, learning from entailment is by far the most popular setting for inductive logic programming. Completeness requires any generated hypothesis h to explain all positive examples , and consistency forbids generation of any hypothesis h that is inconsistent with the negative examples , both given the background knowledge B. In Muggleton's setting of concept learning, "completeness" is referred to as "sufficiency", and "consistency" as "strong consistency". Two further conditions are added: "Necessity", which postulates that B does not entail , does not impose a restriction on h, but forbids any generation of a hypothesis as long as the positive facts are explainable without it. "Weak consistency", which states that no contradiction can be derived from , forbids generation of any hypothesis h that contradicts the background knowledge B. Weak consistency is implied by strong consistency; if no negative examples are given, both requirements coincide. Weak consistency is particularly important in the case of noisy data, where completeness and strong consistency cannot be guaranteed. Techniques used include least general generalisation, based on anti unification, and inverse resolution, based on inverting the resolution inference rule.
Ең аз жалпылау
Ең аз жалпылау алгоритмі кіріс ретінде екі клаузаны – және – қабылдайды және олардың ең аз жалпылауын шығарады, яғни, және клаузаларын қамтитын, сондай-ақ және клаузаларын қамтитын кез келген басқа клаузамен қамтылатын клаузаны. Ең аз жалпылауды ең алдымен және клаузаларынан барлық таңдауларды есептеу арқылы табуға болады, олар бірдей предикат символымен және жоққа шығарылған/жоққа шығарылмаған күйімен жұптасқан литералдар болып табылады. Содан кейін ең аз жалпылау жеке таңдаулардың ең аз жалпылауларының дизъюнкциясы ретінде алынады, оларды бірінші реттік синтаксистік анти-біріктіру арқылы алуға болады. Түйіндемелік білімді ескеру үшін индуктивтік логикалық бағдарламалау жүйелері салыстырмалы ең аз жалпылауларды қолданады, олар негізгі теорияға қатысты бағыныштылық тұрғысынан анықталады. Жалпы, мұндай салыстырмалы ең аз жалпылаулардың болуы кепілденбесе де, егер B негізгі теориясы негізгі литералдардың шекті жиыны болса, онда B-нің жоқтығы өзі клауза болып табылады. Бұл жағдайда, салыстырмалы ең аз жалпылауды B-нің жоқтығын және екеуімен де дизъюнкциялау арқылы, содан кейін олардың ең аз жалпылауын бұрынғыдай есептеу арқылы табуға болады. Салыстырмалы ең аз жалпылаулар төменнен жоғары жүйе Golem-нің негізін құрайды. Кері шешілімді алғаш рет Стивен Магглтон және Рэй Бунтин 1988 жылы индуктивтік логикалық бағдарламалау жүйесі Cigol-да қолдану үшін енгізді. Ал Imparo кері салдарлылық принципін қолданып H гипотезасын табады. Дегенмен, анти-салдарлылық операциясы жоғары детерминистік емес болғандықтан, есептеу жағынан қымбатқа түседі. Сондықтан, балама гипотеза іздеуін кері бағыныштылық (анти-бағыныштылық) операциясын қолдану арқылы жүргізуге болады, ол анти-салдарлылыққа қарағанда аз детерминистік. Индуктивтік логикалық бағдарламалау жүйесінің гипотеза іздеу процедурасының толықтығы туралы сұрақтар туындайды. Мысалы, кері салдарлылықты қорытындылау ережесіне негізделген Progol гипотеза іздеу процедурасы Ямамото мысалы бойынша толық емес. Екінші жағынан, Imparo анти-салдарлылық процедурасы және оның кеңейтілген кері бағыныштылық процедурасы бойынша толық.
A least general generalisation algorithm takes as input two clauses and and outputs the least general generalisation of and , that is, a clause that subsumes and , and that is subsumed by every other clause that subsumes and The least general generalisation can be computed by first computing all selections from and , which are pairs of literals sharing the same predicate symbol and negated/unnegated status. Then, the least general generalisation is obtained as the disjunction of the least general generalisations of the individual selections, which can be obtained by first order syntactical anti unification. To account for background knowledge, inductive logic programming systems employ relative least general generalisations, which are defined in terms of subsumption relative to a background theory. In general, such relative least general generalisations are not guaranteed to exist; however, if the background theory B is a finite set of ground literals, then the negation of B is itself a clause. In this case, a relative least general generalisation can be computed by disjoining the negation of B with both and and then computing their least general generalisation as before. Relative least general generalisations are the foundation of the bottom up system Golem. Inverse resolution was first introduced by Stephen Muggleton and Wray Buntine in 1988 for use in the inductive logic programming system Cigol. and Imparo find a hypothesis H using the principle of the inverse entailment However, the operation of anti entailment is computationally more expensive since it is highly nondeterministic. Therefore, an alternative hypothesis search can be conducted using the inverse subsumption (anti subsumption) operation instead, which is less non deterministic than anti entailment. Questions of completeness of a hypothesis search procedure of specific inductive logic programming system arise. For example, the Progol hypothesis search procedure based on the inverse entailment inference rule is not complete by Yamamoto's example. On the other hand, Imparo is complete by both anti entailment procedure and its extended inverse subsumption procedure.
Метатүсіндірулік оқыту
Гипотезалық графикті тікелей іздеудің орнына, метатүсіндіру немесе метадеңгейлік жүйелер индуктивті логикалық бағдарламалау бағдарламасын метадеңгейлік логикалық бағдарлама ретінде енгізеді, содан кейін оңтайлы гипотезаны алу үшін оны шешеді. Мәселенің сипаттамасын беру үшін Prolog және жауаптар жиынтығы бағдарламалау сияқты формализмдер қолданылады, ал қолданыстағы Prolog жүйелері мен жауаптар жиынтығы шешушілері шектеулерді шешу үшін пайдаланылады. Prolog негізіндегі жүйенің мысалы – Metagol, ол Prolog-тағы мета-интерпретаторға негізделген, ал ASPAL және ILASP жауаптар жиынтығы бағдарламалауда индуктивті логикалық бағдарламалау мәселесін кодтауға негізделген.
Rather than explicitly searching the hypothesis graph, metainterpretive or meta level systems encode the inductive logic programming program as a meta level logic program which is then solved to obtain an optimal hypothesis. Formalisms used to express the problem specification include Prolog and answer set programming, with existing Prolog systems and answer set solvers used for solving the constraints. And example of a Prolog based system is Metagol, which is based on a meta interpreter in Prolog, while ASPAL and ILASP are based on an encoding of the inductive logic programming problem in answer set programming.