27 трав. 2008 р.

Дружині присвячується (не програмісти не зрозуміють) :)

Моя дружина знайшла собі заняття на той час поки чекає на мене з роботи. Вона розгадує японські кросворди (хто не в курсі, це такі де треба замальовувати клітинки і врезультаті отримуємо малюнок). Вона вже доволі добре нацикалася його розв"язувати, але деякі поставили її в глухий кут.
Тут я згадав студентські роки, коли було нємєряно часу і ми займалися тим що нам подобалося (крім останніх 2-х тижнів перед сесією :) ). Мені закортіло згадати алгоритми і структури даних. Я почав писати програму яка розв"язує японські кросворди :) Пишучи алгоритми розв"язку я зрозумів що я розв"язую ті кросворди набагато гірше за мою кохану. Тому програма не зможе рішити ті кросворди які вона не змогла рішити :(
Прийшлось поміняти тактику. Я рішив примінити грубу силу (повний перебір). Тобто спочатку я використовува ті алгоритми які написав, а після того доповнював все з допомогою перебору всіх варіантів. Це був тернистий шлях згадування що таке рекурсія і як її написати :) Коли я перший раз запустив ту програму, то зрозумів що рахувати вона буде довго і тому треба виводити якісь проміжні результати. Так і зробив. Після нескладних математичних підрахунків вийшло що моя програма буде рахувати результат 2.5Е+110 секунд :) Вобщем ви зрозуміли що Сонце згасне швидше ніж я дочекаюся результату :) Після нескладної оптимізації програма почала працювати в 100 разів швидше :)
Вобщем оптимізація не помогла :)
Тут було тільки 2 варіанти виходу з ситуації:
1. Написати програму розприділених обчислень і роздавати ці обчислення всім бажаючим які поставлять в себе ці програми (так роблять для програм які обчисляють структуру лікарства проти раку і т.д.)
2. Поміняти алгоритм обчислення.

Я прикинув, що при 1-му варіанті, навіть якщо 1 млрд людей поставить собі мою програмку, то ми всеі рівно будемо чекати на результат 2.5Е+99 секунд. Тому цей варіант був відкинутий як не ефективний :)

Це вже було питання плану зможу/не зможу.
І ось, після 4-х годин планування алгоритму і його реалізації та після 2-х годин пошуку багів, вона (програма) народилася. Вона розгадує великі кросворди розміром 28*40 за лічені секунди!

Ура товариші! Успіхів вам на творчій ниві :)

Шлях хворого

На дворі чудова літня погода а я хворію. Горло болить. Давно не хворів і не жалію :)
Ну, думаю, захворіло горло - не біда. В мене половина родини - лікарі. Причому вони покривають значну долю професії. Від анастезіологів і лікарів які займаються дітьми до 1 року і до хірургів-урологів, невропатологів і зубних лікарів. Як бачите довгий список, але ні терапевта ні лора серед них нема.
Недовго думаючи я позвонив до лікаря який найближчий до лора - це уролог :) В нього явно хірургічний (різкий) підхід до лікування. Хворієш - пий антибіотики. Антибіотики якось не дуже хотілося. Тут позвонив батько і сказав щоб я позвонив до хресного. Він у мене невропатолог і повна протилежність (як по характеру так і по підходу до лікування) до хірурга :) Хресний прописав ліки попростіші, з порадою "якщо не поможе за 2 дні, то позвони - призначимо щось сильніше".
Нажаль організм не справився... Вобщем за 2 дні мені легше не стало і я пішов в поліклініку...
Все ж таки треба щоб лікар тебе бачив, тоді він зможе краще лікувати ніж по телефону.
Не люблю я поліклініки!
Як ви думаєте, що перше необхідне там коли в тебе болить горло?
Лікарства? Гроші? Ні, картка хворого :) "Без бумажки - ты букашка, а с бумажкой - человек"
Пішов я в касу, яка в протилежному кінці приміщення і після добровільного внеску 3 грн, я отримав карточку. Думаєте все? Ні! Перед тим як піти до лора, треба піти куди? Правильно - на рентген :) А куди без нього?! І взагалі кого тут хвилює що в мене болить і яка в мене температура :) Рентген, доречі, коштує 1 грн. Поки я стояв в черзі, то ще вспів покашляти на толпу школярів і ліцеїстів, яких теж туди направили.
І ось він довгожданий момент! Я не сподівався пройти цей квест так скоро! Мене направляють до лора!
Ще пів годинки в черзі і я опиняюся в компанії веселого лікаря і його помічниці. За 5 хв вони витягують з мене інформацію про те звідки мій рід, де я проацюю і ким, як саме я захворів, чому я гуляв вночі легко вдягнений, і вспіли поприкалуватися з того що я собі зробив опіки на горлі пастою розенталя (хто не знає, ще така штука яка сильно пече).
Що до лікарів - в мене претензій не було. Я б і ще трохи в них посидів :)
От що впало в очі, так це те що іншому пацієнтові, в якого список лікарств був набагато соліднішим від мого, список виписали прямо на бланку аптеки яка розташована поряд і зі словами "йдіть туди, там дешевше" відправили його куди їм треба :)
Чесно кажучи, все було не так страшно як я думав.
Здоров"ячка вам!