Кіріспе

Сыртқы араласусыз өзінен басталатын процесс. Жалпы алғанда, бутстраппинг – сыртқы көмексіз жалғасатын немесе дамитын өзінен басталатын процесті білдіреді.

Этимология

Биік ботинктердің үстіңгі жағында ботинка деп аталатын иек, тілке немесе тұтқасы болуы мүмкін, ол ботинді киюге көмектесу үшін саусақтарды немесе ботинді тартуға арналған құралды пайдалануға мүмкіндік береді. "Өзін-өзі аяқтан көтеру" деген мақал 19-шы ғасырда мүмкін емес міндеттің мысалы ретінде қолданылған. Бұл фраза алғаш рет 1834 жылы "Workingman's Advocate" басылымында пайда болды: "Мырза Мэрфи енді Камберленд өзенінен немесе қора қоршауынан ботинінің белдігінен өзіндік көтеріле алады деп болжануда". 1860 жылы ақыл-ой философиясы туралы пікірде: "Ақылдың өзін-өзі талдауға тырысуы – өзін-өзі аяқтан көтеруге тырысатын адамның әрекетіне ұқсас". Bootstrap метафорасы, яғни ешкімнің көмегінсіз өзін жақсарту, 1922 жылдан бері қолданылып келеді. Бұл метафора сыртқы көмексіз өзін-өзі сақтап тұратын процестердің тізбесі үшін қосымша метафораларды тудырды. Бұл термин кейде Рудольф Эрих Распенің "Барон Мюнхгаузеннің таңғажайып оқиғалары" атты шығармасына байланысты айтылады, бірақ сол оқиғада Барон Мюнхгаузен өзін (және атын) батпақтан шашымен (нақтырақ айтқанда, өрімімен) шығарады, ботинінің иегімен емес. Мюнхгаузен ертегілерінің әртүрлі нұсқаларында ботинінің иегіне тікелей сілтеме табылмады. Біреуден "bootstrap" етуді сұрау – олардың таза ерік күшімен үлкен қиындықтарды жеңе алатынын ұсыну. Сыншылар бұл фразаның әділетсіз жағдайларды олардың нақты жағдайынан гөрі, одан да лайықтырақ екенін көрсету үшін қолданылатынын атап өтті. Әртүрлі зерттеулер көрсеткендей, болашақ байлықты болжаудың басты факторы – IQ немесе қажырлы еңбек емес, бастапқы байлық.

Есептеу

Компьютерлік технологияда "боутстраппинг" термині бір тілде жазылған тілдік компиляторларды білдіреді. (Мысалы, C компиляторы қазір C тілінде жазылған. Бастапқы компилятор жазылғаннан кейін, жақсартулар итеративті түрде жасалуы мүмкін, осылайша тіл өзін-өзі жетілдіреді). Сондай-ақ, "жүктеу" (booting) әдетте компьютерді қосып немесе қайта орнату кезінде, компьютер жадысына негізгі бағдарламалық қамтамасты жүктеу процесін білдіреді. Ядро операциялық жүйені жүктейді, ол өз кезегінде қажет болған жағдайда басқа құрылғы драйверлерін және бағдарламалық қамтамасты жүктейді.

Бағдарламалық жасақтаманы жүктеу және орындау

Буттау – компьютерді, әсіресе оның бағдарламалық қамтамасын іске қосу процесі. Бұл процесс бірнеше кезеңнен тұрады, әр кезеңінде салыстырмалы түрде кішкентай және қарапайым бағдарлама жүктеліп, содан кейін келесі кезеңнің үлкен әрі күрделі бағдарламасын іске қосады. Осы тұрғыдан алғанда компьютер "өзінің күшімен көтеріледі", яғни ол өзін-өзі жетілдіреді. Буттау – аппараттық негіздегі процедураларды орындаудан басталатын оқиғалар тізбегі, содан кейін негізгі жадқа жүктелетін микрокод, тұрақтандыру бағдарламалары және бағдарламалық қамтамаларға берілуі мүмкін. Буттау көбінесе өзін-өзі тексеру, конфигурация параметрлерін жүктеу, BIOS, резиденттік мониторларды, гипервизорды, операциялық жүйені немесе қосымша бағдарламалық қамтаманы жүктеу сияқты процестерді қамтиды. Компьютерлік "бустрап" термині 1950 жылдары метафора ретінде пайда болды. Компьютерлерде бустрап батырмасын басу арқылы аппараттық бағдарлама кіріс құрылғысынан бустрап бағдарламасын оқитын. Компьютер содан кейін бустрап бағдарламасын іске қосып, оған қосымша бағдарламалық нұсқауларды оқуға мүмкіндік беретін. Бұл өздігінен жүретін процесс болды, ол қолмен енгізілген нұсқаулардан тыс, сыртқы көмексіз іске асырылды. Компьютерлік термин ретінде "бустрап" 1953 жылдан бері қолданылып келеді.

