Ben sizin birinci orneginizi (ilk mesajinizdaki degil, bu cevap yazdigim) calistiramadim. Ama zaten calisanlar da istediginizi yapmiyor: siz kombinasyon mu almaya calisiyorsunuz, permutasyon mu? Bunlar permutasyon aliyor...
--- [EMAIL PROTECTED] wrote: > ---- nusret <[EMAIL PROTECTED]> demiÅ ki: > > forcer'in lisp kodu sizce karisik mi? > > forcer'ın Scheme kodu karıÅık deÄil. Oldukça > sade ve anlaÅılır; bu yüzden örnek olarak onu > eklemiÅtim bir tek. Sanırım derdimi yanlıŠ> anlattım. Ben biraz da sizlerin fikirlerinizi, > soruna bakıŠaçılarınızı görmek istemiÅtim. > (Bilirsiniz, deneyim çok farklı bir Åey.) > > Bu arada, evet Common Lisp çözümleri bana > karıÅık geldi. (Common Lisp bilmediÄimi tekrar > hatırlatırım.) Bakın önerilen CL çözümleri > Åu Åekilde: > > ; > ; Ãözüm [1] > ; > (define combinations > (lambda (lst) > (if (< (length lst) 2) > (list lst)) > ; otherwise > (let* ((curr (car lst)) > (combs curr)) > (append combs > (list curr) > (let iterate ((comb-lst combs)) > (if (null? comb-lst) > '() > (append (list curr comb-lst) > (iterate (cdr > comb-lst))))))))) > > ; > ; Ãözüm 2 > ; > (defun combinations (lst) > (labels ((rec (front end) > (cons (append front (list (car lst)) > end) > (if front > (rec (cdr front) (cons (car > front) > end)) > nil)))) > (when lst > (cons (list (car lst)) > (mapcan #'(lambda (c) > (rec c nil)) > (combinations (cdr lst))))))) > > ; > ; Yukarıdakinin Scheme için uyarlanmıŠhali. > ; > (define mapcan > (lambda (fun lst) > (if (null? lst) > '() > (append (fun (car lst)) > (mapcan fun (cdr lst))) > ))) > > (define combinations > (lambda (lst) > (letrec ((rec (lambda (front end) > (cons (append front (list (car > lst)) end) > (if (null? front) > '() > (rec (cdr front) (cons > (car front) > > end))))))) > (if (null? lst) > '() > (cons (list (car lst)) > (mapcan (lambda (c) > (rec c '())) > (combinations (cdr > lst)))))))) > > Bir de Parrot konusuna dikkatleri çekmek > istemiÅtim. Ne de olsa Parrot'un (tam olmasa da) 2 > tane Scheme, bir tane de Common Lisp derleyicisi > var. Ek olarak VM, kodun taÅınabilirliÄini de > oldukça arttıran bir felsefe bence. Fakat > görünüÅe bakılırsa listeden bu konuda > "tınnnn" sesi geldi. :) > > > Godel teoremi ile ilgili olarak: ben baska bir > kitap > > buldum, teoremin birkac farkli ispatini veriyor. > > Her iki tamsızlık teoreminin de farklı > ispatları? Bu konuda kitabı okuduktan sonra > listeye bunun hakkında biraz daha bilgi verir > misiniz? Tamsıklık teoreminin farklı ispatları > bana düÅük bir ihtimal gibi geldi. Ãyleyse bile, > gerçekten tadından yenmez bir eser olacaÄı > kesin. > > > Ama > > bu pop kitap tarzi birsey degil. Turkcesi var mi > > bilmiyorum: "Godel's Incompleteness Theorem", > > Smullyan. Teknik, ama anlasilmaz degil: sadece > sirali > > olarak okuma gerektiriyor. Fakat buyuk bir kitap > > degil. Bir bos vakit bulabilirsem okuyacagim. > Teorem > > gerekli terimler tanimlandiktan sonra dikte > > edildiginde karisik degil: > > Bu noktada biraz yanılıyorsunuz gibime geliyor. > Daha önceden Gödel'in tamsızlık teoreminin ana > adımlarını gördüÄünüze emin misiniz? > Ãzellikle olayın koptuÄu nokta, yani Gödel'in > Jules Richard'ın "Richard Paradox'u"nu > kullandıÄı noktaya bakmanızı öneririm. Eminim > bir kere baktıktan sonra, anlayana kadar tekrar > tekrar bakacaksınız. Ve bir kez anladıktan sonra, > "Tamam anladım artık." deyip arkanıza > yaslandıÄınızda anladıÄınız Åeyi nasıl > anladıÄınızı unuttuÄunuzu fark edeceksiniz. > Neden mi bu kadar eminim? Gödel'in 2 tamsızlık > teoremini de İ.T.Ã. Mat. Müh.'te seminer ile > aralarında iki hocanın da bulunduÄu 4-5 kiÅiye > anlatmaya çalıÅmıÅtım da oradan biliyorum. > Eminim odadan çıkana kadar herkes anlamıÅtı. :) > > > İyi çalıÅmalar. > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com _______________________________________________ cs-lisp mailing list [email protected] http://church.cs.bilgi.edu.tr/lcg http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp

