Արհեստական բանականությունն ընդդեմ դասական ալգորիթմական ծրագրավորման

Դասական ալգորիթմային ծրագրավորումից դեպի Արհեստական Ինտելեկտ

Էնթոնի Քվատրոնե, PhD 30 ապրիլի, 2022

Արհեստական բանականության ոլորտում առաջընթացը թույլ է տվել արդյունավետ կերպով լուծել բարդ հաշվողական խնդիրներ, որոնք նախկինում դժվար, անլուծելի կամ խիստ կոմբինատոր բնույթ են կրել: Այս խնդիրները ներառում են դեմքի ճանաչումը, օբյեկտների հայտնաբերումը, երթուղային պլանավորումը և խիստ անհատականացված առցանց խորհուրդների տվող համակարգերը:

Ապագա զարգացումների ուղղությամբ առաջ շարժվող կազմակերպությունների համար մարտահրավերն այն է, որ ռազմավարական որոշումներ կայացնողները պետք է ընտրություն կատարեն ավանդական դասական մոտեցումների և արհեստական ինտելեկտի մոտեցումների միջև՝ բարդ հաշվողական խնդիրներ լուծելու համար: Երկու մեթոդն էլ ունի եզակի մարտահրավերներ՝ ամուր համակարգ ապահովելու ճշգրտության, ծախսերի, իրականացման դժվարության և սպասարկելիության չափումներով:

Խնդիրների լուծման դասական ալգորիթմային ծրագրավորման մոտեցումը

Դասական ծրագրավորման պարադիգմը ներառում է խնդիրների լուծումը կանոնադրական ալգորիթմների միջոցով և հրահանգների հստակ սահմանված հաջորդականության կիրառումը: Մուտքային տվյալները սահմանվում և սահմանափակվում են, մշակվում են ալգորիթմներ՝ մուտքային տվյալները մշակելու համար սահմանված ծրագրավորման պարադիգմների (պրոցեդուրային, օբյեկտ-կողմնորոշված, ֆունկցիոնալ և տրամաբանական) միջոցով՝ արդյունքներ ստանալու նպատակով:

Ալգորիթմների հայտնաբերումը՝ ժամանակային և տարածական առումով արդյունավետ խնդիրներ լուծելու համար, հայտնի է որպես չափազանց բարդ խնդիր։ Հաշվողական բարդության տեսության մեջ խնդիրները լինում են կամ P (Պոլինոմային), NP (Ոչ դետերմինիստական պոլինոմային), NP-Complete կամ NP-Hard։ Պոլինոմային խնդիրները կարող են արագ լուծվել և ստուգվել, մինչդեռ ոչ պոլինոմային խնդիրները՝ ոչ։ NP խնդիրները դժվար է լուծել դասական ալգորիթմային մոտեցումներով։

P խնդրի օրինակ է երկու կետերի միջև ամենակարճ ճանապարհը գտնելը, մինչդեռ NP խնդրի օրինակ է ճամփորդող վաճառականի խնդիրը, որտեղ տրված լինելով մի շարք վայրեր՝ որն է բոլոր վայրերը այցելելու օպտիմալ ճանապարհը՝ անցնելով ամենակարճ հնարավոր հեռավորությունը։ Պատահում է այնպես, որ ներկայումս հաշվողական ճանապարհով լուծելու անհրաժեշտություն ունեցող խնդիրներից շատերն ընկնում են NP կատեգորիայի մեջ։ Շատ դեպքերում, գործնական նպատակների համար, մոտավոր լուծումը հաճախ բավարար է։ Առօրյա կյանքին մոտենալիս մարդիկ միշտ գտնում են մոտավոր լուծումներ, այսինքն՝ նավիգացիա։

Կան իրագործման մարտահրավերներ՝ դասական ալգորիթմական պարադիգմի ներքո խնդիրները արդյունավետ կերպով լուծելիս: Ալգորիթմական բարդությունը համակարգչային գիտության ճյուղ է, որը զբաղվում է նրանով, թե որքան արդյունավետ են աշխատում ալգորիթմները ժամանակային (ժամանակի բարդություն) և տարածական (տարածության բարդություն) ոլորտներում:

Թեև ալգորիթմների իրագործման բազմաթիվ տարբեր եղանակներ կան, ալգորիթմի իրագործման ակնհայտ, բայց հնարավոր է՝ ոչ արդյունավետ եղանակը հաճախ անվանում են «նաիվ» ալգորիթմ: Ամենաարդյունավետ ալգորիթմները հեշտ չէ հայտնաբերել, և համակարգչային գիտության մասնագետները տարիներ շարունակ աշխատում են խնդիրների դասերը լուծելու լավագույն ալգորիթմները գտնելու ուղղությամբ: Արտադրական համակարգերում ալգորիթմներն իրագործվում են ժամանակային և տարածական առումով արդյունավետ եղանակներով: Ամենախոշոր ծրագրային ապահովման ընկերություններն ապահովում են ալգորիթմական ամենաբարձր չափանիշները գործընկերային ծրագրավորման միջոցով, ինչը նման է գործընկերային գրախոսմանը: Ալգորիթմներն արդյունավետ իրագործելու համար անհրաժեշտ է երկարամյա վարժանք և բարձր հմտություն:

Գործնական իմաստով, մինչդեռ ծրագրավորման տեխնիկան զարգացել է և ծրագրավորման լեզուները (այսինքն՝ C, C++, Java, JavaScript, PHP, Python) տարբերվել են իրենց ժողովրդականությամբ, հիմունքները մնացել են նույնը այն ժամանակից ի վեր, երբ Bell Labs-ը, 1970-ականներին, գրեց առաջին C մոդուլները: Կան որոշ գործնական եղանակներ՝ տեսականորեն բարդ խնդիրները արտադրության մեջ գործարկելու համար, ինչպիսիք են բաշխված համակարգերի օգտագործումը: Ընդլայնված մոտեցումներն ունեն ավելի բարձր արժեք և գերազանցում են բոլորի, բացի ամենատեխնոլոգիական առաջադիմական կազմակերպությունների, հնարավորությունները:

Հաշվի առնելով դասական ալգորիթմական ծրագրավորման մոտեցումների բարդությունը՝ կազմակերպությունները վաղուց ի վեր դժվարացել են կառուցել արդյունավետ թիմեր՝ նման համակարգեր ներքին ճանապարհով ստեղծելու համար: Բացի այդ, շատերը նաև դժվարացել են գտնել արտաքին մատակարարներ՝ լուծելու այնպիսի մասնագիտացված խնդիրներ, որոնք տեսականորեն հնարավոր է իրագործել: Հատուկ ալգորիթմի նախագծումը զգալիորեն ավելի բարդ է դառնում, երբ մեծանում է խնդրի բարդությունը: Սա հատկապես վերաբերում է բազմափոփոխական խնդիրներին: Լավագույնն է օգտագործել դասական ալգորիթմական մոտեցումներ այն իրավիճակներում, երբ ալգորիթմը կարող է արագ լուծել խնդիրը և աշխատում է գրեթե բոլոր դեպքերում:

Խնդիրներ լուծելու AI մոտեցումը

Արհեստական բանականության պարադիգմը փորձում էր ընդհանուր առմամբ լուծել խնդիրները՝ համակարգին տրամադրելով մուտքային և ցանկալի ելքային տվյալները և համակարգին թույլ տալով սովորել, թե ինչպես լուծել խնդիրները: Ժամանակակից AI մոտեցումները գործում են դասական համակարգիչների վրա՝ դասական ծրագրավորման տեխնիկայի միջոցով: Ամենահուզիչ AI մեթոդներն են նեյրոնային ցանցերը և ամրապնդման ուսուցումը:

Արհեստական նեյրոնային ցանցերն օգտագործում են մարդու այն ըմբռնումը, թե ինչպես է մարդու միտքը սովորում և ընդհանրացնում խնդիրները: Ամրապնդման ուսուցումն օգտագործում է գործակալներ, որոնք մուտքագրում են նպատակային վիճակ և մի շարք սցենարներ: Ուսուցման ալգորիթմը բազմակի կրկնությունների ընթացքում պահպանում է նախընտրելի արդյունքները և հրաժարվում անբարենպաստ արդյունքներից: Ամրապնդման ուսուցումը նման է օպերանտ պայմանավորմանը: Գործակալը սովորում է, թե ինչպես հասնել նպատակին բազմաթիվ մարզման կրկնությունների ընթացքում:

Արհեստական բանականության լուծումների ուսուցման պահանջը կամ լավ սահմանված ընդարձակ տվյալների բազա է, որը սովորաբար կազմվում է տարբեր տվյալների պահոցների կամ ամբոխից ստացված տվյալների համադրության միջոցով, կամ համակարգը կարող է սովորել հասնել նպատակային վիճակի՝ անցնելով մի շարք կրկնությունների միջով։ Դրա օրինակ է այն համակարգը, որը ինքն իր դեմ խաղ է խաղում, ինչպիսիք են Շախմատը կամ Գոն, որպեսզի ավելի լավ սովորի զարգացնել ռազմավարություններ՝ արդյունքները բարելավելու համար։ Արհեստական ցանցը և ամրապնդման ուսուցումը երկուսն էլ իրականացվում են այն սցենարների վրա, որոնց համար այն չի ուսուցվել, և գնահատվում են նմանատիպ կերպով այլ մեքենայական ուսուցման մոտեցումների համեմատ։ Այս մոտեցումները լավ ընդհանրացնում են և ապահովում են արդյունավետ լուծումներ՝ տրված խնդիրների դասի համար։ Արհեստական բանականության վրա հիմնված լուծումները հարմար են այն խնդիրներին, որոնք հնարավոր չէ հեշտությամբ սահմանել հրահանգների հաջորդականությամբ. դրա փոխարեն անհրաժեշտ են ավելի շատ «ինտուիցիա» և արժեքային դատողություններ։

