Programirki, poszukuje algorytmu minimalizacji drzewa ANDow i ORow tak, zeby bylo jaknajmniej operacji. Dobrze byloby, gdyby dalo sie wziac pod uwage, ze AND jest o okolo 10% kosztowniejszy od ORa.
Drzewo nie ma ograniczen, jezeli chodzi o ilosc zagniezdzen.
Ktos, cos?
#programowanie #algorytmy #java
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@cjkas: @ania-nowak1231: @leoha:
To nie do końca tak. Nie upraszczam swojego kodu, tylko wejście od usera, więc findbugs, mapy karnaugh i wolfram odpadają (chyba, że będę wysyłać żądania do API wolframa przy każdym żądaniu od usera :D).
Wejście nie będzie też kompletną funkcją boolowską - będą tam tylko operacje AND i OR.
Nie musi być to postać minimalna, heurystyka w zupełności wystarczy - czas, który stracę
  • Odpowiedz
@lol_nope: Ależ ja cie doskonale zrozumiałem i wciąż uważam, że każda z metod jest dobra (metoda Karnaugh, metoda Quine'a-McCluskeya, metoda iteracyjnego konsensusu, metoda Espresso).
A jak chcesz cos bardzo prostego to po prostu szukaj zależności, które zmniejszają ilość operacji OR/AND np:

a OR (a AND b) <=> a
a OR 0 <=> a
a AND 0
  • Odpowiedz
  • 1
@ritter: ale UUID nie ma wielu z tych zalet: nie jest k-sortable, jest 128-bitowy, nie za bardzo URL friendly, przypuszczam że generowanie UUID jest też mniej wydajne.
  • Odpowiedz
Potrzebuję małej pomocy od kolegów zarabiających po 15k ( ͡° ͜ʖ ͡°) Szukam jakiegoś prostego i wydajnego algorytmu żeby porównać wiersze macierzy. Mam mianowicie macierz [5][6] (elementy typu byte) i chcę żeby funkcja zwracała mi true jeśli choć 2 wiersze w macierzy będą takie same. Język to C a środowisko docelowe to uC w arduino. Ktoś ma pomysł? #programowanie #algorytmy #jezykc #
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@lol_nope: Ja mam taką definicje.

Wysokość (głębokość, height, depth) drzewa – maksymalny spośród poziomów wszystkich węzłów drzewa.

Poziom (level) – zbiór określający lokalizację węzła w drzewie w sposób następujący: korzeń należy do poziomu pierwszego; węzły dowiązane bezpośrednio do korzenia należą do poziomu drugiego, itd.

Ale widzę różne w internecie (min na wiki)
  • Odpowiedz
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 o takim samym wskaźniku "fitowania do rozwiązania"
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@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
  • Odpowiedz
@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().
  • Odpowiedz
#algorytmy #programowanie #cormen
Mireczki, czy ktoś z was posiada książkę Cormena „Wprowadzenie do algorytmów”? Potrzebuję skan, zdjęcie jednej strony o wyznaczaniu dwu spójnych składowych. Niestety nigdzie w internecie nie mogę znaleźć pdf-a
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

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 ;)
  • Odpowiedz
@TzK_: @OhRene: dzięki! Problem polega na przypisaniu osobnych kanałów radiowych (maks. 4) do nadajników radiowych tak, żeby te sąsiadujące ze sobą jak najmniej się zakłócały.
  • Odpowiedz
Jeszcze to się może przydać.
https://pl.wikipedia.org/wiki/Kolorowanie_grafu
Cytat: Klasyczne (wierzchołkowe) kolorowanie grafu – przyporządkowywanie wierzchołkom grafu liczb naturalnych w taki sposób, aby końce żadnej krawędzi nie miały przypisanej tej samej liczby. Ze względów historycznych oraz dla lepszego zobrazowania problemu mówi się o kolorowaniu, przy czym różnym kolorom odpowiadają różne liczby.
  • Odpowiedz
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
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@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.
  • Odpowiedz
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.
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

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
  • 30
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@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. :)
  • Odpowiedz
@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)
  • Odpowiedz