Хувьслын алгоритмууд: энэ юу вэ, яагаад хэрэгтэй вэ

Агуулгын хүснэгт:

Хувьслын алгоритмууд: энэ юу вэ, яагаад хэрэгтэй вэ
Хувьслын алгоритмууд: энэ юу вэ, яагаад хэрэгтэй вэ
Anonim

Хиймэл оюун ухааны салбарт хувьслын алгоритм (EA) нь метахевристик оновчлолд суурилсан нийт хүн амын тооцооллын дэд хэсэг юм. EA нь нөхөн үржихүй, мутаци, рекомбинац, сонголт зэрэг биологийн хөгжлөөс үүдэлтэй механизмуудыг ашигладаг. Хувьслын оновчлолын алгоритмын асуудалд нэр дэвшигчийн шийдэл нь популяцид хувь хүний үүрэг гүйцэтгэдэг. Мөн фитнессийн функц нь хариултын чанарыг тодорхойлдог.

Хувьслын алгоритмууд нь ихэвчлэн бүх төрлийн асуудлын шийдлийг ойролцоолсон байдаг. Учир нь тэд фитнессийн суурь байдлын талаар ямар ч таамаглал дэвшүүлдэггүй. Хувьслын загварчлал, генетикийн алгоритмд ашигладаг аргууд нь ихэвчлэн микроэволюцийн үйл явцын судалгаа, эсийн үе шатанд суурилсан төлөвлөлтийн загвараар хязгаарлагддаг. Ихэнх бодит EA програмуудад тооцоолох нарийн төвөгтэй байдал нь хориглох хүчин зүйл болдог.

ҮнэндээЭнэ асуудал нь фитнессийн функцийг тооцоолохтой холбоотой юм. Фитнессийн ойролцоо тооцоолол нь энэ бэрхшээлийг даван туулах нэг шийдэл юм. Гэсэн хэдий ч энгийн мэт санагдах EA нь ихэвчлэн төвөгтэй асуудлыг шийдэж чаддаг. Тиймээс дарааллын нарийн төвөгтэй байдал ба асуудлын хооронд шууд хамаарал байж болохгүй. Илүү дэлгэрэнгүйг "Хувьслын алгоритмууд" номноос олж болно.

Хэрэгжүүлэлт

хувьслын загварчлал ба алгоритмууд
хувьслын загварчлал ба алгоритмууд

Нэгдүгээр алхам бол санамсаргүй байдлаар хувь хүмүүсийн анхны популяци үүсгэх явдал юм.

Хоёр дахь алхам бол энэ бүлгийн хүн бүрийн тохирох байдлыг үнэлэх явдал юм (цаг хугацааны хязгаар, хангалттай бэлэн байдал гэх мэт).

Гуравдугаар алхам - дуусгахын тулд нөхөн сэргээх дараах алхмуудыг давтана уу:

  1. Үржүүлэхэд хамгийн тохиромжтой хүмүүсийг сонго (эцэг эх).
  2. Үр удмаа авахын тулд кроссовер болон мутаци ашиглан хувьслын алгоритмыг давсан шинэ бодгальуудыг авчир.
  3. Шинэ хүмүүсийн бие бялдрын чийрэгжилтийг үнэл.
  4. Тохирох хамгийн бага хүн амыг тэднээр солино.

Төрөл

Генетик алгоритм нь хувьслын дараалал бөгөөд хамгийн алдартай шинжээч зөвлөхийн төрөл юм. Асуудлын шийдлийг рекомбинац, мутаци (заримдаа нэг, зарим тохиолдолд хоёулаа) гэх мэт операторуудыг ашиглан тоонуудын мөр хэлбэрээр (уламжлал ёсоор хоёртын хувилбар боловч хамгийн сайн дүрслэл нь шийдэж буй асуудалд илүү их тусгалаа олдог) хайдаг.). Энэ төрлийн шинжээчийн зөвлөхийг оновчлолын асуудалд ихэвчлэн ашигладаг. Үүний өөр нэр нь fetura (Латинаар "төрөх" гэсэн утгатай):

  1. Генетик програмчлал. Энэ нь шийдлүүдийг компьютерийн код болгон харуулдаг бөгөөд тэдгээрийн тохирох байдал нь тооцооллын ажлыг гүйцэтгэх чадвараар тодорхойлогддог.
  2. Хувьсалт програмчлал. Хувьслын генетикийн алгоритмтай төстэй боловч бүтэц нь тогтмол бөгөөд тоон үзүүлэлтүүд нь өөрчлөгдөж болно.
  3. Генийн илэрхийлэлийг програмчлах. Компьютерийн хэрэглээний программуудыг хөгжүүлдэг боловч янз бүрийн хэмжээтэй төслүүдийг тогтмол урттай шугаман хромосомууд дээр кодлодог генотип-фенотипийн системийг судалдаг.
  4. Стратеги. Бодит тоонуудын векторуудтай шийдлийн дүрслэл болгон ажилладаг. Ихэвчлэн өөрөө дасан зохицох хувьслын мутацийн хурдны алгоритмыг ашигладаг.
  5. Ялгаатай хөгжил. Векторын ялгаан дээр үндэслэсэн тул үндсэндээ тоон оновчлолын асуудалд тохиромжтой.
  6. Мэдрэлийн хувьсал. Хувьслын програмчлал, генетикийн алгоритмтай төстэй. Гэхдээ сүүлийнх нь холболтын бүтэц, жинг дүрсэлсэн хиймэл мэдрэлийн сүлжээ юм. Геномын кодчилол нь шууд болон шууд бус байж болно.

Биологийн процесстой харьцуулах

Хувьслын олон алгоритмын боломжит хязгаарлалт нь генотип ба фенотипийн хооронд тодорхой ялгаа байхгүй явдал юм. Байгальд бордсон өндөг боловсорч гүйцэхийн тулд үр хөврөл үүсэх гэж нэрлэгддэг нарийн төвөгтэй процессыг явуулдаг. Энэхүү шууд бус кодчилол нь генетикийн хайлтыг илүү найдвартай болгодог (өөрөөр хэлбэл үхлийн мутаци үүсгэх магадлал багатай) мөн организмын хөгжлийн чадварыг сайжруулдаг гэж үздэг. Ийм шууд бус (өөрөөр хэлбэл,үүсгэгч эсвэл хөгжлийн) кодчилол нь мөн хувьсалд хүрээлэн буй орчны тогтмол байдлыг ашиглах боломжийг олгодог.

Хиймэл үр хөврөл үүсгэх буюу хөгжлийн системд хийсэн сүүлийн үеийн ажил эдгээр асуудлыг шийдвэрлэхийг зорьж байна. Генийн илэрхийлэлийг програмчлахдаа генотип-фенотипийн бүсийг амжилттай судалж, эхнийх нь тогтмол урттай шугаман олон ген хромосом, хоёр дахь нь олон илэрхийллийн мод эсвэл янз бүрийн хэмжээ, хэлбэрийн компьютерийн программуудаас бүрддэг.

Холбогдох техникүүд

хувьслын алгоритмууд
хувьслын алгоритмууд

Алгоритмуудад:

  1. Шоргоолжны колони оновчлол. Энэ нь шавжнууд феромонтой холбогдож зам үүсгэн хоол хүнс хайж байдаг гэсэн санаан дээр суурилдаг. Голчлон комбинаторын оновчлол болон графикийн асуудалд тохиромжтой.
  2. Root слайдер алгоритм. Бүтээгч нь байгаль дахь ургамлын үндэсийн үйл ажиллагаанаас санаа авсан.
  3. Хиймэл зөгийн колони байгуулах алгоритм. Зөгийн балны зан төлөвт үндэслэсэн. Энэ нь үндсэндээ тоон оновчлолд зориулагдсан бөгөөд нэгтгэсэн, хязгаарлагдмал, олон зорилготой асуудлыг шийдвэрлэхэд зориулагдсан болно. Зөгий алгоритм нь шавьжны идэш тэжээлийн зан төлөвт суурилдаг. Үүнийг чиглүүлэлт, хуваарь гэх мэт олон аппликешнд ашигласан.
  4. Бөөмийн сүргийн оновчлол - амьтны сүргийн зан үйлийн санаан дээр үндэслэсэн. Мөн үндсэндээ тоон процессын ажилд тохиромжтой.

Бусад түгээмэл метахеуристик аргууд

  1. Ан хайлт. Чоно гэх мэт тодорхой амьтдыг бүлэглэн барихад үндэслэсэн аргаолзыг бүслэх үүргээ хуваарилдаг. Хувьслын алгоритмын гишүүд тус бүр нь бусадтай ямар нэгэн байдлаар холбоотой байдаг. Энэ нь ялангуяа удирдагчийн хувьд үнэн юм. Энэ бол комбинатор үйл явцын арга болгон тохируулсан тасралтгүй оновчлолын арга юм.
  2. Хэмжилтээр хайх. Дасан зохицох үйл явцын алгоритм нь байгальд суурилсан метахевристик аргуудаас ялгаатай нь метафорыг үндсэн зарчим болгон ашигладаггүй. Үүний оронд хайлтын хэмжээсийн харьцааны параметрийг давталт бүрт шинэчлэхэд суурилсан гүйцэтгэлд чиглэсэн энгийн аргыг ашигладаг. Галт шувууны алгоритм нь галт шувууд анивчдаг гэрлээрээ бие биенээ хэрхэн татдаг вэ гэдгээс санаа авсан. Энэ нь ялангуяа олон талт оновчлолд хэрэгтэй.
  3. Эв зохицлыг эрэлхийл. Хөгжимчдийн зан байдлын талаархи санаанууд дээр үндэслэсэн. Энэ тохиолдолд эволюцийн алгоритмууд нь комбинаторын оновчлолд хүрэх арга зам юм.
  4. Гаусын дасан зохицох. Мэдээллийн онол дээр үндэслэсэн. Гүйцэтгэл болон дундаж хүртээмжийг нэмэгдүүлэхийн тулд ашигладаг. Энэ нөхцөлд хувьслын алгоритмуудын жишээ: термодинамик дахь энтропи ба мэдээллийн онол.

Memetic

хувьслын загварчлал
хувьслын загварчлал

Ричард Доукинсын меме-ийн санаан дээр үндэслэсэн эрлийз арга. Энэ нь ихэвчлэн орон нутгийн сайжруулалтыг гүйцэтгэх чадвартай хувь хүний сургалтын журамтай хослуулсан хүн амд суурилсан алгоритмын хэлбэрийг авдаг. Асуудлын талаархи мэдлэгийг ашиглахыг онцлон тэмдэглэж, нарийвчилсан, глобал хайлтыг синергетик байдлаар зохион байгуулах оролдлого.

ХувьсалтАлгоритмууд нь сонгодог NP-хүнд бодлого болон бүрэн боловсруулахад хэтэрхий удаан хугацаа шаардагдах бусад аливаа асуудал гэх мэт олон гишүүнт хугацаанд амархан шийдвэрлэх боломжгүй асуудлуудын эвристик арга юм. Бие даасан байдлаар ашиглах үед тэдгээрийг ихэвчлэн комбинаторын асуудлуудад ашигладаг. Гэсэн хэдий ч генетикийн алгоритмыг ихэвчлэн бусад аргуудтай хамтад нь ашигладаг бөгөөд энэ нь ажиллахад тохиромжтой олон цэгийг хурдан олоход тусалдаг.

Та байгалийн шалгарлын үйл явцыг сайн мэддэг бол хувьслын алгоритмын үндэслэл (зөвлөгч гэгддэг) маш энгийн. Үүнд дөрвөн үндсэн алхм орно:

  • эхлүүлэх;
  • сонголт;
  • генетик операторууд;
  • төгсгөл.

Эдгээр алхам бүр нь байгалийн шалгарлын тодорхой талтай ойролцоогоор тохирч, алгоритмын ангиллыг модульчлах хялбар аргуудыг өгдөг. Энгийнээр хэлбэл, EA-д хамгийн чадварлаг гишүүд амьд үлдэж, үржих болно, харин тохиромжгүй гишүүд үхэж, дараагийн үеийн удмын санд хувь нэмэр оруулахгүй.

Эхлүүлэх

Алгоритмыг эхлүүлэхийн тулд та эхлээд шийдлүүдийн багц үүсгэх ёстой. Хүн ам нь ихэвчлэн гишүүд гэж нэрлэгддэг асуудлын боломжит мэдэгдлүүдийг дурын тоог агуулна. Тэдгээрийг ихэвчлэн санамсаргүй байдлаар (даалгаврын хязгаарлалтын хүрээнд) үүсгэдэг, эсвэл зарим нэг өмнөх мэдлэг нь мэдэгдэж байгаа бол хамгийн тохиромжтой гэж үзсэн зүйлийн эргэн тойронд урьдчилсан байдлаар төвлөрсөн байдаг. Хүн ам нь өргөн хүрээний шийдлүүдийг хамарсан байх нь чухал. Учир нь энэ нь үндсэндээ удмын сан юм. Тиймээс, хэрэв хүн алгоритм дотроо олон янзын боломжуудыг судлахыг хүсвэл олон өөр гентэй байхыг хичээх хэрэгтэй.

Сонголт

генетикийн кодууд
генетикийн кодууд

Хүн амыг үүсгэсний дараа гишүүдийг фитнессийн функцээр нь үнэлэх ёстой. Фитнесс функц нь гишүүний шинж чанарыг авч, тухайн гишүүн хэр тохиромжтой болохыг тоон хэлбэрээр илэрхийлдэг. Тэдгээрийг бүтээх нь ихэвчлэн маш хэцүү байдаг. Өгөгдлийг үнэн зөв илэрхийлэх сайн системийг олох нь чухал. Энэ нь асуудалд маш тодорхой байна. Одоо бүх оролцогчдын тохирох байдлыг тооцоолж, шилдэг гишүүдээс сонгох шаардлагатай байна.

Олон зорилгын функцүүд

EA-г мөн эдгээр системийг ашиглахын тулд өргөтгөх боломжтой. Энэ нь үйл явцыг зарим талаар хүндрүүлдэг, учир нь тэдгээрийг ашиглахдаа нэг оновчтой цэгийг тодорхойлохын оронд багцыг олж авдаг. Шийдлийн багцыг Паретогийн хил гэж нэрлэдэг бөгөөд тэдгээрийн аль нь ч бусдыг давамгайлахгүй гэсэн утгаараа адилхан тохиромжтой элементүүдийг агуулна.

Генетик операторууд

Энэ алхам нь кроссовер болон мутаци гэсэн хоёр дэд алхамыг агуулна. Шилдэг нэр томъёог сонгосны дараа (ихэвчлэн эхний 2, гэхдээ энэ тоо өөр байж болно) одоо тэдгээрийг алгоритмын дараагийн үеийг бий болгоход ашигладаг. Сонгосон эцэг эхийн шинж чанарыг ашигласнаар чанаруудын холимог шинэ хүүхдүүдийг бий болгодог. Энэ нь өгөгдлийн төрлөөс хамааран ихэвчлэн хэцүү байж болох ч ихэвчлэн хосолсон асуудлуудад байдагхүчинтэй хослолуудыг хольж гаргах бүрэн боломжтой.

Одоо удамшлын шинэ материалыг удамд нэвтрүүлэх шаардлагатай байна. Хэрэв энэ чухал алхамыг хийхгүй бол эрдэмтэн орон нутгийн хэт туйлшралд маш хурдан гацаж, оновчтой үр дүнд хүрэхгүй. Энэ алхам нь мутаци бөгөөд үүнийг маш энгийнээр хийдэг бөгөөд хүүхдүүдийн багахан хэсгийг ихэвчлэн эцэг эхийн генийн дэд бүлгийг тусгадаггүй байдлаар өөрчилдөг. Мутаци нь ихэвчлэн магадлалын дагуу тохиолддог, учир нь хүүхэд үүнийг авах магадлал болон түүний хүндийн зэрэг нь тархалтаар тодорхойлогддог.

Цуцлалт

загварчлал ба алгоритмууд
загварчлал ба алгоритмууд

Төгсгөлд нь алгоритм дуусах ёстой. Энэ нь ихэвчлэн хоёр тохиолдолд тохиолддог: гүйцэтгэлийн дээд хязгаарт хүрсэн эсвэл гүйцэтгэлийн босго хэмжээнд хүрсэн. Энэ үед эцсийн шийдлийг сонгоод буцаана.

Хувьслын алгоритмын жишээ

Одоо энэ үйл явцын үр дүнг харуулахын тулд та зөвлөхийг ажиллаж байгаа харах хэрэгтэй. Үүнийг хийхийн тулд үлэг гүрвэлийн хэд хэдэн үе хэрхэн алхаж сурсан (газар аажим аажмаар эзэмшиж), биеийн бүтцийг оновчтой болгож, булчингийн хүчийг ашиглаж байсныг бид санаж болно. Хэдийгээр эрт үеийн мөлхөгчид алхаж чаддаггүй байсан ч зөвлөх тэднийг цаг хугацааны явцад мутаци болон кроссоверын замаар алхаж болох хэлбэрт шилжүүлж чадсан.