Սովորաբար, Արհեստական Ինտելեկտի (AI) համակարգերը մարզվում են տվյալների հավաքածուների միջոցով և ավելի ուշ գնահատվում են գնահատման հավաքածուի վրա: Որքան շատ բարձրորակ մարզման տվյալներ մուտքագրվեն AI համակարգ, այնքան բարձր է համակարգի բարձր ստանդարտներով գործելու հավանականությունը: AI մոտեցումների առավելությունն այն է, որ դրանք կարող են շարունակել բարելավվել ժամանակի ընթացքում, քանի որ համակարգն ավելի շատ է սովորում: Այսպիսով, բարդ խնդիրները կարող են ընդհանրացվել և լուծվել հաշվողական համակարգերի կողմից: Դրանք ներառում են ավանդաբար մարդկային մուտքով լուծվող խնդիրներ, թեև նեղ AI-ը կարող է դիտարկվել որպես գոյություն ունեցող մարդկային մուտքի հավելում՝ ավելի լավ արդյունքներ ապահովելու համար:

Արհեստական բանականությունը և մեքենայական ուսուցումը երկար ժամանակ զգուշավորությամբ են դիտարկվել կազմակերպությունների կողմից, քանի որ նման համակարգերը չունեն հետագծելիություն և որոշելիություն առ այն, թե ինչպես կարձագանքեն կիրառման դեպքերին: Այսպիսով, AI-ը կարող է գործել հազվադեպ հանգամանքներում և անկանխատեսելի կերպով արձագանքել, երբ ամենաքիչն ես սպասում: Ահա թե ինչու կարևոր է ունենալ հստակ սահմանված կիրառման դեպքեր այն մասին, թե երբ պետք է օգտագործել AI-ը, ինչ մակարդակի սխալներ են ընդունելի և ինչպես AI համակարգերի կողմից արտադրված արդյունքները կստուգվեն մարդկային մուտքի կողմից՝ ճշգրտությունն ապահովելու համար:

Ընդհանուր առմամբ, մենք կանխատեսում ենք, որ AI համակարգերի կողմից բերվելիք բարելավված ճշգրտությունը, զուգորդված մարդկային ներդրման համալրման շնորհիվ ձեռք բերված արդյունավետությամբ, կունենա չափազանց մեծ ֆինանսական խթան շատ կազմակերպությունների համար՝ այն անտեսելու համար գալիք տարիներին. AI համակարգերը կդառնան տարածված:

Ե՞րբ ընտրել արհեստական բանականություն և ե՞րբ դիմել դասական ալգորիթմական ծրագրավորման մոտեցմանը՝ խնդիրներ լուծելու համար

Թեև չկան հստակ և խիստ կանոններ այն մասին, թե երբ օգտագործել որևէ մոտեցում, որպես ընդհանուր կանոն՝ մոտավոր լուծումներ պահանջող և նպատակաուղղված երկարաժամկետ պլանավորում, բարդ օրինակների ճանաչում ու բազմաթիվ փոփոխականների մշակում ներառող խնդիրներն ավելի հարմար են AI-ի համար: Դասական ալգորիթմական մոտեցումներն ավելի հարմար են ճշգրիտ կամ մոտ-օպտիմալ լուծումների համար, որոնք ներառում են բարդ տրամաբանություն և հաշվարկներ:

Ճիշտ մոտեցման ընտրությունը կարող է զգալի առավելություններ բերել ձեր կազմակերպությանը, մինչդեռ պակաս օպտիմալ մեթոդի ընտրությունը կարող է հանգեցնել զգալի կապիտալի կորուստների, քանի որ տեխնոլոգիական նախագծերը թանկ են: Հաճախ ապացուցված և ցուցադրելի համակարգերի ընտրությունը, ինչպիսիք են Telemus AI™-ը, կարող է օգնել կազմակերպություններին ապահովել իրենց Արհեստական Բանականության թվայնացման հաջողությունը:

Կապվեք մեզ հետ այսօր՝ Telemus AI™-ը ձեր կազմակերպության մեջ ինտեգրելու վերաբերյալ անվճար խորհրդատվության համար: