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

Kit Ciencia Y Arte: Algoritmo Genético (Vida хиймэл): 6 алхам
Kit Ciencia Y Arte: Algoritmo Genético (Vida хиймэл): 6 алхам

Видео: Kit Ciencia Y Arte: Algoritmo Genético (Vida хиймэл): 6 алхам

Видео: Kit Ciencia Y Arte: Algoritmo Genético (Vida хиймэл): 6 алхам
Видео: ¿De qué es capaz la inteligencia artificial? | DW Documental 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 mi opinión). Үндсэн ойлголт нь эволюционы хувьд ч гэсэн биологи, алгоритмын хамгийн том хувилбар бөгөөд энэ нь компьютерийн шийдэл биш юм.

Алгоритм генетикийн хувьд энэ нь компьютерийн алгоритм юм. Хачемос, компьютерийн алгоритм. Usamos el Circuit тоглоомын талбай (CP) de Adafruit para hacer el ejercicio.

Төсөөлөөд үз л дээ, бид юу хийхээ мэдэхгүй байна. Мэдээлэл дамжуулах хоолой, машины ашиглалтын хугацаа дуусахаас өмнө мэдрэгчийг ашиглах боломжтой болно. Нэр томъёо нь хамгийн их ашиг тустай байдаг. Энэ нь хамгийн их утга учиртай байх болно. Албан ёсны алгоритмын хувьд hacerlo de la trataremos.

ADVERTENCIA: AVANZADOS

Алхам 1: Материалууд

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

Энгийн:

  1. Тоглоомын тойрог
  2. Батериа
  3. USB кабель
  4. Algo para generar luz y sombra para pruebas

Алхам 2: Búsqueda Al Azar

Búsqueda Al Azar
Búsqueda Al Azar

Mono, apretando letras en el teclado de una computadora, el mono simplemente presiona las letras al azar. Сүүлд нь 50 лет, эль кадаа (мануэл бие даасан байдал), мөн 1/50 = 0,02 хүртэл сэрэмжлүүлэг өгөх боломжтой.

Ахора биен, дигамос que queremos que el mono escriba la palabra "banano", ¿Podrá el mono escribir la palabra? 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

Үнэн хэрэгтээ 1 6 дөнгөж 15 625 000 000, магадгүй "банана", мөн 1 сая 15 саяар үнэлэгдсэн байх магадлал өндөр байна! Dicho de otro modo, es muy poco магадлалтай que un mono escriba la palabra "banano" escribiendo teclas al azar, ah, pero si tuviéramos 15 millones de monos escribiendo, it que possible que uno de ellos escriba la palabra "banano". entonces poco магадлалтай, гэхдээ боломжгүй.

Formalicemos esta санаа нь юу ч биш юм. SI (1/50)^6 es la probabilidad de escribir "banano", entonces, 1- (1/50)^6 es la probabilidad de NO NO. Хязгаарлалт, ойлголт, магадлал ямар ч байсан "банана" гэсэн утгатай байж магадгүй юм.

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

Тэмдэглэл: P = 1, si 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, con un numero infinito de intos, puedo estar seguro de que el mono va a escribir la palabra "banano".

Тийм ээ, ямар ч шийдэл байхгүй. Хамгийн том палабрас, la fuerza bruta no es una forma efectiva de buscar una solución

Маркавилосо бол байгалийн гарал үүсэл, шинэлэг байдал, зохион байгуулалт, зохион байгуулалт, зохион байгуулалт, зохион байгуулалт, шинэчлэлт, өөрчлөлт, шинэчлэлт зэрэг болно. Esa es la manera en que el algoritmo genético funciona, tomando санаанууд del como se genera la variabilidad genética en los seres vivos, e ixandando un algoritmo para hacerlo en computadora, con el fin de solucionar un problema. Хязгааргүй давтагдашгүй элементүүд нь маш их анхаарал татаж байгаа бөгөөд энэ нь урд зүгт тэнгисийн тусгаар тогтнолгүй байх болно.

ТАЙЛБАР: Дэлгэрэнгүй мэдээлэл

Алхам 3: Evolución Y Definiciones

Evolución Y Тодорхойлогчид
Evolución Y Тодорхойлогчид
Evolución Y Тодорхойлогчид
Evolución Y Тодорхойлогчид
Evolución Y Тодорхойлогчид
Evolución Y Тодорхойлогчид

La evolución

Алгоритм генетик (AG) нь асуудлыг шийдвэрлэхэд шийдвэрлэхэд туслах болно. El AG, Дарвиниана дахь үндсэн зарчмууд:

  • Herencia: Los hijo reciben las características de sus padres. En el AG meana que las nuevas soluciones heredan lo alcanzado por soluciones anteriores
  • Хувилбар: Өөр өөр хувилбаруудыг танилцуулаарай. en el AG, гэсэн утгатай бөгөөд энэ нь өөр өөр утгатай байдаг.
  • Сонголт: Хадлан баялгийг сонгоно уу. Нэмж дурдахад, "фитнесс" -ийг сонгохдоо энэ асуудлыг шийдэх боломжтой болно.

Алгоритмо Генетико -гийн аль алинд нь, ердөө л нарийвчилсан тайлбар, тайлбарыг уншина уу.

Тодорхойлогчид

Алгоритмуудыг тайлбарлахын тулд та ямар ч асуудал шийдээгүй болно. Төгсгөлийн тайлбар нь алгоритм генетикийн хувьд хамгийн их ашиг тустай байх болно.

  1. Асуулт нь "codificar" гэсэн асуудалтай тулгараад байгаа бол энэ асуудлыг шийдэхийн тулд энэ асуудлыг шийдэх боломжтой болно. Хакамос de manera sencilla. Эндээс үзвэл, 10 LEDS нь "1" эсвэл "0" гэсэн утгатай бөгөөд энэ нь 10 элементийг нэг бүрчлэн тохируулах болно. Энэ нь 101000000 утгыг илэрхийлдэг. апагадо. 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), estas pueden ser iguales or diferentes. Cromosoma -ийн хамгийн том элементүүд. Кромосомын шинж тэмдэг илэрч байна
  3. Нэмэлт мэдээлэл, гэрэл зураг, гэрэл зураг, гэрэл зураг, арбитражтай холбоотой 5 камер, апагадо болон бусад төхөөрөмжүүд.
  4. Дахин нэгдэх, томас кромосом, эскогер, пунто де крузамиенто, интерактив харилцаа холбоо (мэдээллийн диаграм)
  5. Фитнессийн үнэлгээг хийхдээ шалгуур үзүүлэлтийг үнэлэх боломжтой болно. Энэ бол маш их хүчин чармайлт гаргах явдал юм.

Алхам 4: El Algoritmo

Эль Алгоритмо
Эль Алгоритмо
Эль Алгоритмо
Эль Алгоритмо
Эль Алгоритмо
Эль Алгоритмо

пасо ба пасо

  1. Creep una población de muchos cromosomas inicializados al azar
  2. "Фитнесс" -ийн үнэлгээний үнэлгээ.
  3. Зөөврийн компьютерын хувилбарууд
  4. Тохиромжтой хувилбарыг сонгоно уу
  5. 2 -р хэсгийг дахин оруулна уу

Жишээ нь

Como expliqué en las definiciones, una tira (cromosoma) 1000101010, төлөөлөл los leds encendidos "1" y apagados "0", хэлхээний тоглоомын талбай. Vamos нь "фитнесс" комо -гийн хамгийн сайн тодорхойлолт юм:

фитнесс = (лекц de luz) x 0.5 - (número de leds) x 0.5

Тайлбарыг буцааж англи (Америкийн Нэгдсэн Улс) руу орчуулах уу?

Ахора нь лос ледс фитнесс, биеийн тамирын дасгал хийх зэрэгт маш их анхаарал хандуулдаг. Тэмдэглэл:

0011100000 фитнесс = 98.5

1011100001 фитнесс = 102.5

1010101011 фитнесс = 102

Los de fitness más alto son 102.5 y 102, seleccionamos esos, y hacemos recombinación mutación como se muestra en la imagen, qu que nos permite terminar con una nueva población, 1011100001

0011101011

1010100011

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

Алхам 5: Эль Кодиго

Эл Кодиго
Эл Кодиго
Эл Кодиго
Эл Кодиго
Эл Кодиго
Эл Кодиго

GitHub -ийг татаж аваарай. "Cromosome.h", "nom ná más el algoritmo genético", "com utilizado en el código" гэсэн тод томруун тайлбар байхгүй.

Кодиго захирал

20 ширхэг кромосомын хувьд:

#тодорхойлох N 20

поп поп (N);

Хүн амын тоо толгой нь ло hemos llamado pop. Esto inmediatamente ctrea una pobación de 20 cromosomas, inicializados con todos ceros. Энэ тохиргоог хийхдээ дараах зүйлсийг хийх хэрэгтэй:

pop.mutateChromosomes (0.5, 0);

Боловсруулах магадлал 0.5, in crombosoma 0. In loop loop tenemos el algortimo, primero hacemos crossover:

pop.copyCrossover (2);

Нэмэлт магадлал өндөр байх (0.05), иномандом кромосома 1 -ээс 2 -р хэсэг нь маш их хүчин чармайлт гаргадаг (cromosoma 0 es el mejor)

pop.mutateChromosomes (0.05, 1);

Үнэлгээ хийх, үнэлэх, тайлбарлах

үнэлэх ();

Luego ordenamos los cromosomas de Mayor нь фитнесс (хөөс ангилах), гоо сайхны бүтээгдэхүүн, рекомбинат, pop.sort ();

Бүгдийг хий. Чухал ач холбогдол өгөх ёстой

Үнэлгээ хийх

El codigo de үнэлгээ () -үүд:

хүчингүй үнэлэх () {

for (int i = 0; i <pop.n; i ++) {setPixels (i); // саатал асаахад LED цаг өгдөг (100); фитнесс (i); }}

Кромосома (eso es lo que que hace setPixels ()), фитнесс, кон ла ла функц, хоосон фитнесс (int a) {

pop.fitness [a] = 0.5 * float (CircuitPlayground.lightSensor ()) - 0.5 * float (pop.countBits (a)); }

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

Алхам 6: Funcionando Y Retos

Функционандо

Видео бичлэгийг үзэх боломжтой. Siempre encuentra una buena solución. Зааварлахын аргагүй зааварчилгаа, зааварчилгаа, алгоритм генетик, компьютерийн шинжлэх ухаан, компьютер, компьютер, компьютер, компьютер, компьютер, компьютер, компьютер, компьютер, компьютер, компьютер, машин.

Алгуна мареа аль дежар funcionando el CP con el algoritmo, parece casi como un ser vivo explorando las condiciones y evolucionando para mejorar. Энэ нь маш чухал юм.

de cierto modo el algoritmo sirve para encontrar la mejor solución, dadas ciertas condiciones. Алгоритмыг тодорхойлохын тулд энэ асуудлыг шийдэх боломжтой болно.

Өөр өөр арга замууд нь үл тоомсорлож магадгүй юм.

Төгсгөлийн тайлбар

Энэ нь аль хэдийн ашиглагдах ёстой гэсэн үг юм. LED гэрэлтүүлэг нь маш энгийн бөгөөд энгийн зүйл биш бөгөөд энэ нь маш чухал үүрэг гүйцэтгэдэг. Нүглийн хорио цээр, шийдэл, зохион байгуулалт, зохион байгуулалт, зохион байгуулалт, алгоритм, генетик нь ямар ч шугамгүй, хүчирхэг, алго комо оновчтой болгох явдал юм. Эсвэл би уу!)

Рето зураг

  • Optimización más төвөгтэй асуудлыг шийдэхийн тулд "фитнесс" хийх асуудлыг шийдээрэй.
  • Mejorara el desempeño, cambiando probabilidad de mutación, re-combinación, aumentando la población, cambiando tiempos (esos delays por allí metidos)
  • Робот, дүр төрхийг өөрчилж болно
  • Эстудиар мейоз, эволюци
  • Estudiar a fondo los algoritmos genéticos (хад либрос комплосос эн эл тема)

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