Мазмуну:

Kit Ciencia Y Arte: Algoritmo Genético (Вида Жасалма): 6 кадам
Kit Ciencia Y Arte: Algoritmo Genético (Вида Жасалма): 6 кадам

Video: Kit Ciencia Y Arte: Algoritmo Genético (Вида Жасалма): 6 кадам

Video: Kit Ciencia Y Arte: Algoritmo Genético (Вида Жасалма): 6 кадам
Video: Майкл Левин и Иоша Бах: Коллективный разум 2024, Ноябрь
Anonim
Kit Ciencia Y Arte: Algoritmo Genético (жасалма Vida)
Kit Ciencia Y Arte: Algoritmo Genético (жасалма Vida)

Los algoritmos genéticos son probablemente una de las cosas más interesantes de la computación (en my opinión). Básicamente se toma la idea de evolución de la biología, y se aplica a unit compitadora compa para para problemer problem.

Алгоритм генетиканын негизги бөлүктөрү болуп саналат. Аккредиттөө алгоритминин жардамы менен финансылык шарттар менен жабдылган. Usamos el Circuit Playground (CP) де Adafruit hacer el ejercicio.

Элестетип көрүңүзчү, бул жердеги шарттар, сиз эң сонун шарттарды түзүп бересиз. Элдик CP, бул автомобилдин эффективдүүлүгүнүн жоктугу, ошондой эле сенсордун иштөө мүмкүнчүлүгүнүн жоктугу. Төмөнкү шарттар боюнча: Бул эң чоң мааниге ээ. Трактордук схема генетиканын алгоритмдерине кирет.

REVERTENCIA: AVANZADOS

1 -кадам: материалдар

Материалдар
Материалдар
Материалдар
Материалдар

Жөнөкөй:

  1. Circuit Playground (cduquier Arduino con leds y sensor de luz)
  2. Baterías
  3. USB кабели
  4. Алгоритмдин негизги түрлөрү

2 -кадам: Búsqueda Al Azar

Búsqueda Al Azar
Búsqueda Al Azar

Элестетүү - моно, аперандандо летра жана компьютердик эсептөөлөр, моно жөнөкөйлүк презентациясы. Төмөнкү 50 дюймга чейин, башкача айтканда (жеке моно презентациясы жеке көзкарандысыздыкка), жана ыктымалдуулук 1/50 = 0,02 презентацияда.

Башкача айтканда, "банано", "палата" деген эмне? SI refuesta corta es SI !!!

Туура эмес чечүү үчүн, бул эң башкысы. Vamos esto estadísticamente. "Банано" эсеби эң башкысы болуп саналат:

(1/50) x (1/50) x (1/50) x (1/50) x (1/50) x (1/50) = (1/50)^6

Эң негизгиси a 1 sobre 15 625 000 000, жана "банано", жана 1 миллионго чейин миллиондогон… ыктымал! Dicho de otro modo, es muy poco ыктымал que un mono escriba la palabra "banano" escribiendo teclas al azar, ah, per tié téviéramos 15 millones de monos escribiendo, pos posible que uno de ellos escriba la palabra "banano". poco ыктымал, бирок мүмкүн эмес.

Formalicemos esta idea un poco. SI (1/50)^6 эсеби "банано", жазуу, 1- (1/50)^6 эсеби жок. Маанилүү нерселердин эң маанилүүсү - бул мүмкүн эмес болгон шарттар:

P = [1- (1/50)^ 6]^ n

Башкача айтканда, P = 1, n millon de veces, P = 0.999936, 10 миллион миллон үчүн, P = 0.53, y mientras más grande se n, más me acerco a P = 0, es decir, un un numero infinito de nintos, pédo est seguro de que el mono va a escribir la palabra "banano".

Бул жерде эч кандай чектөөлөр жок, бирок алар азырынча жок, бирок азырынча жалгыз эмес. Палабраса, la fuerza bruta no es una forma efectiva de buscar una solución

Маравиллосо эса ля натуралеза Busca al azar, pero de manera constructiva, es decir, busca de forma aleatoria pero manteniendo unaena solución haciendo modificaciones a veces fuertes a veces pequeñas de ellas. Esa es la manera en que el algoritmo genético funciona, tomando идеялар del como se genera la variabilidad genética en los seres vivos, жана алгоритмдин паракорлору, компьютерлердин финансылык көйгөйлөрү. Entonces aunque contiene elementos de azar, también tiene memoria y hace que acad nijo de buscar la solución, эч кандай деңиз Independiente дел ниети алдынкы.

ЭСКЕРТҮҮ: Busquen информация информациясы

3 -кадам: Evolución Y Definiciones

Evolución Y Definiciones
Evolución Y Definiciones
Evolución Y Definiciones
Evolución Y Definiciones
Evolución Y Definiciones
Evolución Y Definiciones

La evolución

Algoritmo genético (AG) - бул көйгөйдү чечүү үчүн бир көйгөйдү чечүү. El AG, Дарвиниананын негизги принциптери:

  • Herencia: los características de sus padres. Эн el AG мааниси
  • Дагы башка варианттар: en el AG, signa que deebe agregary variablesidad de alguna manera para encontrar nuevas Soluciones
  • Тандоо: Жөнөкөй сөз менен айтканда. Төмөнкү функциялар "фитнес" менен гана чектелет:

Мени бир метрге чейин эсептөө да, комуздун функциясы да, эволюция менен да, Algoritmo Genético менен да ачылды.

Definiciones

Алгоритмдин ачык -айкын көрсөтмөлөрү боюнча, биз дагы бир нерсени аныктап алдык. Estas definitsiones son comunes en cualquier explicación de algoritmo genético que encuentren, les les facilitará entender la literatura en las redes.

  1. Баштапкы көйгөйлөр "codificar" көйгөйлөрүн чечүү үчүн, бул көйгөйдү чечүү үчүн КПКнын өкүлү болуп саналат. Hacemos de manera sencilla. Комментарийлердин сүрөтү, сүрөтү 10 LEDS "1" же "0" дегенди камтыйт, ал 10 элементти камтыйт, алар 100000000 мааниге ээ болот: 0 y 2 están encendidos, y el resto апагадос. y 0010011010, que los leds 2, 5, 6 y 8 están encendidos
  2. Una Población es un conjunto de posibles combinaciones de leds encendidos (ver la imagen de población), башкача айтканда, башка тилдерде. Cromosoma un elemento en la población. Кромосомага эч кандай көңүл бурулбайт
  3. Бул жерде, LED'лердин жардамы менен, экрандарда, сүрөттөрдө, арбитраждык позицияларда 5 камера жана апагадо бар.
  4. Бул жерде рекомбинациялар бар, алар кромосомалар, эскогер жана пунктту түзүү, интерактивдүү маалымат алмашуу (диаграмма)
  5. Ден -соолукту чыңдоо үчүн, критерийлер боюнча баалоо жүргүзүлөт, бирок бул кризистин эң чоңу. Эң негизгиси, бул жерде күчөтүлгөн тартипте иш алып баруу

4 -кадам: El Algoritmo

El Algoritmo
El Algoritmo
El Algoritmo
El Algoritmo
El Algoritmo
El Algoritmo

пасо жана пасо

  1. Creek una población de muchos cromosomas inicializados al azar
  2. Эсептөө "фитнеске" кирүү менен бааланат
  3. Copyar el mejor recombinando con el segundo mejor al resto de la población
  4. Тиркемелерди алмаштыруу керек
  5. Part 2 де кайталаңыз

Ejemplo

Como expliqué en las definiciones, una tira (cromosoma) 1000101010, los leds encendidos "1" y apagados "0", эл аралык оюн аянтчасы. "Фитнес" комментарийлеринин тизмеси:

фитнес = (лекция сабагы) x 0.5 - (nedser de leds) x 0.5

Noten como restamos el numero de leds en la fórmula, pues queremos la mejor luz con la cantidad menor de leds, entonces si una solución es en en luz pero con menos leds, seleccionaremos esa.

Аккорд эн -лос -ледс корпусуна жооп берет жана фитнес менен машыгат. Эскертүү:

0011100000 фитнес = 98.5

1011100001 фитнес = 102.5

1010101011 фитнес = 102

Лос -де -фитнес оюну 102.5 жана 102, тандоо эсос, рекомбинация жана рекомбинацияны өзгөртүү жана өзгөртүү, бул жерде эң сонун шарттар бар, 1011100001

0011101011

1010100011

