Hejżehej. Znajdzie się jakiś nocny marek co to ma chwilę żeby rzucić na mój kod?
Głównie chodzi o to, że nie działa ( ͡° ͜ʖ ͡°)
Możliwe, że błąd jest trywialny, albo wszystko jest źle i muszę zacząć od nowa.
Kod jest implementacją algorytmu genetycznego który ma dojść do momentu rozwiązania. Rozwiązaniem jest string: "10101010...101010";
W najlepszym wypadku najlepszym po kilku tysiącach generacji na końcu okazuje się string
@Wyrewolwerowanyrewolwer: Nie zajmowałem się za bardzo algorytmami genetycznymi, więc na szybko opieram się na wiki, co może nie być idealnym źródłem, ale mogę napisać parę uwag.

Z tego co rozumiem, to krzyżowanie następuje zawsze (tyle razy, żeby liczebność w kolejnym pokoleniu została zachowana, więc liczba krzyżowań może być różna, np. w zależności od tego, czy i ile najlepszych osobników przenosisz bezpośrednio do następnego pokolenia), a nie tylko z pewnym prawdopodobieństwem, więc
@Wyrewolwerowanyrewolwer: po pierwsze, błąd za który karają biciem mydłem w zwiniętym ręczniku:
Nie. Rób. Metod. Statycznych
Metody static są powinny być używane jako helpery, nie jako trzon aplikacji.

Druga sprawa - strasznie to komplikujesz, niepotrzebnie.
Wystarczy że zrobisz interfejs Chromosome z metodami mutate(), crossover() i getAdaptationValue(). To wszystko.
Jeżeli chcesz aby dana klasa była chromosomem, po prostu implementujesz ten interfejs.

Robiłem kiedyś jedną z możliwych implementacji AG, zaraz ci pokażę mój
Muszę zaimplementować algorytm znajdowania dwu spójnych w grafie, mostów i wierzchołków rozdzielających. Więc potrzebuje tylko tego pseudokodu. Ale dziękuję Ci bardzo ;)
Hej Mirki, miałem kiedyś taki projekt do zrobienia na uczelni - w dużym skrócie: najkrótsza droga z A do B, algorytm Dijsktry, trudność polegała na tym, że koniec jednej podróży nie mógł mieć miejsca później niż początek drugiej - oczywista sprawa. Pałowałem się z tym po nocach przez tydzień, nie mogłem znaleźć jakiegoś prostego rozwiązania, w końcu skończyło się na pierdyliardzie ifów i rekurencji.
Trochę się moja wiedza o algorytmach posunęła od
#webdev #programowanie #html #algorytmy

Chcę napisać aplikację, w której będę automatycznie przechodził na kolejne podstrony danej strony (jeśli jest paginacja tzn. artykuł podzielony na kawałki).

Dla zobrazowania, np. takie strony:
http://forsal.pl/galerie/841893,zdjecie,1,7-rad-jak-stworzyc-profil-linkedin-ktory-da-ci-wiecej-ofert-pracy.html
http://www.focus.pl/czlowiek/jak-manipuluja-sprzedawcy-7-trikow-na-ktore-warto-uwazac-11193
http://pclab.pl/art58237.html

Chodzi mi o sam pomysł, jak jakoś w miarę uniwersalnie pobrać linki do kolejnych podstron. Bo na każdej stronie to się różni. Pierwszym pomysłem jest obsłużenie każdej strony... Ale to masa roboty. Kiedyś była nawet taka strona-apka, w której
@mk321: szukanie linków o klasach/atrybutach/id: next, prędkość, innych które zobaczysz i aktywowanie ich. Standardów nazw dla takich jest sporo - musisz sprawdzić i co znajdziesz inaczej działającą stronę to dopisać, załatwiając kolejny kawałek.

Ewentualnie sprawdź space next do Firefoksa - z tego co wiem działa jak stara opera, czy to co opisuje.
Czołem!

Given N (<= 100000), find the largest N-digit number such that:

The number has only 3 and 5 as its digits.
Number of times 3 appears is divisible by 5.
Number of times 5 appears is divisible by 3.

If no such number exists, produce -1.

Nie mogę rozgryźć jak dojść do tego aby uniwersalnie zostawić miejsca na 3 albo poprawnie sprawdzić czy liczbę da się podzielić na 3 i 5.
@mrowkojad04: #csharp

Using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
class Solution {

static void Main(String[] args) {
int t = Convert.ToInt32(Console.ReadLine());
for(int a0 = 0; a0 < t; a0++){
int n = Convert.ToInt32(Console.ReadLine());
int ntemp = n;
if (n<3)
{
Console.WriteLine("-1");
}
else
{
if (n%3==0)
{
Console.WriteLine(new String('5',n));
}
else
{
while (ntemp % 3 != 0)
{
ntemp -= 5;
}

if(ntemp>0){
Console.Write(new String('5', ntemp));

Console.WriteLine(new String('3', n-ntemp));
Czołem mireczki. Mam pytanie. Piszę w #jezykc taką prostą wyszukiwarkę słów z pliku źródłowego.
Wczytuję kolejno po jednej linii i sprawdzam, czy jest w niej szukane słowo.
Używam do tego funkcji "strstr".
Mam jednak problem, bo np szukając słowa "co" wyszukuje mi również "cokolwiek" albo na przykład "gorąco".
Jak to obejść bez wczytywania pliku znak po znaku? :/

#naukaprogramowania #algorytmy
@Piesa: mi chodziło o to, żeby strstr wywoływać w danej linii dopóki któreś wystąpienie nie byłoby prawidłowe (korzystając ze wskaźnika, który strstr zwraca, mógłbyś je wywołać dla tej części linii, która jeszcze nie została przejrzana). Ale jak już sobie jakoś poradziłeś, to ok. :)
@Szro: zewnętrzna pętla n razy, a wewnętrzna n + n-1 + n-2 + ... + 0, więc zamiana będzie wykonana n * (n + n-1 + n-2 + ... + 0), czyli n^2 + n^2-n + n^2-2n...
w notacji O w wielomianach interesuje nas tylko najwyższa potęga bez współczynnika, więc wynik to O(n^2)
W triangulacji rozpatrujesz punkty, a nie kontury, więc nie ma szans, żebyś dostał w ogóle jakiś niewypukły obrys. Do krawędzi triangulacji zawsze będzie należeć otoczka wypukła.
A jak czegoś nie zrozumiałem, to możesz pokazać na rysunku.