Бағдарламалық жасақтама әзірлеу

Бутстрапинг сонымен қатар бірінен кейін бірі күрделірек, жылдам бағдарламалау орталарын дамытуға да қатысты болуы мүмкін. Ең қарапайым орта, мысалы, өте қарапайым мәтін редакторы (мысалы, ed) және құрастырушы бағдарлама болуы мүмкін. Осы құралдарды пайдаланып, күрделірек мәтіндік редактор, жоғары деңгейдегі тіл үшін қарапайым компилятор және тағы басқаларды жазуға болады, сонда ғана графикалық IDE және өте жоғары деңгейдегі бағдарламалау тіліне қол жеткізіледі. Тарихи тұрғыдан алғанда, бутстрапинг жаңа аппараттық жабдықтарда компьютерлік бағдарламаларды әзірлеудің ерте кезеңдегі әдісін білдіреді. Осы абзаста сипатталған әдіс, бұрыннан бар компьютерде орындалатын кросс-компиляторды пайдаланумен алмастырылды. Бағдарламаны әзірлеудегі бутстрапинг 1950 жылдары басталды, онда әр бағдарлама қағаз бетінде ондық кодпен немесе бинарлық кодпен біртіндеп (1 және 0-лер) құрылды, себебі жоғары деңгейдегі компьютер тілі, компилятор, ассемблер және сілтемеші болған жоқ. Жаңа компьютер үшін (мысалы, IBM 650) кішкентай құрастырушы бағдарлама қолмен кодталды, ол бірнеше нұсқауларды екілік немесе ондық кодқа айналдырды: A1. Бұл қарапайым құрастырушы бағдарлама содан кейін жаңа ғана анықталған құрастыру тілінде қайта жазылды, бірақ күрделірек операциялық кодтар үшін қосымша мнемоникаларды пайдалануға мүмкіндік беретін кеңейтулер енгізілді. Жақсартылған құрастырғыштың бастапқы бағдарламасы оның алдыңғы нұсқасының орындалатын файлымен (A1) A2 алу үшін екілік немесе ондық кодқа құрастырылды, және цикл қайталанды (қазір бұл жақсартулар қолжетімді болды), бүкіл нұсқаулар жиынтығы кодталғанға дейін, тармақ адрестері автоматты түрде есептелді және басқа да ыңғайлылықтар (мысалы, шартты құрастыру, макростар, оңтайландырулар және т.б.) орнатылды. Осылайша алғашқы Symbolic Optimal Assembly Program (SOAP) бағдарламасы жасалды. Компиляторлар, линкерлер, жүктегіштер және қосымша құралдар ассемблер тілінде кодталды, содан кейін қарапайым бағдарламалық жасақтаманы пайдаланып күрделі бағдарламалық жүйелерді дамыту процесі жалғасты. Бұл терминді Даг Энгельбарт та қолдады, ол ұйымдар жақсарту үшін қолданатын процестерді жетілдіру арқылы жақсырақ дами алады деген сенімін білдіреді (осылайша уақыт өте келе күшті әсерге қол жеткізеді). Оның SRI тобы NLS гипертекст жүйесін жасағанда, олар осы стратегияны өздері жасаған құралды жетілдіру үшін пайдаланды.

Компиляторлар

Жаңа бағдарламалау тілдері үшін компиляторларды жасау, олар алдымен қолданыстағы тілде жасалып, кейін жаңа тілде қайта жазылып, өзінің компиляторы арқылы құрастырылатын болса, – бұл бутстраппинг идеясының тағы бір мысалы.

Орнатушылар

Компьютерлік бағдарламаларды орнату кезінде кейде орнатушының немесе пакет менеджерінің өзін жаңарту қажет болады. Мұндай жағдайларда, әдетте кішкентай орындалатын бастапқы файл (мысалы, setup.exe) қолданылады, ол орнатушыны жаңартып, жаңарту аяқталған соң нақты орнатуды іске қосады. Кейде бастапқы файл бағдарламалық қамтамастың жұмыс істеуі үшін қажетті басқа да алғышарттарды орнату процесінде орнатады.

Үстіне-үстіне орналасқан желілер

Бутстрапингтік торап, сонымен қатар кездесу хосты деп аталады, ол жапсырма желідегі торап, жаңа қосылған тораптарға жапсырма желіге сәтті қосылуына қажетті бастапқы конфигурация ақпаратын ұсынады.

Дискрет оқиғалар симуляциясы

Дискретті оқиғалар симуляциясы деп аталатын компьютерлік симуляцияның бір түрі жүйенің жұмысын оқиғалардың хронологиялық тізбегі ретінде бейнелейді. Симуляциялық модельді бастапқы жүктеу деп аталатын техника қолданылады, ол псевдокездейі сан генераторын пайдаланып бастапқы деректерді құрып, алғашқы күтіліп тұрған оқиғалар жиынтығын жоспарлайды, олар өз кезегінде қосымша оқиғаларды жоспарлайды. Уақыт өте келе оқиғалардың пайда болу уақытының таралуы тұрақты күйге жақындайды – бастапқы жүктеу әсері тұрақты күйдің әсерімен жойылады.

Жасанды интеллект және машиналық оқыту

Бутстрапинг – классификатордың өнімділігін итеративті түрде жақсартуға қолданылатын техника. Әдетте, бірнеше классификаторлар кіріс деректерінің әртүрлі жиынтықтарында оқытылады, ал болжамдау міндеттерінде әртүрлі классификаторлардың нәтижелері біріктіріледі. Seed AI – рекурсивті түрде өзін-өзі жетілдіруге қабілетті жасанды интеллектінің гипотезалық түрі. Өзін жетілдіргеннен кейін, ол өзін жетілдіруде одан да жақсы болады, бұл интеллекттің экспоненциалды өсуіне алып келуі мүмкін. Мұндай ЖА-ның бар екені белгісіз, бірақ ол белсенді зерттеу саласы болып қала береді. Seed AI – технологиялық сингулярлық туралы кейбір теориялардың маңызды бөлігі: жақтастары Seed AI-дың дамуы тез арада (бутстрапинг арқылы) едәуір ақылдырақ интеллектке және осылайша жаңа дәуірге әкеледі деп санайды.

Статистика

Бутстрапинг – қорытынды статистикалық шамаларды бағалау үшін қолданылатын қайта сынама алу әдісі.

Биология

Ричард Доукинс өзінің "Едемнен шыққан өзен" атты кітабында биологиялық жасушалардың қалай ерекшеленетінін түсіндіру үшін компьютерлік бастапқы жүктеу (bootstrapping) тұжырымдамасын пайдаланды: "Әртүрлі жасушалар әртүрлі химиялық заттардың жиынтығын алады, олар әртүрлі гендердің комбинацияларын қосады, ал кейбір гендер басқа гендерді қосу немесе өшіру үшін жұмыс істейді. Осылайша бастапқы жүктеу жалғаса береді, толыққанды түрлі жасуша түрлерінің жиынтығы пайда болғанға дейін".

Филогенетика

Бутстраптық талдау филогенетикалық ағаштардағы кладтарға қолдау деңгейін бағалауға мүмкіндік береді. Түйінге сан жазылады, ол сол тармақтың ұштарындағы кладты анықтайтын бутстрап ағаштарының пайызын көрсетеді.

Заң

Бутстрапинг – конспирациялық істерде естіген сөздерге негізделген дәлелдерді қабылдауға тыйым салатын құқықтық қағида.

Тіл білімі

Бутстрапинг - тілдік даму теориясы.

Кванттық теория

Бутстрапинг – бөлшектердің немесе операторлардың спектрі туралы белгілі бір болжамдардан бастап, кванттық теорияның формасын анықтау үшін өте жалпы сәйкестік шарттарын пайдалану.

Магниттік түрде шектелген плазмалар

Токамак синтез құрылғыларында өздігінен зарядтау – плазманың өзі тудыратын зарядтау тогының процесі, ол сыртқы ток көзіне деген қажеттілікті азайтады немесе толығымен жояды. Зарядтау тогын барынша арттыру – жетілдірілген токамак конструкцияларының маңызды мақсаты.

Инерциялық тұйықталған плазмалар

Инерциялық тұтқындаудағы бутстрапинг – бұл синтез реакциясында пайда болатын альфа бөлшектердің плазманы қосымша қыздыруға мүмкіндік беруі. Бұл қыздыру тұтануға және жалпы энергияның артуына алып келеді.

Электроника

Бутстраппинг – аналогтық тізбектерді жобалаудағы позитивті кері байланыс түрі.

Электр энергиясы желісі

Электр желісі дерлік ешқашан қасақана тоқтатылмайды. Генераторлар мен электр станциялары қажеттілікке қарай іске қосылып, өшіріледі. Әдеттегі электр станциясы қуат өндіруге кіріспес бұрын іске қосылу үшін қуатты қажет етеді. Бұл қуат желіден алынады, сондықтан егер бүкіл желі тоқтаса, осы станцияларды іске қосу мүмкін емес. Демек, желіні іске қосу үшін, өздігінен толығымен іске қосыла алатын кем дегенде бірнеше электр станциялары болуы керек. "Қара старт" – бұл сыртқы қуатқа тәуелсіз электр станциясын қайта іске қосу процесі. Желіде қуат болмаған жағдайда, желіні бастапқы қалпына келтіру үшін бір немесе бірнеше "қара старттар" қолданылады.

Ядролық энергия

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

Ұялы байланыс желілері

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