Фитнес жана фитнесс боюнча тынымсыз машыгууларды өткөрүп берүү керек. Кандайдыр бир көйгөйдү чечүү үчүн, эң башкысы, эң башкысы, эң башкысы - бул жерде.

5 -кадам: El Codigo

El Codigo
El Codigo
El Codigo
El Codigo
El Codigo
El Codigo

GitHub'ду жүктөп алыңыз. Бул жерде "cromosome.h" деген түшүнүктүн жоктугу, генетиканын негизги алгоритмдери, жана эң башкы директордун комментарийи жок.

Башкы директор

20 кромосоманын пайда болушу:

#аныктоо N 20

поп поп (N);

Популярдуу калктын саны. Бул жерде 20 кромосома жок кылынгандыктан, алар эмеректер менен жабдылган. Орнотуу, макулдашуу:

pop.mutateChromosomes (0.5, 0);

Камера кремосомасы 0,5 жана мүмкүн болбогон учурда, кромосома 0. Эң башкысы, алгоритмо, эң башкысы кроссовер:

pop.copyCrossover (2);

Мүмкүнчүлүктөрдү өзгөртүү (0,05), жана кромосома 1 -пунктка которулганда, эң чоң көйгөйлөр (эл кромосома 0 эсе межор)

pop.mutateChromosomes (0.05, 1);

Ылдый баалоо, баалоо жана түшүндүрүү иштерин жүргүзүү

баалоо ();

Мэрдин фитнеси (көбүктүн түрү), эстетикалык рекомбинация, pop.sort ();

Allí está todo. Эсептер мааниси боюнча бааланып турат

Función de evaluación

El codigo de баалоо () es:

жараксыз баалоо () {

for (int i = 0; i <pop.n; i ++) {setPixels (i); // кечигүүнү күйгүзүү үчүн LEDге убакыт берет (100); фитнес (i); }}

Кремосома (lS leds correspondientes al cromosoma) боюнча эң жөнөкөй иш -аракеттер (eS es lo que hace setPixels ()), фитнесс, фольк.

боштук фитнес (int a) {

pop.fitness [a] = 0,5 * калкып чыгуу (CircuitPlayground.lightSensor ()) - 0,5 * калкыма (pop.countBits (a)); }

Almacenamos el valor de fitness de cada cromosoma en pop.fitness

6 -кадам: Funcionando Y Retos

Funcionando

Видео эң сонун жана ыңгайлаштырылган. Siempre encuentra una buena solución. Жөнөкөй сөз менен айтканда, акылга сыярлык, алгоритмдер генетикалык жана компьютердик информациялардын эң башкысы, бирок бул эмоционалдуу түрдө.

Алгоритмдер CP де алгоритмдеринин жардамы менен, ошондой эле эволюциялаштырылган шарттарда жана кошумча шарттарда. Бул жерде эң көп колдонулган достор бар, алар дагы эң башкысы, организмдин жашоосу үчүн абдан чоң мааниге ээ.

de cierto modo el algoritmo sirve para encontrar la lajor solución, dadas ciertas Condiciones. Алгоритмдерди аныктоо үчүн бул жерде эң маанилүү шарттар түзүлөт, бул CPнин аныктамасы, CPнин эң сонун варианты, ал эми алгоритмдин эң сонун варианты.

Негизги варианттар алгоритмдердин эң башкысы болуп саналат.

Комментарийлердин финалы

Эң негизгиси, бул биздин китепканага кирүү мүмкүнчүлүгү. Жарык диоддорду иштетүү үчүн, мен жөнөкөй эмесмин, анча маанилүү эмес, бул көйгөйлөрдүн чечилишинин дагы бир жолу. Күнөө эмбаргосу, бул жерде эң башкысы - бул эволюция, уюштуруу, колдонуу - бул эч кандай көйгөй эмес, алгоритмдин генетикасы. Эске ал!)

Рето

  • Оптималдуу эмес көйгөйлөрдүн бири - бул "фитнес" программасынын татаалдашуусу.
  • Негизги эрежелер, камбиандо ыктымалдуулугу, кайра комбинациясы, жаңы побласиону, камбиандо тиемпосу (бардык метиддерден кечигүүлөр)
  • Роботту орнотуу, башка шарттар менен айырмаланат
  • Эволюциялык мейоз, эволюция шартында
  • Алгоритмдердин генетикалык фондусу (сенсордук китептер)

Сунушталууда: