Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized

Ma eleghị anya, ọrụ nyocha bụ akụkụ kacha atọ ụtọ nke ọzụzụ anyị. Echiche bụ ịnwale onwe gị n'ụzọ ị họọrọ mgbe ị ka nọ na mahadum. Dịka ọmụmaatụ, ụmụ akwụkwọ si mpaghara Software Engineering na Machine Learning na-agakarị ime nyocha na ụlọ ọrụ (karịsịa JetBrains ma ọ bụ Yandex, mana ọ bụghị naanị).

Na post a, m ga-ekwu maka ọrụ m na sayensị Kọmputa. Dịka akụkụ nke ọrụ m, m gụrụ akwụkwọ wee tinye usoro iji dozie otu n'ime nsogbu ndị siri ike NP ama ama: nsogbu na-ekpuchi vertex.

N'oge a, ụzọ na-adọrọ mmasị maka nsogbu NP-ike na-etolite ngwa ngwa - parameterized algọridim. M ga-agbalị ime ka ị gbasie ike, gwa gị ụfọdụ algọridim dị mfe parameterized ma kọwaa otu usoro dị ike nke nyeere m aka nke ukwuu. Ewepụtara m rịzọlt m na asọmpi ịma aka PACE: dabere na nsonaazụ ule mepere emepe, azịza m ga-ewere ọnọdụ nke atọ, a ga-amata nsonaazụ ikpeazụ na Julaị 1.

Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized

Banyere onwe m

Aha m bụ Vasily Alferov, ana m agụcha afọ nke atọ ugbu a na National Research University Higher School of Economics - St. Petersburg. Enwere m mmasị na algọridim kemgbe ụbọchị akwụkwọ m, mgbe m gụrụ akwụkwọ na Moscow School No. 179 ma soro na-aga nke ọma na sayensị kọmputa Olympiads.

Ọnụ ọgụgụ ndị ọkachamara nwere oke na algọridim nke parameterized na-abanye n'ụlọ mmanya ...

Ihe atụ ewepụtara n'akwụkwọ ahụ Algọridim "Parameterized algọridim"

Were ya na ị bụ onye nche ụlọ mmanya n'obere obodo. Fridaybọchị Fraịde ọ bụla, ọkara obodo na-abịa n'ụlọ mmanya gị iji zuru ike, nke na-enye gị ọtụtụ nsogbu: ịkwesịrị ịchụpụ ndị ahịa na-akpa ike n'ụlọ mmanya iji gbochie ọgụ. N'ikpeazụ, ị na-eju afọ ma kpebie ime ihe mgbochi.

Ebe ọ bụ na obodo gị dị obere, ị maara nke ọma ụdị abụọ nke ndị na-azụ ahịa nwere ike ịlụ ọgụ ma ọ bụrụ na ha ejedebe n'ụlọ mmanya ọnụ. Ị nwere ndepụta nke n ndị ga-abịa n'ụlọ mmanya n'abalị a. Ị kpebiri ime ka ụfọdụ ndị obodo pụọ n'ụlọ mmanya na-enweghị onye ọ bụla na-alụ ọgụ. N'otu oge ahụ, ndị isi gị anaghị achọ ịla n'iyi ma ọ gaghị enwe obi ụtọ ma ọ bụrụ na ị hapụghị ihe karịrị k ndị mmadụ.

Ọ dị nwute, nsogbu dị n'ihu gị bụ nsogbu NP-ike siri ike. Ị nwere ike mara ya dị ka Mkpuchi Vertex, ma ọ bụ dị ka vertex na-ekpuchi nsogbu. Maka nsogbu ndị dị otú ahụ, n'ozuzu, ọ dịghị algọridim na-arụ ọrụ na oge a na-anabata. N'ikwu ya n'ụzọ ziri ezi, nkwupụta a na-akwadoghị na nke siri ike ETH (Exponential Time Hypothesis) na-ekwu na enweghị ike idozi nsogbu a n'oge. Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized, ya bụ, ị pụghị iche echiche nke ọma ihe ọ bụla dị mma karịa ọchụchọ zuru ezu. Dịka ọmụmaatụ, ka anyị kwuo na mmadụ ga-abịa n'ụlọ mmanya gị n = 1000 Mmadụ. Mgbe ahụ, ọchụchọ zuru oke ga-abụ Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized nhọrọ na e nwere ihe dị ka Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized - ego efu. Ọ dabara nke ọma, njikwa gị enyela gị oke k = 10, ya mere ọnụ ọgụgụ nke nchikota ị chọrọ iterate n'elu bụ nnọọ obere: ọnụ ọgụgụ nke subsets nke iri ọcha bụ. Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized. Nke a ka mma, ma a gaghị agụ ya n'otu ụbọchị ọbụlagodi na ụyọkọ dị ike.
Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized
Iji kpochapụ ohere nke ọgụ na nhazi a nke mmekọrịta siri ike n'etiti ndị ọbịa ụlọ mmanya, ịkwesịrị ịhapụ Bob, Daniel na Fedor. Enweghị ngwọta nke naanị abụọ ga-ahapụ.

Nke a ọ pụtara na oge eruola ka onye ọ bụla banye? Ka anyị tụlee nhọrọ ndị ọzọ. Ọfọn, dịka ọmụmaatụ, ị gaghị ekwe ka naanị ndị nwere ike ịlụ ọgụ na ọnụ ọgụgụ buru ibu nke ndị mmadụ. Ọ bụrụ na mmadụ nwere ike ịlụ ọgụ ọbụlagodi k+1 onye ọzọ, mgbe ahụ ị nweghị ike ịhapụ ya - ma ọ bụghị ya, ị ga-ahapụ onye ọ bụla k+1 ndị obodo, ndị ya na ha nwere ike ịlụ ọgụ, nke ga-akpasu ndị ọchịchị iwe.

Ka ị tụpụ onye ọ bụla ị nwere ike dịka ụkpụrụ a siri dị. Mgbe ahụ, onye ọ bụla ọzọ nwere ike ịlụ ọgụ na-enweghị karịa k ndị mmadụ. Na-atụpụ ha k nwoke, ị nwere ike igbochi ihe ọ bụla karịa Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized esemokwu. Nke a pụtara na ọ bụrụ na e nwere ihe karịrị Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized Ọ bụrụ na mmadụ etinye aka na opekata mpe otu esemokwu, mgbe ahụ ị nweghị ike igbochi ha niile. Ebe ọ bụ na, n'ezie, ị ga-maa ka na kpamkpam na-abụghị esemokwu ndị mmadụ, mkpa ka ị na-aga site niile subsets nke size iri n'ime narị abụọ mmadụ. Enwere ihe dịka Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized, na ọnụ ọgụgụ nke arụmọrụ enwere ike ịhazi ya na ụyọkọ ahụ.

Ọ bụrụ na ị nwere ike ịkpọrọ ndị mmadụ na-enweghị esemokwu ma ọlị, gịnị banyere ndị na-ekere òkè n'otu ọgụ? N'ezie, a pụkwara ịhapụ ha site n'imechi ụzọ nke onye iro ha. N'ezie, ọ bụrụ na Alice na-emegide naanị Bob, mgbe ahụ ọ bụrụ na anyị ahapụ Alice n'ime ha abụọ, anyị agaghị efu: Bob nwere ike inwe esemokwu ndị ọzọ, ma Alice enweghị ha. Ọzọkwa, ọ baghị uru ka anyị ghara ikwe ka anyị abụọ bata. Mgbe ọrụ ndị dị otú ahụ gasịrị, ọ dịghị ọzọ Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized ọbịa nwere akara aka na-edozighị: anyị nwere naanị Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized esemokwu, onye ọ bụla nwere ndị sonyere abụọ na nke ọ bụla na-etinye aka na opekata mpe abụọ. Ya mere, ihe niile fọdụrụ bụ ịhazi Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized nhọrọ, nke nwere ike mfe na-atụle ọkara ụbọchị na laptọọpụ.

N'ezie, site n'iche echiche dị mfe ị nwere ike nweta ọbụna ọnọdụ mara mma karị. Rịba ama na anyị kwesịrị idozi esemokwu niile, ya bụ, n'ime ụzọ abụọ na-ese okwu, họrọ ma ọ dịkarịa ala otu onye anyị na-agaghị ekwe ka ọ bata. Ka anyị tụlee algọridim na-esonụ: were esemokwu ọ bụla, site na nke anyị na-ewepụ otu onye so na ya na-amaliteghachi ugboro ugboro site na nke fọdụrụ, wee wepụ nke ọzọ ma maliteghachi ugboro ugboro. Ebe ọ bụ na anyị na-atụpụ mmadụ na nzọụkwụ ọ bụla, osisi recursion nke algọridim dị otú ahụ bụ osisi ọnụọgụ abụọ nke omimi k, yabụ na mkpokọta algọridim na-arụ ọrụ Otu esi edozi nsogbu NP-Sike na Algorithms Parameterizedebe n bụ ọnụ ọgụgụ nke vertices, na m - ọnụ ọgụgụ nke ọgịrịga. N'ihe atụ anyị, nke a bụ ihe dị ka nde iri, nke nwere ike gbakọọ na nkewa nke abụọ ọ bụghị naanị na laptọọpụ, kamakwa na ekwentị mkpanaaka.

Ihe atụ dị n'elu bụ ihe atụ parameterized algọridim. Parameterized algọridim bụ algọridim na-agba ọsọ na oge f (k) poly(n)ebe p - polynomial, f bụ ọrụ mgbako n'aka ike, na k - ụfọdụ paramita, nke, ma eleghị anya, ga-adị obere karịa nha nsogbu ahụ.

Echiche niile tupu algọridim a na-enye ihe atụ kernelization bụ otu n'ime usoro izugbe maka ịmepụta algọridim nke parameterized. Kernelization bụ mbelata nha nsogbu ahụ ka ọ bụrụ uru ejiri ọrụ nke oke mmachi. A na-akpọkarị nsogbu a kernel. Ya mere, site n'iche echiche dị mfe banyere ogo nke vertices, anyị nwetara kernel quadratic maka nsogbu mkpuchi Vertex, nke ejiri nha azịza mee ya. Enwere ntọala ndị ọzọ ị nwere ike ịhọrọ maka ọrụ a (dịka Vertex Cover N'elu LP), mana nke a bụ ntọala anyị ga-atụle.

Ihe ịma aka ijeụkwụ

Asọmpi Ihe ịma aka PACE (The Parameterized Algorithms and Computational Experiments Challenge) mụrụ na 2015 iji guzobe njikọ n'etiti parameterized algọridim na ụzọ eji eme ihe iji dozie nsogbu mgbakọ na mwepụ. Asọmpi atọ mbụ bụ nke etinyere maka ịchọta obosara osisi nke eserese (Ogologo osisi), na-achọ osisi Steiner (Osisi Steiner) ma na-achọ otu vertices nke na-egbutu okirikiri.Ntọala Vertex nzaghachi). N'afọ a, otu n'ime nsogbu ndị ị nwere ike ịnwale aka gị bụ nsogbu mkpuchi vertex nke akọwara n'elu.

Asọmpi a na-ewu ewu kwa afọ. Ọ bụrụ na ị kwenyere na data mbido, n'afọ a, ndị otu 24 sonyere na asọmpi ahụ iji dozie nsogbu na-ekpuchi vertex naanị. Ọ dị mma ịmara na asọmpi na-adịru ọ bụghị ọtụtụ awa ma ọ bụ ọbụna otu izu, mana ọtụtụ ọnwa. Otu dị iche iche nwere ohere ịmụ akwụkwọ, chepụta echiche mbụ nke ha ma gbalịa ime ya. N'ezie, asọmpi a bụ ọrụ nyocha. A ga-enwe echiche maka ngwọta kachasị dị irè na inye ndị mmeri na njikọ ogbako IPEC (International Symposium on Parameterized and Exact Computation) dị ka akụkụ nke nnukwu nzukọ algọridim kwa afọ na Europe. ALGO. Enwere ike ịchọta ozi zuru ezu gbasara asọmpi n'onwe ya na saịtị, na nsonaazụ nke afọ ndị gara aga na-agha ụgha ebe a.

Eserese ngwọta

Iji dozie nsogbu mkpuchi vertex, agbalịrị m iji parameterized algọridim. Ha na-enwekarị akụkụ abụọ: iwu mfe (nke na-eduga na kernelization) na iwu nkewa. Iwu mfe mfe na-ebu ụzọ ntinye ntinye n'oge ọtụtụ oge. Ebumnuche nke itinye iwu ndị dị otú ahụ bụ iji belata nsogbu ahụ gaa na obere nsogbu yiri ya. Iwu dị mfe bụ akụkụ kachasị ọnụ nke algọridim, na itinye akụkụ a na-eduga na ngụkọta oge ịgba ọsọ Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized kama obere oge polynomial. N'ọnọdụ anyị, iwu nkewa na-adabere n'eziokwu na maka vertex ọ bụla ị ga-ewere ya ma ọ bụ onye agbata obi ya dị ka azịza.

Atụmatụ izugbe bụ nke a: anyị na-etinye iwu ndị dị mfe, wee họrọ ụfọdụ vertex, ma mee oku ugboro abụọ: na mbụ anyị na-ewere ya na nzaghachi, na nke ọzọ anyị na-ewere ndị agbata obi ya niile. Nke a bụ ihe anyị na-akpọ nkewa (alaka) n'akụkụ vertex a.

A ga-agbakwunye otu mgbakwunye na atụmatụ a na paragraf na-esote.

Echiche maka nkewa (brunching) iwu

Ka anyị tụlee otu esi ahọrọ vertex nke nkewa ga-eme.
Isi echiche dị oke anyaukwu n'echiche algorithmic: ka anyị were vertex nke ogo kachasị wee kewaa ya. Gịnị mere o ji dị mma? N'ihi na na ngalaba nke abụọ nke recursive oku anyị ga-ewepụ ọtụtụ vertices n'ụzọ dị otú a. Ị nwere ike ịtụkwasị obi na obere eserese fọdụrụ ma anyị nwere ike ịrụ ọrụ na ya ngwa ngwa.

Usoro a, yana usoro kernelization nke a tụlere nke ọma, gosipụtara onwe ya nke ọma ma dozie ụfọdụ ule nke ọtụtụ puku vertices n'ogo. Ma, dịka ọmụmaatụ, ọ naghị arụ ọrụ nke ọma maka eserese cubic (ya bụ, eserese nke ogo nke vertex ọ bụla bụ atọ).
Enwere echiche ọzọ dabere na echiche dị mfe: ọ bụrụ na ewepụghị eserese ahụ, enwere ike idozi nsogbu dị na akụrụngwa ya n'onwe ya, na-ejikọta azịza ya na njedebe. Nke a, n'agbanyeghị, bụ obere nkwa mgbanwe na atụmatụ, nke ga-budata ngwa ngwa ngwọta: na mbụ, na nke a, anyị na-arụ ọrụ maka ngwaahịa nke oge maka ịgbakọ azịza nke components, ma ugbu a, anyị na-arụ ọrụ maka. nchikota. Na iji mee ka alaka ụlọ ọrụ dị ngwa, ịkwesịrị ịtụgharị eserese ejikọrọ ka ọ bụrụ nke ejikọrọ.

Kedu ka esi eme ya? Ọ bụrụ na enwere nkọwapụta na eserese, ịkwesịrị ịlụ ọgụ na ya. Ebe okwu bụ vertex nke na mgbe ewepụrụ ya, eserese ahụ na-efunahụ njikọ ya. Enwere ike ịhụ isi njikọ niile dị na eserese site na iji algọridim oge gboo na oge ahịrị. Usoro a na-eme ka alaka ụlọ ọrụ dị ngwa ngwa.
Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized
Mgbe ewepụrụ akụkụ ọ bụla ahọpụtara, eserese ahụ ga-ekewa n'ime akụrụngwa ejikọrọ.

Anyị ga-eme nke a, mana anyị chọrọ karịa. Dịka ọmụmaatụ, chọọ obere mbelata vertex na eserese ahụ wee kewaa n'akụkụ mkpọda ya. Ụzọ kacha arụ ọrụ nke ọma m maara iji chọta obere mkpirisi vertex zuru ụwa ọnụ bụ iji osisi Gomori-Hu, nke a rụrụ n'oge cubic. N'ihe ịma aka PACE, nha eserese a na-ahụkarị bụ ọtụtụ puku vertices. N'ọnọdụ a, ọ dị mkpa ka a rụọ ọtụtụ ijeri ọrụ na vertex nke ọ bụla nke osisi nlọghachi azụ. Ọ na-apụta na ọ gaghị ekwe omume idozi nsogbu ahụ n'oge a kara aka.

Ka anyị gbalịa na-ebuli ihe ngwọta. Enwere ike ịchọta opekempe vertex dị n'etiti vertices site na algọridim ọ bụla na-ewuli oke ọsọ. Ị nwere ike hapụ ya ka ọ banye na netwọkụ dị otú ahụ Dinitz algọridim, na omume ọ na-arụ ọrụ ngwa ngwa. Enwere m enyo na ọ ga-ekwe omume n'ụzọ doro anya iji gosipụta atụmatụ maka oge ọrụ Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized, nke a na-anabata nke ọma.

Agbalịrị m ọtụtụ oge ka m chọọ mbelata n'etiti ụzọ abụọ na-enweghị usoro wee were nke kachasị kwụ ọtọ. N'ụzọ dị mwute, nke a rụpụtara adịghị mma na nnwale PACE Challenge. M tụnyere ya na algọridim nke kewara vertices nke kacha ogo, na-agba ọsọ ha na mmachi na omimi nke mgbada. Algọridim na-agbalị ịchọta mbelata n'ụzọ dị otú a hapụrụ n'azụ eserese ndị buru ibu. Nke a bụ n'ihi n'eziokwu na mbelata ahụ tụgharịrị bụrụ nke na-enweghị isi: wepụrụ 5-10 vertices, ọ ga-ekwe omume kewaa naanị 15-20.

Ọ dị mma ịmara na akụkọ gbasara algọridim usoro kachasị ọsọ na-eji usoro dị elu karịa maka ịhọrọ vertices maka nkewa. Usoro ndị dị otú ahụ nwere mmejuputa dị mgbagwoju anya ma na-arụkarị ọrụ adịghị mma n'ihe gbasara oge na ebe nchekwa. Enweghị m ike ịchọpụta ndị a na-anabata nke ọma maka omume.

Otu esi etinye iwu mfe

Anyị enweelarị echiche maka kernelization. Ka m chetara gị:

  1. Ọ bụrụ na enwere oghere dịpụrụ adịpụ, hichapụ ya.
  2. Ọ bụrụ na enwere vertex nke ogo 1, wepụ ya ma were onye agbata obi ya na nzaghachi.
  3. Ọ bụrụ na enwere vertex nke ogo ọbụlagodi k+1, weghachi ya.

Na mbụ abụọ ihe niile doro anya, na nke atọ e nwere otu aghụghọ. Ọ bụrụ na a na-atọ ọchị nsogbu banyere a mmanya e nyere anyị ihe elu ịgba nke k, mgbe ahụ na ịma aka PACE ị ga-achọ naanị mkpuchi vertex nke nha kacha nta. Nke a bụ mgbanwe a na-ahụkarị nke nsogbu ọchụchọ ka ọ bụrụ nsogbu mkpebi; ọtụtụ mgbe ọ nweghị ọdịiche dị n'etiti ụdị nsogbu abụọ ahụ. Na omume, ọ bụrụ na anyị na-ede ihe ngwọta maka nsogbu mkpuchi vertex, enwere ike inwe ọdịiche. Dịka ọmụmaatụ, dịka ọ dị na isi ihe nke atọ.

Site n'echiche mmejuputa iwu, enwere ụzọ abụọ iji gaa n'ihu. Ụzọ mbụ ka a na-akpọ Iterative Deepening. Ọ bụ dị ka ndị a: anyị nwere ike ịmalite na ụfọdụ mmachi ezi uche dị n'okpuru na azịza ya, wee na-agba ọsọ algọridim anyị site na iji ihe mgbochi a dị ka ihe mgbochi na azịza sitere n'elu, na-enweghị na-agbada na nlọghachi azụ karịa nke a. Ọ bụrụ na anyị achọtala azịza ụfọdụ, a na-ekwe nkwa na ọ ga-akacha mma, ma ọ bụghị ya, anyị nwere ike ịbawanye njedebe a site na otu wee malite ọzọ.

Ụzọ ọzọ bụ ịchekwa azịza kachasị mma ugbu a wee chọọ azịza dị nta, na-agbanwe oke a mgbe achọtara ya k n'ihi na ukwuu igbupụ nke na-adịghị mkpa alaka na search.

Mgbe m mechara nyocha nke abalị ọtụtụ abalị, ebidoro m na ngwakọta nke ụzọ abụọ a: nke mbụ, m na-agba ọsọ algorithm m na ụdị ụfọdụ nke njedebe na omimi ọchụchọ (ịhọrọ ya ka ọ na-ewe oge na-adịghị ahụkebe ma e jiri ya tụnyere isi ihe ngwọta) ma jiri ihe kacha mma. ngwọta achọtara dị ka oke oke azịza - ya bụ, otu ihe ahụ k.

Akụkụ nke ogo 2

Anyị ejirila akụkụ nke ogo 0 na 1 mee ihe. Ọ na-apụta na enwere ike ime nke a na vertices nke ogo 2, mana nke a ga-achọ ọrụ mgbagwoju anya site na eserese ahụ.

Iji kọwaa nke a, anyị kwesịrị ịpụta n'ụzọ ụfọdụ na vertices. Ka anyị kpọọ vertex nke ogo 2 vertex v, na ndị agbata obi ya - vertices x и y. Ọzọ anyị ga-enwe ikpe abụọ.

  1. Mgbe x и y - ndị agbata obi. Mgbe ahụ ị nwere ike ịza x и yna v hichapụ. N'ezie, site na triangle a ọ dịkarịa ala vertices abụọ kwesịrị iwere na nloghachi, na anyị agaghị atụfu ma ọ bụrụ na anyị ewere ya. x и y: eleghị anya ha nwere ndị agbata obi ndị ọzọ, na v Ha anọghị ebe a.
  2. Mgbe x и y - ọ bụghị ndị agbata obi. Mgbe ahụ, a na-ekwu na enwere ike ịtinye oghere atọ ahụ n'otu. Echiche bụ na na nke a, e nwere azịza kachasị mma, nke anyị na-ewere ma ọ bụ v, ma ọ bụ akụkụ abụọ x и y. Ọzọkwa, na nke mbụ anyị ga-ewere ndị agbata obi niile na nzaghachi x и y, ma na nke abụọ ọ dịghị mkpa. Nke a kwekọrọ na ikpe mgbe anyị anaghị ewere vertex glued na nzaghachi na mgbe anyị na-eme ya. Ọ dị naanị ịmara na n'ọnọdụ abụọ a nzaghachi sitere na ọrụ dị otú ahụ na-ebelata otu.

Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized

Ọ dị mma ịmara na usoro a siri ezigbo ike iji mejuputa ya n'ụzọ ziri ezi n'oge ahịrị ahịrị. Vertices gluing bụ ọrụ dị mgbagwoju anya; ịkwesịrị idetu ndepụta nke ndị agbata obi. Ọ bụrụ na emee nke a n'akpachapụghị anya, ị nwere ike mechaa na oge ịgba ọsọ nke asymptotically suboptimal (dịka ọmụmaatụ, ọ bụrụ na i detuo ọtụtụ ọnụ mgbe gluing ọ bụla). Ekpebiri m ịchọta ụzọ niile site na vertices nke ogo 2 na nyochaa ụyọkọ ikpe pụrụ iche, dị ka okirikiri site na vertices ndị dị otú ahụ ma ọ bụ site na vertices niile ma e wezụga otu.

Tụkwasị na nke ahụ, ọ dị mkpa na ọrụ a ga-agbanwe agbanwe, nke mere na mgbe anyị na-alọghachi na nlọghachi, anyị na-eweghachi eserese ahụ n'ụdị mbụ ya. Iji hụ na nke a, ehichapụghị m ndepụta ọnụ nke vertices merged, na mgbe ahụ, m maara nnọọ akụkụ nke kwesịrị ịga ebe. Mmejuputa eserese a na-achọkwa izi ezi, mana ọ na-enye oge ahịrị kwụ ọtọ. Na maka eserese nke ọtụtụ iri puku kwuru iri puku ọnụ, ọ dabara na cache processor, nke na-enye nnukwu uru na ọsọ.

Linear kernel

N'ikpeazụ, akụkụ kachasị adọrọ mmasị nke kernel.

Iji malite, cheta na na eserese bipartite enwere ike ịchọta mkpuchi vertex kacha nta site na iji Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized. Iji mee nke a, ịkwesịrị iji algọridim Hopcroft-Karp ka ịchọta ihe kachasị mma n'ebe ahụ, wee jiri usoro ihe omume ahụ König-Egervari.

Echiche nke kernel linear bụ nke a: nke mbụ anyị na-ekewa eserese ahụ, ya bụ, kama nke ọ bụla. v ka anyị gbakwunye elu abụọ Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized и Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized, na kama ihu ọ bụla ị - v ka anyị gbakwunye ọgịrịga abụọ Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized и Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized. Eserese ga-apụta ga-abụ bipartite. Ka anyị chọta opekempe mkpuchi vertex n'ime ya. Ụfọdụ vertices nke eserese mbụ ga-eru ebe ahụ ugboro abụọ, ụfọdụ naanị otu ugboro, ma ụfọdụ agaghị adị. Nemhauser-Trotter theorem na-ekwu na na nke a, mmadụ nwere ike wepụ vertices na-akụtaghị ọbụna otu ugboro ma weghachite ndị kụrụ ugboro abụọ. Ọzọkwa, ọ na-ekwu na nke fọdụrụ vertices (ndị kụrụ otu ugboro) mkpa ka ị were ma ọ dịkarịa ala ọkara dị ka azịza.

Anyị ka mụtara ịpụ karịa 2k ọnụ ọgụgụ kasị elu N'ezie, ọ bụrụ na azịza nke fọdụrụ bụ ma ọ dịkarịa ala ọkara nke vertices niile, mgbe ahụ ọ dịghị ọzọ vertices na mkpokọta karịa. 2k.

Ebe a ka m nwere ike iwere obere nzọụkwụ n'ihu. O doro anya na kernel wuru n'ụzọ dị otú a na-adabere n'ụdị mkpuchi vertex pere mpe anyị were na eserese bipartite. Ọ ga-amasị m iwere otu ka ọnụ ọgụgụ nke vertices fọdụrụ pere mpe. Na mbụ, ha nwere ike ime nke a naanị n'oge Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized. Abịara m na mmejuputa algọridim a n'oge Otu esi edozi nsogbu NP-Sike na Algorithms Parameterized, Ya mere, a pụrụ ịchọ isi a na eserese nke narị puku kwuru puku vertices n'ọkwa alaka ọ bụla.

N'ihi

Omume na-egosi na ngwọta m na-arụ ọrụ nke ọma na ule nke ọtụtụ narị vertices na ọtụtụ puku ọnụ. N'ime ule ndị dị otú ahụ, ọ ga-ekwe omume ịtụ anya na a ga-achọta ngwọta n'ime ọkara elekere. Ihe puru omume nke ịchọta azịza n'oge a na-anabata, n'ụkpụrụ, na-abawanye ma ọ bụrụ na eserese ahụ nwere ọnụ ọgụgụ zuru oke nke vertices nke ogo dị elu, dịka ọmụmaatụ, ogo 10 na elu.

Iji sonye na asọmpi ahụ, ekwesịrị iziga azịza ya optil.io. Na-ekpe ikpe site na ozi ewepụtara n'ebe ahụ akara, Ngwọta m na ule mepere emepe dị nke atọ n'ime iri abụọ, yana nnukwu oghere site na nke abụọ. N'ikwu eziokwu kpam kpam, ọ bụghị kpamkpam ka a ga-esi nyochaa ngwọta na asọmpi n'onwe ya: dịka ọmụmaatụ, ngwọta m na-agafe ule ole na ole karịa ngwọta na ebe anọ, ma na ndị na-agafe, ọ na-arụ ọrụ ngwa ngwa.

A ga-amata nsonaazụ ule emechiri emechi na Julaị XNUMXst.

isi: www.habr.com

Tinye a comment