Эдгээр алгоритмууд нь орчин үеийн ертөнцөд улам бүр хамааралтай болж байна, учир нь тэдгээрт суурилсан шийдлүүд дижитал маркетинг, санхүү болон бусад салбарт улам бүр ашиглагдаж байна.эрүүл мэндийн тусламж үйлчилгээ.

EA-г хаана ашигладаг вэ?

Өргөн утгаараа хувьслын алгоритмуудыг зураг боловсруулах, тээврийн хэрэгслийн чиглүүлэлт, хөдөлгөөнт холбооны оновчлол, програм хангамж хөгжүүлэлт, тэр ч байтугай хиймэл мэдрэлийн сүлжээний сургалт зэрэг олон төрлийн хэрэглээнд ашигладаг. Эдгээр хэрэгслүүд нь Google Газрын зураг, тэр ч байтугай The Sims зэрэг тоглоом зэрэг хүмүүсийн өдөр тутам ашигладаг олон програм, вэбсайтуудын гол цөм юм. Нэмж дурдахад анагаах ухааны салбар нь хорт хавдрын эмчилгээний талаар эмнэлзүйн шийдвэр гаргахад туслах зорилгоор EA ашигладаг. Үнэн хэрэгтээ хувьслын алгоритмууд нь маш бат бөх байдаг тул тэдгээрийг бараг бүх оновчлолын асуудлыг шийдвэрлэхэд ашиглаж болно.

Мурын хууль

EO-ийн тархалт нэмэгдэж байгаа нь тооцоолох хүчин чадал болон том мэдээллийн багцын хуримтлал гэсэн хоёр үндсэн хүчин зүйлээс шалтгаалж байна. Эхнийх нь компьютерын тооцоолох хүчин чадал ойролцоогоор хоёр жил тутамд хоёр дахин нэмэгддэг гэж үндсэндээ заасан Мурын хуулиар тайлбарлаж болно. Энэхүү таамаглал олон арван жилийн турш үргэлжилсээр ирсэн. Хоёрдахь хүчин зүйл нь технологид өсөн нэмэгдэж буй найдлагатай холбоотой бөгөөд энэ нь байгууллагуудад гайхалтай их хэмжээний өгөгдөл цуглуулах боломжийг олгодог бөгөөд энэ нь чиг хандлагыг шинжлэх, бүтээгдэхүүнийг оновчтой болгох боломжийг олгодог.

Хувьслын алгоритмууд маркетеруудад хэрхэн туслах вэ?

генетикийн загварчлал
генетикийн загварчлал

Зах зээлийн нөхцөл байдал хурдацтай өөрчлөгдөж, маш өрсөлдөөнтэй байна. Энэ нь маркетингийн менежерүүдийг илүү сайн шийдвэр гаргахын төлөө өрсөлдөхөд хүргэсэн. Боломжтой хэмжээг нэмэгдүүлэхТооцооллын хүч нь ажилчдыг асуудал шийдвэрлэхэд EA ашиглахад хүргэсэн.

Хөрвөлтийн оновчлол

загварчлал ба генетикийн алгоритмууд
загварчлал ба генетикийн алгоритмууд

Хамгийн гол зорилгын нэг бол сайтад зочлох хүмүүсийн тоог нэмэгдүүлэх явдал юм. Энэ асуудал нь зах зээлдүүлэгчийн хүссэн зүйлийг хийдэг хэрэглэгчдийн тоог оновчтой болгоход хүргэдэг. Жишээлбэл, хэрэв компани зөөврийн компьютер зардаг бол хамгийн тохиромжтой нь тухайн бүтээгдэхүүнийг худалдан авах сайтын зочдын тоог нэмэгдүүлэх явдал юм. Энэ бол хөрвүүлэх хурдыг оновчтой болгохын мөн чанар юм.

Гайхалтай чухал талуудын нэг бол хэрэглэгчийн интерфейсийн сонголт юм. Хэрэв вэб дизайн нь хэрэглэгчдэд тийм ч таатай биш бол ямар нэг шалтгааны улмаас бүтээгдэхүүнийг худалдаж авахгүй байх хүмүүс байдаг. Үүний зорилго нь хөрвүүлэхгүй байх хэрэглэгчдийн тоог багасгах явдал бөгөөд энэ нь нийт ашгийг нэмэгдүүлдэг.

Зөвлөмж болгож буй: